[Pkg-e-commits] [SCM] Core abstraction layer for enlightenment DR 0.17 branch, upstream, updated. 2e441257d96d1cee86386d934a50485858461cea

Albin Tonnerre albin.tonnerre at gmail.com
Wed May 21 18:31:12 UTC 2008


The following commit has been merged in the upstream branch:
commit c8f677a871f916642449f56553cd6e3f2be1f6cf
Author: Albin Tonnerre <albin.tonnerre at gmail.com>
Date:   Wed May 21 19:18:03 2008 +0200

    Import upstream release 0.9.9.043

diff --git a/Makefile.am b/Makefile.am
index 1be116f..a801e39 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,5 +1,7 @@
 ## Process this file with automake to produce Makefile.in
 
+ACLOCAL_AMFLAGS = -I m4
+
 SUBDIRS = src
 
 MAINTAINERCLEANFILES = Makefile.in aclocal.m4 config.guess \
@@ -28,7 +30,8 @@ MAINTAINERCLEANFILES = Makefile.in aclocal.m4 config.guess \
 
 bin_SCRIPTS = 
 
-EXTRA_DIST = AUTHORS COPYING COPYING-PLAIN ecore.c.in gendoc ecore.supp \
+EXTRA_DIST = AUTHORS COPYING COPYING-PLAIN \
+	     autogen.sh ecore.c.in gendoc ecore.supp \
              Doxyfile \
 	     ecore.pc.in \
 	     ecore-con.pc.in \
diff --git a/Makefile.in b/Makefile.in
index 57f2ef9..4d197b7 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -126,6 +126,8 @@ BUILD_ECORE_EVAS_DIRECTFB_TRUE = @BUILD_ECORE_EVAS_DIRECTFB_TRUE@
 BUILD_ECORE_EVAS_FALSE = @BUILD_ECORE_EVAS_FALSE@
 BUILD_ECORE_EVAS_FB_FALSE = @BUILD_ECORE_EVAS_FB_FALSE@
 BUILD_ECORE_EVAS_FB_TRUE = @BUILD_ECORE_EVAS_FB_TRUE@
+BUILD_ECORE_EVAS_SDL_FALSE = @BUILD_ECORE_EVAS_SDL_FALSE@
+BUILD_ECORE_EVAS_SDL_TRUE = @BUILD_ECORE_EVAS_SDL_TRUE@
 BUILD_ECORE_EVAS_TRUE = @BUILD_ECORE_EVAS_TRUE@
 BUILD_ECORE_EVAS_X11_16_FALSE = @BUILD_ECORE_EVAS_X11_16_FALSE@
 BUILD_ECORE_EVAS_X11_16_TRUE = @BUILD_ECORE_EVAS_X11_16_TRUE@
@@ -174,6 +176,7 @@ DEPDIR = @DEPDIR@
 DIRECTFB_CFLAGS = @DIRECTFB_CFLAGS@
 DIRECTFB_LIBS = @DIRECTFB_LIBS@
 DLLTOOL = @DLLTOOL@
+DSYMUTIL = @DSYMUTIL@
 ECHO = @ECHO@
 ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
@@ -182,7 +185,31 @@ EET_CFLAGS = @EET_CFLAGS@
 EET_LIBS = @EET_LIBS@
 EGREP = @EGREP@
 EVAS_CFLAGS = @EVAS_CFLAGS@
+EVAS_DIRECT3D_CFLAGS = @EVAS_DIRECT3D_CFLAGS@
+EVAS_DIRECT3D_LIBS = @EVAS_DIRECT3D_LIBS@
+EVAS_DIRECTFB_CFLAGS = @EVAS_DIRECTFB_CFLAGS@
+EVAS_DIRECTFB_LIBS = @EVAS_DIRECTFB_LIBS@
+EVAS_FB_CFLAGS = @EVAS_FB_CFLAGS@
+EVAS_FB_LIBS = @EVAS_FB_LIBS@
 EVAS_LIBS = @EVAS_LIBS@
+EVAS_OPENGL_GLEW_CFLAGS = @EVAS_OPENGL_GLEW_CFLAGS@
+EVAS_OPENGL_GLEW_LIBS = @EVAS_OPENGL_GLEW_LIBS@
+EVAS_OPENGL_X11_CFLAGS = @EVAS_OPENGL_X11_CFLAGS@
+EVAS_OPENGL_X11_LIBS = @EVAS_OPENGL_X11_LIBS@
+EVAS_SOFTWARE_16_DDRAW_CFLAGS = @EVAS_SOFTWARE_16_DDRAW_CFLAGS@
+EVAS_SOFTWARE_16_DDRAW_LIBS = @EVAS_SOFTWARE_16_DDRAW_LIBS@
+EVAS_SOFTWARE_16_X11_CFLAGS = @EVAS_SOFTWARE_16_X11_CFLAGS@
+EVAS_SOFTWARE_16_X11_LIBS = @EVAS_SOFTWARE_16_X11_LIBS@
+EVAS_SOFTWARE_BUFFER_CFLAGS = @EVAS_SOFTWARE_BUFFER_CFLAGS@
+EVAS_SOFTWARE_BUFFER_LIBS = @EVAS_SOFTWARE_BUFFER_LIBS@
+EVAS_SOFTWARE_DDRAW_CFLAGS = @EVAS_SOFTWARE_DDRAW_CFLAGS@
+EVAS_SOFTWARE_DDRAW_LIBS = @EVAS_SOFTWARE_DDRAW_LIBS@
+EVAS_SOFTWARE_SDL_CFLAGS = @EVAS_SOFTWARE_SDL_CFLAGS@
+EVAS_SOFTWARE_SDL_LIBS = @EVAS_SOFTWARE_SDL_LIBS@
+EVAS_SOFTWARE_X11_CFLAGS = @EVAS_SOFTWARE_X11_CFLAGS@
+EVAS_SOFTWARE_X11_LIBS = @EVAS_SOFTWARE_X11_LIBS@
+EVAS_XRENDER_X11_CFLAGS = @EVAS_XRENDER_X11_CFLAGS@
+EVAS_XRENDER_X11_LIBS = @EVAS_XRENDER_X11_LIBS@
 EXEEXT = @EXEEXT@
 GREP = @GREP@
 INSTALL_DATA = @INSTALL_DATA@
@@ -196,6 +223,7 @@ LIBTOOL = @LIBTOOL@
 LN_S = @LN_S@
 LTLIBOBJS = @LTLIBOBJS@
 MAKEINFO = @MAKEINFO@
+NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 PACKAGE = @PACKAGE@
@@ -208,6 +236,7 @@ PATH_SEPARATOR = @PATH_SEPARATOR@
 PKG_CONFIG = @PKG_CONFIG@
 RANLIB = @RANLIB@
 SDL_CFLAGS = @SDL_CFLAGS@
+SDL_CONFIG = @SDL_CONFIG@
 SDL_LIBS = @SDL_LIBS@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
@@ -240,6 +269,8 @@ XCB_XINERAMA_CFLAGS = @XCB_XINERAMA_CFLAGS@
 XCB_XINERAMA_LIBS = @XCB_XINERAMA_LIBS@
 XCB_XPRINT_CFLAGS = @XCB_XPRINT_CFLAGS@
 XCB_XPRINT_LIBS = @XCB_XPRINT_LIBS@
+XCB_XTEST_CFLAGS = @XCB_XTEST_CFLAGS@
+XCB_XTEST_LIBS = @XCB_XTEST_LIBS@
 XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
 XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -259,6 +290,8 @@ XRENDER_CFLAGS = @XRENDER_CFLAGS@
 XRENDER_LIBS = @XRENDER_LIBS@
 XSS_CFLAGS = @XSS_CFLAGS@
 XSS_LIBS = @XSS_LIBS@
+XTEST_CFLAGS = @XTEST_CFLAGS@
+XTEST_LIBS = @XTEST_LIBS@
 X_CFLAGS = @X_CFLAGS@
 X_EXTRA_LIBS = @X_EXTRA_LIBS@
 X_LIBS = @X_LIBS@
@@ -369,6 +402,7 @@ winsock_libs = @winsock_libs@
 x_cflags = @x_cflags@
 x_includes = @x_includes@
 x_libs = @x_libs@
+ACLOCAL_AMFLAGS = -I m4
 SUBDIRS = src
 MAINTAINERCLEANFILES = Makefile.in aclocal.m4 config.guess \
                        config.h.in config.sub configure install-sh \
@@ -395,7 +429,8 @@ MAINTAINERCLEANFILES = Makefile.in aclocal.m4 config.guess \
 		       ecore.pc
 
 bin_SCRIPTS = 
-EXTRA_DIST = AUTHORS COPYING COPYING-PLAIN ecore.c.in gendoc ecore.supp \
+EXTRA_DIST = AUTHORS COPYING COPYING-PLAIN \
+	     autogen.sh ecore.c.in gendoc ecore.supp \
              Doxyfile \
 	     ecore.pc.in \
 	     ecore-con.pc.in \
diff --git a/README b/README
index 8ac7fb7..c2c30d8 100644
--- a/README
+++ b/README
@@ -1,4 +1,17 @@
-Ecore 0.9.9.042
+Ecore 0.9.9.043
+
+Requirements:
+-------------
+
+Must:
+  libc libm
+
+Recommended:
+  libX11 libXext libXcursor libXprint libXinerama libXrandr libXss libXrender
+  libXcomposite libXfixes libXdamage libXdpms libXtest OpenSSL CURL
+
+Optional:
+  XCB SDL DirectFB
 
 Ecore is the event/X abstraction layer that makes doing selections,
 Xdnd, general X stuff, event loops, timeouts and idle handlers fast,
@@ -18,7 +31,7 @@ BUILDING PACKAGES:
 
 RPM: To build rpm packages:
   
-  sudo rpm -ta ecore-0.9.9.042.tar.gz
+  sudo rpm -ta ecore-0.9.9.043.tar.gz
 
 You will find rpm packages in your system /usr/src/redhat/* dirs (note you may
 not need to use sudo or root if you have your own ~/.rpmrc. see rpm documents
@@ -26,11 +39,11 @@ for more details)
 
 DEB: To build deb packages:
 
-  tar zvf ecore-0.9.9.042.tar.gz
-  cd ecore-0.9.9.042
+  tar zvf ecore-0.9.9.043.tar.gz
+  cd ecore-0.9.9.043
   dpkg-buildpackage -us -uc -rfakeroot
   cd ..
-  rm -rf ecore-0.9.9.042
+  rm -rf ecore-0.9.9.043
 
 You will find all the debian source, binary etc. packages put in the directory
 where you first untarred the source tarball.
diff --git a/README.in b/README.in
index 7fede7a..2567738 100644
--- a/README.in
+++ b/README.in
@@ -1,5 +1,18 @@
 Ecore @VERSION@
 
+Requirements:
+-------------
+
+Must:
+  libc libm
+
+Recommended:
+  libX11 libXext libXcursor libXprint libXinerama libXrandr libXss libXrender
+  libXcomposite libXfixes libXdamage libXdpms libXtest OpenSSL CURL
+
+Optional:
+  XCB SDL DirectFB
+
 Ecore is the event/X abstraction layer that makes doing selections,
 Xdnd, general X stuff, event loops, timeouts and idle handlers fast,
 optimized, and convenient. It's a separate library so anyone can make
diff --git a/aclocal.m4 b/aclocal.m4
index a51f5a9..bef176f 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -13,7 +13,7 @@
 
 # libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
 
-# serial 51 Debian 1.5.24-1ubuntu1 AC_PROG_LIBTOOL
+# serial 52 Debian 1.5.26-1ubuntu1 AC_PROG_LIBTOOL
 
 
 # AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED)
@@ -101,7 +101,6 @@ AC_REQUIRE([AC_DEPLIBS_CHECK_METHOD])dnl
 AC_REQUIRE([AC_OBJEXT])dnl
 AC_REQUIRE([AC_EXEEXT])dnl
 dnl
-
 AC_LIBTOOL_SYS_MAX_CMD_LEN
 AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
 AC_LIBTOOL_OBJDIR
@@ -203,6 +202,8 @@ file_magic*)
   ;;
 esac
 
+_LT_REQUIRED_DARWIN_CHECKS
+
 AC_PROVIDE_IFELSE([AC_LIBTOOL_DLOPEN], enable_dlopen=yes, enable_dlopen=no)
 AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL],
 enable_win32_dll=yes, enable_win32_dll=no)
@@ -282,9 +283,80 @@ ac_outfile=conftest.$ac_objext
 echo "$lt_simple_link_test_code" >conftest.$ac_ext
 eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
 _lt_linker_boilerplate=`cat conftest.err`
-$rm conftest*
+$rm -r conftest*
 ])# _LT_LINKER_BOILERPLATE
 
+# _LT_REQUIRED_DARWIN_CHECKS
+# --------------------------
+# Check for some things on darwin
+AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS],[
+  case $host_os in
+    rhapsody* | darwin*)
+    AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:])
+    AC_CHECK_TOOL([NMEDIT], [nmedit], [:])
+
+    AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod],
+      [lt_cv_apple_cc_single_mod=no
+      if test -z "${LT_MULTI_MODULE}"; then
+   # By default we will add the -single_module flag. You can override
+   # by either setting the environment variable LT_MULTI_MODULE
+   # non-empty at configure time, or by adding -multi_module to the
+   # link flags.
+   echo "int foo(void){return 1;}" > conftest.c
+   $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
+     -dynamiclib ${wl}-single_module conftest.c
+   if test -f libconftest.dylib; then
+     lt_cv_apple_cc_single_mod=yes
+     rm -rf libconftest.dylib*
+   fi
+   rm conftest.c
+      fi])
+    AC_CACHE_CHECK([for -exported_symbols_list linker flag],
+      [lt_cv_ld_exported_symbols_list],
+      [lt_cv_ld_exported_symbols_list=no
+      save_LDFLAGS=$LDFLAGS
+      echo "_main" > conftest.sym
+      LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
+      AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
+   [lt_cv_ld_exported_symbols_list=yes],
+   [lt_cv_ld_exported_symbols_list=no])
+   LDFLAGS="$save_LDFLAGS"
+    ])
+    case $host_os in
+    rhapsody* | darwin1.[[0123]])
+      _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
+    darwin1.*)
+     _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
+    darwin*)
+      # if running on 10.5 or later, the deployment target defaults
+      # to the OS version, if on x86, and 10.4, the deployment
+      # target defaults to 10.4. Don't you love it?
+      case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
+   10.0,*86*-darwin8*|10.0,*-darwin[[91]]*)
+     _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
+   10.[[012]]*)
+     _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
+   10.*)
+     _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
+      esac
+    ;;
+  esac
+    if test "$lt_cv_apple_cc_single_mod" = "yes"; then
+      _lt_dar_single_mod='$single_module'
+    fi
+    if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
+      _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
+    else
+      _lt_dar_export_syms="~$NMEDIT -s \$output_objdir/\${libname}-symbols.expsym \${lib}"
+    fi
+    if test "$DSYMUTIL" != ":"; then
+      _lt_dsymutil="~$DSYMUTIL \$lib || :"
+    else
+      _lt_dsymutil=
+    fi
+    ;;
+  esac
+])
 
 # _LT_AC_SYS_LIBPATH_AIX
 # ----------------------
@@ -609,7 +681,11 @@ sparc*-*solaris*)
     *64-bit*)
       case $lt_cv_prog_gnu_ld in
       yes*) LD="${LD-ld} -m elf64_sparc" ;;
-      *)    LD="${LD-ld} -64" ;;
+      *)
+        if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
+	  LD="${LD-ld} -64"
+	fi
+	;;
       esac
       ;;
     esac
@@ -702,7 +778,7 @@ AC_CACHE_CHECK([$1], [$2],
        $2=yes
      fi
    fi
-   $rm conftest*
+   $rm -r conftest*
    LDFLAGS="$save_LDFLAGS"
 ])
 
@@ -973,7 +1049,7 @@ else
     AC_CHECK_FUNC([shl_load],
 	  [lt_cv_dlopen="shl_load"],
       [AC_CHECK_LIB([dld], [shl_load],
-	    [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"],
+	    [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"],
 	[AC_CHECK_FUNC([dlopen],
 	      [lt_cv_dlopen="dlopen"],
 	  [AC_CHECK_LIB([dl], [dlopen],
@@ -981,7 +1057,7 @@ else
 	    [AC_CHECK_LIB([svld], [dlopen],
 		  [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
 	      [AC_CHECK_LIB([dld], [dld_link],
-		    [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"])
+		    [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"])
 	      ])
 	    ])
 	  ])
@@ -1298,7 +1374,7 @@ aix3*)
   soname_spec='${libname}${release}${shared_ext}$major'
   ;;
 
-aix4* | aix5*)
+aix[[4-9]]*)
   version_type=linux
   need_lib_prefix=no
   need_version=no
@@ -1831,6 +1907,13 @@ esac
 AC_MSG_RESULT([$dynamic_linker])
 test "$dynamic_linker" = no && can_build_shared=no
 
+AC_CACHE_VAL([lt_cv_sys_lib_search_path_spec],
+[lt_cv_sys_lib_search_path_spec="$sys_lib_search_path_spec"])
+sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
+AC_CACHE_VAL([lt_cv_sys_lib_dlsearch_path_spec],
+[lt_cv_sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec"])
+sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
+
 variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
 if test "$GCC" = yes; then
   variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
@@ -2330,7 +2413,7 @@ lt_cv_deplibs_check_method='unknown'
 # whether `pass_all' will *always* work, you probably want this one.
 
 case $host_os in
-aix4* | aix5*)
+aix[[4-9]]*)
   lt_cv_deplibs_check_method=pass_all
   ;;
 
@@ -2766,7 +2849,7 @@ aix3*)
   fi
   ;;
 
-aix4* | aix5*)
+aix[[4-9]]*)
   if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
     test "$enable_shared" = yes && enable_static=no
   fi
@@ -2823,6 +2906,7 @@ _LT_AC_TAGVAR(postdep_objects, $1)=
 _LT_AC_TAGVAR(predeps, $1)=
 _LT_AC_TAGVAR(postdeps, $1)=
 _LT_AC_TAGVAR(compiler_lib_search_path, $1)=
+_LT_AC_TAGVAR(compiler_lib_search_dirs, $1)=
 
 # Source file extension for C++ test sources.
 ac_ext=cpp
@@ -2932,7 +3016,7 @@ case $host_os in
     # FIXME: insert proper C++ library support
     _LT_AC_TAGVAR(ld_shlibs, $1)=no
     ;;
-  aix4* | aix5*)
+  aix[[4-9]]*)
     if test "$host_cpu" = ia64; then
       # On IA64, the linker does run time linking by default, so we don't
       # have to do anything special.
@@ -2945,7 +3029,7 @@ case $host_os in
       # Test if we are trying to use run time linking or normal
       # AIX style linking. If -brtl is somewhere in LDFLAGS, we
       # need to do runtime linking.
-      case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*)
+      case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
 	for ld_flag in $LDFLAGS; do
 	  case $ld_flag in
 	  *-brtl*)
@@ -3091,51 +3175,23 @@ case $host_os in
     fi
   ;;
       darwin* | rhapsody*)
-        case $host_os in
-        rhapsody* | darwin1.[[012]])
-         _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress'
-         ;;
-       *) # Darwin 1.3 on
-         if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
-           _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
-         else
-           case ${MACOSX_DEPLOYMENT_TARGET} in
-             10.[[012]])
-               _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
-               ;;
-             10.*)
-               _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup'
-               ;;
-           esac
-         fi
-         ;;
-        esac
       _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
       _LT_AC_TAGVAR(hardcode_direct, $1)=no
       _LT_AC_TAGVAR(hardcode_automatic, $1)=yes
       _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
       _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=''
       _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
-
-    if test "$GXX" = yes ; then
-      lt_int_apple_cc_single_mod=no
+      _LT_AC_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined"
+      if test "$GXX" = yes ; then
       output_verbose_link_cmd='echo'
-      if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then
-       lt_int_apple_cc_single_mod=yes
+      _LT_AC_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
+      _LT_AC_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
+      _LT_AC_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
+      _LT_AC_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
+      if test "$lt_cv_apple_cc_single_mod" != "yes"; then
+        _LT_AC_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}"
+        _LT_AC_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}"
       fi
-      if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
-       _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
-      else
-          _LT_AC_TAGVAR(archive_cmds, $1)='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
-        fi
-        _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
-        # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
-          if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
-            _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
-          else
-            _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
-          fi
-            _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
       else
       case $cc_basename in
         xlc*)
@@ -3386,7 +3442,7 @@ case $host_os in
 	_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
 	_LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
 	;;
-      pgCC*)
+      pgCC* | pgcpp*)
         # Portland Group C++ compiler
 	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
   	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
@@ -3821,7 +3877,8 @@ lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
 # compiler output when linking a shared library.
 # Parse the compiler output and extract the necessary
 # objects, libraries and library flags.
-AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP],[
+AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP],
+[AC_REQUIRE([LT_AC_PROG_SED])dnl
 dnl we can't use the lt_simple_compile_test_code here,
 dnl because it contains code intended for an executable,
 dnl not a library.  It's possible we should let each
@@ -3946,6 +4003,11 @@ fi
 
 $rm -f confest.$objext
 
+_LT_AC_TAGVAR(compiler_lib_search_dirs, $1)=
+if test -n "$_LT_AC_TAGVAR(compiler_lib_search_path, $1)"; then
+  _LT_AC_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_AC_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'`
+fi
+
 # PORTME: override above test on systems where it is broken
 ifelse([$1],[CXX],
 [case $host_os in
@@ -4002,7 +4064,6 @@ solaris*)
   ;;
 esac
 ])
-
 case " $_LT_AC_TAGVAR(postdeps, $1) " in
 *" -lc "*) _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no ;;
 esac
@@ -4087,7 +4148,7 @@ aix3*)
     postinstall_cmds='$RANLIB $lib'
   fi
   ;;
-aix4* | aix5*)
+aix[[4-9]]*)
   if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
     test "$enable_shared" = yes && enable_static=no
   fi
@@ -4264,6 +4325,7 @@ if test -f "$ltmain"; then
     _LT_AC_TAGVAR(predeps, $1) \
     _LT_AC_TAGVAR(postdeps, $1) \
     _LT_AC_TAGVAR(compiler_lib_search_path, $1) \
+    _LT_AC_TAGVAR(compiler_lib_search_dirs, $1) \
     _LT_AC_TAGVAR(archive_cmds, $1) \
     _LT_AC_TAGVAR(archive_expsym_cmds, $1) \
     _LT_AC_TAGVAR(postinstall_cmds, $1) \
@@ -4326,7 +4388,7 @@ ifelse([$1], [],
 # Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP)
 # NOTE: Changes made to this file will be lost: look at ltmain.sh.
 #
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
 # Free Software Foundation, Inc.
 #
 # This file is part of GNU Libtool:
@@ -4563,6 +4625,10 @@ predeps=$lt_[]_LT_AC_TAGVAR(predeps, $1)
 # shared library.
 postdeps=$lt_[]_LT_AC_TAGVAR(postdeps, $1)
 
+# The directories searched by this compiler when creating a shared
+# library
+compiler_lib_search_dirs=$lt_[]_LT_AC_TAGVAR(compiler_lib_search_dirs, $1)
+
 # The library search path used internally by the compiler when linking
 # a shared library.
 compiler_lib_search_path=$lt_[]_LT_AC_TAGVAR(compiler_lib_search_path, $1)
@@ -4912,7 +4978,7 @@ EOF
     echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
     cat conftest.$ac_ext >&5
   fi
-  rm -f conftest* conftst*
+  rm -rf conftest* conftst*
 
   # Do not use the global_symbol_pipe unless it works.
   if test "$pipe_works" = yes; then
@@ -4969,7 +5035,8 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
       # built for inclusion in a dll (and should export symbols for example).
       # Although the cygwin gcc ignores -fPIC, still need this for old-style
       # (--disable-auto-import) libraries
-      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'
+      m4_if([$1], [GCJ], [],
+	[_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
       ;;
     darwin* | rhapsody*)
       # PIC is the default on this platform
@@ -5006,7 +5073,7 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
     esac
   else
     case $host_os in
-      aix4* | aix5*)
+      aix[[4-9]]*)
 	# All AIX code is PIC.
 	if test "$host_cpu" = ia64; then
 	  # AIX 5 now supports IA64 processor
@@ -5102,7 +5169,7 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
 	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
 	    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
 	    ;;
-	  pgCC*)
+	  pgCC* | pgcpp*)
 	    # Portland Group C++ compiler.
 	    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
 	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
@@ -5253,7 +5320,8 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
       # built for inclusion in a dll (and should export symbols for example).
       # Although the cygwin gcc ignores -fPIC, still need this for old-style
       # (--disable-auto-import) libraries
-      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'
+      m4_if([$1], [GCJ], [],
+	[_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
       ;;
 
     darwin* | rhapsody*)
@@ -5323,7 +5391,8 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
     mingw* | cygwin* | pw32* | os2*)
       # This hack is so that the source file can tell whether it is being
       # built for inclusion in a dll (and should export symbols for example).
-      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'
+      m4_if([$1], [GCJ], [],
+	[_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
       ;;
 
     hpux9* | hpux10* | hpux11*)
@@ -5460,7 +5529,7 @@ AC_MSG_RESULT([$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)])
 #
 if test -n "$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)"; then
   AC_LIBTOOL_COMPILER_OPTION([if $compiler PIC flag $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) works],
-    _LT_AC_TAGVAR(lt_prog_compiler_pic_works, $1),
+    _LT_AC_TAGVAR(lt_cv_prog_compiler_pic_works, $1),
     [$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])], [],
     [case $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) in
      "" | " "*) ;;
@@ -5484,7 +5553,7 @@ esac
 #
 wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_AC_TAGVAR(lt_prog_compiler_static, $1)\"
 AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
-  _LT_AC_TAGVAR(lt_prog_compiler_static_works, $1),
+  _LT_AC_TAGVAR(lt_cv_prog_compiler_static_works, $1),
   $lt_tmp_static_flag,
   [],
   [_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=])
@@ -5500,7 +5569,7 @@ AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
 ifelse([$1],[CXX],[
   _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
   case $host_os in
-  aix4* | aix5*)
+  aix[[4-9]]*)
     # If we're using GNU nm, then we don't want the "-C" option.
     # -C means demangle to AIX nm, but means don't demangle with GNU nm
     if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
@@ -5522,6 +5591,7 @@ ifelse([$1],[CXX],[
     _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
   ;;
   esac
+  _LT_AC_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
 ],[
   runpath_var=
   _LT_AC_TAGVAR(allow_undefined_flag, $1)=
@@ -5552,12 +5622,14 @@ ifelse([$1],[CXX],[
   # it will be wrapped by ` (' and `)$', so one must not match beginning or
   # end of line.  Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
   # as well as any symbol that contains `d'.
-  _LT_AC_TAGVAR(exclude_expsyms, $1)="_GLOBAL_OFFSET_TABLE_"
+  _LT_AC_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
   # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
   # platforms (ab)use it in PIC code, but their linkers get confused if
   # the symbol is explicitly referenced.  Since portable code cannot
   # rely on this symbol name, it's probably fine to never include it in
   # preloaded symbol tables.
+  # Exclude shared library initialization/finalization symbols.
+dnl Note also adjust exclude_expsyms for C++ above.
   extract_expsyms_cmds=
   # Just being paranoid about ensuring that cc_basename is set.
   _LT_CC_BASENAME([$compiler])
@@ -5607,7 +5679,7 @@ ifelse([$1],[CXX],[
 
     # See if GNU ld supports shared libraries.
     case $host_os in
-    aix3* | aix4* | aix5*)
+    aix[[3-9]]*)
       # On AIX/PPC, the GNU linker is very broken
       if test "$host_cpu" != ia64; then
 	_LT_AC_TAGVAR(ld_shlibs, $1)=no
@@ -5827,7 +5899,7 @@ _LT_EOF
       fi
       ;;
 
-    aix4* | aix5*)
+    aix[[4-9]]*)
       if test "$host_cpu" = ia64; then
 	# On IA64, the linker does run time linking by default, so we don't
 	# have to do anything special.
@@ -5847,7 +5919,7 @@ _LT_EOF
 	# Test if we are trying to use run time linking or normal
 	# AIX style linking. If -brtl is somewhere in LDFLAGS, we
 	# need to do runtime linking.
-	case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*)
+	case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
 	  for ld_flag in $LDFLAGS; do
   	  if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
   	    aix_use_runtimelinking=yes
@@ -6007,11 +6079,10 @@ _LT_EOF
       _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
     if test "$GCC" = yes ; then
     	output_verbose_link_cmd='echo'
-        _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
-      _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
-      # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
-      _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
-      _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+        _LT_AC_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
+        _LT_AC_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
+        _LT_AC_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
+        _LT_AC_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
     else
       case $cc_basename in
         xlc*)
diff --git a/autogen.sh b/autogen.sh
new file mode 100755
index 0000000..995ff2f
--- /dev/null
+++ b/autogen.sh
@@ -0,0 +1,16 @@
+#!/bin/sh
+
+rm -rf autom4te.cache
+rm -f aclocal.m4 ltmain.sh
+
+touch README
+
+echo "Running aclocal..." ; aclocal $ACLOCAL_FLAGS -I m4 || exit 1
+echo "Running autoheader..." ; autoheader || exit 1
+echo "Running autoconf..." ; autoconf || exit 1
+echo "Running libtoolize..." ; (libtoolize --copy --automake || glibtoolize --automake) || exit 1
+echo "Running automake..." ; automake --add-missing --copy --gnu || exit 1
+
+if [ -z "$NOCONFIGURE" ]; then
+	./configure "$@"
+fi
diff --git a/config.h.in b/config.h.in
index b1f8107..ae53c80 100644
--- a/config.h.in
+++ b/config.h.in
@@ -114,6 +114,9 @@
 /* Build support for XCB xprint */
 #undef ECORE_XCB_XPRINT
 
+/* Build support for XCB xtest */
+#undef ECORE_XCB_XTEST
+
 /* Build support for Xcomposite */
 #undef ECORE_XCOMPOSITE
 
@@ -144,6 +147,9 @@
 /* Build support for Xss */
 #undef ECORE_XSS
 
+/* Build support for Xtest */
+#undef ECORE_XTEST
+
 /* Have abstract sockets namespace */
 #undef HAVE_ABSTRACT_SOCKETS
 
@@ -165,6 +171,9 @@
 /* Defined to 1 if XCB backend is enabled. */
 #undef HAVE_ECORE_X_XCB
 
+/* Define to 1 if you have the <features.h> header file. */
+#undef HAVE_FEATURES_H
+
 /* Define to 1 if you have the `gettimeofday' function. */
 #undef HAVE_GETTIMEOFDAY
 
@@ -174,6 +183,12 @@
 /* Define to 1 if you have the <inttypes.h> header file. */
 #undef HAVE_INTTYPES_H
 
+/* Define to 1 if you have the <langinfo.h> header file. */
+#undef HAVE_LANGINFO_H
+
+/* Define to 1 if you have the <locale.h> header file. */
+#undef HAVE_LOCALE_H
+
 /* Define to 1 if you have the <memory.h> header file. */
 #undef HAVE_MEMORY_H
 
@@ -204,9 +219,15 @@
 /* File monitoring with Inotify - sys/inotify.h */
 #undef HAVE_SYS_INOTIFY
 
+/* Define to 1 if you have the <sys/mman.h> header file. */
+#undef HAVE_SYS_MMAN_H
+
 /* Define to 1 if you have the <sys/stat.h> header file. */
 #undef HAVE_SYS_STAT_H
 
+/* Define to 1 if you have the <sys/time.h> header file. */
+#undef HAVE_SYS_TIME_H
+
 /* Define to 1 if you have the <sys/types.h> header file. */
 #undef HAVE_SYS_TYPES_H
 
@@ -219,6 +240,12 @@
 /* Define to 1 if you have the <unistd.h> header file. */
 #undef HAVE_UNISTD_H
 
+/* Define to 1 if you have the <windows.h> header file. */
+#undef HAVE_WINDOWS_H
+
+/* Define to 1 if you have the <winsock2.h> header file. */
+#undef HAVE_WINSOCK2_H
+
 /* Define to 1 if your compiler has __attribute__ */
 #undef HAVE___ATTRIBUTE__
 
@@ -240,6 +267,9 @@
 /* Define to the version of this package. */
 #undef PACKAGE_VERSION
 
+/* Suffix for shared objects */
+#undef SHARED_LIB_SUFFIX
+
 /* The size of `int', as computed by sizeof. */
 #undef SIZEOF_INT
 
diff --git a/configure b/configure
index fcc1751..ccaa149 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.61 for ecore 0.9.9.042.
+# Generated by GNU Autoconf 2.61 for ecore 0.9.9.043.
 #
 # Report bugs to <enlightenment-devel at lists.sourceforge.net>.
 #
@@ -726,8 +726,8 @@ SHELL=${CONFIG_SHELL-/bin/sh}
 # Identity of this package.
 PACKAGE_NAME='ecore'
 PACKAGE_TARNAME='ecore'
-PACKAGE_VERSION='0.9.9.042'
-PACKAGE_STRING='ecore 0.9.9.042'
+PACKAGE_VERSION='0.9.9.043'
+PACKAGE_STRING='ecore 0.9.9.043'
 PACKAGE_BUGREPORT='enlightenment-devel at lists.sourceforge.net'
 
 ac_unique_file="configure.in"
@@ -863,6 +863,8 @@ LN_S
 ECHO
 AR
 RANLIB
+DSYMUTIL
+NMEDIT
 DLLTOOL
 AS
 OBJDUMP
@@ -932,6 +934,8 @@ XCB_XINERAMA_CFLAGS
 XCB_XINERAMA_LIBS
 XCB_XPRINT_CFLAGS
 XCB_XPRINT_LIBS
+XCB_XTEST_CFLAGS
+XCB_XTEST_LIBS
 have_ecore_x_xcb_define
 XMKMF
 X_CFLAGS
@@ -963,11 +967,29 @@ XRANDR_CFLAGS
 XRANDR_LIBS
 XRENDER_CFLAGS
 XRENDER_LIBS
+XTEST_CFLAGS
+XTEST_LIBS
 XSS_CFLAGS
 XSS_LIBS
+EVAS_SOFTWARE_X11_CFLAGS
+EVAS_SOFTWARE_X11_LIBS
+EVAS_OPENGL_X11_CFLAGS
+EVAS_OPENGL_X11_LIBS
+EVAS_XRENDER_X11_CFLAGS
+EVAS_XRENDER_X11_LIBS
+EVAS_SOFTWARE_16_X11_CFLAGS
+EVAS_SOFTWARE_16_X11_LIBS
+EVAS_SOFTWARE_DDRAW_CFLAGS
+EVAS_SOFTWARE_DDRAW_LIBS
 ddraw_libs
+EVAS_SOFTWARE_16_DDRAW_CFLAGS
+EVAS_SOFTWARE_16_DDRAW_LIBS
 ddraw_16_libs
+EVAS_DIRECT3D_CFLAGS
+EVAS_DIRECT3D_LIBS
 direct3d_libs
+EVAS_OPENGL_GLEW_CFLAGS
+EVAS_OPENGL_GLEW_LIBS
 glew_libs
 BUILD_ECORE_WIN32_TRUE
 BUILD_ECORE_WIN32_FALSE
@@ -979,17 +1001,26 @@ BUILD_ECORE_DIRECTFB_TRUE
 BUILD_ECORE_DIRECTFB_FALSE
 ecore_directfb_cflags
 ecore_directfb_libs
+EVAS_DIRECTFB_CFLAGS
+EVAS_DIRECTFB_LIBS
 BUILD_ECORE_FB_TRUE
 BUILD_ECORE_FB_FALSE
 ecore_fb_cflags
 ecore_fb_libs
 tslib_libs
-SDL_CFLAGS
-SDL_LIBS
+EVAS_FB_CFLAGS
+EVAS_FB_LIBS
+SDL_CONFIG
 BUILD_ECORE_SDL_TRUE
 BUILD_ECORE_SDL_FALSE
 ecore_sdl_cflags
 ecore_sdl_libs
+SDL_CFLAGS
+SDL_LIBS
+EVAS_SOFTWARE_SDL_CFLAGS
+EVAS_SOFTWARE_SDL_LIBS
+EVAS_SOFTWARE_BUFFER_CFLAGS
+EVAS_SOFTWARE_BUFFER_LIBS
 BUILD_ECORE_FILE_TRUE
 BUILD_ECORE_FILE_FALSE
 ecore_file_cflags
@@ -1020,6 +1051,8 @@ requirements_ecore_x
 requirements_ecore_sdl
 BUILD_ECORE_X_XCB_TRUE
 BUILD_ECORE_X_XCB_FALSE
+BUILD_ECORE_EVAS_SDL_TRUE
+BUILD_ECORE_EVAS_SDL_FALSE
 BUILD_ECORE_EVAS_X11_TRUE
 BUILD_ECORE_EVAS_X11_FALSE
 BUILD_ECORE_EVAS_X11_GL_TRUE
@@ -1083,11 +1116,37 @@ XCB_XINERAMA_CFLAGS
 XCB_XINERAMA_LIBS
 XCB_XPRINT_CFLAGS
 XCB_XPRINT_LIBS
+XCB_XTEST_CFLAGS
+XCB_XTEST_LIBS
 XMKMF
+EVAS_SOFTWARE_X11_CFLAGS
+EVAS_SOFTWARE_X11_LIBS
+EVAS_OPENGL_X11_CFLAGS
+EVAS_OPENGL_X11_LIBS
+EVAS_XRENDER_X11_CFLAGS
+EVAS_XRENDER_X11_LIBS
+EVAS_SOFTWARE_16_X11_CFLAGS
+EVAS_SOFTWARE_16_X11_LIBS
+EVAS_SOFTWARE_DDRAW_CFLAGS
+EVAS_SOFTWARE_DDRAW_LIBS
+EVAS_SOFTWARE_16_DDRAW_CFLAGS
+EVAS_SOFTWARE_16_DDRAW_LIBS
+EVAS_DIRECT3D_CFLAGS
+EVAS_DIRECT3D_LIBS
+EVAS_OPENGL_GLEW_CFLAGS
+EVAS_OPENGL_GLEW_LIBS
 DIRECTFB_CFLAGS
 DIRECTFB_LIBS
+EVAS_DIRECTFB_CFLAGS
+EVAS_DIRECTFB_LIBS
+EVAS_FB_CFLAGS
+EVAS_FB_LIBS
+EVAS_SOFTWARE_SDL_CFLAGS
+EVAS_SOFTWARE_SDL_LIBS
 SDL_CFLAGS
-SDL_LIBS'
+SDL_LIBS
+EVAS_SOFTWARE_BUFFER_CFLAGS
+EVAS_SOFTWARE_BUFFER_LIBS'
 
 
 # Initialize some variables set by options.
@@ -1590,7 +1649,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures ecore 0.9.9.042 to adapt to many kinds of systems.
+\`configure' configures ecore 0.9.9.043 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1664,7 +1723,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of ecore 0.9.9.042:";;
+     short | recursive ) echo "Configuration of ecore 0.9.9.043:";;
    esac
   cat <<\_ACEOF
 
@@ -1709,7 +1768,7 @@ Optional Features:
   --disable-ecore-evas-fb disable fb in the ecore_evas module
   --enable-ecore-sdl      enable the ecore_sdl module. [default=disabled]
   --disable-ecore-evas-sdl
-                          disable sdl in the ecore_evas module
+                          disable SDL in the ecore_evas module
   --disable-ecore-evas-buffer
                           disable buffer in the ecore_evas module
   --disable-ecore-file    disable the ecore_file module. [default=enabled]
@@ -1731,6 +1790,7 @@ Optional Packages:
   --with-iconv-link=ICONV_LINK
                           explicitly specify an iconv link option
   --with-x                use the X Window System
+  --with-sdl-config=PATH  use sdl-config specified
 
 Some influential environment variables:
   CC          C compiler command
@@ -1799,13 +1859,66 @@ Some influential environment variables:
               C compiler flags for XCB_XPRINT, overriding pkg-config
   XCB_XPRINT_LIBS
               linker flags for XCB_XPRINT, overriding pkg-config
+  XCB_XTEST_CFLAGS
+              C compiler flags for XCB_XTEST, overriding pkg-config
+  XCB_XTEST_LIBS
+              linker flags for XCB_XTEST, overriding pkg-config
   XMKMF       Path to xmkmf, Makefile generator for X Window System
+  EVAS_SOFTWARE_X11_CFLAGS
+              C compiler flags for EVAS_SOFTWARE_X11, overriding pkg-config
+  EVAS_SOFTWARE_X11_LIBS
+              linker flags for EVAS_SOFTWARE_X11, overriding pkg-config
+  EVAS_OPENGL_X11_CFLAGS
+              C compiler flags for EVAS_OPENGL_X11, overriding pkg-config
+  EVAS_OPENGL_X11_LIBS
+              linker flags for EVAS_OPENGL_X11, overriding pkg-config
+  EVAS_XRENDER_X11_CFLAGS
+              C compiler flags for EVAS_XRENDER_X11, overriding pkg-config
+  EVAS_XRENDER_X11_LIBS
+              linker flags for EVAS_XRENDER_X11, overriding pkg-config
+  EVAS_SOFTWARE_16_X11_CFLAGS
+              C compiler flags for EVAS_SOFTWARE_16_X11, overriding pkg-config
+  EVAS_SOFTWARE_16_X11_LIBS
+              linker flags for EVAS_SOFTWARE_16_X11, overriding pkg-config
+  EVAS_SOFTWARE_DDRAW_CFLAGS
+              C compiler flags for EVAS_SOFTWARE_DDRAW, overriding pkg-config
+  EVAS_SOFTWARE_DDRAW_LIBS
+              linker flags for EVAS_SOFTWARE_DDRAW, overriding pkg-config
+  EVAS_SOFTWARE_16_DDRAW_CFLAGS
+              C compiler flags for EVAS_SOFTWARE_16_DDRAW, overriding
+              pkg-config
+  EVAS_SOFTWARE_16_DDRAW_LIBS
+              linker flags for EVAS_SOFTWARE_16_DDRAW, overriding pkg-config
+  EVAS_DIRECT3D_CFLAGS
+              C compiler flags for EVAS_DIRECT3D, overriding pkg-config
+  EVAS_DIRECT3D_LIBS
+              linker flags for EVAS_DIRECT3D, overriding pkg-config
+  EVAS_OPENGL_GLEW_CFLAGS
+              C compiler flags for EVAS_OPENGL_GLEW, overriding pkg-config
+  EVAS_OPENGL_GLEW_LIBS
+              linker flags for EVAS_OPENGL_GLEW, overriding pkg-config
   DIRECTFB_CFLAGS
               C compiler flags for DIRECTFB, overriding pkg-config
   DIRECTFB_LIBS
               linker flags for DIRECTFB, overriding pkg-config
+  EVAS_DIRECTFB_CFLAGS
+              C compiler flags for EVAS_DIRECTFB, overriding pkg-config
+  EVAS_DIRECTFB_LIBS
+              linker flags for EVAS_DIRECTFB, overriding pkg-config
+  EVAS_FB_CFLAGS
+              C compiler flags for EVAS_FB, overriding pkg-config
+  EVAS_FB_LIBS
+              linker flags for EVAS_FB, overriding pkg-config
+  EVAS_SOFTWARE_SDL_CFLAGS
+              C compiler flags for EVAS_SOFTWARE_SDL, overriding pkg-config
+  EVAS_SOFTWARE_SDL_LIBS
+              linker flags for EVAS_SOFTWARE_SDL, overriding pkg-config
   SDL_CFLAGS  C compiler flags for SDL, overriding pkg-config
   SDL_LIBS    linker flags for SDL, overriding pkg-config
+  EVAS_SOFTWARE_BUFFER_CFLAGS
+              C compiler flags for EVAS_SOFTWARE_BUFFER, overriding pkg-config
+  EVAS_SOFTWARE_BUFFER_LIBS
+              linker flags for EVAS_SOFTWARE_BUFFER, overriding pkg-config
 
 Use these variables to override the choices made by `configure' or to help
 it to find libraries and programs with nonstandard names/locations.
@@ -1871,7 +1984,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-ecore configure 0.9.9.042
+ecore configure 0.9.9.043
 generated by GNU Autoconf 2.61
 
 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1885,7 +1998,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by ecore $as_me 0.9.9.042, which was
+It was created by ecore $as_me 0.9.9.043, which was
 generated by GNU Autoconf 2.61.  Invocation command line was
 
   $ $0 $@
@@ -3709,7 +3822,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE='ecore'
- VERSION='0.9.9.042'
+ VERSION='0.9.9.043'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -8234,7 +8347,7 @@ lt_cv_deplibs_check_method='unknown'
 # whether `pass_all' will *always* work, you probably want this one.
 
 case $host_os in
-aix4* | aix5*)
+aix[4-9]*)
   lt_cv_deplibs_check_method=pass_all
   ;;
 
@@ -8449,7 +8562,7 @@ ia64-*-hpux*)
   ;;
 *-*-irix6*)
   # Find out which ABI we are using.
-  echo '#line 8452 "configure"' > conftest.$ac_ext
+  echo '#line 8565 "configure"' > conftest.$ac_ext
   if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
@@ -8621,7 +8734,11 @@ sparc*-*solaris*)
     *64-bit*)
       case $lt_cv_prog_gnu_ld in
       yes*) LD="${LD-ld} -m elf64_sparc" ;;
-      *)    LD="${LD-ld} -64" ;;
+      *)
+        if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
+	  LD="${LD-ld} -64"
+	fi
+	;;
       esac
       ;;
     esac
@@ -9306,7 +9423,6 @@ fi
 
 
 # Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers!
-
 # find the maximum length of command line arguments
 { echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5
 echo $ECHO_N "checking the maximum length of command line arguments... $ECHO_C" >&6; }
@@ -9621,7 +9737,7 @@ EOF
     echo "$progname: failed program was:" >&5
     cat conftest.$ac_ext >&5
   fi
-  rm -f conftest* conftst*
+  rm -rf conftest* conftst*
 
   # Do not use the global_symbol_pipe unless it works.
   if test "$pipe_works" = yes; then
@@ -10181,6 +10297,318 @@ fi
   ;;
 esac
 
+
+  case $host_os in
+    rhapsody* | darwin*)
+    if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args.
+set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_DSYMUTIL+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$DSYMUTIL"; then
+  ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+DSYMUTIL=$ac_cv_prog_DSYMUTIL
+if test -n "$DSYMUTIL"; then
+  { echo "$as_me:$LINENO: result: $DSYMUTIL" >&5
+echo "${ECHO_T}$DSYMUTIL" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_DSYMUTIL"; then
+  ac_ct_DSYMUTIL=$DSYMUTIL
+  # Extract the first word of "dsymutil", so it can be a program name with args.
+set dummy dsymutil; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_ac_ct_DSYMUTIL+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$ac_ct_DSYMUTIL"; then
+  ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL
+if test -n "$ac_ct_DSYMUTIL"; then
+  { echo "$as_me:$LINENO: result: $ac_ct_DSYMUTIL" >&5
+echo "${ECHO_T}$ac_ct_DSYMUTIL" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+  if test "x$ac_ct_DSYMUTIL" = x; then
+    DSYMUTIL=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf at gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf at gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+    DSYMUTIL=$ac_ct_DSYMUTIL
+  fi
+else
+  DSYMUTIL="$ac_cv_prog_DSYMUTIL"
+fi
+
+    if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args.
+set dummy ${ac_tool_prefix}nmedit; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_NMEDIT+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$NMEDIT"; then
+  ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+NMEDIT=$ac_cv_prog_NMEDIT
+if test -n "$NMEDIT"; then
+  { echo "$as_me:$LINENO: result: $NMEDIT" >&5
+echo "${ECHO_T}$NMEDIT" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_NMEDIT"; then
+  ac_ct_NMEDIT=$NMEDIT
+  # Extract the first word of "nmedit", so it can be a program name with args.
+set dummy nmedit; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_ac_ct_NMEDIT+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$ac_ct_NMEDIT"; then
+  ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_NMEDIT="nmedit"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT
+if test -n "$ac_ct_NMEDIT"; then
+  { echo "$as_me:$LINENO: result: $ac_ct_NMEDIT" >&5
+echo "${ECHO_T}$ac_ct_NMEDIT" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+  if test "x$ac_ct_NMEDIT" = x; then
+    NMEDIT=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf at gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf at gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+    NMEDIT=$ac_ct_NMEDIT
+  fi
+else
+  NMEDIT="$ac_cv_prog_NMEDIT"
+fi
+
+
+    { echo "$as_me:$LINENO: checking for -single_module linker flag" >&5
+echo $ECHO_N "checking for -single_module linker flag... $ECHO_C" >&6; }
+if test "${lt_cv_apple_cc_single_mod+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  lt_cv_apple_cc_single_mod=no
+      if test -z "${LT_MULTI_MODULE}"; then
+   # By default we will add the -single_module flag. You can override
+   # by either setting the environment variable LT_MULTI_MODULE
+   # non-empty at configure time, or by adding -multi_module to the
+   # link flags.
+   echo "int foo(void){return 1;}" > conftest.c
+   $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
+     -dynamiclib ${wl}-single_module conftest.c
+   if test -f libconftest.dylib; then
+     lt_cv_apple_cc_single_mod=yes
+     rm -rf libconftest.dylib*
+   fi
+   rm conftest.c
+      fi
+fi
+{ echo "$as_me:$LINENO: result: $lt_cv_apple_cc_single_mod" >&5
+echo "${ECHO_T}$lt_cv_apple_cc_single_mod" >&6; }
+    { echo "$as_me:$LINENO: checking for -exported_symbols_list linker flag" >&5
+echo $ECHO_N "checking for -exported_symbols_list linker flag... $ECHO_C" >&6; }
+if test "${lt_cv_ld_exported_symbols_list+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  lt_cv_ld_exported_symbols_list=no
+      save_LDFLAGS=$LDFLAGS
+      echo "_main" > conftest.sym
+      LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
+      cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
+  lt_cv_ld_exported_symbols_list=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	lt_cv_ld_exported_symbols_list=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+      conftest$ac_exeext conftest.$ac_ext
+   LDFLAGS="$save_LDFLAGS"
+
+fi
+{ echo "$as_me:$LINENO: result: $lt_cv_ld_exported_symbols_list" >&5
+echo "${ECHO_T}$lt_cv_ld_exported_symbols_list" >&6; }
+    case $host_os in
+    rhapsody* | darwin1.[0123])
+      _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
+    darwin1.*)
+     _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
+    darwin*)
+      # if running on 10.5 or later, the deployment target defaults
+      # to the OS version, if on x86, and 10.4, the deployment
+      # target defaults to 10.4. Don't you love it?
+      case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
+   10.0,*86*-darwin8*|10.0,*-darwin[91]*)
+     _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
+   10.[012]*)
+     _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
+   10.*)
+     _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
+      esac
+    ;;
+  esac
+    if test "$lt_cv_apple_cc_single_mod" = "yes"; then
+      _lt_dar_single_mod='$single_module'
+    fi
+    if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
+      _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
+    else
+      _lt_dar_export_syms="~$NMEDIT -s \$output_objdir/\${libname}-symbols.expsym \${lib}"
+    fi
+    if test "$DSYMUTIL" != ":"; then
+      _lt_dsymutil="~$DSYMUTIL \$lib || :"
+    else
+      _lt_dsymutil=
+    fi
+    ;;
+  esac
+
+
 enable_dlopen=no
 enable_win32_dll=yes
 
@@ -10246,7 +10674,7 @@ ac_outfile=conftest.$ac_objext
 echo "$lt_simple_link_test_code" >conftest.$ac_ext
 eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
 _lt_linker_boilerplate=`cat conftest.err`
-$rm conftest*
+$rm -r conftest*
 
 
 
@@ -10274,11 +10702,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:10277: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:10705: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:10281: \$? = $ac_status" >&5
+   echo "$as_me:10709: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -10548,10 +10976,10 @@ if test -n "$lt_prog_compiler_pic"; then
 
 { echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
 echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic works... $ECHO_C" >&6; }
-if test "${lt_prog_compiler_pic_works+set}" = set; then
+if test "${lt_cv_prog_compiler_pic_works+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  lt_prog_compiler_pic_works=no
+  lt_cv_prog_compiler_pic_works=no
   ac_outfile=conftest.$ac_objext
    echo "$lt_simple_compile_test_code" > conftest.$ac_ext
    lt_compiler_flag="$lt_prog_compiler_pic -DPIC"
@@ -10564,27 +10992,27 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:10567: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:10995: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:10571: \$? = $ac_status" >&5
+   echo "$as_me:10999: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
      $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
      $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
      if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
-       lt_prog_compiler_pic_works=yes
+       lt_cv_prog_compiler_pic_works=yes
      fi
    fi
    $rm conftest*
 
 fi
-{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_works" >&6; }
+{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_pic_works" >&5
+echo "${ECHO_T}$lt_cv_prog_compiler_pic_works" >&6; }
 
-if test x"$lt_prog_compiler_pic_works" = xyes; then
+if test x"$lt_cv_prog_compiler_pic_works" = xyes; then
     case $lt_prog_compiler_pic in
      "" | " "*) ;;
      *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;;
@@ -10611,10 +11039,10 @@ esac
 wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
 { echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
 echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; }
-if test "${lt_prog_compiler_static_works+set}" = set; then
+if test "${lt_cv_prog_compiler_static_works+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  lt_prog_compiler_static_works=no
+  lt_cv_prog_compiler_static_works=no
    save_LDFLAGS="$LDFLAGS"
    LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
    echo "$lt_simple_link_test_code" > conftest.$ac_ext
@@ -10627,20 +11055,20 @@ else
        $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
        $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
        if diff conftest.exp conftest.er2 >/dev/null; then
-         lt_prog_compiler_static_works=yes
+         lt_cv_prog_compiler_static_works=yes
        fi
      else
-       lt_prog_compiler_static_works=yes
+       lt_cv_prog_compiler_static_works=yes
      fi
    fi
-   $rm conftest*
+   $rm -r conftest*
    LDFLAGS="$save_LDFLAGS"
 
 fi
-{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works" >&5
-echo "${ECHO_T}$lt_prog_compiler_static_works" >&6; }
+{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_static_works" >&5
+echo "${ECHO_T}$lt_cv_prog_compiler_static_works" >&6; }
 
-if test x"$lt_prog_compiler_static_works" = xyes; then
+if test x"$lt_cv_prog_compiler_static_works" = xyes; then
     :
 else
     lt_prog_compiler_static=
@@ -10668,11 +11096,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:10671: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:11099: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:10675: \$? = $ac_status" >&5
+   echo "$as_me:11103: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
@@ -10752,12 +11180,13 @@ echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared librar
   # it will be wrapped by ` (' and `)$', so one must not match beginning or
   # end of line.  Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
   # as well as any symbol that contains `d'.
-  exclude_expsyms="_GLOBAL_OFFSET_TABLE_"
+  exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
   # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
   # platforms (ab)use it in PIC code, but their linkers get confused if
   # the symbol is explicitly referenced.  Since portable code cannot
   # rely on this symbol name, it's probably fine to never include it in
   # preloaded symbol tables.
+  # Exclude shared library initialization/finalization symbols.
   extract_expsyms_cmds=
   # Just being paranoid about ensuring that cc_basename is set.
   for cc_temp in $compiler""; do
@@ -10816,7 +11245,7 @@ cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
 
     # See if GNU ld supports shared libraries.
     case $host_os in
-    aix3* | aix4* | aix5*)
+    aix[3-9]*)
       # On AIX/PPC, the GNU linker is very broken
       if test "$host_cpu" != ia64; then
 	ld_shlibs=no
@@ -11036,7 +11465,7 @@ _LT_EOF
       fi
       ;;
 
-    aix4* | aix5*)
+    aix[4-9]*)
       if test "$host_cpu" = ia64; then
 	# On IA64, the linker does run time linking by default, so we don't
 	# have to do anything special.
@@ -11056,7 +11485,7 @@ _LT_EOF
 	# Test if we are trying to use run time linking or normal
 	# AIX style linking. If -brtl is somewhere in LDFLAGS, we
 	# need to do runtime linking.
-	case $host_os in aix4.[23]|aix4.[23].*|aix5*)
+	case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
 	  for ld_flag in $LDFLAGS; do
   	  if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
   	    aix_use_runtimelinking=yes
@@ -11328,11 +11757,10 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
       link_all_deplibs=yes
     if test "$GCC" = yes ; then
     	output_verbose_link_cmd='echo'
-        archive_cmds='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
-      module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
-      # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
-      archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
-      module_expsym_cmds='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+        archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
+        module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
+        archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
+        module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
     else
       case $cc_basename in
         xlc*)
@@ -11852,7 +12280,7 @@ aix3*)
   soname_spec='${libname}${release}${shared_ext}$major'
   ;;
 
-aix4* | aix5*)
+aix[4-9]*)
   version_type=linux
   need_lib_prefix=no
   need_version=no
@@ -12386,6 +12814,21 @@ esac
 echo "${ECHO_T}$dynamic_linker" >&6; }
 test "$dynamic_linker" = no && can_build_shared=no
 
+if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  lt_cv_sys_lib_search_path_spec="$sys_lib_search_path_spec"
+fi
+
+sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
+if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  lt_cv_sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec"
+fi
+
+sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
+
 variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
 if test "$GCC" = yes; then
   variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
@@ -12705,7 +13148,7 @@ fi
 { echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5
 echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6; }
 if test $ac_cv_lib_dld_shl_load = yes; then
-  lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"
+  lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
 else
   { echo "$as_me:$LINENO: checking for dlopen" >&5
 echo $ECHO_N "checking for dlopen... $ECHO_C" >&6; }
@@ -12981,7 +13424,7 @@ fi
 { echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5
 echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6; }
 if test $ac_cv_lib_dld_dld_link = yes; then
-  lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"
+  lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
 fi
 
 
@@ -13030,7 +13473,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 13033 "configure"
+#line 13476 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -13130,7 +13573,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 13133 "configure"
+#line 13576 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -13257,7 +13700,7 @@ aix3*)
   fi
   ;;
 
-aix4* | aix5*)
+aix[4-9]*)
   if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
     test "$enable_shared" = yes && enable_static=no
   fi
@@ -13313,6 +13756,7 @@ if test -f "$ltmain"; then
     predeps \
     postdeps \
     compiler_lib_search_path \
+    compiler_lib_search_dirs \
     archive_cmds \
     archive_expsym_cmds \
     postinstall_cmds \
@@ -13373,7 +13817,7 @@ echo "$as_me: creating $ofile" >&6;}
 # Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP)
 # NOTE: Changes made to this file will be lost: look at ltmain.sh.
 #
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
 # Free Software Foundation, Inc.
 #
 # This file is part of GNU Libtool:
@@ -13609,6 +14053,10 @@ predeps=$lt_predeps
 # shared library.
 postdeps=$lt_postdeps
 
+# The directories searched by this compiler when creating a shared
+# library
+compiler_lib_search_dirs=$lt_compiler_lib_search_dirs
+
 # The library search path used internally by the compiler when linking
 # a shared library.
 compiler_lib_search_path=$lt_compiler_lib_search_path
@@ -13857,6 +14305,7 @@ postdep_objects_CXX=
 predeps_CXX=
 postdeps_CXX=
 compiler_lib_search_path_CXX=
+compiler_lib_search_dirs_CXX=
 
 # Source file extension for C++ test sources.
 ac_ext=cpp
@@ -13894,7 +14343,7 @@ ac_outfile=conftest.$ac_objext
 echo "$lt_simple_link_test_code" >conftest.$ac_ext
 eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
 _lt_linker_boilerplate=`cat conftest.err`
-$rm conftest*
+$rm -r conftest*
 
 
 # Allow CC to be a program name with arguments.
@@ -14101,7 +14550,7 @@ case $host_os in
     # FIXME: insert proper C++ library support
     ld_shlibs_CXX=no
     ;;
-  aix4* | aix5*)
+  aix[4-9]*)
     if test "$host_cpu" = ia64; then
       # On IA64, the linker does run time linking by default, so we don't
       # have to do anything special.
@@ -14114,7 +14563,7 @@ case $host_os in
       # Test if we are trying to use run time linking or normal
       # AIX style linking. If -brtl is somewhere in LDFLAGS, we
       # need to do runtime linking.
-      case $host_os in aix4.[23]|aix4.[23].*|aix5*)
+      case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
 	for ld_flag in $LDFLAGS; do
 	  case $ld_flag in
 	  *-brtl*)
@@ -14372,51 +14821,23 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
     fi
   ;;
       darwin* | rhapsody*)
-        case $host_os in
-        rhapsody* | darwin1.[012])
-         allow_undefined_flag_CXX='${wl}-undefined ${wl}suppress'
-         ;;
-       *) # Darwin 1.3 on
-         if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
-           allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
-         else
-           case ${MACOSX_DEPLOYMENT_TARGET} in
-             10.[012])
-               allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
-               ;;
-             10.*)
-               allow_undefined_flag_CXX='${wl}-undefined ${wl}dynamic_lookup'
-               ;;
-           esac
-         fi
-         ;;
-        esac
       archive_cmds_need_lc_CXX=no
       hardcode_direct_CXX=no
       hardcode_automatic_CXX=yes
       hardcode_shlibpath_var_CXX=unsupported
       whole_archive_flag_spec_CXX=''
       link_all_deplibs_CXX=yes
-
-    if test "$GXX" = yes ; then
-      lt_int_apple_cc_single_mod=no
+      allow_undefined_flag_CXX="$_lt_dar_allow_undefined"
+      if test "$GXX" = yes ; then
       output_verbose_link_cmd='echo'
-      if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then
-       lt_int_apple_cc_single_mod=yes
+      archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
+      module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
+      archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
+      module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
+      if test "$lt_cv_apple_cc_single_mod" != "yes"; then
+        archive_cmds_CXX="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}"
+        archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}"
       fi
-      if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
-       archive_cmds_CXX='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
-      else
-          archive_cmds_CXX='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
-        fi
-        module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
-        # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
-          if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
-            archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
-          else
-            archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
-          fi
-            module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
       else
       case $cc_basename in
         xlc*)
@@ -14667,7 +15088,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
 	export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
 	whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
 	;;
-      pgCC*)
+      pgCC* | pgcpp*)
         # Portland Group C++ compiler
 	archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
   	archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
@@ -15074,7 +15495,6 @@ test "$ld_shlibs_CXX" = no && can_build_shared=no
 GCC_CXX="$GXX"
 LD_CXX="$LD"
 
-
 cat > conftest.$ac_ext <<EOF
 class Foo
 {
@@ -15176,6 +15596,11 @@ fi
 
 $rm -f confest.$objext
 
+compiler_lib_search_dirs_CXX=
+if test -n "$compiler_lib_search_path_CXX"; then
+  compiler_lib_search_dirs_CXX=`echo " ${compiler_lib_search_path_CXX}" | ${SED} -e 's! -L! !g' -e 's!^ !!'`
+fi
+
 # PORTME: override above test on systems where it is broken
 case $host_os in
 interix[3-9]*)
@@ -15231,7 +15656,6 @@ solaris*)
   ;;
 esac
 
-
 case " $postdeps_CXX " in
 *" -lc "*) archive_cmds_need_lc_CXX=no ;;
 esac
@@ -15307,7 +15731,7 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
     esac
   else
     case $host_os in
-      aix4* | aix5*)
+      aix[4-9]*)
 	# All AIX code is PIC.
 	if test "$host_cpu" = ia64; then
 	  # AIX 5 now supports IA64 processor
@@ -15403,7 +15827,7 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
 	    lt_prog_compiler_pic_CXX='-KPIC'
 	    lt_prog_compiler_static_CXX='-static'
 	    ;;
-	  pgCC*)
+	  pgCC* | pgcpp*)
 	    # Portland Group C++ compiler.
 	    lt_prog_compiler_wl_CXX='-Wl,'
 	    lt_prog_compiler_pic_CXX='-fpic'
@@ -15534,10 +15958,10 @@ if test -n "$lt_prog_compiler_pic_CXX"; then
 
 { echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5
 echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... $ECHO_C" >&6; }
-if test "${lt_prog_compiler_pic_works_CXX+set}" = set; then
+if test "${lt_cv_prog_compiler_pic_works_CXX+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  lt_prog_compiler_pic_works_CXX=no
+  lt_cv_prog_compiler_pic_works_CXX=no
   ac_outfile=conftest.$ac_objext
    echo "$lt_simple_compile_test_code" > conftest.$ac_ext
    lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC"
@@ -15550,27 +15974,27 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:15553: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:15977: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:15557: \$? = $ac_status" >&5
+   echo "$as_me:15981: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
      $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
      $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
      if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
-       lt_prog_compiler_pic_works_CXX=yes
+       lt_cv_prog_compiler_pic_works_CXX=yes
      fi
    fi
    $rm conftest*
 
 fi
-{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_CXX" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_works_CXX" >&6; }
+{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_pic_works_CXX" >&5
+echo "${ECHO_T}$lt_cv_prog_compiler_pic_works_CXX" >&6; }
 
-if test x"$lt_prog_compiler_pic_works_CXX" = xyes; then
+if test x"$lt_cv_prog_compiler_pic_works_CXX" = xyes; then
     case $lt_prog_compiler_pic_CXX in
      "" | " "*) ;;
      *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;;
@@ -15597,10 +16021,10 @@ esac
 wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\"
 { echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
 echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; }
-if test "${lt_prog_compiler_static_works_CXX+set}" = set; then
+if test "${lt_cv_prog_compiler_static_works_CXX+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  lt_prog_compiler_static_works_CXX=no
+  lt_cv_prog_compiler_static_works_CXX=no
    save_LDFLAGS="$LDFLAGS"
    LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
    echo "$lt_simple_link_test_code" > conftest.$ac_ext
@@ -15613,20 +16037,20 @@ else
        $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
        $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
        if diff conftest.exp conftest.er2 >/dev/null; then
-         lt_prog_compiler_static_works_CXX=yes
+         lt_cv_prog_compiler_static_works_CXX=yes
        fi
      else
-       lt_prog_compiler_static_works_CXX=yes
+       lt_cv_prog_compiler_static_works_CXX=yes
      fi
    fi
-   $rm conftest*
+   $rm -r conftest*
    LDFLAGS="$save_LDFLAGS"
 
 fi
-{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_CXX" >&5
-echo "${ECHO_T}$lt_prog_compiler_static_works_CXX" >&6; }
+{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_static_works_CXX" >&5
+echo "${ECHO_T}$lt_cv_prog_compiler_static_works_CXX" >&6; }
 
-if test x"$lt_prog_compiler_static_works_CXX" = xyes; then
+if test x"$lt_cv_prog_compiler_static_works_CXX" = xyes; then
     :
 else
     lt_prog_compiler_static_CXX=
@@ -15654,11 +16078,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:15657: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:16081: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:15661: \$? = $ac_status" >&5
+   echo "$as_me:16085: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
@@ -15711,7 +16135,7 @@ echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared librar
 
   export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
   case $host_os in
-  aix4* | aix5*)
+  aix[4-9]*)
     # If we're using GNU nm, then we don't want the "-C" option.
     # -C means demangle to AIX nm, but means don't demangle with GNU nm
     if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
@@ -15733,6 +16157,7 @@ echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared librar
     export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
   ;;
   esac
+  exclude_expsyms_CXX='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
 
 { echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5
 echo "${ECHO_T}$ld_shlibs_CXX" >&6; }
@@ -15834,7 +16259,7 @@ aix3*)
   soname_spec='${libname}${release}${shared_ext}$major'
   ;;
 
-aix4* | aix5*)
+aix[4-9]*)
   version_type=linux
   need_lib_prefix=no
   need_version=no
@@ -16367,6 +16792,21 @@ esac
 echo "${ECHO_T}$dynamic_linker" >&6; }
 test "$dynamic_linker" = no && can_build_shared=no
 
+if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  lt_cv_sys_lib_search_path_spec="$sys_lib_search_path_spec"
+fi
+
+sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
+if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  lt_cv_sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec"
+fi
+
+sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
+
 variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
 if test "$GCC" = yes; then
   variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
@@ -16450,6 +16890,7 @@ if test -f "$ltmain"; then
     predeps_CXX \
     postdeps_CXX \
     compiler_lib_search_path_CXX \
+    compiler_lib_search_dirs_CXX \
     archive_cmds_CXX \
     archive_expsym_cmds_CXX \
     postinstall_cmds_CXX \
@@ -16698,6 +17139,10 @@ predeps=$lt_predeps_CXX
 # shared library.
 postdeps=$lt_postdeps_CXX
 
+# The directories searched by this compiler when creating a shared
+# library
+compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_CXX
+
 # The library search path used internally by the compiler when linking
 # a shared library.
 compiler_lib_search_path=$lt_compiler_lib_search_path_CXX
@@ -16889,7 +17334,7 @@ ac_outfile=conftest.$ac_objext
 echo "$lt_simple_link_test_code" >conftest.$ac_ext
 eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
 _lt_linker_boilerplate=`cat conftest.err`
-$rm conftest*
+$rm -r conftest*
 
 
 # Allow CC to be a program name with arguments.
@@ -16938,11 +17383,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:16941: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:17386: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:16945: \$? = $ac_status" >&5
+   echo "$as_me:17390: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -17002,7 +17447,7 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
       # built for inclusion in a dll (and should export symbols for example).
       # Although the cygwin gcc ignores -fPIC, still need this for old-style
       # (--disable-auto-import) libraries
-      lt_prog_compiler_pic_GCJ='-DDLL_EXPORT'
+
       ;;
 
     darwin* | rhapsody*)
@@ -17072,7 +17517,7 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
     mingw* | cygwin* | pw32* | os2*)
       # This hack is so that the source file can tell whether it is being
       # built for inclusion in a dll (and should export symbols for example).
-      lt_prog_compiler_pic_GCJ='-DDLL_EXPORT'
+
       ;;
 
     hpux9* | hpux10* | hpux11*)
@@ -17212,10 +17657,10 @@ if test -n "$lt_prog_compiler_pic_GCJ"; then
 
 { echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works" >&5
 echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works... $ECHO_C" >&6; }
-if test "${lt_prog_compiler_pic_works_GCJ+set}" = set; then
+if test "${lt_cv_prog_compiler_pic_works_GCJ+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  lt_prog_compiler_pic_works_GCJ=no
+  lt_cv_prog_compiler_pic_works_GCJ=no
   ac_outfile=conftest.$ac_objext
    echo "$lt_simple_compile_test_code" > conftest.$ac_ext
    lt_compiler_flag="$lt_prog_compiler_pic_GCJ"
@@ -17228,27 +17673,27 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:17231: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:17676: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:17235: \$? = $ac_status" >&5
+   echo "$as_me:17680: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
      $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
      $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
      if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
-       lt_prog_compiler_pic_works_GCJ=yes
+       lt_cv_prog_compiler_pic_works_GCJ=yes
      fi
    fi
    $rm conftest*
 
 fi
-{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_GCJ" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_works_GCJ" >&6; }
+{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_pic_works_GCJ" >&5
+echo "${ECHO_T}$lt_cv_prog_compiler_pic_works_GCJ" >&6; }
 
-if test x"$lt_prog_compiler_pic_works_GCJ" = xyes; then
+if test x"$lt_cv_prog_compiler_pic_works_GCJ" = xyes; then
     case $lt_prog_compiler_pic_GCJ in
      "" | " "*) ;;
      *) lt_prog_compiler_pic_GCJ=" $lt_prog_compiler_pic_GCJ" ;;
@@ -17275,10 +17720,10 @@ esac
 wl=$lt_prog_compiler_wl_GCJ eval lt_tmp_static_flag=\"$lt_prog_compiler_static_GCJ\"
 { echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
 echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; }
-if test "${lt_prog_compiler_static_works_GCJ+set}" = set; then
+if test "${lt_cv_prog_compiler_static_works_GCJ+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  lt_prog_compiler_static_works_GCJ=no
+  lt_cv_prog_compiler_static_works_GCJ=no
    save_LDFLAGS="$LDFLAGS"
    LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
    echo "$lt_simple_link_test_code" > conftest.$ac_ext
@@ -17291,20 +17736,20 @@ else
        $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
        $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
        if diff conftest.exp conftest.er2 >/dev/null; then
-         lt_prog_compiler_static_works_GCJ=yes
+         lt_cv_prog_compiler_static_works_GCJ=yes
        fi
      else
-       lt_prog_compiler_static_works_GCJ=yes
+       lt_cv_prog_compiler_static_works_GCJ=yes
      fi
    fi
-   $rm conftest*
+   $rm -r conftest*
    LDFLAGS="$save_LDFLAGS"
 
 fi
-{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_GCJ" >&5
-echo "${ECHO_T}$lt_prog_compiler_static_works_GCJ" >&6; }
+{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_static_works_GCJ" >&5
+echo "${ECHO_T}$lt_cv_prog_compiler_static_works_GCJ" >&6; }
 
-if test x"$lt_prog_compiler_static_works_GCJ" = xyes; then
+if test x"$lt_cv_prog_compiler_static_works_GCJ" = xyes; then
     :
 else
     lt_prog_compiler_static_GCJ=
@@ -17332,11 +17777,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:17335: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:17780: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:17339: \$? = $ac_status" >&5
+   echo "$as_me:17784: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
@@ -17416,12 +17861,13 @@ echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared librar
   # it will be wrapped by ` (' and `)$', so one must not match beginning or
   # end of line.  Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
   # as well as any symbol that contains `d'.
-  exclude_expsyms_GCJ="_GLOBAL_OFFSET_TABLE_"
+  exclude_expsyms_GCJ='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
   # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
   # platforms (ab)use it in PIC code, but their linkers get confused if
   # the symbol is explicitly referenced.  Since portable code cannot
   # rely on this symbol name, it's probably fine to never include it in
   # preloaded symbol tables.
+  # Exclude shared library initialization/finalization symbols.
   extract_expsyms_cmds=
   # Just being paranoid about ensuring that cc_basename is set.
   for cc_temp in $compiler""; do
@@ -17480,7 +17926,7 @@ cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
 
     # See if GNU ld supports shared libraries.
     case $host_os in
-    aix3* | aix4* | aix5*)
+    aix[3-9]*)
       # On AIX/PPC, the GNU linker is very broken
       if test "$host_cpu" != ia64; then
 	ld_shlibs_GCJ=no
@@ -17700,7 +18146,7 @@ _LT_EOF
       fi
       ;;
 
-    aix4* | aix5*)
+    aix[4-9]*)
       if test "$host_cpu" = ia64; then
 	# On IA64, the linker does run time linking by default, so we don't
 	# have to do anything special.
@@ -17720,7 +18166,7 @@ _LT_EOF
 	# Test if we are trying to use run time linking or normal
 	# AIX style linking. If -brtl is somewhere in LDFLAGS, we
 	# need to do runtime linking.
-	case $host_os in aix4.[23]|aix4.[23].*|aix5*)
+	case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
 	  for ld_flag in $LDFLAGS; do
   	  if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
   	    aix_use_runtimelinking=yes
@@ -17992,11 +18438,10 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
       link_all_deplibs_GCJ=yes
     if test "$GCC" = yes ; then
     	output_verbose_link_cmd='echo'
-        archive_cmds_GCJ='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
-      module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
-      # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
-      archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
-      module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+        archive_cmds_GCJ="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
+        module_cmds_GCJ="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
+        archive_expsym_cmds_GCJ="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
+        module_expsym_cmds_GCJ="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
     else
       case $cc_basename in
         xlc*)
@@ -18465,7 +18910,7 @@ aix3*)
   soname_spec='${libname}${release}${shared_ext}$major'
   ;;
 
-aix4* | aix5*)
+aix[4-9]*)
   version_type=linux
   need_lib_prefix=no
   need_version=no
@@ -18998,6 +19443,21 @@ esac
 echo "${ECHO_T}$dynamic_linker" >&6; }
 test "$dynamic_linker" = no && can_build_shared=no
 
+if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  lt_cv_sys_lib_search_path_spec="$sys_lib_search_path_spec"
+fi
+
+sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
+if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  lt_cv_sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec"
+fi
+
+sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
+
 variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
 if test "$GCC" = yes; then
   variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
@@ -19081,6 +19541,7 @@ if test -f "$ltmain"; then
     predeps_GCJ \
     postdeps_GCJ \
     compiler_lib_search_path_GCJ \
+    compiler_lib_search_dirs_GCJ \
     archive_cmds_GCJ \
     archive_expsym_cmds_GCJ \
     postinstall_cmds_GCJ \
@@ -19329,6 +19790,10 @@ predeps=$lt_predeps_GCJ
 # shared library.
 postdeps=$lt_postdeps_GCJ
 
+# The directories searched by this compiler when creating a shared
+# library
+compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_GCJ
+
 # The library search path used internally by the compiler when linking
 # a shared library.
 compiler_lib_search_path=$lt_compiler_lib_search_path_GCJ
@@ -19502,7 +19967,7 @@ ac_outfile=conftest.$ac_objext
 echo "$lt_simple_link_test_code" >conftest.$ac_ext
 eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
 _lt_linker_boilerplate=`cat conftest.err`
-$rm conftest*
+$rm -r conftest*
 
 
 # Allow CC to be a program name with arguments.
@@ -19562,6 +20027,7 @@ if test -f "$ltmain"; then
     predeps_RC \
     postdeps_RC \
     compiler_lib_search_path_RC \
+    compiler_lib_search_dirs_RC \
     archive_cmds_RC \
     archive_expsym_cmds_RC \
     postinstall_cmds_RC \
@@ -19810,6 +20276,10 @@ predeps=$lt_predeps_RC
 # shared library.
 postdeps=$lt_postdeps_RC
 
+# The directories searched by this compiler when creating a shared
+# library
+compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_RC
+
 # The library search path used internally by the compiler when linking
 # a shared library.
 compiler_lib_search_path=$lt_compiler_lib_search_path_RC
@@ -19993,6 +20463,11 @@ LIBTOOL='$(SHELL) $(top_builddir)/libtool'
 
 
 
+cat >>confdefs.h <<_ACEOF
+#define SHARED_LIB_SUFFIX "$shrext_cmds"
+_ACEOF
+
+
 VMAJ=`echo $PACKAGE_VERSION | awk -F. '{printf("%s", $1);}'`
 VMIN=`echo $PACKAGE_VERSION | awk -F. '{printf("%s", $2);}'`
 VMIC=`echo $PACKAGE_VERSION | awk -F. '{printf("%s", $3);}'`
@@ -20018,6 +20493,7 @@ requirements_ecore_sdl=""
 
 
 
+
 if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
 	if test -n "$ac_tool_prefix"; then
   # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
@@ -20326,7 +20802,15 @@ fi
 done
 
 
-for ac_header in netinet/in.h
+
+
+
+
+
+
+
+
+for ac_header in dlfcn.h features.h langinfo.h locale.h netinet/in.h sys/mman.h sys/time.h windows.h winsock2.h
 do
 as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
 if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
@@ -20608,10 +21092,12 @@ fi
 
 	{ echo "$as_me:$LINENO: result: no" >&5
 echo "${ECHO_T}no" >&6; }
-                 have_openssl="no"
+
+        have_openssl="no"
 
 elif test $pkg_failed = untried; then
-	 have_openssl="no"
+
+        have_openssl="no"
 
 else
 	SSL_CFLAGS=$pkg_cv_SSL_CFLAGS
@@ -20624,10 +21110,10 @@ cat >>confdefs.h <<\_ACEOF
 #define USE_OPENSSL 1
 _ACEOF
 
-       requirements_ecore_con="$requirements_ecore_con openssl"
-       # no need to add it to req_ecore_ipc, since they
-       # depends on ecore_con anyway.
-       have_openssl="yes"
+        requirements_ecore_con="$requirements_ecore_con openssl"
+        # no need to add it to req_ecore_ipc, since they
+        # depends on ecore_con anyway.
+        have_openssl="yes"
 
 fi
 fi
@@ -20719,7 +21205,6 @@ cat >>confdefs.h <<\_ACEOF
 #define HAVE_CURL 1
 _ACEOF
 
-      requirements_ecore_file="$requirements_ecore_file libcurl"
       requirements_ecore_con="$requirements_ecore_con libcurl"
       have_curl="yes"
 
@@ -20955,12 +21440,12 @@ if test -n "$PKG_CONFIG"; then
         pkg_cv_EET_CFLAGS="$EET_CFLAGS"
     else
         if test -n "$PKG_CONFIG" && \
-    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"eet >= 0.9.10\"") >&5
-  ($PKG_CONFIG --exists --print-errors "eet >= 0.9.10") 2>&5
+    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"eet >= 1.0.0\"") >&5
+  ($PKG_CONFIG --exists --print-errors "eet >= 1.0.0") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; then
-  pkg_cv_EET_CFLAGS=`$PKG_CONFIG --cflags "eet >= 0.9.10" 2>/dev/null`
+  pkg_cv_EET_CFLAGS=`$PKG_CONFIG --cflags "eet >= 1.0.0" 2>/dev/null`
 else
   pkg_failed=yes
 fi
@@ -20973,12 +21458,12 @@ if test -n "$PKG_CONFIG"; then
         pkg_cv_EET_LIBS="$EET_LIBS"
     else
         if test -n "$PKG_CONFIG" && \
-    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"eet >= 0.9.10\"") >&5
-  ($PKG_CONFIG --exists --print-errors "eet >= 0.9.10") 2>&5
+    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"eet >= 1.0.0\"") >&5
+  ($PKG_CONFIG --exists --print-errors "eet >= 1.0.0") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; then
-  pkg_cv_EET_LIBS=`$PKG_CONFIG --libs "eet >= 0.9.10" 2>/dev/null`
+  pkg_cv_EET_LIBS=`$PKG_CONFIG --libs "eet >= 1.0.0" 2>/dev/null`
 else
   pkg_failed=yes
 fi
@@ -20997,9 +21482,9 @@ else
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-	        EET_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "eet >= 0.9.10"`
+	        EET_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "eet >= 1.0.0"`
         else
-	        EET_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "eet >= 0.9.10"`
+	        EET_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "eet >= 1.0.0"`
         fi
 	# Put the nasty error message in config.log where it belongs
 	echo "$EET_PKG_ERRORS" >&5
@@ -22395,6 +22880,83 @@ _ACEOF
 fi
 
 
+pkg_failed=no
+{ echo "$as_me:$LINENO: checking for XCB_XTEST" >&5
+echo $ECHO_N "checking for XCB_XTEST... $ECHO_C" >&6; }
+
+if test -n "$PKG_CONFIG"; then
+    if test -n "$XCB_XTEST_CFLAGS"; then
+        pkg_cv_XCB_XTEST_CFLAGS="$XCB_XTEST_CFLAGS"
+    else
+        if test -n "$PKG_CONFIG" && \
+    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"xcb-xtest\"") >&5
+  ($PKG_CONFIG --exists --print-errors "xcb-xtest") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+  pkg_cv_XCB_XTEST_CFLAGS=`$PKG_CONFIG --cflags "xcb-xtest" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+    fi
+else
+	pkg_failed=untried
+fi
+if test -n "$PKG_CONFIG"; then
+    if test -n "$XCB_XTEST_LIBS"; then
+        pkg_cv_XCB_XTEST_LIBS="$XCB_XTEST_LIBS"
+    else
+        if test -n "$PKG_CONFIG" && \
+    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"xcb-xtest\"") >&5
+  ($PKG_CONFIG --exists --print-errors "xcb-xtest") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+  pkg_cv_XCB_XTEST_LIBS=`$PKG_CONFIG --libs "xcb-xtest" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+    fi
+else
+	pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+        _pkg_short_errors_supported=yes
+else
+        _pkg_short_errors_supported=no
+fi
+        if test $_pkg_short_errors_supported = yes; then
+	        XCB_XTEST_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "xcb-xtest"`
+        else
+	        XCB_XTEST_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "xcb-xtest"`
+        fi
+	# Put the nasty error message in config.log where it belongs
+	echo "$XCB_XTEST_PKG_ERRORS" >&5
+
+	{ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+                 have_ecore_x_xcb_xtest="no"
+elif test $pkg_failed = untried; then
+	 have_ecore_x_xcb_xtest="no"
+else
+	XCB_XTEST_CFLAGS=$pkg_cv_XCB_XTEST_CFLAGS
+	XCB_XTEST_LIBS=$pkg_cv_XCB_XTEST_LIBS
+        { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+	 have_ecore_x_xcb_xtest="yes"
+
+cat >>confdefs.h <<\_ACEOF
+#define ECORE_XCB_XTEST 1
+_ACEOF
+
+fi
+
+
 cat >>confdefs.h <<\_ACEOF
 #define BUILD_ECORE_X 1
 _ACEOF
@@ -23949,7 +24511,7 @@ fi
     Xcursor_cflags=""
     use_Xcursor="no"
     PCFLAGS=$CFLAGS
-    CFLAGS=$x_cflags" "$x_includes
+    CFLAGS="$x_cflags $x_includes"
     { echo "$as_me:$LINENO: checking for X11/Xcursor/Xcursor.h" >&5
 echo $ECHO_N "checking for X11/Xcursor/Xcursor.h... $ECHO_C" >&6; }
 if test "${ac_cv_header_X11_Xcursor_Xcursor_h+set}" = set; then
@@ -25406,6 +25968,151 @@ CFLAGS=$SAVE_CFLAGS
 
 
 
+XTEST_CFLAGS=""
+XTEST_LIBS=""
+use_xtest="no"
+
+SAVE_CFLAGS=$CFLAGS
+CFLAGS="$x_cflags $x_includes"
+{ echo "$as_me:$LINENO: checking for X11/extensions/XTest.h" >&5
+echo $ECHO_N "checking for X11/extensions/XTest.h... $ECHO_C" >&6; }
+if test "${ac_cv_header_X11_extensions_XTest_h+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+ #include <X11/Xlib.h>
+
+
+#include <X11/extensions/XTest.h>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_header_X11_extensions_XTest_h=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_cv_header_X11_extensions_XTest_h=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_header_X11_extensions_XTest_h" >&5
+echo "${ECHO_T}$ac_cv_header_X11_extensions_XTest_h" >&6; }
+if test $ac_cv_header_X11_extensions_XTest_h = yes; then
+
+   { echo "$as_me:$LINENO: checking for XTestFakeKeyEvent in -lXtst" >&5
+echo $ECHO_N "checking for XTestFakeKeyEvent in -lXtst... $ECHO_C" >&6; }
+if test "${ac_cv_lib_Xtst_XTestFakeKeyEvent+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lXtst  $x_libs
+    $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char XTestFakeKeyEvent ();
+int
+main ()
+{
+return XTestFakeKeyEvent ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
+  ac_cv_lib_Xtst_XTestFakeKeyEvent=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_cv_lib_Xtst_XTestFakeKeyEvent=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+      conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_Xtst_XTestFakeKeyEvent" >&5
+echo "${ECHO_T}$ac_cv_lib_Xtst_XTestFakeKeyEvent" >&6; }
+if test $ac_cv_lib_Xtst_XTestFakeKeyEvent = yes; then
+
+
+cat >>confdefs.h <<\_ACEOF
+#define ECORE_XTEST 1
+_ACEOF
+
+      XTEST_LIBS="-lXtst"
+      use_xtest="yes"
+
+else
+   use_xtest="no"
+fi
+
+
+else
+   use_xtest="no"
+fi
+
+
+CFLAGS=$SAVE_CFLAGS
+
+
+
+
+
+
+
+
+
 XSS_CFLAGS=""
 XSS_LIBS=""
 use_xss="no"
@@ -25571,12 +26278,79 @@ echo $ECHO_N "checking whether ecore_evas x11 support is to be built... $ECHO_C"
 echo "${ECHO_T}$want_ecore_evas_x11" >&6; }
 
   if test "x$want_ecore_evas_x11" = "xyes"; then
-    if test -n "$PKG_CONFIG" && \
+
+pkg_failed=no
+{ echo "$as_me:$LINENO: checking for EVAS_SOFTWARE_X11" >&5
+echo $ECHO_N "checking for EVAS_SOFTWARE_X11... $ECHO_C" >&6; }
+
+if test -n "$PKG_CONFIG"; then
+    if test -n "$EVAS_SOFTWARE_X11_CFLAGS"; then
+        pkg_cv_EVAS_SOFTWARE_X11_CFLAGS="$EVAS_SOFTWARE_X11_CFLAGS"
+    else
+        if test -n "$PKG_CONFIG" && \
     { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"evas-software-x11\"") >&5
   ($PKG_CONFIG --exists --print-errors "evas-software-x11") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; then
+  pkg_cv_EVAS_SOFTWARE_X11_CFLAGS=`$PKG_CONFIG --cflags "evas-software-x11" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+    fi
+else
+	pkg_failed=untried
+fi
+if test -n "$PKG_CONFIG"; then
+    if test -n "$EVAS_SOFTWARE_X11_LIBS"; then
+        pkg_cv_EVAS_SOFTWARE_X11_LIBS="$EVAS_SOFTWARE_X11_LIBS"
+    else
+        if test -n "$PKG_CONFIG" && \
+    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"evas-software-x11\"") >&5
+  ($PKG_CONFIG --exists --print-errors "evas-software-x11") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+  pkg_cv_EVAS_SOFTWARE_X11_LIBS=`$PKG_CONFIG --libs "evas-software-x11" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+    fi
+else
+	pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+        _pkg_short_errors_supported=yes
+else
+        _pkg_short_errors_supported=no
+fi
+        if test $_pkg_short_errors_supported = yes; then
+	        EVAS_SOFTWARE_X11_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "evas-software-x11"`
+        else
+	        EVAS_SOFTWARE_X11_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "evas-software-x11"`
+        fi
+	# Put the nasty error message in config.log where it belongs
+	echo "$EVAS_SOFTWARE_X11_PKG_ERRORS" >&5
+
+	{ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+
+        have_ecore_evas_x11="no";
+
+elif test $pkg_failed = untried; then
+
+        have_ecore_evas_x11="no";
+
+else
+	EVAS_SOFTWARE_X11_CFLAGS=$pkg_cv_EVAS_SOFTWARE_X11_CFLAGS
+	EVAS_SOFTWARE_X11_LIBS=$pkg_cv_EVAS_SOFTWARE_X11_LIBS
+        { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
 
 
 cat >>confdefs.h <<\_ACEOF
@@ -25585,7 +26359,6 @@ _ACEOF
 
         have_ecore_evas_x11="yes";
 
-
 fi
   fi
 
@@ -25602,12 +26375,79 @@ echo $ECHO_N "checking whether ecore_evas x11 gl support is to be built... $ECHO
 echo "${ECHO_T}$want_ecore_evas_x11_gl" >&6; }
 
   if test "x$want_ecore_evas_x11_gl" = "xyes"; then
-    if test -n "$PKG_CONFIG" && \
+
+pkg_failed=no
+{ echo "$as_me:$LINENO: checking for EVAS_OPENGL_X11" >&5
+echo $ECHO_N "checking for EVAS_OPENGL_X11... $ECHO_C" >&6; }
+
+if test -n "$PKG_CONFIG"; then
+    if test -n "$EVAS_OPENGL_X11_CFLAGS"; then
+        pkg_cv_EVAS_OPENGL_X11_CFLAGS="$EVAS_OPENGL_X11_CFLAGS"
+    else
+        if test -n "$PKG_CONFIG" && \
     { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"evas-opengl-x11\"") >&5
   ($PKG_CONFIG --exists --print-errors "evas-opengl-x11") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; then
+  pkg_cv_EVAS_OPENGL_X11_CFLAGS=`$PKG_CONFIG --cflags "evas-opengl-x11" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+    fi
+else
+	pkg_failed=untried
+fi
+if test -n "$PKG_CONFIG"; then
+    if test -n "$EVAS_OPENGL_X11_LIBS"; then
+        pkg_cv_EVAS_OPENGL_X11_LIBS="$EVAS_OPENGL_X11_LIBS"
+    else
+        if test -n "$PKG_CONFIG" && \
+    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"evas-opengl-x11\"") >&5
+  ($PKG_CONFIG --exists --print-errors "evas-opengl-x11") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+  pkg_cv_EVAS_OPENGL_X11_LIBS=`$PKG_CONFIG --libs "evas-opengl-x11" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+    fi
+else
+	pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+        _pkg_short_errors_supported=yes
+else
+        _pkg_short_errors_supported=no
+fi
+        if test $_pkg_short_errors_supported = yes; then
+	        EVAS_OPENGL_X11_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "evas-opengl-x11"`
+        else
+	        EVAS_OPENGL_X11_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "evas-opengl-x11"`
+        fi
+	# Put the nasty error message in config.log where it belongs
+	echo "$EVAS_OPENGL_X11_PKG_ERRORS" >&5
+
+	{ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+
+        have_ecore_evas_x11_gl="no"
+
+elif test $pkg_failed = untried; then
+
+        have_ecore_evas_x11_gl="no"
+
+else
+	EVAS_OPENGL_X11_CFLAGS=$pkg_cv_EVAS_OPENGL_X11_CFLAGS
+	EVAS_OPENGL_X11_LIBS=$pkg_cv_EVAS_OPENGL_X11_LIBS
+        { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
 
 
 cat >>confdefs.h <<\_ACEOF
@@ -25616,7 +26456,6 @@ _ACEOF
 
         have_ecore_evas_x11_gl="yes";
 
-
 fi
   fi
 
@@ -25634,20 +26473,86 @@ echo $ECHO_N "checking whether ecore_evas xrender support is to be built... $ECH
 echo "${ECHO_T}$want_ecore_evas_xrender" >&6; }
 
   if test "x$want_ecore_evas_xrender" = "xyes"; then
-    if test -n "$PKG_CONFIG" && \
+
+pkg_failed=no
+{ echo "$as_me:$LINENO: checking for EVAS_XRENDER_X11" >&5
+echo $ECHO_N "checking for EVAS_XRENDER_X11... $ECHO_C" >&6; }
+
+if test -n "$PKG_CONFIG"; then
+    if test -n "$EVAS_XRENDER_X11_CFLAGS"; then
+        pkg_cv_EVAS_XRENDER_X11_CFLAGS="$EVAS_XRENDER_X11_CFLAGS"
+    else
+        if test -n "$PKG_CONFIG" && \
     { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"evas-xrender-x11\"") >&5
   ($PKG_CONFIG --exists --print-errors "evas-xrender-x11") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; then
+  pkg_cv_EVAS_XRENDER_X11_CFLAGS=`$PKG_CONFIG --cflags "evas-xrender-x11" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+    fi
+else
+	pkg_failed=untried
+fi
+if test -n "$PKG_CONFIG"; then
+    if test -n "$EVAS_XRENDER_X11_LIBS"; then
+        pkg_cv_EVAS_XRENDER_X11_LIBS="$EVAS_XRENDER_X11_LIBS"
+    else
+        if test -n "$PKG_CONFIG" && \
+    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"evas-xrender-x11\"") >&5
+  ($PKG_CONFIG --exists --print-errors "evas-xrender-x11") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+  pkg_cv_EVAS_XRENDER_X11_LIBS=`$PKG_CONFIG --libs "evas-xrender-x11" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+    fi
+else
+	pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+        _pkg_short_errors_supported=yes
+else
+        _pkg_short_errors_supported=no
+fi
+        if test $_pkg_short_errors_supported = yes; then
+	        EVAS_XRENDER_X11_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "evas-xrender-x11"`
+        else
+	        EVAS_XRENDER_X11_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "evas-xrender-x11"`
+        fi
+	# Put the nasty error message in config.log where it belongs
+	echo "$EVAS_XRENDER_X11_PKG_ERRORS" >&5
+
+	{ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+
+        have_ecore_evas_xrender="no"
+
+elif test $pkg_failed = untried; then
+
+        have_ecore_evas_xrender="no"
+
+else
+	EVAS_XRENDER_X11_CFLAGS=$pkg_cv_EVAS_XRENDER_X11_CFLAGS
+	EVAS_XRENDER_X11_LIBS=$pkg_cv_EVAS_XRENDER_X11_LIBS
+        { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
 
 
 cat >>confdefs.h <<\_ACEOF
 #define BUILD_ECORE_EVAS_XRENDER 1
 _ACEOF
 
-        have_ecore_evas_xrender="yes";
-
+        have_ecore_evas_xrender="yes"
 
 fi
   fi
@@ -25666,12 +26571,115 @@ echo $ECHO_N "checking whether ecore_evas x11-16 support is to be built... $ECHO
 echo "${ECHO_T}$want_ecore_evas_x11_16" >&6; }
 
   if test "x$want_ecore_evas_x11_16" = "xyes"; then
-    if test -n "$PKG_CONFIG" && \
+
+pkg_failed=no
+{ echo "$as_me:$LINENO: checking for EVAS_SOFTWARE_16_X11" >&5
+echo $ECHO_N "checking for EVAS_SOFTWARE_16_X11... $ECHO_C" >&6; }
+
+if test -n "$PKG_CONFIG"; then
+    if test -n "$EVAS_SOFTWARE_16_X11_CFLAGS"; then
+        pkg_cv_EVAS_SOFTWARE_16_X11_CFLAGS="$EVAS_SOFTWARE_16_X11_CFLAGS"
+    else
+        if test -n "$PKG_CONFIG" && \
     { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"evas-software-16-x11\"") >&5
   ($PKG_CONFIG --exists --print-errors "evas-software-16-x11") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; then
+  pkg_cv_EVAS_SOFTWARE_16_X11_CFLAGS=`$PKG_CONFIG --cflags "evas-software-16-x11" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+    fi
+else
+	pkg_failed=untried
+fi
+if test -n "$PKG_CONFIG"; then
+    if test -n "$EVAS_SOFTWARE_16_X11_LIBS"; then
+        pkg_cv_EVAS_SOFTWARE_16_X11_LIBS="$EVAS_SOFTWARE_16_X11_LIBS"
+    else
+        if test -n "$PKG_CONFIG" && \
+    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"evas-software-16-x11\"") >&5
+  ($PKG_CONFIG --exists --print-errors "evas-software-16-x11") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+  pkg_cv_EVAS_SOFTWARE_16_X11_LIBS=`$PKG_CONFIG --libs "evas-software-16-x11" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+    fi
+else
+	pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+        _pkg_short_errors_supported=yes
+else
+        _pkg_short_errors_supported=no
+fi
+        if test $_pkg_short_errors_supported = yes; then
+	        EVAS_SOFTWARE_16_X11_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "evas-software-16-x11"`
+        else
+	        EVAS_SOFTWARE_16_X11_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "evas-software-16-x11"`
+        fi
+	# Put the nasty error message in config.log where it belongs
+	echo "$EVAS_SOFTWARE_16_X11_PKG_ERRORS" >&5
+
+	{ { echo "$as_me:$LINENO: error: Package requirements (evas-software-16-x11) were not met:
+
+$EVAS_SOFTWARE_16_X11_PKG_ERRORS
+
+Consider adjusting the PKG_CONFIG_PATH environment variable if you
+installed software in a non-standard prefix.
+
+Alternatively, you may set the environment variables EVAS_SOFTWARE_16_X11_CFLAGS
+and EVAS_SOFTWARE_16_X11_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.
+" >&5
+echo "$as_me: error: Package requirements (evas-software-16-x11) were not met:
+
+$EVAS_SOFTWARE_16_X11_PKG_ERRORS
+
+Consider adjusting the PKG_CONFIG_PATH environment variable if you
+installed software in a non-standard prefix.
+
+Alternatively, you may set the environment variables EVAS_SOFTWARE_16_X11_CFLAGS
+and EVAS_SOFTWARE_16_X11_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.
+" >&2;}
+   { (exit 1); exit 1; }; }
+elif test $pkg_failed = untried; then
+	{ { echo "$as_me:$LINENO: error: The pkg-config script could not be found or is too old.  Make sure it
+is in your PATH or set the PKG_CONFIG environment variable to the full
+path to pkg-config.
+
+Alternatively, you may set the environment variables EVAS_SOFTWARE_16_X11_CFLAGS
+and EVAS_SOFTWARE_16_X11_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.
+
+To get pkg-config, see <http://pkg-config.freedesktop.org/>.
+See \`config.log' for more details." >&5
+echo "$as_me: error: The pkg-config script could not be found or is too old.  Make sure it
+is in your PATH or set the PKG_CONFIG environment variable to the full
+path to pkg-config.
+
+Alternatively, you may set the environment variables EVAS_SOFTWARE_16_X11_CFLAGS
+and EVAS_SOFTWARE_16_X11_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.
+
+To get pkg-config, see <http://pkg-config.freedesktop.org/>.
+See \`config.log' for more details." >&2;}
+   { (exit 1); exit 1; }; }
+else
+	EVAS_SOFTWARE_16_X11_CFLAGS=$pkg_cv_EVAS_SOFTWARE_16_X11_CFLAGS
+	EVAS_SOFTWARE_16_X11_LIBS=$pkg_cv_EVAS_SOFTWARE_16_X11_LIBS
+        { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
 
 
 cat >>confdefs.h <<\_ACEOF
@@ -25693,96 +26701,328 @@ fi
 
 # TODO: We should first check if we have win32 available before checking for win32 evas
 # TODO: Need to check if we have evas before testing win32 evas engines
-{ echo "$as_me:$LINENO: checking for Evas Software DirectDraw engine" >&5
-echo $ECHO_N "checking for Evas Software DirectDraw engine... $ECHO_C" >&6; }
-if test -n "$PKG_CONFIG" && \
+
+pkg_failed=no
+{ echo "$as_me:$LINENO: checking for EVAS_SOFTWARE_DDRAW" >&5
+echo $ECHO_N "checking for EVAS_SOFTWARE_DDRAW... $ECHO_C" >&6; }
+
+if test -n "$PKG_CONFIG"; then
+    if test -n "$EVAS_SOFTWARE_DDRAW_CFLAGS"; then
+        pkg_cv_EVAS_SOFTWARE_DDRAW_CFLAGS="$EVAS_SOFTWARE_DDRAW_CFLAGS"
+    else
+        if test -n "$PKG_CONFIG" && \
     { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"evas-software-ddraw >= 0.9.9.41\"") >&5
   ($PKG_CONFIG --exists --print-errors "evas-software-ddraw >= 0.9.9.41") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; then
-   have_ddraw="yes"
+  pkg_cv_EVAS_SOFTWARE_DDRAW_CFLAGS=`$PKG_CONFIG --cflags "evas-software-ddraw >= 0.9.9.41" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+    fi
+else
+	pkg_failed=untried
+fi
+if test -n "$PKG_CONFIG"; then
+    if test -n "$EVAS_SOFTWARE_DDRAW_LIBS"; then
+        pkg_cv_EVAS_SOFTWARE_DDRAW_LIBS="$EVAS_SOFTWARE_DDRAW_LIBS"
+    else
+        if test -n "$PKG_CONFIG" && \
+    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"evas-software-ddraw >= 0.9.9.41\"") >&5
+  ($PKG_CONFIG --exists --print-errors "evas-software-ddraw >= 0.9.9.41") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+  pkg_cv_EVAS_SOFTWARE_DDRAW_LIBS=`$PKG_CONFIG --libs "evas-software-ddraw >= 0.9.9.41" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+    fi
+else
+	pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+        _pkg_short_errors_supported=yes
+else
+        _pkg_short_errors_supported=no
+fi
+        if test $_pkg_short_errors_supported = yes; then
+	        EVAS_SOFTWARE_DDRAW_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "evas-software-ddraw >= 0.9.9.41"`
+        else
+	        EVAS_SOFTWARE_DDRAW_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "evas-software-ddraw >= 0.9.9.41"`
+        fi
+	# Put the nasty error message in config.log where it belongs
+	echo "$EVAS_SOFTWARE_DDRAW_PKG_ERRORS" >&5
+
+	{ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+                 have_ddraw="no"
+
+elif test $pkg_failed = untried; then
+	 have_ddraw="no"
+
+else
+	EVAS_SOFTWARE_DDRAW_CFLAGS=$pkg_cv_EVAS_SOFTWARE_DDRAW_CFLAGS
+	EVAS_SOFTWARE_DDRAW_LIBS=$pkg_cv_EVAS_SOFTWARE_DDRAW_LIBS
+        { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+	 have_ddraw="yes"
 
 cat >>confdefs.h <<\_ACEOF
 #define HAVE_DIRECTDRAW 1
 _ACEOF
 
     ddraw_libs="-lddraw -ldxguid"
-else
-   have_ddraw="no"
-
 fi
-{ echo "$as_me:$LINENO: result: $have_ddraw" >&5
-echo "${ECHO_T}$have_ddraw" >&6; }
 
 
-{ echo "$as_me:$LINENO: checking for Evas 16bpp Software DirectDraw engine" >&5
-echo $ECHO_N "checking for Evas 16bpp Software DirectDraw engine... $ECHO_C" >&6; }
-if test -n "$PKG_CONFIG" && \
+
+pkg_failed=no
+{ echo "$as_me:$LINENO: checking for EVAS_SOFTWARE_16_DDRAW" >&5
+echo $ECHO_N "checking for EVAS_SOFTWARE_16_DDRAW... $ECHO_C" >&6; }
+
+if test -n "$PKG_CONFIG"; then
+    if test -n "$EVAS_SOFTWARE_16_DDRAW_CFLAGS"; then
+        pkg_cv_EVAS_SOFTWARE_16_DDRAW_CFLAGS="$EVAS_SOFTWARE_16_DDRAW_CFLAGS"
+    else
+        if test -n "$PKG_CONFIG" && \
     { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"evas-software-16-ddraw >= 0.9.9.41\"") >&5
   ($PKG_CONFIG --exists --print-errors "evas-software-16-ddraw >= 0.9.9.41") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; then
-   have_ddraw_16="yes"
+  pkg_cv_EVAS_SOFTWARE_16_DDRAW_CFLAGS=`$PKG_CONFIG --cflags "evas-software-16-ddraw >= 0.9.9.41" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+    fi
+else
+	pkg_failed=untried
+fi
+if test -n "$PKG_CONFIG"; then
+    if test -n "$EVAS_SOFTWARE_16_DDRAW_LIBS"; then
+        pkg_cv_EVAS_SOFTWARE_16_DDRAW_LIBS="$EVAS_SOFTWARE_16_DDRAW_LIBS"
+    else
+        if test -n "$PKG_CONFIG" && \
+    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"evas-software-16-ddraw >= 0.9.9.41\"") >&5
+  ($PKG_CONFIG --exists --print-errors "evas-software-16-ddraw >= 0.9.9.41") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+  pkg_cv_EVAS_SOFTWARE_16_DDRAW_LIBS=`$PKG_CONFIG --libs "evas-software-16-ddraw >= 0.9.9.41" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+    fi
+else
+	pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+        _pkg_short_errors_supported=yes
+else
+        _pkg_short_errors_supported=no
+fi
+        if test $_pkg_short_errors_supported = yes; then
+	        EVAS_SOFTWARE_16_DDRAW_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "evas-software-16-ddraw >= 0.9.9.41"`
+        else
+	        EVAS_SOFTWARE_16_DDRAW_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "evas-software-16-ddraw >= 0.9.9.41"`
+        fi
+	# Put the nasty error message in config.log where it belongs
+	echo "$EVAS_SOFTWARE_16_DDRAW_PKG_ERRORS" >&5
+
+	{ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+                 have_ddraw_16="no"
+
+elif test $pkg_failed = untried; then
+	 have_ddraw_16="no"
+
+else
+	EVAS_SOFTWARE_16_DDRAW_CFLAGS=$pkg_cv_EVAS_SOFTWARE_16_DDRAW_CFLAGS
+	EVAS_SOFTWARE_16_DDRAW_LIBS=$pkg_cv_EVAS_SOFTWARE_16_DDRAW_LIBS
+        { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+	 have_ddraw_16="yes"
 
 cat >>confdefs.h <<\_ACEOF
 #define HAVE_DIRECTDRAW_16 1
 _ACEOF
 
     ddraw_16_libs="-lddraw -ldxguid"
-else
-   have_ddraw_16="no"
-
 fi
-{ echo "$as_me:$LINENO: result: $have_ddraw_16" >&5
-echo "${ECHO_T}$have_ddraw_16" >&6; }
 
 
-{ echo "$as_me:$LINENO: checking for Evas Direct3D engine" >&5
-echo $ECHO_N "checking for Evas Direct3D engine... $ECHO_C" >&6; }
-if test -n "$PKG_CONFIG" && \
+
+pkg_failed=no
+{ echo "$as_me:$LINENO: checking for EVAS_DIRECT3D" >&5
+echo $ECHO_N "checking for EVAS_DIRECT3D... $ECHO_C" >&6; }
+
+if test -n "$PKG_CONFIG"; then
+    if test -n "$EVAS_DIRECT3D_CFLAGS"; then
+        pkg_cv_EVAS_DIRECT3D_CFLAGS="$EVAS_DIRECT3D_CFLAGS"
+    else
+        if test -n "$PKG_CONFIG" && \
     { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"evas-direct3d >= 0.9.9.41\"") >&5
   ($PKG_CONFIG --exists --print-errors "evas-direct3d >= 0.9.9.41") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; then
-   have_direct3d="yes"
+  pkg_cv_EVAS_DIRECT3D_CFLAGS=`$PKG_CONFIG --cflags "evas-direct3d >= 0.9.9.41" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+    fi
+else
+	pkg_failed=untried
+fi
+if test -n "$PKG_CONFIG"; then
+    if test -n "$EVAS_DIRECT3D_LIBS"; then
+        pkg_cv_EVAS_DIRECT3D_LIBS="$EVAS_DIRECT3D_LIBS"
+    else
+        if test -n "$PKG_CONFIG" && \
+    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"evas-direct3d >= 0.9.9.41\"") >&5
+  ($PKG_CONFIG --exists --print-errors "evas-direct3d >= 0.9.9.41") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+  pkg_cv_EVAS_DIRECT3D_LIBS=`$PKG_CONFIG --libs "evas-direct3d >= 0.9.9.41" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+    fi
+else
+	pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+        _pkg_short_errors_supported=yes
+else
+        _pkg_short_errors_supported=no
+fi
+        if test $_pkg_short_errors_supported = yes; then
+	        EVAS_DIRECT3D_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "evas-direct3d >= 0.9.9.41"`
+        else
+	        EVAS_DIRECT3D_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "evas-direct3d >= 0.9.9.41"`
+        fi
+	# Put the nasty error message in config.log where it belongs
+	echo "$EVAS_DIRECT3D_PKG_ERRORS" >&5
+
+	{ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+                 have_direct3d="no"
+
+elif test $pkg_failed = untried; then
+	 have_direct3d="no"
+
+else
+	EVAS_DIRECT3D_CFLAGS=$pkg_cv_EVAS_DIRECT3D_CFLAGS
+	EVAS_DIRECT3D_LIBS=$pkg_cv_EVAS_DIRECT3D_LIBS
+        { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+	 have_direct3d="yes"
 
 cat >>confdefs.h <<\_ACEOF
 #define HAVE_DIRECT3D 1
 _ACEOF
 
     direct3d_libs="-ld3d9 -ld3dx9d"
-else
-   have_direct3d="no"
-
 fi
-{ echo "$as_me:$LINENO: result: $have_direct3d" >&5
-echo "${ECHO_T}$have_direct3d" >&6; }
 
 
-{ echo "$as_me:$LINENO: checking for Evas OpenGL Glew engine" >&5
-echo $ECHO_N "checking for Evas OpenGL Glew engine... $ECHO_C" >&6; }
-if test -n "$PKG_CONFIG" && \
+
+pkg_failed=no
+{ echo "$as_me:$LINENO: checking for EVAS_OPENGL_GLEW" >&5
+echo $ECHO_N "checking for EVAS_OPENGL_GLEW... $ECHO_C" >&6; }
+
+if test -n "$PKG_CONFIG"; then
+    if test -n "$EVAS_OPENGL_GLEW_CFLAGS"; then
+        pkg_cv_EVAS_OPENGL_GLEW_CFLAGS="$EVAS_OPENGL_GLEW_CFLAGS"
+    else
+        if test -n "$PKG_CONFIG" && \
+    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"evas-opengl-glew >= 0.9.9.41\"") >&5
+  ($PKG_CONFIG --exists --print-errors "evas-opengl-glew >= 0.9.9.41") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+  pkg_cv_EVAS_OPENGL_GLEW_CFLAGS=`$PKG_CONFIG --cflags "evas-opengl-glew >= 0.9.9.41" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+    fi
+else
+	pkg_failed=untried
+fi
+if test -n "$PKG_CONFIG"; then
+    if test -n "$EVAS_OPENGL_GLEW_LIBS"; then
+        pkg_cv_EVAS_OPENGL_GLEW_LIBS="$EVAS_OPENGL_GLEW_LIBS"
+    else
+        if test -n "$PKG_CONFIG" && \
     { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"evas-opengl-glew >= 0.9.9.41\"") >&5
   ($PKG_CONFIG --exists --print-errors "evas-opengl-glew >= 0.9.9.41") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; then
-   have_opengl_glew="yes"
+  pkg_cv_EVAS_OPENGL_GLEW_LIBS=`$PKG_CONFIG --libs "evas-opengl-glew >= 0.9.9.41" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+    fi
+else
+	pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+        _pkg_short_errors_supported=yes
+else
+        _pkg_short_errors_supported=no
+fi
+        if test $_pkg_short_errors_supported = yes; then
+	        EVAS_OPENGL_GLEW_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "evas-opengl-glew >= 0.9.9.41"`
+        else
+	        EVAS_OPENGL_GLEW_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "evas-opengl-glew >= 0.9.9.41"`
+        fi
+	# Put the nasty error message in config.log where it belongs
+	echo "$EVAS_OPENGL_GLEW_PKG_ERRORS" >&5
+
+	{ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+                 have_opengl_glew="no"
+
+elif test $pkg_failed = untried; then
+	 have_opengl_glew="no"
+
+else
+	EVAS_OPENGL_GLEW_CFLAGS=$pkg_cv_EVAS_OPENGL_GLEW_CFLAGS
+	EVAS_OPENGL_GLEW_LIBS=$pkg_cv_EVAS_OPENGL_GLEW_LIBS
+        { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+	 have_opengl_glew="yes"
 
 cat >>confdefs.h <<\_ACEOF
 #define HAVE_OPENGL_GLEW 1
 _ACEOF
 
     glew_libs="-lglew32 -lgdi32"
-else
-   have_opengl_glew="no"
-
 fi
-{ echo "$as_me:$LINENO: result: $have_opengl_glew" >&5
-echo "${ECHO_T}$have_opengl_glew" >&6; }
 
 
 have_win32="no"
@@ -26035,12 +27275,115 @@ echo "${ECHO_T}$want_ecore_evas_dfb" >&6; }
   if test "x$want_ecore_evas_dfb" = "xyes" -a "x$have_ecore_directfb" = "xyes" ; then
     save_CFLAGS="$CFLAGS"
     CFLAGS="$CFLAGS $DIRECTFB_CFLAGS"
-    if test -n "$PKG_CONFIG" && \
+
+pkg_failed=no
+{ echo "$as_me:$LINENO: checking for EVAS_DIRECTFB" >&5
+echo $ECHO_N "checking for EVAS_DIRECTFB... $ECHO_C" >&6; }
+
+if test -n "$PKG_CONFIG"; then
+    if test -n "$EVAS_DIRECTFB_CFLAGS"; then
+        pkg_cv_EVAS_DIRECTFB_CFLAGS="$EVAS_DIRECTFB_CFLAGS"
+    else
+        if test -n "$PKG_CONFIG" && \
     { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"evas-directfb\"") >&5
   ($PKG_CONFIG --exists --print-errors "evas-directfb") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; then
+  pkg_cv_EVAS_DIRECTFB_CFLAGS=`$PKG_CONFIG --cflags "evas-directfb" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+    fi
+else
+	pkg_failed=untried
+fi
+if test -n "$PKG_CONFIG"; then
+    if test -n "$EVAS_DIRECTFB_LIBS"; then
+        pkg_cv_EVAS_DIRECTFB_LIBS="$EVAS_DIRECTFB_LIBS"
+    else
+        if test -n "$PKG_CONFIG" && \
+    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"evas-directfb\"") >&5
+  ($PKG_CONFIG --exists --print-errors "evas-directfb") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+  pkg_cv_EVAS_DIRECTFB_LIBS=`$PKG_CONFIG --libs "evas-directfb" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+    fi
+else
+	pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+        _pkg_short_errors_supported=yes
+else
+        _pkg_short_errors_supported=no
+fi
+        if test $_pkg_short_errors_supported = yes; then
+	        EVAS_DIRECTFB_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "evas-directfb"`
+        else
+	        EVAS_DIRECTFB_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "evas-directfb"`
+        fi
+	# Put the nasty error message in config.log where it belongs
+	echo "$EVAS_DIRECTFB_PKG_ERRORS" >&5
+
+	{ { echo "$as_me:$LINENO: error: Package requirements (evas-directfb) were not met:
+
+$EVAS_DIRECTFB_PKG_ERRORS
+
+Consider adjusting the PKG_CONFIG_PATH environment variable if you
+installed software in a non-standard prefix.
+
+Alternatively, you may set the environment variables EVAS_DIRECTFB_CFLAGS
+and EVAS_DIRECTFB_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.
+" >&5
+echo "$as_me: error: Package requirements (evas-directfb) were not met:
+
+$EVAS_DIRECTFB_PKG_ERRORS
+
+Consider adjusting the PKG_CONFIG_PATH environment variable if you
+installed software in a non-standard prefix.
+
+Alternatively, you may set the environment variables EVAS_DIRECTFB_CFLAGS
+and EVAS_DIRECTFB_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.
+" >&2;}
+   { (exit 1); exit 1; }; }
+elif test $pkg_failed = untried; then
+	{ { echo "$as_me:$LINENO: error: The pkg-config script could not be found or is too old.  Make sure it
+is in your PATH or set the PKG_CONFIG environment variable to the full
+path to pkg-config.
+
+Alternatively, you may set the environment variables EVAS_DIRECTFB_CFLAGS
+and EVAS_DIRECTFB_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.
+
+To get pkg-config, see <http://pkg-config.freedesktop.org/>.
+See \`config.log' for more details." >&5
+echo "$as_me: error: The pkg-config script could not be found or is too old.  Make sure it
+is in your PATH or set the PKG_CONFIG environment variable to the full
+path to pkg-config.
+
+Alternatively, you may set the environment variables EVAS_DIRECTFB_CFLAGS
+and EVAS_DIRECTFB_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.
+
+To get pkg-config, see <http://pkg-config.freedesktop.org/>.
+See \`config.log' for more details." >&2;}
+   { (exit 1); exit 1; }; }
+else
+	EVAS_DIRECTFB_CFLAGS=$pkg_cv_EVAS_DIRECTFB_CFLAGS
+	EVAS_DIRECTFB_LIBS=$pkg_cv_EVAS_DIRECTFB_LIBS
+        { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
 
 
 cat >>confdefs.h <<\_ACEOF
@@ -26619,42 +27962,22 @@ fi
 echo "${ECHO_T}$want_ecore_evas_fb" >&6; }
 
   if test "x$want_ecore_evas_fb" = "xyes"; then
-    if test -n "$PKG_CONFIG" && \
-    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"evas-framebuffer\"") >&5
-  ($PKG_CONFIG --exists --print-errors "evas-framebuffer") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; then
-
-
-cat >>confdefs.h <<\_ACEOF
-#define BUILD_ECORE_EVAS_FB 1
-_ACEOF
-
-        have_ecore_evas_fb="yes"
-        requirements_ecore_evas="$requirements_ecore_evas ecore-fb"
-
-
-fi
-  fi
-fi
-
 
 pkg_failed=no
-{ echo "$as_me:$LINENO: checking for SDL" >&5
-echo $ECHO_N "checking for SDL... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: checking for EVAS_FB" >&5
+echo $ECHO_N "checking for EVAS_FB... $ECHO_C" >&6; }
 
 if test -n "$PKG_CONFIG"; then
-    if test -n "$SDL_CFLAGS"; then
-        pkg_cv_SDL_CFLAGS="$SDL_CFLAGS"
+    if test -n "$EVAS_FB_CFLAGS"; then
+        pkg_cv_EVAS_FB_CFLAGS="$EVAS_FB_CFLAGS"
     else
         if test -n "$PKG_CONFIG" && \
-    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"sdl >= 1.2.0\"") >&5
-  ($PKG_CONFIG --exists --print-errors "sdl >= 1.2.0") 2>&5
+    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"evas-fb\"") >&5
+  ($PKG_CONFIG --exists --print-errors "evas-fb") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; then
-  pkg_cv_SDL_CFLAGS=`$PKG_CONFIG --cflags "sdl >= 1.2.0" 2>/dev/null`
+  pkg_cv_EVAS_FB_CFLAGS=`$PKG_CONFIG --cflags "evas-fb" 2>/dev/null`
 else
   pkg_failed=yes
 fi
@@ -26663,16 +27986,16 @@ else
 	pkg_failed=untried
 fi
 if test -n "$PKG_CONFIG"; then
-    if test -n "$SDL_LIBS"; then
-        pkg_cv_SDL_LIBS="$SDL_LIBS"
+    if test -n "$EVAS_FB_LIBS"; then
+        pkg_cv_EVAS_FB_LIBS="$EVAS_FB_LIBS"
     else
         if test -n "$PKG_CONFIG" && \
-    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"sdl >= 1.2.0\"") >&5
-  ($PKG_CONFIG --exists --print-errors "sdl >= 1.2.0") 2>&5
+    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"evas-fb\"") >&5
+  ($PKG_CONFIG --exists --print-errors "evas-fb") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; then
-  pkg_cv_SDL_LIBS=`$PKG_CONFIG --libs "sdl >= 1.2.0" 2>/dev/null`
+  pkg_cv_EVAS_FB_LIBS=`$PKG_CONFIG --libs "evas-fb" 2>/dev/null`
 else
   pkg_failed=yes
 fi
@@ -26691,27 +28014,276 @@ else
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-	        SDL_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "sdl >= 1.2.0"`
+	        EVAS_FB_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "evas-fb"`
         else
-	        SDL_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "sdl >= 1.2.0"`
+	        EVAS_FB_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "evas-fb"`
         fi
 	# Put the nasty error message in config.log where it belongs
-	echo "$SDL_PKG_ERRORS" >&5
+	echo "$EVAS_FB_PKG_ERRORS" >&5
 
-	{ echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-                 have_sdl="no"
+	{ { echo "$as_me:$LINENO: error: Package requirements (evas-fb) were not met:
+
+$EVAS_FB_PKG_ERRORS
+
+Consider adjusting the PKG_CONFIG_PATH environment variable if you
+installed software in a non-standard prefix.
+
+Alternatively, you may set the environment variables EVAS_FB_CFLAGS
+and EVAS_FB_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.
+" >&5
+echo "$as_me: error: Package requirements (evas-fb) were not met:
+
+$EVAS_FB_PKG_ERRORS
+
+Consider adjusting the PKG_CONFIG_PATH environment variable if you
+installed software in a non-standard prefix.
+
+Alternatively, you may set the environment variables EVAS_FB_CFLAGS
+and EVAS_FB_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.
+" >&2;}
+   { (exit 1); exit 1; }; }
 elif test $pkg_failed = untried; then
-	 have_sdl="no"
+	{ { echo "$as_me:$LINENO: error: The pkg-config script could not be found or is too old.  Make sure it
+is in your PATH or set the PKG_CONFIG environment variable to the full
+path to pkg-config.
+
+Alternatively, you may set the environment variables EVAS_FB_CFLAGS
+and EVAS_FB_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.
+
+To get pkg-config, see <http://pkg-config.freedesktop.org/>.
+See \`config.log' for more details." >&5
+echo "$as_me: error: The pkg-config script could not be found or is too old.  Make sure it
+is in your PATH or set the PKG_CONFIG environment variable to the full
+path to pkg-config.
+
+Alternatively, you may set the environment variables EVAS_FB_CFLAGS
+and EVAS_FB_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.
+
+To get pkg-config, see <http://pkg-config.freedesktop.org/>.
+See \`config.log' for more details." >&2;}
+   { (exit 1); exit 1; }; }
 else
-	SDL_CFLAGS=$pkg_cv_SDL_CFLAGS
-	SDL_LIBS=$pkg_cv_SDL_LIBS
+	EVAS_FB_CFLAGS=$pkg_cv_EVAS_FB_CFLAGS
+	EVAS_FB_LIBS=$pkg_cv_EVAS_FB_LIBS
         { echo "$as_me:$LINENO: result: yes" >&5
 echo "${ECHO_T}yes" >&6; }
-	 have_sdl="yes"
+
+
+cat >>confdefs.h <<\_ACEOF
+#define BUILD_ECORE_EVAS_FB 1
+_ACEOF
+
+        have_ecore_evas_fb="yes"
+        requirements_ecore_evas="$requirements_ecore_evas ecore-fb"
+
+
+fi
+  fi
+fi
+
+
+# Check whether --with-sdl-config was given.
+if test "${with_sdl_config+set}" = set; then
+  withval=$with_sdl_config;
+    SDL_CONFIG=$withval;
+    echo "using "$SDL_CONFIG" for sdl-config";
+
+else
+
+    if test -z "$SDL_CONFIG"; then
+        # Extract the first word of ""sdl-config"", so it can be a program name with args.
+set dummy "sdl-config"; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_path_SDL_CONFIG+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  case $SDL_CONFIG in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_SDL_CONFIG="$SDL_CONFIG" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_SDL_CONFIG="$as_dir/$ac_word$ac_exec_ext"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
+  test -z "$ac_cv_path_SDL_CONFIG" && ac_cv_path_SDL_CONFIG=""""
+  ;;
+esac
+fi
+SDL_CONFIG=$ac_cv_path_SDL_CONFIG
+if test -n "$SDL_CONFIG"; then
+  { echo "$as_me:$LINENO: result: $SDL_CONFIG" >&5
+echo "${ECHO_T}$SDL_CONFIG" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
 
+    fi
+
+fi
+
+if test -z "$SDL_CONFIG" ; then SDL_CONFIG="sdl-config"; fi
+
+sdl_cflags="";
+sdl_libs="";
+have_sdl="no"
+if test "${ac_cv_header_SDL_SDL_h+set}" = set; then
+  { echo "$as_me:$LINENO: checking for SDL/SDL.h" >&5
+echo $ECHO_N "checking for SDL/SDL.h... $ECHO_C" >&6; }
+if test "${ac_cv_header_SDL_SDL_h+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_header_SDL_SDL_h" >&5
+echo "${ECHO_T}$ac_cv_header_SDL_SDL_h" >&6; }
+else
+  # Is the header compilable?
+{ echo "$as_me:$LINENO: checking SDL/SDL.h usability" >&5
+echo $ECHO_N "checking SDL/SDL.h usability... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+#include <SDL/SDL.h>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_header_compiler=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_header_compiler=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ echo "$as_me:$LINENO: checking SDL/SDL.h presence" >&5
+echo $ECHO_N "checking SDL/SDL.h presence... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <SDL/SDL.h>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
+  ac_header_preproc=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  ac_header_preproc=no
+fi
+
+rm -f conftest.err conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
+
+# So?  What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+  yes:no: )
+    { echo "$as_me:$LINENO: WARNING: SDL/SDL.h: accepted by the compiler, rejected by the preprocessor!" >&5
+echo "$as_me: WARNING: SDL/SDL.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
+    { echo "$as_me:$LINENO: WARNING: SDL/SDL.h: proceeding with the compiler's result" >&5
+echo "$as_me: WARNING: SDL/SDL.h: proceeding with the compiler's result" >&2;}
+    ac_header_preproc=yes
+    ;;
+  no:yes:* )
+    { echo "$as_me:$LINENO: WARNING: SDL/SDL.h: present but cannot be compiled" >&5
+echo "$as_me: WARNING: SDL/SDL.h: present but cannot be compiled" >&2;}
+    { echo "$as_me:$LINENO: WARNING: SDL/SDL.h:     check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: SDL/SDL.h:     check for missing prerequisite headers?" >&2;}
+    { echo "$as_me:$LINENO: WARNING: SDL/SDL.h: see the Autoconf documentation" >&5
+echo "$as_me: WARNING: SDL/SDL.h: see the Autoconf documentation" >&2;}
+    { echo "$as_me:$LINENO: WARNING: SDL/SDL.h:     section \"Present But Cannot Be Compiled\"" >&5
+echo "$as_me: WARNING: SDL/SDL.h:     section \"Present But Cannot Be Compiled\"" >&2;}
+    { echo "$as_me:$LINENO: WARNING: SDL/SDL.h: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: SDL/SDL.h: proceeding with the preprocessor's result" >&2;}
+    { echo "$as_me:$LINENO: WARNING: SDL/SDL.h: in the future, the compiler will take precedence" >&5
+echo "$as_me: WARNING: SDL/SDL.h: in the future, the compiler will take precedence" >&2;}
+    ( cat <<\_ASBOX
+## -------------------------------------------------------- ##
+## Report this to enlightenment-devel at lists.sourceforge.net ##
+## -------------------------------------------------------- ##
+_ASBOX
+     ) | sed "s/^/$as_me: WARNING:     /" >&2
+    ;;
+esac
+{ echo "$as_me:$LINENO: checking for SDL/SDL.h" >&5
+echo $ECHO_N "checking for SDL/SDL.h... $ECHO_C" >&6; }
+if test "${ac_cv_header_SDL_SDL_h+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_cv_header_SDL_SDL_h=$ac_header_preproc
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_header_SDL_SDL_h" >&5
+echo "${ECHO_T}$ac_cv_header_SDL_SDL_h" >&6; }
+
+fi
+if test $ac_cv_header_SDL_SDL_h = yes; then
+   have_sdl="yes"
+else
+   have_sdl="no"
+fi
+
+
+
+
 
 have_ecore_sdl="no"
 ecore_sdl_cflags=""
@@ -26775,36 +28347,108 @@ fi
 
 
 have_ecore_evas_sdl="no";
-if test "x$have_sdl" = "xyes" -a "x$have_ecore_evas" = "xyes"; then
-  want_ecore_evas_sdl="yes";
-  { echo "$as_me:$LINENO: checking whether ecore_evas sdl support is to be built" >&5
-echo $ECHO_N "checking whether ecore_evas sdl support is to be built... $ECHO_C" >&6; }
-  # Check whether --enable-ecore-evas-sdl was given.
+if test "x$have_ecore_sdl" = "xyes" -a "x$have_ecore_evas" = "xyes"; then
+    want_ecore_evas_sdl="yes";
+    { echo "$as_me:$LINENO: checking whether ecore_evas SDL support is to be built" >&5
+echo $ECHO_N "checking whether ecore_evas SDL support is to be built... $ECHO_C" >&6; }
+    # Check whether --enable-ecore-evas-sdl was given.
 if test "${enable_ecore_evas_sdl+set}" = set; then
   enableval=$enable_ecore_evas_sdl;  want_ecore_evas_sdl=$enableval
 
 fi
 
-  { echo "$as_me:$LINENO: result: $want_ecore_evas_sdl" >&5
+    { echo "$as_me:$LINENO: result: $want_ecore_evas_sdl" >&5
 echo "${ECHO_T}$want_ecore_evas_sdl" >&6; }
 
-  if test "x$want_ecore_evas_sdl" = "xyes"; then
-    save_CFLAGS=$CFLAGS
-    CFLAGS="$CFLAGS $SDL_CFLAGS"
-    if test -n "$PKG_CONFIG" && \
+    if test "x$want_ecore_evas_sdl" = "xyes"; then
+        save_CFLAGS=$CFLAGS
+        SDL_CFLAGS=`$SDL_CONFIG --cflags`
+        SDL_LIBS=`$SDL_CONFIG --libs`
+        CFLAGS="$CFLAGS $SDL_CFLAGS"
+
+
+
+
+pkg_failed=no
+{ echo "$as_me:$LINENO: checking for EVAS_SOFTWARE_SDL" >&5
+echo $ECHO_N "checking for EVAS_SOFTWARE_SDL... $ECHO_C" >&6; }
+
+if test -n "$PKG_CONFIG"; then
+    if test -n "$EVAS_SOFTWARE_SDL_CFLAGS"; then
+        pkg_cv_EVAS_SOFTWARE_SDL_CFLAGS="$EVAS_SOFTWARE_SDL_CFLAGS"
+    else
+        if test -n "$PKG_CONFIG" && \
+    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"evas-software-sdl\"") >&5
+  ($PKG_CONFIG --exists --print-errors "evas-software-sdl") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+  pkg_cv_EVAS_SOFTWARE_SDL_CFLAGS=`$PKG_CONFIG --cflags "evas-software-sdl" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+    fi
+else
+	pkg_failed=untried
+fi
+if test -n "$PKG_CONFIG"; then
+    if test -n "$EVAS_SOFTWARE_SDL_LIBS"; then
+        pkg_cv_EVAS_SOFTWARE_SDL_LIBS="$EVAS_SOFTWARE_SDL_LIBS"
+    else
+        if test -n "$PKG_CONFIG" && \
     { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"evas-software-sdl\"") >&5
   ($PKG_CONFIG --exists --print-errors "evas-software-sdl") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; then
+  pkg_cv_EVAS_SOFTWARE_SDL_LIBS=`$PKG_CONFIG --libs "evas-software-sdl" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+    fi
+else
+	pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+        _pkg_short_errors_supported=yes
+else
+        _pkg_short_errors_supported=no
+fi
+        if test $_pkg_short_errors_supported = yes; then
+	        EVAS_SOFTWARE_SDL_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "evas-software-sdl"`
+        else
+	        EVAS_SOFTWARE_SDL_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "evas-software-sdl"`
+        fi
+	# Put the nasty error message in config.log where it belongs
+	echo "$EVAS_SOFTWARE_SDL_PKG_ERRORS" >&5
+
+	{ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+
+            have_ecore_evas_sdl="no"
+
+elif test $pkg_failed = untried; then
+
+            have_ecore_evas_sdl="no"
+
+else
+	EVAS_SOFTWARE_SDL_CFLAGS=$pkg_cv_EVAS_SOFTWARE_SDL_CFLAGS
+	EVAS_SOFTWARE_SDL_LIBS=$pkg_cv_EVAS_SOFTWARE_SDL_LIBS
+        { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
 
 
 cat >>confdefs.h <<\_ACEOF
 #define BUILD_ECORE_EVAS_SDL 1
 _ACEOF
 
-        have_ecore_evas_sdl="yes"
-        requirements_ecore_evas="$requirements_ecore_evas ecore-sdl"
+            have_ecore_evas_sdl="yes"
+            requirements_ecore_evas="$requirements_ecore_evas ecore-sdl"
 
 pkg_failed=no
 { echo "$as_me:$LINENO: checking for SDL" >&5
@@ -26866,21 +28510,26 @@ fi
 
 	{ echo "$as_me:$LINENO: result: no" >&5
 echo "${ECHO_T}no" >&6; }
-                 dummy="no"
+
+                dummy="no"
+
 elif test $pkg_failed = untried; then
-	 dummy="no"
+
+                dummy="no"
+
 else
 	SDL_CFLAGS=$pkg_cv_SDL_CFLAGS
 	SDL_LIBS=$pkg_cv_SDL_LIBS
         { echo "$as_me:$LINENO: result: yes" >&5
 echo "${ECHO_T}yes" >&6; }
 
+
 cat >>confdefs.h <<\_ACEOF
 #define BUILD_ECORE_EVAS_SDL_130 1
 _ACEOF
 
-fi
 
+fi
 
 fi
     CFLAGS=$save_CFLAGS
@@ -26901,12 +28550,79 @@ fi
 echo "${ECHO_T}$want_ecore_evas_buffer" >&6; }
 
 if test "x$want_ecore_evas_buffer" = "xyes" -a "x$have_ecore_evas" = "xyes"; then
-  if test -n "$PKG_CONFIG" && \
+
+pkg_failed=no
+{ echo "$as_me:$LINENO: checking for EVAS_SOFTWARE_BUFFER" >&5
+echo $ECHO_N "checking for EVAS_SOFTWARE_BUFFER... $ECHO_C" >&6; }
+
+if test -n "$PKG_CONFIG"; then
+    if test -n "$EVAS_SOFTWARE_BUFFER_CFLAGS"; then
+        pkg_cv_EVAS_SOFTWARE_BUFFER_CFLAGS="$EVAS_SOFTWARE_BUFFER_CFLAGS"
+    else
+        if test -n "$PKG_CONFIG" && \
+    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"evas-software-buffer\"") >&5
+  ($PKG_CONFIG --exists --print-errors "evas-software-buffer") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+  pkg_cv_EVAS_SOFTWARE_BUFFER_CFLAGS=`$PKG_CONFIG --cflags "evas-software-buffer" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+    fi
+else
+	pkg_failed=untried
+fi
+if test -n "$PKG_CONFIG"; then
+    if test -n "$EVAS_SOFTWARE_BUFFER_LIBS"; then
+        pkg_cv_EVAS_SOFTWARE_BUFFER_LIBS="$EVAS_SOFTWARE_BUFFER_LIBS"
+    else
+        if test -n "$PKG_CONFIG" && \
     { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"evas-software-buffer\"") >&5
   ($PKG_CONFIG --exists --print-errors "evas-software-buffer") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; then
+  pkg_cv_EVAS_SOFTWARE_BUFFER_LIBS=`$PKG_CONFIG --libs "evas-software-buffer" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+    fi
+else
+	pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+        _pkg_short_errors_supported=yes
+else
+        _pkg_short_errors_supported=no
+fi
+        if test $_pkg_short_errors_supported = yes; then
+	        EVAS_SOFTWARE_BUFFER_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "evas-software-buffer"`
+        else
+	        EVAS_SOFTWARE_BUFFER_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "evas-software-buffer"`
+        fi
+	# Put the nasty error message in config.log where it belongs
+	echo "$EVAS_SOFTWARE_BUFFER_PKG_ERRORS" >&5
+
+	{ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+
+      have_ecore_evas_buffer="no"
+
+elif test $pkg_failed = untried; then
+
+      have_ecore_evas_buffer="no"
+
+else
+	EVAS_SOFTWARE_BUFFER_CFLAGS=$pkg_cv_EVAS_SOFTWARE_BUFFER_CFLAGS
+	EVAS_SOFTWARE_BUFFER_LIBS=$pkg_cv_EVAS_SOFTWARE_BUFFER_LIBS
+        { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
 
 
 cat >>confdefs.h <<\_ACEOF
@@ -26915,7 +28631,6 @@ _ACEOF
 
       have_ecore_evas_buffer="yes"
 
-
 fi
 fi
 
@@ -27155,6 +28870,7 @@ _ACEOF
 
     have_poll="yes"
   fi
+  requirements_ecore_file="$requirements_ecore_file $requirements_ecore_con"
 fi
 
 
@@ -27387,6 +29103,16 @@ fi
 
 
 
+if test $have_ecore_evas_sdl = yes; then
+  BUILD_ECORE_EVAS_SDL_TRUE=
+  BUILD_ECORE_EVAS_SDL_FALSE='#'
+else
+  BUILD_ECORE_EVAS_SDL_TRUE='#'
+  BUILD_ECORE_EVAS_SDL_FALSE=
+fi
+
+
+
 if test $have_ecore_evas_x11 = yes; then
   BUILD_ECORE_EVAS_X11_TRUE=
   BUILD_ECORE_EVAS_X11_FALSE='#'
@@ -27694,6 +29420,13 @@ echo "$as_me: error: conditional \"BUILD_ECORE_X_XCB\" was never defined.
 Usually this means the macro was only invoked conditionally." >&2;}
    { (exit 1); exit 1; }; }
 fi
+if test -z "${BUILD_ECORE_EVAS_SDL_TRUE}" && test -z "${BUILD_ECORE_EVAS_SDL_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"BUILD_ECORE_EVAS_SDL\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"BUILD_ECORE_EVAS_SDL\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
 if test -z "${BUILD_ECORE_EVAS_X11_TRUE}" && test -z "${BUILD_ECORE_EVAS_X11_FALSE}"; then
   { { echo "$as_me:$LINENO: error: conditional \"BUILD_ECORE_EVAS_X11\" was never defined.
 Usually this means the macro was only invoked conditionally." >&5
@@ -28043,7 +29776,7 @@ exec 6>&1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by ecore $as_me 0.9.9.042, which was
+This file was extended by ecore $as_me 0.9.9.043, which was
 generated by GNU Autoconf 2.61.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -28096,7 +29829,7 @@ Report bugs to <bug-autoconf at gnu.org>."
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF
 ac_cs_version="\\
-ecore config.status 0.9.9.042
+ecore config.status 0.9.9.043
 configured by $0, generated by GNU Autoconf 2.61,
   with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
 
@@ -28407,7 +30140,7 @@ LN_S!$LN_S$ac_delim
 ECHO!$ECHO$ac_delim
 AR!$AR$ac_delim
 RANLIB!$RANLIB$ac_delim
-DLLTOOL!$DLLTOOL$ac_delim
+DSYMUTIL!$DSYMUTIL$ac_delim
 _ACEOF
 
   if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then
@@ -28449,6 +30182,8 @@ _ACEOF
 ac_delim='%!_!# '
 for ac_last_try in false false false false false :; do
   cat >conf$$subs.sed <<_ACEOF
+NMEDIT!$NMEDIT$ac_delim
+DLLTOOL!$DLLTOOL$ac_delim
 AS!$AS$ac_delim
 OBJDUMP!$OBJDUMP$ac_delim
 CXXCPP!$CXXCPP$ac_delim
@@ -28517,6 +30252,8 @@ XCB_XINERAMA_CFLAGS!$XCB_XINERAMA_CFLAGS$ac_delim
 XCB_XINERAMA_LIBS!$XCB_XINERAMA_LIBS$ac_delim
 XCB_XPRINT_CFLAGS!$XCB_XPRINT_CFLAGS$ac_delim
 XCB_XPRINT_LIBS!$XCB_XPRINT_LIBS$ac_delim
+XCB_XTEST_CFLAGS!$XCB_XTEST_CFLAGS$ac_delim
+XCB_XTEST_LIBS!$XCB_XTEST_LIBS$ac_delim
 have_ecore_x_xcb_define!$have_ecore_x_xcb_define$ac_delim
 XMKMF!$XMKMF$ac_delim
 X_CFLAGS!$X_CFLAGS$ac_delim
@@ -28542,10 +30279,6 @@ XFIXES_CFLAGS!$XFIXES_CFLAGS$ac_delim
 XFIXES_LIBS!$XFIXES_LIBS$ac_delim
 XINERAMA_CFLAGS!$XINERAMA_CFLAGS$ac_delim
 XINERAMA_LIBS!$XINERAMA_LIBS$ac_delim
-XPRINT_CFLAGS!$XPRINT_CFLAGS$ac_delim
-XPRINT_LIBS!$XPRINT_LIBS$ac_delim
-XRANDR_CFLAGS!$XRANDR_CFLAGS$ac_delim
-XRANDR_LIBS!$XRANDR_LIBS$ac_delim
 _ACEOF
 
   if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then
@@ -28587,13 +30320,35 @@ _ACEOF
 ac_delim='%!_!# '
 for ac_last_try in false false false false false :; do
   cat >conf$$subs.sed <<_ACEOF
+XPRINT_CFLAGS!$XPRINT_CFLAGS$ac_delim
+XPRINT_LIBS!$XPRINT_LIBS$ac_delim
+XRANDR_CFLAGS!$XRANDR_CFLAGS$ac_delim
+XRANDR_LIBS!$XRANDR_LIBS$ac_delim
 XRENDER_CFLAGS!$XRENDER_CFLAGS$ac_delim
 XRENDER_LIBS!$XRENDER_LIBS$ac_delim
+XTEST_CFLAGS!$XTEST_CFLAGS$ac_delim
+XTEST_LIBS!$XTEST_LIBS$ac_delim
 XSS_CFLAGS!$XSS_CFLAGS$ac_delim
 XSS_LIBS!$XSS_LIBS$ac_delim
+EVAS_SOFTWARE_X11_CFLAGS!$EVAS_SOFTWARE_X11_CFLAGS$ac_delim
+EVAS_SOFTWARE_X11_LIBS!$EVAS_SOFTWARE_X11_LIBS$ac_delim
+EVAS_OPENGL_X11_CFLAGS!$EVAS_OPENGL_X11_CFLAGS$ac_delim
+EVAS_OPENGL_X11_LIBS!$EVAS_OPENGL_X11_LIBS$ac_delim
+EVAS_XRENDER_X11_CFLAGS!$EVAS_XRENDER_X11_CFLAGS$ac_delim
+EVAS_XRENDER_X11_LIBS!$EVAS_XRENDER_X11_LIBS$ac_delim
+EVAS_SOFTWARE_16_X11_CFLAGS!$EVAS_SOFTWARE_16_X11_CFLAGS$ac_delim
+EVAS_SOFTWARE_16_X11_LIBS!$EVAS_SOFTWARE_16_X11_LIBS$ac_delim
+EVAS_SOFTWARE_DDRAW_CFLAGS!$EVAS_SOFTWARE_DDRAW_CFLAGS$ac_delim
+EVAS_SOFTWARE_DDRAW_LIBS!$EVAS_SOFTWARE_DDRAW_LIBS$ac_delim
 ddraw_libs!$ddraw_libs$ac_delim
+EVAS_SOFTWARE_16_DDRAW_CFLAGS!$EVAS_SOFTWARE_16_DDRAW_CFLAGS$ac_delim
+EVAS_SOFTWARE_16_DDRAW_LIBS!$EVAS_SOFTWARE_16_DDRAW_LIBS$ac_delim
 ddraw_16_libs!$ddraw_16_libs$ac_delim
+EVAS_DIRECT3D_CFLAGS!$EVAS_DIRECT3D_CFLAGS$ac_delim
+EVAS_DIRECT3D_LIBS!$EVAS_DIRECT3D_LIBS$ac_delim
 direct3d_libs!$direct3d_libs$ac_delim
+EVAS_OPENGL_GLEW_CFLAGS!$EVAS_OPENGL_GLEW_CFLAGS$ac_delim
+EVAS_OPENGL_GLEW_LIBS!$EVAS_OPENGL_GLEW_LIBS$ac_delim
 glew_libs!$glew_libs$ac_delim
 BUILD_ECORE_WIN32_TRUE!$BUILD_ECORE_WIN32_TRUE$ac_delim
 BUILD_ECORE_WIN32_FALSE!$BUILD_ECORE_WIN32_FALSE$ac_delim
@@ -28605,17 +30360,26 @@ BUILD_ECORE_DIRECTFB_TRUE!$BUILD_ECORE_DIRECTFB_TRUE$ac_delim
 BUILD_ECORE_DIRECTFB_FALSE!$BUILD_ECORE_DIRECTFB_FALSE$ac_delim
 ecore_directfb_cflags!$ecore_directfb_cflags$ac_delim
 ecore_directfb_libs!$ecore_directfb_libs$ac_delim
+EVAS_DIRECTFB_CFLAGS!$EVAS_DIRECTFB_CFLAGS$ac_delim
+EVAS_DIRECTFB_LIBS!$EVAS_DIRECTFB_LIBS$ac_delim
 BUILD_ECORE_FB_TRUE!$BUILD_ECORE_FB_TRUE$ac_delim
 BUILD_ECORE_FB_FALSE!$BUILD_ECORE_FB_FALSE$ac_delim
 ecore_fb_cflags!$ecore_fb_cflags$ac_delim
 ecore_fb_libs!$ecore_fb_libs$ac_delim
 tslib_libs!$tslib_libs$ac_delim
-SDL_CFLAGS!$SDL_CFLAGS$ac_delim
-SDL_LIBS!$SDL_LIBS$ac_delim
+EVAS_FB_CFLAGS!$EVAS_FB_CFLAGS$ac_delim
+EVAS_FB_LIBS!$EVAS_FB_LIBS$ac_delim
+SDL_CONFIG!$SDL_CONFIG$ac_delim
 BUILD_ECORE_SDL_TRUE!$BUILD_ECORE_SDL_TRUE$ac_delim
 BUILD_ECORE_SDL_FALSE!$BUILD_ECORE_SDL_FALSE$ac_delim
 ecore_sdl_cflags!$ecore_sdl_cflags$ac_delim
 ecore_sdl_libs!$ecore_sdl_libs$ac_delim
+SDL_CFLAGS!$SDL_CFLAGS$ac_delim
+SDL_LIBS!$SDL_LIBS$ac_delim
+EVAS_SOFTWARE_SDL_CFLAGS!$EVAS_SOFTWARE_SDL_CFLAGS$ac_delim
+EVAS_SOFTWARE_SDL_LIBS!$EVAS_SOFTWARE_SDL_LIBS$ac_delim
+EVAS_SOFTWARE_BUFFER_CFLAGS!$EVAS_SOFTWARE_BUFFER_CFLAGS$ac_delim
+EVAS_SOFTWARE_BUFFER_LIBS!$EVAS_SOFTWARE_BUFFER_LIBS$ac_delim
 BUILD_ECORE_FILE_TRUE!$BUILD_ECORE_FILE_TRUE$ac_delim
 BUILD_ECORE_FILE_FALSE!$BUILD_ECORE_FILE_FALSE$ac_delim
 ecore_file_cflags!$ecore_file_cflags$ac_delim
@@ -28646,11 +30410,54 @@ requirements_ecore_x!$requirements_ecore_x$ac_delim
 requirements_ecore_sdl!$requirements_ecore_sdl$ac_delim
 BUILD_ECORE_X_XCB_TRUE!$BUILD_ECORE_X_XCB_TRUE$ac_delim
 BUILD_ECORE_X_XCB_FALSE!$BUILD_ECORE_X_XCB_FALSE$ac_delim
+BUILD_ECORE_EVAS_SDL_TRUE!$BUILD_ECORE_EVAS_SDL_TRUE$ac_delim
+BUILD_ECORE_EVAS_SDL_FALSE!$BUILD_ECORE_EVAS_SDL_FALSE$ac_delim
 BUILD_ECORE_EVAS_X11_TRUE!$BUILD_ECORE_EVAS_X11_TRUE$ac_delim
 BUILD_ECORE_EVAS_X11_FALSE!$BUILD_ECORE_EVAS_X11_FALSE$ac_delim
 BUILD_ECORE_EVAS_X11_GL_TRUE!$BUILD_ECORE_EVAS_X11_GL_TRUE$ac_delim
 BUILD_ECORE_EVAS_X11_GL_FALSE!$BUILD_ECORE_EVAS_X11_GL_FALSE$ac_delim
 BUILD_ECORE_EVAS_XRENDER_TRUE!$BUILD_ECORE_EVAS_XRENDER_TRUE$ac_delim
+_ACEOF
+
+  if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then
+    break
+  elif $ac_last_try; then
+    { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
+echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
+   { (exit 1); exit 1; }; }
+  else
+    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
+  fi
+done
+
+ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed`
+if test -n "$ac_eof"; then
+  ac_eof=`echo "$ac_eof" | sort -nru | sed 1q`
+  ac_eof=`expr $ac_eof + 1`
+fi
+
+cat >>$CONFIG_STATUS <<_ACEOF
+cat >"\$tmp/subs-3.sed" <<\CEOF$ac_eof
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
+_ACEOF
+sed '
+s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g
+s/^/s,@/; s/!/@,|#_!!_#|/
+:n
+t n
+s/'"$ac_delim"'$/,g/; t
+s/$/\\/; p
+N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n
+' >>$CONFIG_STATUS <conf$$subs.sed
+rm -f conf$$subs.sed
+cat >>$CONFIG_STATUS <<_ACEOF
+CEOF$ac_eof
+_ACEOF
+
+
+ac_delim='%!_!# '
+for ac_last_try in false false false false false :; do
+  cat >conf$$subs.sed <<_ACEOF
 BUILD_ECORE_EVAS_XRENDER_FALSE!$BUILD_ECORE_EVAS_XRENDER_FALSE$ac_delim
 BUILD_ECORE_EVAS_X11_16_TRUE!$BUILD_ECORE_EVAS_X11_16_TRUE$ac_delim
 BUILD_ECORE_EVAS_X11_16_FALSE!$BUILD_ECORE_EVAS_X11_16_FALSE$ac_delim
@@ -28664,7 +30471,7 @@ LIBOBJS!$LIBOBJS$ac_delim
 LTLIBOBJS!$LTLIBOBJS$ac_delim
 _ACEOF
 
-  if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 75; then
+  if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 11; then
     break
   elif $ac_last_try; then
     { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
@@ -28682,7 +30489,7 @@ if test -n "$ac_eof"; then
 fi
 
 cat >>$CONFIG_STATUS <<_ACEOF
-cat >"\$tmp/subs-3.sed" <<\CEOF$ac_eof
+cat >"\$tmp/subs-4.sed" <<\CEOF$ac_eof
 /@[a-zA-Z_][a-zA-Z_0-9]*@/!b end
 _ACEOF
 sed '
@@ -28945,7 +30752,7 @@ s&@abs_builddir@&$ac_abs_builddir&;t t
 s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
 s&@INSTALL@&$ac_INSTALL&;t t
 $ac_datarootdir_hack
-" $ac_file_inputs | sed -f "$tmp/subs-1.sed" | sed -f "$tmp/subs-2.sed" | sed -f "$tmp/subs-3.sed" >$tmp/out
+" $ac_file_inputs | sed -f "$tmp/subs-1.sed" | sed -f "$tmp/subs-2.sed" | sed -f "$tmp/subs-3.sed" | sed -f "$tmp/subs-4.sed" >$tmp/out
 
 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
   { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
@@ -29269,9 +31076,9 @@ echo "  Ecore_Txt....................: $have_ecore_txt"
 
 echo "  Ecore_Evas...................: $have_ecore_evas"
 if test "x$have_ecore_x_xcb" = "xyes" ; then
-  echo "  Ecore_X (XCB backend)........: $have_ecore_x_xcb (Xprint: $have_ecore_x_xcb_xprint) (Xinerama: $have_ecore_x_xcb_xinerama) (Xrandr: $have_ecore_x_xcb_randr) (Xscreensaver: $have_ecore_x_xcb_screensaver) (Xshape: $have_ecore_x_xcb_shape) (Xsync: $have_ecore_x_xcb_sync) (Xrender: $have_ecore_x_xcb_render) (Xfixes: $have_ecore_x_xcb_xfixes) (Xcomposite: $have_ecore_x_xcb_composite) (Xdamage: $have_ecore_x_xcb_damage) (Xdpms: $have_ecore_x_xcb_dpms)"
+  echo "  Ecore_X (XCB backend)........: $have_ecore_x_xcb (Xprint: $have_ecore_x_xcb_xprint) (Xinerama: $have_ecore_x_xcb_xinerama) (Xrandr: $have_ecore_x_xcb_randr) (Xscreensaver: $have_ecore_x_xcb_screensaver) (Xshape: $have_ecore_x_xcb_shape) (Xsync: $have_ecore_x_xcb_sync) (Xrender: $have_ecore_x_xcb_render) (Xfixes: $have_ecore_x_xcb_xfixes) (Xcomposite: $have_ecore_x_xcb_composite) (Xdamage: $have_ecore_x_xcb_damage) (Xdpms: $have_ecore_x_xcb_dpms) (Xtest $have_ecore_x_xcb_xtest)"
 else
-  echo "  Ecore_X (Xlib backend).......: $have_ecore_x (Xcursor: $use_Xcursor) (Xprint: $use_xprint) (Xinerama: $use_xinerama) (Xrandr: $use_xrandr) (Xscreensaver: $use_xss) (Xrender: $use_xrender) (Xcomposite: $use_xcomposite) (Xfixes: $use_xfixes) (Xdamage: $use_xdamage) (Xdpms: $use_xdpms)"
+  echo "  Ecore_X (Xlib backend).......: $have_ecore_x (Xcursor: $use_Xcursor) (Xprint: $use_xprint) (Xinerama: $use_xinerama) (Xrandr: $use_xrandr) (Xscreensaver: $use_xss) (Xrender: $use_xrender) (Xcomposite: $use_xcomposite) (Xfixes: $use_xfixes) (Xdamage: $use_xdamage) (Xdpms: $use_xdpms) (Xtest $use_xtest)"
 fi
 echo "  Ecore_Evas X11 Support.......: $have_ecore_evas_x11"
 echo "  Ecore_Evas X11 GL Support....: $have_ecore_evas_x11_gl"
diff --git a/configure.in b/configure.in
index a4ff91a..edb9f47 100644
--- a/configure.in
+++ b/configure.in
@@ -1,7 +1,7 @@
 # get rid of that stupid cache mechanism
 rm -f config.cache
 
-AC_INIT(ecore, 0.9.9.042, enlightenment-devel at lists.sourceforge.net)
+AC_INIT(ecore, 0.9.9.043, enlightenment-devel at lists.sourceforge.net)
 AC_PREREQ(2.52)
 AC_CONFIG_SRCDIR(configure.in)
 AC_CANONICAL_BUILD
@@ -25,6 +25,7 @@ AC_HEADER_SYS_WAIT
 AC_LIBTOOL_WIN32_DLL
 define([AC_LIBTOOL_LANG_F77_CONFIG], [:])dnl
 AC_PROG_LIBTOOL
+AC_DEFINE_UNQUOTED(SHARED_LIB_SUFFIX, "$shrext_cmds", [Suffix for shared objects])
 
 VMAJ=`echo $PACKAGE_VERSION | awk -F. '{printf("%s", $1);}'`
 VMIN=`echo $PACKAGE_VERSION | awk -F. '{printf("%s", $2);}'`
@@ -51,12 +52,13 @@ requirements_ecore_sdl=""
 
 dnl The first call to PKG_CHECK_MODULES is done conditionally,
 dnl so we should include this here:
+
 PKG_PROG_PKG_CONFIG
 
 dnl check common functions and headers
 AC_CHECK_FUNCS(gettimeofday)
 AC_CHECK_FUNCS(strlcpy)
-AC_CHECK_HEADERS(netinet/in.h)
+AC_CHECK_HEADERS([dlfcn.h features.h langinfo.h locale.h netinet/in.h sys/mman.h sys/time.h windows.h winsock2.h])
 AC_CHECK_LIB(dl, dlopen, dlopen_libs=-ldl)
 AC_SUBST(dlopen_libs)
 
@@ -72,16 +74,15 @@ AC_ARG_ENABLE(openssl,
 )
 
 if test "x$want_openssl" = "xyes"; then
-  PKG_CHECK_MODULES(SSL, openssl,
-    [
-       AC_DEFINE(USE_OPENSSL, 1, [Use OpenSSL])
-       requirements_ecore_con="$requirements_ecore_con openssl"
-       # no need to add it to req_ecore_ipc, since they
-       # depends on ecore_con anyway.
-       have_openssl="yes"
-    ],
-    [ have_openssl="no" ]
-  )
+    PKG_CHECK_MODULES([SSL], [openssl], [
+        AC_DEFINE(USE_OPENSSL, 1, [Use OpenSSL])
+        requirements_ecore_con="$requirements_ecore_con openssl"
+        # no need to add it to req_ecore_ipc, since they
+        # depends on ecore_con anyway.
+        have_openssl="yes"
+    ], [
+        have_openssl="no"
+    ])
 fi
 
 dnl curl
@@ -99,7 +100,6 @@ if test "x$want_curl" = "xyes"; then
   PKG_CHECK_MODULES(CURL, libcurl,
     [
       AC_DEFINE(HAVE_CURL, 1, [ Downloading with CURL ])
-      requirements_ecore_file="$requirements_ecore_file libcurl"
       requirements_ecore_con="$requirements_ecore_con libcurl"
       have_curl="yes"
     ],
@@ -146,7 +146,7 @@ dnl ecore_ipc
 ECORE_CHECK_MODULE([Ipc], [yes], [$have_ecore_con])
 
 dnl ecore_config
-PKG_CHECK_MODULES(EET, [eet >= 0.9.10],
+PKG_CHECK_MODULES(EET, [eet >= 1.0.0],
   [ have_eet="yes" ],
   [ have_eet="no" ]
 )
@@ -283,6 +283,11 @@ if test "x$want_ecore_x_xcb" = "xyes" ; then
       AC_DEFINE(ECORE_XCB_XPRINT, 1, [Build support for XCB xprint]) ],
       [ have_ecore_x_xcb_xprint="no" ])
 
+    PKG_CHECK_MODULES(XCB_XTEST, xcb-xtest,
+      [ have_ecore_x_xcb_xtest="yes"
+      AC_DEFINE(ECORE_XCB_XTEST, 1, [Build support for XCB xtest]) ],
+      [ have_ecore_x_xcb_xtest="no" ])
+
     AC_DEFINE(BUILD_ECORE_X, 1, [Build Ecore_X Module (XCB backend)])
     AC_DEFINE(HAVE_ECORE_X_XCB, 1, [Defined to 1 if XCB backend is enabled.])
 
@@ -324,7 +329,7 @@ if test "x$have_ecore_x_xcb" != "xyes" ; then
     Xcursor_cflags=""
     use_Xcursor="no"
     PCFLAGS=$CFLAGS
-    CFLAGS=$x_cflags" "$x_includes
+    CFLAGS="$x_cflags $x_includes"
     AC_CHECK_HEADER(X11/Xcursor/Xcursor.h,
       [
         AC_CHECK_LIB(Xcursor, XcursorImageLoadCursor,
@@ -365,6 +370,7 @@ if test "x$have_ecore_x_xcb" != "xyes" ; then
     ECORE_CHECK_X_EXTENSION([Xprint], [Print.h], [Xp], [XpQueryScreens])
     ECORE_CHECK_X_EXTENSION([Xrandr], [Xrandr.h], [Xrandr], [XRRSizes])
     ECORE_CHECK_X_EXTENSION([Xrender], [Xrender.h], [Xrender], [XRenderFindVisualFormat])
+    ECORE_CHECK_X_EXTENSION([Xtest], [XTest.h], [Xtst], [XTestFakeKeyEvent])
     ECORE_CHECK_X_EXTENSION([Xss], [scrnsaver.h], [Xss], [XScreenSaverSelectInput])
   fi
 fi
@@ -389,12 +395,12 @@ if test "x$have_ecore_x" = "xyes" -a "x$have_ecore_evas" = "xyes"; then
   AC_MSG_RESULT($want_ecore_evas_x11)
   
   if test "x$want_ecore_evas_x11" = "xyes"; then
-    PKG_CHECK_EXISTS(evas-software-x11,
-      [
+    PKG_CHECK_MODULES(EVAS_SOFTWARE_X11, evas-software-x11, [
         AC_DEFINE(BUILD_ECORE_EVAS_X11, 1, [Support for X11 Engine in Ecore_Evas])
         have_ecore_evas_x11="yes";
-      ]
-    )
+    ], [
+        have_ecore_evas_x11="no";
+    ])
   fi
 
   dnl ecore_evas_x11_gl
@@ -410,12 +416,12 @@ if test "x$have_ecore_x" = "xyes" -a "x$have_ecore_evas" = "xyes"; then
   AC_MSG_RESULT($want_ecore_evas_x11_gl)
   
   if test "x$want_ecore_evas_x11_gl" = "xyes"; then
-    PKG_CHECK_EXISTS(evas-opengl-x11,
-      [
+    PKG_CHECK_MODULES(EVAS_OPENGL_X11, evas-opengl-x11, [
         AC_DEFINE(BUILD_ECORE_EVAS_X11_GL, 1, [Support for GL Engine in Ecore_Evas])
         have_ecore_evas_x11_gl="yes";
-      ]
-    )
+    ], [
+        have_ecore_evas_x11_gl="no"
+    ])
   fi
 
   dnl ecore_evas_xrender
@@ -432,12 +438,12 @@ if test "x$have_ecore_x" = "xyes" -a "x$have_ecore_evas" = "xyes"; then
   AC_MSG_RESULT($want_ecore_evas_xrender)
   
   if test "x$want_ecore_evas_xrender" = "xyes"; then
-    PKG_CHECK_EXISTS(evas-xrender-x11,
-      [
+    PKG_CHECK_MODULES(EVAS_XRENDER_X11, evas-xrender-x11, [
         AC_DEFINE(BUILD_ECORE_EVAS_XRENDER, 1, [Support for XRender Engine in Ecore_Evas])
-        have_ecore_evas_xrender="yes";
-      ]
-    )
+        have_ecore_evas_xrender="yes"
+    ], [
+        have_ecore_evas_xrender="no"
+    ])
   fi
 
   dnl ecore_evas_x11_16
@@ -454,7 +460,7 @@ if test "x$have_ecore_x" = "xyes" -a "x$have_ecore_evas" = "xyes"; then
   AC_MSG_RESULT($want_ecore_evas_x11_16)
   
   if test "x$want_ecore_evas_x11_16" = "xyes"; then
-    PKG_CHECK_EXISTS(evas-software-16-x11,
+    PKG_CHECK_MODULES(EVAS_SOFTWARE_16_X11, evas-software-16-x11,
       [
         AC_DEFINE(BUILD_ECORE_EVAS_X11_16, 1, [Support for X11 16bpp Engine in Ecore_Evas])
         have_ecore_evas_x11_16="yes";
@@ -472,44 +478,36 @@ fi
 dnl ecore_win32
 # TODO: We should first check if we have win32 available before checking for win32 evas
 # TODO: Need to check if we have evas before testing win32 evas engines
-AC_MSG_CHECKING(for Evas Software DirectDraw engine)
-PKG_CHECK_EXISTS(evas-software-ddraw >= 0.9.9.41,
+PKG_CHECK_MODULES(EVAS_SOFTWARE_DDRAW, evas-software-ddraw >= 0.9.9.41,
   [ have_ddraw="yes"
     AC_DEFINE(HAVE_DIRECTDRAW, 1, [Build Ecore_Win32 with DirectDraw Code])
     ddraw_libs="-lddraw -ldxguid" ],
   [ have_ddraw="no" ]
 )
-AC_MSG_RESULT($have_ddraw)
 AC_SUBST(ddraw_libs)
 
-AC_MSG_CHECKING(for Evas 16bpp Software DirectDraw engine)
-PKG_CHECK_EXISTS(evas-software-16-ddraw >= 0.9.9.41,
+PKG_CHECK_MODULES(EVAS_SOFTWARE_16_DDRAW, evas-software-16-ddraw >= 0.9.9.41,
   [ have_ddraw_16="yes"
     AC_DEFINE(HAVE_DIRECTDRAW_16, 1, [Build Ecore_Win32 with 16 bpp DirectDraw Code])
     ddraw_16_libs="-lddraw -ldxguid" ],
   [ have_ddraw_16="no" ]
 )
-AC_MSG_RESULT($have_ddraw_16)
 AC_SUBST(ddraw_16_libs)
 
-AC_MSG_CHECKING(for Evas Direct3D engine)
-PKG_CHECK_EXISTS(evas-direct3d >= 0.9.9.41,
+PKG_CHECK_MODULES(EVAS_DIRECT3D, evas-direct3d >= 0.9.9.41,
   [ have_direct3d="yes"
     AC_DEFINE(HAVE_DIRECT3D, 1, [Build Ecore_Win32 with Direct3D Code])
     direct3d_libs="-ld3d9 -ld3dx9d" ],
   [ have_direct3d="no" ]
 )
-AC_MSG_RESULT($have_direct3d)
 AC_SUBST(direct3d_libs)
 
-AC_MSG_CHECKING(for Evas OpenGL Glew engine)
-PKG_CHECK_EXISTS(evas-opengl-glew >= 0.9.9.41,
+PKG_CHECK_MODULES(EVAS_OPENGL_GLEW, evas-opengl-glew >= 0.9.9.41,
   [ have_opengl_glew="yes"
     AC_DEFINE(HAVE_OPENGL_GLEW, 1, [Build Ecore_Win32 with OpenGL Glew Code])
     glew_libs="-lglew32 -lgdi32" ],
   [ have_opengl_glew="no" ]
 )
-AC_MSG_RESULT($have_opengl_glew)
 AC_SUBST(glew_libs)
 
 have_win32="no"
@@ -559,7 +557,7 @@ if test "x$have_ecore_directfb" = "xyes" -a "x$have_ecore_evas" = "xyes"; then
   if test "x$want_ecore_evas_dfb" = "xyes" -a "x$have_ecore_directfb" = "xyes" ; then
     save_CFLAGS="$CFLAGS"
     CFLAGS="$CFLAGS $DIRECTFB_CFLAGS"
-    PKG_CHECK_EXISTS(evas-directfb,
+    PKG_CHECK_MODULES(EVAS_DIRECTFB, evas-directfb,
       [
         AC_DEFINE(BUILD_ECORE_EVAS_DIRECTFB, 1, [Support for DirectFB in Ecore_Evas])
         have_ecore_evas_dfb="yes"
@@ -600,7 +598,7 @@ if test "x$have_ecore_fb" = "xyes" -a "x$have_ecore_evas" = "xyes"; then
   AC_MSG_RESULT($want_ecore_evas_fb)
   
   if test "x$want_ecore_evas_fb" = "xyes"; then
-    PKG_CHECK_EXISTS(evas-framebuffer,
+    PKG_CHECK_MODULES(EVAS_FB, evas-fb,
       [
         AC_DEFINE(BUILD_ECORE_EVAS_FB, 1, [Support for Linux FB in Ecore_Evas])
         have_ecore_evas_fb="yes"
@@ -611,36 +609,54 @@ if test "x$have_ecore_fb" = "xyes" -a "x$have_ecore_evas" = "xyes"; then
 fi
 
 dnl ecore_sdl
-PKG_CHECK_MODULES(SDL, sdl >= 1.2.0,
-    [ have_sdl="yes" ],
-    [ have_sdl="no" ])
+AC_ARG_WITH(sdl-config, AC_HELP_STRING([--with-sdl-config=PATH], [use sdl-config specified]), [
+    SDL_CONFIG=$withval;
+    echo "using "$SDL_CONFIG" for sdl-config";
+], [
+    if test -z "$SDL_CONFIG"; then
+        AC_PATH_PROG(SDL_CONFIG, "sdl-config", "", $PATH)
+    fi
+])
+if test -z "$SDL_CONFIG" ; then SDL_CONFIG="sdl-config"; fi
+
+sdl_cflags="";
+sdl_libs="";
+have_sdl="no"
+AC_CHECK_HEADER(SDL/SDL.h, [ have_sdl="yes" ], [ have_sdl="no" ])
 
 ECORE_CHECK_MODULE([SDL], [no], [$have_sdl])
 
 dnl ecore_evas_sdl
 have_ecore_evas_sdl="no";
-if test "x$have_sdl" = "xyes" -a "x$have_ecore_evas" = "xyes"; then
-  want_ecore_evas_sdl="yes";
-  AC_MSG_CHECKING(whether ecore_evas sdl support is to be built)
-  AC_ARG_ENABLE(ecore-evas-sdl,
-    AC_HELP_STRING([--disable-ecore-evas-sdl], [disable sdl in the ecore_evas module]),
-    [ want_ecore_evas_sdl=$enableval ]
-  )
-  AC_MSG_RESULT($want_ecore_evas_sdl)
-  
-  if test "x$want_ecore_evas_sdl" = "xyes"; then
-    save_CFLAGS=$CFLAGS
-    CFLAGS="$CFLAGS $SDL_CFLAGS"
-    PKG_CHECK_EXISTS(evas-software-sdl,
-      [
-        AC_DEFINE(BUILD_ECORE_EVAS_SDL, 1, [Support for SDL in Ecore_Evas])
-        have_ecore_evas_sdl="yes"
-        requirements_ecore_evas="$requirements_ecore_evas ecore-sdl"
-        PKG_CHECK_MODULES(SDL, sdl >= 1.3.0,
-          [ AC_DEFINE(BUILD_ECORE_EVAS_SDL_130, 1, [Support for SVN SDL]) ],
-	  [ dummy="no" ])
-      ]
+if test "x$have_ecore_sdl" = "xyes" -a "x$have_ecore_evas" = "xyes"; then
+    want_ecore_evas_sdl="yes";
+    AC_MSG_CHECKING([whether ecore_evas SDL support is to be built])
+    AC_ARG_ENABLE(ecore-evas-sdl,
+        AC_HELP_STRING([--disable-ecore-evas-sdl], [disable SDL in the ecore_evas module]),
+        [ want_ecore_evas_sdl=$enableval ]
     )
+    AC_MSG_RESULT($want_ecore_evas_sdl)
+  
+    if test "x$want_ecore_evas_sdl" = "xyes"; then
+        save_CFLAGS=$CFLAGS
+        SDL_CFLAGS=`$SDL_CONFIG --cflags`
+        SDL_LIBS=`$SDL_CONFIG --libs`
+        CFLAGS="$CFLAGS $SDL_CFLAGS"
+        AC_SUBST(SDL_CFLAGS)
+        AC_SUBST(SDL_LIBS)
+
+        PKG_CHECK_MODULES(EVAS_SOFTWARE_SDL, evas-software-sdl, [
+            AC_DEFINE(BUILD_ECORE_EVAS_SDL, 1, [Support for SDL in Ecore_Evas])
+            have_ecore_evas_sdl="yes"
+            requirements_ecore_evas="$requirements_ecore_evas ecore-sdl"
+            PKG_CHECK_MODULES(SDL, sdl >= 1.3.0, [
+                AC_DEFINE(BUILD_ECORE_EVAS_SDL_130, 1, [Support for SVN SDL])
+            ], [
+                dummy="no"
+            ])
+        ], [
+            have_ecore_evas_sdl="no"
+        ])
     CFLAGS=$save_CFLAGS
   fi
 fi
@@ -656,12 +672,13 @@ AC_ARG_ENABLE(ecore-evas-buffer,
 AC_MSG_RESULT($want_ecore_evas_buffer)
 
 if test "x$want_ecore_evas_buffer" = "xyes" -a "x$have_ecore_evas" = "xyes"; then
-  PKG_CHECK_EXISTS(evas-software-buffer,
+  PKG_CHECK_MODULES(EVAS_SOFTWARE_BUFFER, evas-software-buffer,
     [
       AC_DEFINE(BUILD_ECORE_EVAS_BUFFER, 1, [Support for Buffers in Ecore_Evas])
       have_ecore_evas_buffer="yes"
-    ]
-  )
+    ], [
+      have_ecore_evas_buffer="no"
+  ])
 fi
 
 dnl ecore_file
@@ -720,6 +737,7 @@ if test "x$have_ecore_file" = "xyes"; then
     AC_DEFINE(HAVE_POLL, 1, [ File monitoring with polling ])
     have_poll="yes"
   fi
+  requirements_ecore_file="$requirements_ecore_file $requirements_ecore_con"
 fi
 
 dnl ecore_desktop
@@ -753,6 +771,7 @@ AC_SUBST(requirements_ecore_sdl)
 # set up conditionals
 AM_CONDITIONAL(BUILD_ECORE_X, test $have_ecore_x = yes -a $have_ecore_x_xcb = no)
 AM_CONDITIONAL(BUILD_ECORE_X_XCB, test $have_ecore_x_xcb = yes)
+AM_CONDITIONAL(BUILD_ECORE_EVAS_SDL, test $have_ecore_evas_sdl = yes)
 AM_CONDITIONAL(BUILD_ECORE_EVAS_X11, test $have_ecore_evas_x11 = yes)
 AM_CONDITIONAL(BUILD_ECORE_EVAS_X11_GL, test $have_ecore_evas_x11_gl = yes)
 AM_CONDITIONAL(BUILD_ECORE_EVAS_XRENDER, test $have_ecore_evas_xrender = yes)
@@ -815,9 +834,9 @@ echo "  Ecore_Txt....................: $have_ecore_txt"
 
 echo "  Ecore_Evas...................: $have_ecore_evas"
 if test "x$have_ecore_x_xcb" = "xyes" ; then
-  echo "  Ecore_X (XCB backend)........: $have_ecore_x_xcb (Xprint: $have_ecore_x_xcb_xprint) (Xinerama: $have_ecore_x_xcb_xinerama) (Xrandr: $have_ecore_x_xcb_randr) (Xscreensaver: $have_ecore_x_xcb_screensaver) (Xshape: $have_ecore_x_xcb_shape) (Xsync: $have_ecore_x_xcb_sync) (Xrender: $have_ecore_x_xcb_render) (Xfixes: $have_ecore_x_xcb_xfixes) (Xcomposite: $have_ecore_x_xcb_composite) (Xdamage: $have_ecore_x_xcb_damage) (Xdpms: $have_ecore_x_xcb_dpms)"
+  echo "  Ecore_X (XCB backend)........: $have_ecore_x_xcb (Xprint: $have_ecore_x_xcb_xprint) (Xinerama: $have_ecore_x_xcb_xinerama) (Xrandr: $have_ecore_x_xcb_randr) (Xscreensaver: $have_ecore_x_xcb_screensaver) (Xshape: $have_ecore_x_xcb_shape) (Xsync: $have_ecore_x_xcb_sync) (Xrender: $have_ecore_x_xcb_render) (Xfixes: $have_ecore_x_xcb_xfixes) (Xcomposite: $have_ecore_x_xcb_composite) (Xdamage: $have_ecore_x_xcb_damage) (Xdpms: $have_ecore_x_xcb_dpms) (Xtest $have_ecore_x_xcb_xtest)"
 else
-  echo "  Ecore_X (Xlib backend).......: $have_ecore_x (Xcursor: $use_Xcursor) (Xprint: $use_xprint) (Xinerama: $use_xinerama) (Xrandr: $use_xrandr) (Xscreensaver: $use_xss) (Xrender: $use_xrender) (Xcomposite: $use_xcomposite) (Xfixes: $use_xfixes) (Xdamage: $use_xdamage) (Xdpms: $use_xdpms)"
+  echo "  Ecore_X (Xlib backend).......: $have_ecore_x (Xcursor: $use_Xcursor) (Xprint: $use_xprint) (Xinerama: $use_xinerama) (Xrandr: $use_xrandr) (Xscreensaver: $use_xss) (Xrender: $use_xrender) (Xcomposite: $use_xcomposite) (Xfixes: $use_xfixes) (Xdamage: $use_xdamage) (Xdpms: $use_xdpms) (Xtest $use_xtest)"
 fi
 echo "  Ecore_Evas X11 Support.......: $have_ecore_evas_x11"
 echo "  Ecore_Evas X11 GL Support....: $have_ecore_evas_x11_gl"
diff --git a/doc/html/Ecore_8h.html b/doc/html/Ecore_8h.html
new file mode 100644
index 0000000..1d0d0eb
--- /dev/null
+++ b/doc/html/Ecore_8h.html
@@ -0,0 +1,1027 @@
+<html>
+
+<head>
+
+<title>Ecore: Ecore.h File Reference</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li id="current"><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<div class="tabs">
+  <ul>
+    <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+    <li><a href="globals.html"><span>Globals</span></a></li>
+  </ul></div>
+<h1>Ecore.h File Reference</h1>The file that provides the program utility, main loop and timer functions. <a href="#_details">More...</a>
+<p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Data Structures</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Ecore__Event__Signal__User.html">_Ecore_Event_Signal_User</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">User signal event.  <a href="struct__Ecore__Event__Signal__User.html#_details">More...</a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Ecore__Event__Signal__Hup.html">_Ecore_Event_Signal_Hup</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Hup signal event.  <a href="struct__Ecore__Event__Signal__Hup.html#_details">More...</a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Ecore__Event__Signal__Exit.html">_Ecore_Event_Signal_Exit</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Exit request event.  <a href="struct__Ecore__Event__Signal__Exit.html#_details">More...</a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Ecore__Event__Signal__Power.html">_Ecore_Event_Signal_Power</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Power event.  <a href="struct__Ecore__Event__Signal__Power.html#_details">More...</a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Ecore__Event__Signal__Realtime.html">_Ecore_Event_Signal_Realtime</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Realtime event.  <a href="struct__Ecore__Event__Signal__Realtime.html#_details">More...</a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Ecore__Exe__Event__Add.html">_Ecore_Exe_Event_Add</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Process add event.  <a href="struct__Ecore__Exe__Event__Add.html#_details">More...</a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Ecore__Exe__Event__Del.html">_Ecore_Exe_Event_Del</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Process exit event.  <a href="struct__Ecore__Exe__Event__Del.html#_details">More...</a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Ecore__Exe__Event__Data__Line.html">_Ecore_Exe_Event_Data_Line</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">&lt; Lines from a child process  <a href="struct__Ecore__Exe__Event__Data__Line.html#_details">More...</a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Ecore__Exe__Event__Data.html">_Ecore_Exe_Event_Data</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Data from a child process event.  <a href="struct__Ecore__Exe__Event__Data.html#_details">More...</a><br></td></tr>
+<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b1c2ecd8bba5f957ce06f06fc7e7743d"></a><!-- doxytag: member="Ecore.h::ECORE_EVENT_SIGNAL_USER" ref="b1c2ecd8bba5f957ce06f06fc7e7743d" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#b1c2ecd8bba5f957ce06f06fc7e7743d">ECORE_EVENT_SIGNAL_USER</a>&nbsp;&nbsp;&nbsp;1</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">User signal event. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3d04f0c2c30998957d968120659dc69f"></a><!-- doxytag: member="Ecore.h::ECORE_EVENT_SIGNAL_HUP" ref="3d04f0c2c30998957d968120659dc69f" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#3d04f0c2c30998957d968120659dc69f">ECORE_EVENT_SIGNAL_HUP</a>&nbsp;&nbsp;&nbsp;2</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Hup signal event. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0dd1e36930ae8fa8decc97564d57f310"></a><!-- doxytag: member="Ecore.h::ECORE_EVENT_SIGNAL_EXIT" ref="0dd1e36930ae8fa8decc97564d57f310" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#0dd1e36930ae8fa8decc97564d57f310">ECORE_EVENT_SIGNAL_EXIT</a>&nbsp;&nbsp;&nbsp;3</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Exit signal event. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="574bf58511179b54078843611c008811"></a><!-- doxytag: member="Ecore.h::ECORE_EVENT_SIGNAL_POWER" ref="574bf58511179b54078843611c008811" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#574bf58511179b54078843611c008811">ECORE_EVENT_SIGNAL_POWER</a>&nbsp;&nbsp;&nbsp;4</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Power signal event. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e4ce1d886fba149d60d3df1d8de05853"></a><!-- doxytag: member="Ecore.h::ECORE_EVENT_SIGNAL_REALTIME" ref="e4ce1d886fba149d60d3df1d8de05853" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#e4ce1d886fba149d60d3df1d8de05853">ECORE_EVENT_SIGNAL_REALTIME</a>&nbsp;&nbsp;&nbsp;5</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Realtime signal event. <br></td></tr>
+<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5560d4d853db434d387e818c908f394d"></a><!-- doxytag: member="Ecore.h::Ecore_Exe" ref="5560d4d853db434d387e818c908f394d" args="" -->
+typedef void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#5560d4d853db434d387e818c908f394d">Ecore_Exe</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A handle for spawned processes. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="92618001317bf801365479da38c6a870"></a><!-- doxytag: member="Ecore.h::Ecore_Timer" ref="92618001317bf801365479da38c6a870" args="" -->
+typedef void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#92618001317bf801365479da38c6a870">Ecore_Timer</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A handle for timers. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2ebd4a41bdad5b1b99cf01a03bbfbf5d"></a><!-- doxytag: member="Ecore.h::Ecore_Idler" ref="2ebd4a41bdad5b1b99cf01a03bbfbf5d" args="" -->
+typedef void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#2ebd4a41bdad5b1b99cf01a03bbfbf5d">Ecore_Idler</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A handle for idlers. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6e0b6433dfefa8b89758a98863f38581"></a><!-- doxytag: member="Ecore.h::Ecore_Idle_Enterer" ref="6e0b6433dfefa8b89758a98863f38581" args="" -->
+typedef void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#6e0b6433dfefa8b89758a98863f38581">Ecore_Idle_Enterer</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A handle for idle enterers. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c76a20c78002c2cf5249a7e1c86e8095"></a><!-- doxytag: member="Ecore.h::Ecore_Idle_Exiter" ref="c76a20c78002c2cf5249a7e1c86e8095" args="" -->
+typedef void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#c76a20c78002c2cf5249a7e1c86e8095">Ecore_Idle_Exiter</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A handle for idle exiters. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b207e5d7d1cf2f13b1ff93755f695324"></a><!-- doxytag: member="Ecore.h::Ecore_Fd_Handler" ref="b207e5d7d1cf2f13b1ff93755f695324" args="" -->
+typedef void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#b207e5d7d1cf2f13b1ff93755f695324">Ecore_Fd_Handler</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A handle for Fd hanlders. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="bb4df52ad6467371a2b4c53e2a91be65"></a><!-- doxytag: member="Ecore.h::Ecore_Event_Handler" ref="bb4df52ad6467371a2b4c53e2a91be65" args="" -->
+typedef void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#bb4df52ad6467371a2b4c53e2a91be65">Ecore_Event_Handler</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A handle for an event handler. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="44e553882342bddffe794345ccb374e8"></a><!-- doxytag: member="Ecore.h::Ecore_Event_Filter" ref="44e553882342bddffe794345ccb374e8" args="" -->
+typedef void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#44e553882342bddffe794345ccb374e8">Ecore_Event_Filter</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A handle for an event filter. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1022fefefa294c3c6be8d3f1924b4e97"></a><!-- doxytag: member="Ecore.h::Ecore_Event" ref="1022fefefa294c3c6be8d3f1924b4e97" args="" -->
+typedef void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#1022fefefa294c3c6be8d3f1924b4e97">Ecore_Event</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A handle for an event. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9ada227f6aa0096c5c1b3e7b75a61b00"></a><!-- doxytag: member="Ecore.h::Ecore_Animator" ref="9ada227f6aa0096c5c1b3e7b75a61b00" args="" -->
+typedef void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#9ada227f6aa0096c5c1b3e7b75a61b00">Ecore_Animator</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A handle for animators. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="02bd65bebca736e324b11d61f4adef45"></a><!-- doxytag: member="Ecore.h::Ecore_Event_Signal_User" ref="02bd65bebca736e324b11d61f4adef45" args="" -->
+typedef <a class="el" href="struct__Ecore__Event__Signal__User.html">_Ecore_Event_Signal_User</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#02bd65bebca736e324b11d61f4adef45">Ecore_Event_Signal_User</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">User signal event. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f3eaa720e4890961b2cf519ee5cd253d"></a><!-- doxytag: member="Ecore.h::Ecore_Event_Signal_Hup" ref="f3eaa720e4890961b2cf519ee5cd253d" args="" -->
+typedef <a class="el" href="struct__Ecore__Event__Signal__Hup.html">_Ecore_Event_Signal_Hup</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#f3eaa720e4890961b2cf519ee5cd253d">Ecore_Event_Signal_Hup</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Hup signal event. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="654cd9d55a25e2c858007967085cd2aa"></a><!-- doxytag: member="Ecore.h::Ecore_Event_Signal_Exit" ref="654cd9d55a25e2c858007967085cd2aa" args="" -->
+typedef <a class="el" href="struct__Ecore__Event__Signal__Exit.html">_Ecore_Event_Signal_Exit</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#654cd9d55a25e2c858007967085cd2aa">Ecore_Event_Signal_Exit</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Exit signal event. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="99878553b16a3f0c61eef2c4d291d7aa"></a><!-- doxytag: member="Ecore.h::Ecore_Event_Signal_Power" ref="99878553b16a3f0c61eef2c4d291d7aa" args="" -->
+typedef <a class="el" href="struct__Ecore__Event__Signal__Power.html">_Ecore_Event_Signal_Power</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#99878553b16a3f0c61eef2c4d291d7aa">Ecore_Event_Signal_Power</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Power signal event. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f4f3d2a3d3f6e525453bccf0d415c49f"></a><!-- doxytag: member="Ecore.h::Ecore_Event_Signal_Realtime" ref="f4f3d2a3d3f6e525453bccf0d415c49f" args="" -->
+typedef <a class="el" href="struct__Ecore__Event__Signal__Realtime.html">_Ecore_Event_Signal_Realtime</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#f4f3d2a3d3f6e525453bccf0d415c49f">Ecore_Event_Signal_Realtime</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Realtime signal event. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f37c080c298e92468a3f6972f57dd415"></a><!-- doxytag: member="Ecore.h::Ecore_Exe_Event_Add" ref="f37c080c298e92468a3f6972f57dd415" args="" -->
+typedef <a class="el" href="struct__Ecore__Exe__Event__Add.html">_Ecore_Exe_Event_Add</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#f37c080c298e92468a3f6972f57dd415">Ecore_Exe_Event_Add</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Spawned Exe add event. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5ce66424ac56c676b996ea162482a8e9"></a><!-- doxytag: member="Ecore.h::Ecore_Exe_Event_Del" ref="5ce66424ac56c676b996ea162482a8e9" args="" -->
+typedef <a class="el" href="struct__Ecore__Exe__Event__Del.html">_Ecore_Exe_Event_Del</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#5ce66424ac56c676b996ea162482a8e9">Ecore_Exe_Event_Del</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Spawned Exe exit event. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="09b894017e3b396266df6ed3dc3e7e81"></a><!-- doxytag: member="Ecore.h::Ecore_Exe_Event_Data_Line" ref="09b894017e3b396266df6ed3dc3e7e81" args="" -->
+typedef <a class="el" href="struct__Ecore__Exe__Event__Data__Line.html">_Ecore_Exe_Event_Data_Line</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#09b894017e3b396266df6ed3dc3e7e81">Ecore_Exe_Event_Data_Line</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Lines from a child process. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="799793cb0c71d5ab0b6fae33ce71b2ba"></a><!-- doxytag: member="Ecore.h::Ecore_Exe_Event_Data" ref="799793cb0c71d5ab0b6fae33ce71b2ba" args="" -->
+typedef <a class="el" href="struct__Ecore__Exe__Event__Data.html">_Ecore_Exe_Event_Data</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#799793cb0c71d5ab0b6fae33ce71b2ba">Ecore_Exe_Event_Data</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Data from a child process. <br></td></tr>
+<tr><td colspan="2"><br><h2>Enumerations</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#b5644f471dfa3bd182619601d9b60608">_Ecore_Fd_Handler_Flags</a> { <br>
+&nbsp;&nbsp;<a class="el" href="Ecore_8h.html#b5644f471dfa3bd182619601d9b606081699f804eccf88e7e169a4a20f1d44e7">ECORE_FD_READ</a> =  1, 
+<br>
+&nbsp;&nbsp;<a class="el" href="Ecore_8h.html#b5644f471dfa3bd182619601d9b60608654f7e6af4875742c5349c2cc55d1bab">ECORE_FD_WRITE</a> =  2, 
+<br>
+&nbsp;&nbsp;<a class="el" href="Ecore_8h.html#b5644f471dfa3bd182619601d9b60608829d91235e3ca5eba61330c96a8074de">ECORE_FD_ERROR</a> =  4
+<br>
+ }</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#6fb12d2a7c21ff1340c0f69447f91599">_Ecore_Exe_Flags</a> { <br>
+&nbsp;&nbsp;<a class="el" href="Ecore_8h.html#6fb12d2a7c21ff1340c0f69447f9159976bc9e447a456727dc2d686b4682b512">ECORE_EXE_PIPE_READ</a> =  1, 
+<br>
+&nbsp;&nbsp;<a class="el" href="Ecore_8h.html#6fb12d2a7c21ff1340c0f69447f9159983dcb150caa9f5f4ce548eaa4a92c6af">ECORE_EXE_PIPE_WRITE</a> =  2, 
+<br>
+&nbsp;&nbsp;<a class="el" href="Ecore_8h.html#6fb12d2a7c21ff1340c0f69447f91599d3f4759d4ba470d6f5504621c903011a">ECORE_EXE_PIPE_ERROR</a> =  4, 
+<br>
+&nbsp;&nbsp;<a class="el" href="Ecore_8h.html#6fb12d2a7c21ff1340c0f69447f91599e97566413d58b792e92369966ffeece5">ECORE_EXE_PIPE_READ_LINE_BUFFERED</a> =  8, 
+<br>
+&nbsp;&nbsp;<a class="el" href="Ecore_8h.html#6fb12d2a7c21ff1340c0f69447f91599a8d2dc2d658ba80c75c4fce0c2045583">ECORE_EXE_PIPE_ERROR_LINE_BUFFERED</a> =  16, 
+<br>
+&nbsp;&nbsp;<a class="el" href="Ecore_8h.html#6fb12d2a7c21ff1340c0f69447f915996abaaef6ac55c2317bdd23cf71167062">ECORE_EXE_PIPE_AUTO</a> =  32, 
+<br>
+&nbsp;&nbsp;<a class="el" href="Ecore_8h.html#6fb12d2a7c21ff1340c0f69447f91599302fabf13b4f24007eba55b9e6041132">ECORE_EXE_RESPAWN</a> =  64, 
+<br>
+&nbsp;&nbsp;<a class="el" href="Ecore_8h.html#6fb12d2a7c21ff1340c0f69447f915999ddffda12f29c003ebf2c34506779637">ECORE_EXE_USE_SH</a> =  128
+<br>
+ }</td></tr>
+
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#8af98881ecd1d24072b4fabf216754c4">ecore_init</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set up connections, signal handlers, sockets etc.  <a href="#8af98881ecd1d24072b4fabf216754c4"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#c64ef382d78a50e07af9e8c67800a57c">ecore_shutdown</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Shut down connections, signal handlers sockets etc.  <a href="#c64ef382d78a50e07af9e8c67800a57c"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#eb02de014af9bfbe960c9f70b085e229">ecore_app_args_set</a> (int argc, const char **argv)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set up the programs command-line arguments.  <a href="#eb02de014af9bfbe960c9f70b085e229"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#a74019a7622d9c4521e54580f50bd4cd">ecore_app_args_get</a> (int *argc, char ***argv)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the programs stored command-line arguments.  <a href="#a74019a7622d9c4521e54580f50bd4cd"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#af096e6a822314947a189c40a5b52a3e">ecore_app_restart</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Restart the program executable with the command-line arguments stored.  <a href="#af096e6a822314947a189c40a5b52a3e"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI <a class="el" href="Ecore_8h.html#bb4df52ad6467371a2b4c53e2a91be65">Ecore_Event_Handler</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#00cbd01c45d256722d3090e1b7bc74e1">ecore_event_handler_add</a> (int type, int(*func)(void *data, int type, void *event), const void *data)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add an event handler.  <a href="#00cbd01c45d256722d3090e1b7bc74e1"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#3e3a748d36d1c5c60bce2a8940f4e2ff">ecore_event_handler_del</a> (<a class="el" href="Ecore_8h.html#bb4df52ad6467371a2b4c53e2a91be65">Ecore_Event_Handler</a> *event_handler)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Delete an event handler.  <a href="#3e3a748d36d1c5c60bce2a8940f4e2ff"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI <a class="el" href="Ecore_8h.html#1022fefefa294c3c6be8d3f1924b4e97">Ecore_Event</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#c999f93a7d2a84546fec6db2b54ecc4a">ecore_event_add</a> (int type, void *ev, void(*func_free)(void *data, void *ev), void *data)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add an event to the event queue.  <a href="#c999f93a7d2a84546fec6db2b54ecc4a"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#1cf708f8772a4f315060a5b56ded5f2a">ecore_event_del</a> (<a class="el" href="Ecore_8h.html#1022fefefa294c3c6be8d3f1924b4e97">Ecore_Event</a> *event)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Delete an event from the queue.  <a href="#1cf708f8772a4f315060a5b56ded5f2a"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#2eecd9a96b831f5dca328048d12904c6">ecore_event_type_new</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Allocate a new event type id sensibly and return the new id.  <a href="#2eecd9a96b831f5dca328048d12904c6"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI <a class="el" href="Ecore_8h.html#44e553882342bddffe794345ccb374e8">Ecore_Event_Filter</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#e62a87ca884898ed599517cd6f5d9f74">ecore_event_filter_add</a> (void *(*func_start)(void *data), int(*func_filter)(void *data, void *loop_data, int type, void *event), void(*func_end)(void *data, void *loop_data), const void *data)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a filter the current event queue.  <a href="#e62a87ca884898ed599517cd6f5d9f74"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#9d6fad05740824f26ba4901d448f0429">ecore_event_filter_del</a> (<a class="el" href="Ecore_8h.html#44e553882342bddffe794345ccb374e8">Ecore_Event_Filter</a> *ef)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Delete an event filter.  <a href="#9d6fad05740824f26ba4901d448f0429"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#51773f3086610117744716fe2d3b5e5d">ecore_event_current_type_get</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the current event type being handled.  <a href="#51773f3086610117744716fe2d3b5e5d"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#e8d052b97c036d82d2b44f8ea7cbeb64">ecore_event_current_event_get</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the current event type pointer handled.  <a href="#e8d052b97c036d82d2b44f8ea7cbeb64"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI <a class="el" href="Ecore_8h.html#5560d4d853db434d387e818c908f394d">Ecore_Exe</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Exe__Basic__Group.html#g7ee5b2a9c3b1458395ff60287d368faa">ecore_exe_run</a> (const char *exe_cmd, const void *data)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Spawns a child process.  <a href="group__Ecore__Exe__Basic__Group.html#g7ee5b2a9c3b1458395ff60287d368faa"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI <a class="el" href="Ecore_8h.html#5560d4d853db434d387e818c908f394d">Ecore_Exe</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Exe__Basic__Group.html#g769740ce38413683fb40ddf725ac54b7">ecore_exe_pipe_run</a> (const char *exe_cmd, Ecore_Exe_Flags flags, const void *data)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Spawns a child process with its stdin/out available for communication.  <a href="group__Ecore__Exe__Basic__Group.html#g769740ce38413683fb40ddf725ac54b7"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Exe__Basic__Group.html#gcf1dfcfd5c4a7f57a85ac2369123e47e">ecore_exe_send</a> (<a class="el" href="Ecore_8h.html#5560d4d853db434d387e818c908f394d">Ecore_Exe</a> *exe, void *data, int size)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends data to the given child process which it recieves on stdin.  <a href="group__Ecore__Exe__Basic__Group.html#gcf1dfcfd5c4a7f57a85ac2369123e47e"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Exe__Basic__Group.html#gf5b870a7a134744ecbe9accb57bb8730">ecore_exe_close_stdin</a> (<a class="el" href="Ecore_8h.html#5560d4d853db434d387e818c908f394d">Ecore_Exe</a> *exe)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The stdin of the given child process will close when the write buffer is empty.  <a href="group__Ecore__Exe__Basic__Group.html#gf5b870a7a134744ecbe9accb57bb8730"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Exe__Basic__Group.html#g2ab04470c77bedbaad1ff8e23277e375">ecore_exe_auto_limits_set</a> (<a class="el" href="Ecore_8h.html#5560d4d853db434d387e818c908f394d">Ecore_Exe</a> *exe, int start_bytes, int end_bytes, int start_lines, int end_lines)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the auto pipe limits for the given process handle.  <a href="group__Ecore__Exe__Basic__Group.html#g2ab04470c77bedbaad1ff8e23277e375"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI <a class="el" href="struct__Ecore__Exe__Event__Data.html">Ecore_Exe_Event_Data</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Exe__Basic__Group.html#gce51fedd2709f26c6c82cd0135aa6dbe">ecore_exe_event_data_get</a> (<a class="el" href="Ecore_8h.html#5560d4d853db434d387e818c908f394d">Ecore_Exe</a> *exe, Ecore_Exe_Flags flags)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the auto pipe data for the given process handle.  <a href="group__Ecore__Exe__Basic__Group.html#gce51fedd2709f26c6c82cd0135aa6dbe"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Exe__Basic__Group.html#g5a0737cb4881d4c4374697335e62336b">ecore_exe_event_data_free</a> (<a class="el" href="struct__Ecore__Exe__Event__Data.html">Ecore_Exe_Event_Data</a> *data)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Frees the given event data.  <a href="group__Ecore__Exe__Basic__Group.html#g5a0737cb4881d4c4374697335e62336b"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Exe__Basic__Group.html#g07ef2b7bd313988a0d1691d7e3edcddb">ecore_exe_free</a> (<a class="el" href="Ecore_8h.html#5560d4d853db434d387e818c908f394d">Ecore_Exe</a> *exe)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Frees the given process handle.  <a href="group__Ecore__Exe__Basic__Group.html#g07ef2b7bd313988a0d1691d7e3edcddb"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI pid_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Exe__Basic__Group.html#g2677aa0958df5744ca31b1276a58ac5f">ecore_exe_pid_get</a> (<a class="el" href="Ecore_8h.html#5560d4d853db434d387e818c908f394d">Ecore_Exe</a> *exe)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the process ID of the given spawned process.  <a href="group__Ecore__Exe__Basic__Group.html#g2677aa0958df5744ca31b1276a58ac5f"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Exe__Basic__Group.html#g68245a929e914cbe4fb64c287ef3f5ae">ecore_exe_tag_set</a> (<a class="el" href="Ecore_8h.html#5560d4d853db434d387e818c908f394d">Ecore_Exe</a> *exe, const char *tag)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the string tag for the given process handle.  <a href="group__Ecore__Exe__Basic__Group.html#g68245a929e914cbe4fb64c287ef3f5ae"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Exe__Basic__Group.html#g934ea965265b697840a44f860ac4f907">ecore_exe_tag_get</a> (<a class="el" href="Ecore_8h.html#5560d4d853db434d387e818c908f394d">Ecore_Exe</a> *exe)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the tag attached to the given process handle.  <a href="group__Ecore__Exe__Basic__Group.html#g934ea965265b697840a44f860ac4f907"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Exe__Basic__Group.html#g21241b1825e413a04a1b4455e17bfb7d">ecore_exe_cmd_get</a> (<a class="el" href="Ecore_8h.html#5560d4d853db434d387e818c908f394d">Ecore_Exe</a> *exe)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the command of the given spawned process.  <a href="group__Ecore__Exe__Basic__Group.html#g21241b1825e413a04a1b4455e17bfb7d"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Exe__Basic__Group.html#ge83b4ac303698d508d56953f153bd767">ecore_exe_data_get</a> (<a class="el" href="Ecore_8h.html#5560d4d853db434d387e818c908f394d">Ecore_Exe</a> *exe)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the data attached to the given process handle.  <a href="group__Ecore__Exe__Basic__Group.html#ge83b4ac303698d508d56953f153bd767"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Exe__Signal__Group.html#g390ff3fbd834c483cb3b52701061b224">ecore_exe_pause</a> (<a class="el" href="Ecore_8h.html#5560d4d853db434d387e818c908f394d">Ecore_Exe</a> *exe)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Pauses the given process by sending it a <code>SIGSTOP</code> signal.  <a href="group__Ecore__Exe__Signal__Group.html#g390ff3fbd834c483cb3b52701061b224"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Exe__Signal__Group.html#gb2a1c0e6b97362a08b043a53bb2167e9">ecore_exe_continue</a> (<a class="el" href="Ecore_8h.html#5560d4d853db434d387e818c908f394d">Ecore_Exe</a> *exe)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Continues the given paused process by sending it a <code>SIGCONT</code> signal.  <a href="group__Ecore__Exe__Signal__Group.html#gb2a1c0e6b97362a08b043a53bb2167e9"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Exe__Signal__Group.html#g181cf5546257df38243b82164317450d">ecore_exe_terminate</a> (<a class="el" href="Ecore_8h.html#5560d4d853db434d387e818c908f394d">Ecore_Exe</a> *exe)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the given spawned process a terminate (<code>SIGTERM</code>) signal.  <a href="group__Ecore__Exe__Signal__Group.html#g181cf5546257df38243b82164317450d"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Exe__Signal__Group.html#ga1f87cd678eacacd8742a49703f94128">ecore_exe_kill</a> (<a class="el" href="Ecore_8h.html#5560d4d853db434d387e818c908f394d">Ecore_Exe</a> *exe)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Kills the given spawned process by sending it a <code>SIGKILL</code> signal.  <a href="group__Ecore__Exe__Signal__Group.html#ga1f87cd678eacacd8742a49703f94128"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Exe__Signal__Group.html#g293b5baa7703e113e7444f21855f7b95">ecore_exe_signal</a> (<a class="el" href="Ecore_8h.html#5560d4d853db434d387e818c908f394d">Ecore_Exe</a> *exe, int num)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends a <code>SIGUSR</code> signal to the given spawned process.  <a href="group__Ecore__Exe__Signal__Group.html#g293b5baa7703e113e7444f21855f7b95"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Exe__Signal__Group.html#ge50008a47cf6d717a8d2266b8b7fae57">ecore_exe_hup</a> (<a class="el" href="Ecore_8h.html#5560d4d853db434d387e818c908f394d">Ecore_Exe</a> *exe)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends a <code>SIGHUP</code> signal to the given spawned process.  <a href="group__Ecore__Exe__Signal__Group.html#ge50008a47cf6d717a8d2266b8b7fae57"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI <a class="el" href="Ecore_8h.html#2ebd4a41bdad5b1b99cf01a03bbfbf5d">Ecore_Idler</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Idle__Group.html#gf8f5b98c20b770bdca63a4e1c05baa5d">ecore_idler_add</a> (int(*func)(void *data), const void *data)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add an idler handler.  <a href="group__Idle__Group.html#gf8f5b98c20b770bdca63a4e1c05baa5d"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Idle__Group.html#g280c1e88b0af4e829b4c543d51d14d7b">ecore_idler_del</a> (<a class="el" href="Ecore_8h.html#2ebd4a41bdad5b1b99cf01a03bbfbf5d">Ecore_Idler</a> *idler)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Delete an idler callback from the list to be executed.  <a href="group__Idle__Group.html#g280c1e88b0af4e829b4c543d51d14d7b"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI <a class="el" href="Ecore_8h.html#6e0b6433dfefa8b89758a98863f38581">Ecore_Idle_Enterer</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Idle__Group.html#gb6c0951fcf365487f9d5da6d448bcedf">ecore_idle_enterer_add</a> (int(*func)(void *data), const void *data)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add an idle enterer handler.  <a href="group__Idle__Group.html#gb6c0951fcf365487f9d5da6d448bcedf"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Idle__Group.html#g27c437b6e8838785aff5df4861ae7649">ecore_idle_enterer_del</a> (<a class="el" href="Ecore_8h.html#6e0b6433dfefa8b89758a98863f38581">Ecore_Idle_Enterer</a> *idle_enterer)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Delete an idle enterer callback.  <a href="group__Idle__Group.html#g27c437b6e8838785aff5df4861ae7649"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI <a class="el" href="Ecore_8h.html#c76a20c78002c2cf5249a7e1c86e8095">Ecore_Idle_Exiter</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Idle__Group.html#g340847383518405a92b5f1a619edc72b">ecore_idle_exiter_add</a> (int(*func)(void *data), const void *data)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add an idle exiter handler.  <a href="group__Idle__Group.html#g340847383518405a92b5f1a619edc72b"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Idle__Group.html#gee428c5d4cfe03779cb19e44acb11823">ecore_idle_exiter_del</a> (<a class="el" href="Ecore_8h.html#c76a20c78002c2cf5249a7e1c86e8095">Ecore_Idle_Exiter</a> *idle_exiter)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Delete an idle exiter handler from the list to be run on exiting idle state.  <a href="group__Idle__Group.html#gee428c5d4cfe03779cb19e44acb11823"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g7f5463c1d4f3f020968ed06d6e5816cb"></a><!-- doxytag: member="Ecore.h::ecore_main_loop_iterate" ref="g7f5463c1d4f3f020968ed06d6e5816cb" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Main__Loop__Group.html#g7f5463c1d4f3f020968ed06d6e5816cb">ecore_main_loop_iterate</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Runs a single iteration of the main loop to process everything on the queue. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Main__Loop__Group.html#g04daa7648a9d027bed25d27c150fdda7">ecore_main_loop_begin</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Runs the application main loop.  <a href="group__Ecore__Main__Loop__Group.html#g04daa7648a9d027bed25d27c150fdda7"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g329898ea4b32333c12c34cfde48326fd"></a><!-- doxytag: member="Ecore.h::ecore_main_loop_quit" ref="g329898ea4b32333c12c34cfde48326fd" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Main__Loop__Group.html#g329898ea4b32333c12c34cfde48326fd">ecore_main_loop_quit</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Quits the main loop once all the events currently on the queue have been processed. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI <a class="el" href="Ecore_8h.html#b207e5d7d1cf2f13b1ff93755f695324">Ecore_Fd_Handler</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__FD__Handler__Group.html#g6c0a9974e998e5b17c88b74e7eb4e852">ecore_main_fd_handler_add</a> (int fd, Ecore_Fd_Handler_Flags flags, int(*func)(void *data, <a class="el" href="Ecore_8h.html#b207e5d7d1cf2f13b1ff93755f695324">Ecore_Fd_Handler</a> *fd_handler), const void *data, int(*buf_func)(void *buf_data, <a class="el" href="Ecore_8h.html#b207e5d7d1cf2f13b1ff93755f695324">Ecore_Fd_Handler</a> *fd_handler), const void *buf_data)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Adds a callback for activity on the given file descriptor.  <a href="group__Ecore__FD__Handler__Group.html#g6c0a9974e998e5b17c88b74e7eb4e852"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__FD__Handler__Group.html#gd3f12bb7aa3b4240f001dcb27319eec2">ecore_main_fd_handler_del</a> (<a class="el" href="Ecore_8h.html#b207e5d7d1cf2f13b1ff93755f695324">Ecore_Fd_Handler</a> *fd_handler)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Deletes the given FD handler.  <a href="group__Ecore__FD__Handler__Group.html#gd3f12bb7aa3b4240f001dcb27319eec2"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__FD__Handler__Group.html#gbc14e9f2f670e1b1334949e142f858b6">ecore_main_fd_handler_fd_get</a> (<a class="el" href="Ecore_8h.html#b207e5d7d1cf2f13b1ff93755f695324">Ecore_Fd_Handler</a> *fd_handler)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the file descriptor that the given handler is handling.  <a href="group__Ecore__FD__Handler__Group.html#gbc14e9f2f670e1b1334949e142f858b6"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__FD__Handler__Group.html#g23b775f4dd6d59c83b1066139ddaeb57">ecore_main_fd_handler_active_get</a> (<a class="el" href="Ecore_8h.html#b207e5d7d1cf2f13b1ff93755f695324">Ecore_Fd_Handler</a> *fd_handler, Ecore_Fd_Handler_Flags flags)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return if read, write or error, or a combination thereof, is active on the file descriptor of the given FD handler.  <a href="group__Ecore__FD__Handler__Group.html#g23b775f4dd6d59c83b1066139ddaeb57"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__FD__Handler__Group.html#g8e1cecdf75529a274b28df1544e9aec0">ecore_main_fd_handler_active_set</a> (<a class="el" href="Ecore_8h.html#b207e5d7d1cf2f13b1ff93755f695324">Ecore_Fd_Handler</a> *fd_handler, Ecore_Fd_Handler_Flags flags)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set what active streams the given FD handler should be monitoring.  <a href="group__Ecore__FD__Handler__Group.html#g8e1cecdf75529a274b28df1544e9aec0"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Time__Group.html#g43846b079394bb4d098abf5c16dfc544">ecore_time_get</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the current system time as a floating point value in seconds.  <a href="group__Ecore__Time__Group.html#g43846b079394bb4d098abf5c16dfc544"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI <a class="el" href="Ecore_8h.html#92618001317bf801365479da38c6a870">Ecore_Timer</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Time__Group.html#g8b8fb1c64bf42bc5be09d2f05df51813">ecore_timer_add</a> (double in, int(*func)(void *data), const void *data)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a timer to call the given function in the given period of time.  <a href="group__Ecore__Time__Group.html#g8b8fb1c64bf42bc5be09d2f05df51813"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Time__Group.html#gb182e4c0e65b5b7241f7249de1b1039c">ecore_timer_del</a> (<a class="el" href="Ecore_8h.html#92618001317bf801365479da38c6a870">Ecore_Timer</a> *timer)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Delete the specified timer from the timer list.  <a href="group__Ecore__Time__Group.html#gb182e4c0e65b5b7241f7249de1b1039c"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Time__Group.html#g7e3453623b90b1e182df46976c11d1e3">ecore_timer_interval_set</a> (<a class="el" href="Ecore_8h.html#92618001317bf801365479da38c6a870">Ecore_Timer</a> *timer, double in)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Change the interval the timer ticks of.  <a href="group__Ecore__Time__Group.html#g7e3453623b90b1e182df46976c11d1e3"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI <a class="el" href="Ecore_8h.html#9ada227f6aa0096c5c1b3e7b75a61b00">Ecore_Animator</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#471cfa6247a477b148112ff824578d33">ecore_animator_add</a> (int(*func)(void *data), const void *data)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a animator to tick off at every animaton tick during main loop execution.  <a href="#471cfa6247a477b148112ff824578d33"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#be305ca44ea97aa64cb8eb9d4411a18e">ecore_animator_del</a> (<a class="el" href="Ecore_8h.html#9ada227f6aa0096c5c1b3e7b75a61b00">Ecore_Animator</a> *animator)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Delete the specified animator from the animator list.  <a href="#be305ca44ea97aa64cb8eb9d4411a18e"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#991995e7fe58c88992f6620e98304ec0">ecore_animator_frametime_set</a> (double frametime)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the animator call interval in seconds.  <a href="#991995e7fe58c88992f6620e98304ec0"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#8175a8a4f4299bc48059e4884a0c2aab">ecore_animator_frametime_get</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the animator call interval in seconds.  <a href="#8175a8a4f4299bc48059e4884a0c2aab"></a><br></td></tr>
+<tr><td colspan="2"><br><h2>Variables</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1d5f764613eda9fd965c8c772381c09f"></a><!-- doxytag: member="Ecore.h::ECORE_EXE_EVENT_ADD" ref="1d5f764613eda9fd965c8c772381c09f" args="" -->
+EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#1d5f764613eda9fd965c8c772381c09f">ECORE_EXE_EVENT_ADD</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A child process has been added. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="95be6a579ad942b068b064ac6896e92f"></a><!-- doxytag: member="Ecore.h::ECORE_EXE_EVENT_DEL" ref="95be6a579ad942b068b064ac6896e92f" args="" -->
+EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#95be6a579ad942b068b064ac6896e92f">ECORE_EXE_EVENT_DEL</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A child process has been deleted (it exited, naming consistant with the rest of ecore). <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5c071e00f68fca5cbb414d2faad9acb7"></a><!-- doxytag: member="Ecore.h::ECORE_EXE_EVENT_DATA" ref="5c071e00f68fca5cbb414d2faad9acb7" args="" -->
+EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#5c071e00f68fca5cbb414d2faad9acb7">ECORE_EXE_EVENT_DATA</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Data from a child process. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e52cdfa67c6d91f67266762dff8b5e22"></a><!-- doxytag: member="Ecore.h::ECORE_EXE_EVENT_ERROR" ref="e52cdfa67c6d91f67266762dff8b5e22" args="" -->
+EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#e52cdfa67c6d91f67266762dff8b5e22">ECORE_EXE_EVENT_ERROR</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Errors from a child process. <br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+The file that provides the program utility, main loop and timer functions. 
+<p>
+This header provides the Ecore event handling loop. For more details, see <a class="el" href="group__Ecore__Main__Loop__Group.html">Main Loop Functions</a>.<p>
+For the main loop to be of any use, you need to be able to add events and event handlers. Events for file descriptor events are covered in <a class="el" href="group__Ecore__FD__Handler__Group.html">File Event Handling Functions</a>.<p>
+Time functions are covered in <a class="el" href="group__Ecore__Time__Group.html">Ecore Time Functions</a>.<p>
+There is also provision for callbacks for when the loop enters or exits an idle state. See <a class="el" href="group__Idle__Group.html">Idle Handlers</a> for more information.<p>
+Functions are also provided for spawning child processes using fork. See <a class="el" href="group__Ecore__Exe__Basic__Group.html">Process Spawning Functions</a> and <a class="el" href="group__Ecore__Exe__Signal__Group.html">Spawned Process Signal Functions</a> for more details. <hr><h2>Enumeration Type Documentation</h2>
+<a class="anchor" name="6fb12d2a7c21ff1340c0f69447f91599"></a><!-- doxytag: member="Ecore.h::_Ecore_Exe_Flags" ref="6fb12d2a7c21ff1340c0f69447f91599" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">enum <a class="el" href="Ecore_8h.html#6fb12d2a7c21ff1340c0f69447f91599">_Ecore_Exe_Flags</a>          </td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+<dl compact><dt><b>Enumerator: </b></dt><dd>
+<table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" name="6fb12d2a7c21ff1340c0f69447f9159976bc9e447a456727dc2d686b4682b512"></a><!-- doxytag: member="ECORE_EXE_PIPE_READ" ref="6fb12d2a7c21ff1340c0f69447f9159976bc9e447a456727dc2d686b4682b512" args="" -->ECORE_EXE_PIPE_READ</em>&nbsp;</td><td>
+Exe Pipe Read mask. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="6fb12d2a7c21ff1340c0f69447f9159983dcb150caa9f5f4ce548eaa4a92c6af"></a><!-- doxytag: member="ECORE_EXE_PIPE_WRITE" ref="6fb12d2a7c21ff1340c0f69447f9159983dcb150caa9f5f4ce548eaa4a92c6af" args="" -->ECORE_EXE_PIPE_WRITE</em>&nbsp;</td><td>
+Exe Pipe Write mask. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="6fb12d2a7c21ff1340c0f69447f91599d3f4759d4ba470d6f5504621c903011a"></a><!-- doxytag: member="ECORE_EXE_PIPE_ERROR" ref="6fb12d2a7c21ff1340c0f69447f91599d3f4759d4ba470d6f5504621c903011a" args="" -->ECORE_EXE_PIPE_ERROR</em>&nbsp;</td><td>
+Exe Pipe error mask. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="6fb12d2a7c21ff1340c0f69447f91599e97566413d58b792e92369966ffeece5"></a><!-- doxytag: member="ECORE_EXE_PIPE_READ_LINE_BUFFERED" ref="6fb12d2a7c21ff1340c0f69447f91599e97566413d58b792e92369966ffeece5" args="" -->ECORE_EXE_PIPE_READ_LINE_BUFFERED</em>&nbsp;</td><td>
+Reads are buffered until a newline and delivered 1 event per line. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="6fb12d2a7c21ff1340c0f69447f91599a8d2dc2d658ba80c75c4fce0c2045583"></a><!-- doxytag: member="ECORE_EXE_PIPE_ERROR_LINE_BUFFERED" ref="6fb12d2a7c21ff1340c0f69447f91599a8d2dc2d658ba80c75c4fce0c2045583" args="" -->ECORE_EXE_PIPE_ERROR_LINE_BUFFERED</em>&nbsp;</td><td>
+Errors are buffered until a newline and delivered 1 event per line. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="6fb12d2a7c21ff1340c0f69447f915996abaaef6ac55c2317bdd23cf71167062"></a><!-- doxytag: member="ECORE_EXE_PIPE_AUTO" ref="6fb12d2a7c21ff1340c0f69447f915996abaaef6ac55c2317bdd23cf71167062" args="" -->ECORE_EXE_PIPE_AUTO</em>&nbsp;</td><td>
+stdout and stderr are buffered automatically </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="6fb12d2a7c21ff1340c0f69447f91599302fabf13b4f24007eba55b9e6041132"></a><!-- doxytag: member="ECORE_EXE_RESPAWN" ref="6fb12d2a7c21ff1340c0f69447f91599302fabf13b4f24007eba55b9e6041132" args="" -->ECORE_EXE_RESPAWN</em>&nbsp;</td><td>
+FIXME: Exe is restarted if it dies. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="6fb12d2a7c21ff1340c0f69447f915999ddffda12f29c003ebf2c34506779637"></a><!-- doxytag: member="ECORE_EXE_USE_SH" ref="6fb12d2a7c21ff1340c0f69447f915999ddffda12f29c003ebf2c34506779637" args="" -->ECORE_EXE_USE_SH</em>&nbsp;</td><td>
+Use /bin/sh to run the command. </td></tr>
+</table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="b5644f471dfa3bd182619601d9b60608"></a><!-- doxytag: member="Ecore.h::_Ecore_Fd_Handler_Flags" ref="b5644f471dfa3bd182619601d9b60608" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">enum <a class="el" href="Ecore_8h.html#b5644f471dfa3bd182619601d9b60608">_Ecore_Fd_Handler_Flags</a>          </td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+<dl compact><dt><b>Enumerator: </b></dt><dd>
+<table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" name="b5644f471dfa3bd182619601d9b606081699f804eccf88e7e169a4a20f1d44e7"></a><!-- doxytag: member="ECORE_FD_READ" ref="b5644f471dfa3bd182619601d9b606081699f804eccf88e7e169a4a20f1d44e7" args="" -->ECORE_FD_READ</em>&nbsp;</td><td>
+Fd Read mask. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="b5644f471dfa3bd182619601d9b60608654f7e6af4875742c5349c2cc55d1bab"></a><!-- doxytag: member="ECORE_FD_WRITE" ref="b5644f471dfa3bd182619601d9b60608654f7e6af4875742c5349c2cc55d1bab" args="" -->ECORE_FD_WRITE</em>&nbsp;</td><td>
+Fd Write mask. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="b5644f471dfa3bd182619601d9b60608829d91235e3ca5eba61330c96a8074de"></a><!-- doxytag: member="ECORE_FD_ERROR" ref="b5644f471dfa3bd182619601d9b60608829d91235e3ca5eba61330c96a8074de" args="" -->ECORE_FD_ERROR</em>&nbsp;</td><td>
+Fd Error mask. </td></tr>
+</table>
+</dl>
+
+</div>
+</div><p>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="471cfa6247a477b148112ff824578d33"></a><!-- doxytag: member="Ecore.h::ecore_animator_add" ref="471cfa6247a477b148112ff824578d33" args="(int(*func)(void *data), const void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="Ecore_8h.html#9ada227f6aa0096c5c1b3e7b75a61b00">Ecore_Animator</a>* ecore_animator_add           </td>
+          <td>(</td>
+          <td class="paramtype">int(*)(void *data)&nbsp;</td>
+          <td class="paramname"> <em>func</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Add a animator to tick off at every animaton tick during main loop execution. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>func</em>&nbsp;</td><td>The function to call when it ticks off </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>The data to pass to the function </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>A handle to the new animator</dd></dl>
+This function adds a animator and returns its handle on success and NULL on failure. The function <code>func</code> will be called every N seconds where N is the frametime interval set by <a class="el" href="Ecore_8h.html#991995e7fe58c88992f6620e98304ec0">ecore_animator_frametime_set()</a>. The function will be passed the <code>data</code> pointer as its parameter.<p>
+When the animator <code>func</code> is called, it must return a value of either 1 or 0. If it returns 1, it will be called again at the next tick, or if it returns 0 it will be deleted automatically making any references/handles for it invalid. 
+</div>
+</div><p>
+<a class="anchor" name="be305ca44ea97aa64cb8eb9d4411a18e"></a><!-- doxytag: member="Ecore.h::ecore_animator_del" ref="be305ca44ea97aa64cb8eb9d4411a18e" args="(Ecore_Animator *animator)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void* ecore_animator_del           </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="Ecore_8h.html#9ada227f6aa0096c5c1b3e7b75a61b00">Ecore_Animator</a> *&nbsp;</td>
+          <td class="paramname"> <em>animator</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Delete the specified animator from the animator list. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>animator</em>&nbsp;</td><td>The animator to delete </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The data pointer set for the animator</dd></dl>
+Delete the specified <code>aqnimator</code> from the set of animators that are executed during main loop execution. This function returns the data parameter that was being passed to the callback on success, or NULL on failure. After this call returns the specified animator object <code>animator</code> is invalid and should not be used again. It will not get called again after deletion. 
+</div>
+</div><p>
+<a class="anchor" name="8175a8a4f4299bc48059e4884a0c2aab"></a><!-- doxytag: member="Ecore.h::ecore_animator_frametime_get" ref="8175a8a4f4299bc48059e4884a0c2aab" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI double ecore_animator_frametime_get           </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Get the animator call interval in seconds. 
+<p>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The time in second in between animator ticks.</dd></dl>
+this function retrieves the time inbetween animator ticks, in seconds. 
+</div>
+</div><p>
+<a class="anchor" name="991995e7fe58c88992f6620e98304ec0"></a><!-- doxytag: member="Ecore.h::ecore_animator_frametime_set" ref="991995e7fe58c88992f6620e98304ec0" args="(double frametime)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_animator_frametime_set           </td>
+          <td>(</td>
+          <td class="paramtype">double&nbsp;</td>
+          <td class="paramname"> <em>frametime</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set the animator call interval in seconds. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>frametime</em>&nbsp;</td><td>The time in seconds in between animator ticks.</td></tr>
+  </table>
+</dl>
+This function sets the time interval (in seconds) inbetween animator ticks. 
+</div>
+</div><p>
+<a class="anchor" name="a74019a7622d9c4521e54580f50bd4cd"></a><!-- doxytag: member="Ecore.h::ecore_app_args_get" ref="a74019a7622d9c4521e54580f50bd4cd" args="(int *argc, char ***argv)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_app_args_get           </td>
+          <td>(</td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>argc</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">char ***&nbsp;</td>
+          <td class="paramname"> <em>argv</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Return the programs stored command-line arguments. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>argc</em>&nbsp;</td><td>A pointer to the return value to hold argc </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>argv</em>&nbsp;</td><td>A pointer to the return value to hold argv</td></tr>
+  </table>
+</dl>
+When called, this funciton returns the arguments for the program stored by <a class="el" href="Ecore_8h.html#eb02de014af9bfbe960c9f70b085e229">ecore_app_args_set()</a>. The integer pointed to by <code>argc</code> will be filled, if the pointer is not NULL, and the string array pointer <code>argv</code> will be filled also if the pointer is not NULL. The values they are filled with will be the same set by <a class="el" href="Ecore_8h.html#eb02de014af9bfbe960c9f70b085e229">ecore_app_args_set()</a>. 
+</div>
+</div><p>
+<a class="anchor" name="eb02de014af9bfbe960c9f70b085e229"></a><!-- doxytag: member="Ecore.h::ecore_app_args_set" ref="eb02de014af9bfbe960c9f70b085e229" args="(int argc, const char **argv)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_app_args_set           </td>
+          <td>(</td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>argc</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char **&nbsp;</td>
+          <td class="paramname"> <em>argv</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set up the programs command-line arguments. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>argc</em>&nbsp;</td><td>The same as passed as argc to the programs main() function </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>argv</em>&nbsp;</td><td>The same as passed as argv to the programs main() function</td></tr>
+  </table>
+</dl>
+A call to this function will store the programs command-line arguments for later use by <a class="el" href="Ecore_8h.html#af096e6a822314947a189c40a5b52a3e">ecore_app_restart()</a> or <a class="el" href="Ecore_8h.html#a74019a7622d9c4521e54580f50bd4cd">ecore_app_args_get()</a>. 
+</div>
+</div><p>
+<a class="anchor" name="af096e6a822314947a189c40a5b52a3e"></a><!-- doxytag: member="Ecore.h::ecore_app_restart" ref="af096e6a822314947a189c40a5b52a3e" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_app_restart           </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Restart the program executable with the command-line arguments stored. 
+<p>
+This function will restart &amp; re-execute this program in place of itself using the command-line arguments stored by <a class="el" href="Ecore_8h.html#eb02de014af9bfbe960c9f70b085e229">ecore_app_args_set()</a>. This is an easy way for a program to restart itself for cleanup purposes, configuration reasons or in the event of a crash. 
+</div>
+</div><p>
+<a class="anchor" name="c999f93a7d2a84546fec6db2b54ecc4a"></a><!-- doxytag: member="Ecore.h::ecore_event_add" ref="c999f93a7d2a84546fec6db2b54ecc4a" args="(int type, void *ev, void(*func_free)(void *data, void *ev), void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="Ecore_8h.html#1022fefefa294c3c6be8d3f1924b4e97">Ecore_Event</a>* ecore_event_add           </td>
+          <td>(</td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>type</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void *&nbsp;</td>
+          <td class="paramname"> <em>ev</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void(*)(void *data, void *ev)&nbsp;</td>
+          <td class="paramname"> <em>func_free</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Add an event to the event queue. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>type</em>&nbsp;</td><td>The event type to add to the end of the event queue </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>ev</em>&nbsp;</td><td>The private data structure for this event type </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>func_free</em>&nbsp;</td><td>The function to be called to free this private structure </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>The data pointer to be passed to the free function </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>A Handle for that event</dd></dl>
+On success this function returns a handle to an event on the event queue, or NULL if it fails. If it succeeds, an event of type <code>type</code> will be added to the queue for processing by event handlers added by <a class="el" href="Ecore_8h.html#00cbd01c45d256722d3090e1b7bc74e1">ecore_event_handler_add()</a>. The <code>ev</code> parameter will be a pointer to the event private data that is specific to that event type. When the event is no longer needed, <code>func_free</code> will be called and passed the private structure pointer for cleaning up. If <code>func_free</code> is NULL, free() will be called with the private structure pointer. func_free is passed <code>data</code> as its data parameter. 
+</div>
+</div><p>
+<a class="anchor" name="e8d052b97c036d82d2b44f8ea7cbeb64"></a><!-- doxytag: member="Ecore.h::ecore_event_current_event_get" ref="e8d052b97c036d82d2b44f8ea7cbeb64" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void* ecore_event_current_event_get           </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Return the current event type pointer handled. 
+<p>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The current event pointer being handled if inside a handler callback</dd></dl>
+If the program is currently inside an Ecore event handler callback this will return the pointer of the current event being processed. If Ecore is not inside an event handler, NULL will be returned.<p>
+This is useful when certain Ecore modules such as Ecore_Evas "swallow" events and not all the original information is passed on. In special cases this extra information may be useful or needed and using this call can let the program access the event data if the type of the event is handled by the program. 
+</div>
+</div><p>
+<a class="anchor" name="51773f3086610117744716fe2d3b5e5d"></a><!-- doxytag: member="Ecore.h::ecore_event_current_type_get" ref="51773f3086610117744716fe2d3b5e5d" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_event_current_type_get           </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Return the current event type being handled. 
+<p>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The current event type being handled if inside a handler callback</dd></dl>
+If the program is currently inside an Ecore event handler callback this will return the type of the current event being processed. If Ecore is not inside an event handler, ECORE_EVENT_NONE is returned.<p>
+This is useful when certain Ecore modules such as Ecore_Evas "swallow" events and not all the original information is passed on. In special cases this extra information may be useful or needed and using this call can let the program know if the event type being handled is one it wants to get more information about. 
+</div>
+</div><p>
+<a class="anchor" name="1cf708f8772a4f315060a5b56ded5f2a"></a><!-- doxytag: member="Ecore.h::ecore_event_del" ref="1cf708f8772a4f315060a5b56ded5f2a" args="(Ecore_Event *event)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void* ecore_event_del           </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="Ecore_8h.html#1022fefefa294c3c6be8d3f1924b4e97">Ecore_Event</a> *&nbsp;</td>
+          <td class="paramname"> <em>event</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Delete an event from the queue. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>event</em>&nbsp;</td><td>The event handle to delete </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The data pointer originally set for the event free function</dd></dl>
+This deletes the event <code>event</code> from the event queue, and returns the <code>data</code> parameer originally set when adding it with <a class="el" href="Ecore_8h.html#c999f93a7d2a84546fec6db2b54ecc4a">ecore_event_add()</a>. This does not immediately call the free function, and it may be called later on cleanup, and so if the free function depends on the data pointer to work, you should defer cleaning of this till the free function is called later. 
+</div>
+</div><p>
+<a class="anchor" name="e62a87ca884898ed599517cd6f5d9f74"></a><!-- doxytag: member="Ecore.h::ecore_event_filter_add" ref="e62a87ca884898ed599517cd6f5d9f74" args="(void *(*func_start)(void *data), int(*func_filter)(void *data, void *loop_data, int type, void *event), void(*func_end)(void *data, void *loop_data), const void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="Ecore_8h.html#44e553882342bddffe794345ccb374e8">Ecore_Event_Filter</a>* ecore_event_filter_add           </td>
+          <td>(</td>
+          <td class="paramtype">void *(*)(void *data)&nbsp;</td>
+          <td class="paramname"> <em>func_start</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int(*)(void *data, void *loop_data, int type, void *event)&nbsp;</td>
+          <td class="paramname"> <em>func_filter</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void(*)(void *data, void *loop_data)&nbsp;</td>
+          <td class="paramname"> <em>func_end</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Add a filter the current event queue. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>func_start</em>&nbsp;</td><td>Function to call just before filtering and return data </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>func_filter</em>&nbsp;</td><td>Function to call on each event </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>func_end</em>&nbsp;</td><td>Function to call after the queu has been filtered </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>Data to pass to the filter functions </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>A filter handle</dd></dl>
+This adds a filter to call callbacks to loop through the event queue and filter events out of the queue. On failure NULL is returned. On success a Filter handle is returned. Filters are called on the queue just before Event handler processing to try and remove redundant events. Just as processing starts <code>func_start</code> is called and passed the <code>data</code> pointer. This function returns a pointer that is used as loop_data that is now passed to <code>func_filter</code> as loop_data. <code>func_filter</code> is also passed <code>data</code> and the event type and private event structure. If this callback returns 0, the event is removed from the queue. If it returns 1, the event is kept. When processing is finished <code>func_end</code> is called and is passed the loop_data and <code>data</code> pointer to clean up. 
+</div>
+</div><p>
+<a class="anchor" name="9d6fad05740824f26ba4901d448f0429"></a><!-- doxytag: member="Ecore.h::ecore_event_filter_del" ref="9d6fad05740824f26ba4901d448f0429" args="(Ecore_Event_Filter *ef)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void* ecore_event_filter_del           </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="Ecore_8h.html#44e553882342bddffe794345ccb374e8">Ecore_Event_Filter</a> *&nbsp;</td>
+          <td class="paramname"> <em>ef</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Delete an event filter. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>ef</em>&nbsp;</td><td>The event filter handle </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The data set for the filter</dd></dl>
+Delete a filter that has been added by its <code>ef</code> handle. On success this will return the data pointer set when this filter was added. On failure NULL is returned. 
+</div>
+</div><p>
+<a class="anchor" name="00cbd01c45d256722d3090e1b7bc74e1"></a><!-- doxytag: member="Ecore.h::ecore_event_handler_add" ref="00cbd01c45d256722d3090e1b7bc74e1" args="(int type, int(*func)(void *data, int type, void *event), const void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="Ecore_8h.html#bb4df52ad6467371a2b4c53e2a91be65">Ecore_Event_Handler</a>* ecore_event_handler_add           </td>
+          <td>(</td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>type</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int(*)(void *data, int type, void *event)&nbsp;</td>
+          <td class="paramname"> <em>func</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Add an event handler. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>type</em>&nbsp;</td><td>The type of the event this handler will get called for </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>func</em>&nbsp;</td><td>The function to call when the event is found in the queue </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>A data pointer to pass to the called function <code>func</code> </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>A new Event handler, or NULL on failure</dd></dl>
+Add an event handler to the list of handlers. This will, on success, return a handle to the event handler object that was created, that can be used later to remove the handler using <a class="el" href="Ecore_8h.html#3e3a748d36d1c5c60bce2a8940f4e2ff">ecore_event_handler_del()</a>. The <code>type</code> parameter is the iteger of the event type that will trigger this callback to be called. The callback <code>func</code> is called when this event is processed and will be passed the event type, a pointer to the private event structure that is specific to that event type, and a data pointer that is provided in this call as the <code>data</code> parameter.<p>
+When the callback <code>func</code> is called, it must return 1 or 0. If it returns 1, It will keep being called as per normal, for each handler set up for that event type. If it returns 0, it will cease processing handlers for that particular event, so all handler set to handle that event type that have not already been called, will not be. 
+</div>
+</div><p>
+<a class="anchor" name="3e3a748d36d1c5c60bce2a8940f4e2ff"></a><!-- doxytag: member="Ecore.h::ecore_event_handler_del" ref="3e3a748d36d1c5c60bce2a8940f4e2ff" args="(Ecore_Event_Handler *event_handler)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void* ecore_event_handler_del           </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="Ecore_8h.html#bb4df52ad6467371a2b4c53e2a91be65">Ecore_Event_Handler</a> *&nbsp;</td>
+          <td class="paramname"> <em>event_handler</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Delete an event handler. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>event_handler</em>&nbsp;</td><td>Event handler handle to delete </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>Data passed to handler</dd></dl>
+Delete a specified event handler from the handler list. On success this will delete the event handler and return the pointer passed as <code>data</code> when the handler was added by <a class="el" href="Ecore_8h.html#00cbd01c45d256722d3090e1b7bc74e1">ecore_event_handler_add()</a>. On failure NULL will be returned. Once a handler is deleted it will no longer be called. 
+</div>
+</div><p>
+<a class="anchor" name="2eecd9a96b831f5dca328048d12904c6"></a><!-- doxytag: member="Ecore.h::ecore_event_type_new" ref="2eecd9a96b831f5dca328048d12904c6" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_event_type_new           </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Allocate a new event type id sensibly and return the new id. 
+<p>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>A new event type id.</dd></dl>
+This function allocates a new event type id and returns it. Once an event type has been allocated it can never be de-allocated during the life of the program. There is no guarantee of the contents of this event ID, or how it is calculated, except that the ID will be unique to the current instance of the process. 
+</div>
+</div><p>
+<a class="anchor" name="8af98881ecd1d24072b4fabf216754c4"></a><!-- doxytag: member="Ecore.h::ecore_init" ref="8af98881ecd1d24072b4fabf216754c4" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_init           </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set up connections, signal handlers, sockets etc. 
+<p>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 or greater on success, 0 otherwise</dd></dl>
+This function sets up all singal handlers and the basic event loop. If it succeeds, 1 will be returned, otherwise 0 will be returned.<p>
+<div class="fragment"><pre class="fragment"><span class="preprocessor"> #include &lt;<a class="code" href="Ecore_8h.html">Ecore.h</a>&gt;</span>
+
+ <span class="keywordtype">int</span> main(<span class="keywordtype">int</span> argc, <span class="keywordtype">char</span> **argv)
+ {
+   <span class="keywordflow">if</span> (!ecore_init())
+   {
+     printf(<span class="stringliteral">"ERROR: Cannot init Ecore!\n"</span>);
+     <span class="keywordflow">return</span> -1;
+   }
+   <a class="code" href="group__Ecore__Main__Loop__Group.html#g04daa7648a9d027bed25d27c150fdda7">ecore_main_loop_begin</a>();
+   ecore_shutdown();
+ }
+</pre></div> 
+</div>
+</div><p>
+<a class="anchor" name="c64ef382d78a50e07af9e8c67800a57c"></a><!-- doxytag: member="Ecore.h::ecore_shutdown" ref="c64ef382d78a50e07af9e8c67800a57c" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_shutdown           </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Shut down connections, signal handlers sockets etc. 
+<p>
+This function shuts down all things set up in <a class="el" href="Ecore_8h.html#8af98881ecd1d24072b4fabf216754c4">ecore_init()</a> and cleans up all event queues, handlers, filters, timers, idlers, idle enterers/exiters etc. set up after <a class="el" href="Ecore_8h.html#8af98881ecd1d24072b4fabf216754c4">ecore_init()</a> was called.<p>
+Do not call this function from any callback that may be called from the main loop, as the main loop will then fall over and not function properly. 
+</div>
+</div><p>
+</body>
+</html>
diff --git a/doc/html/Ecore_ADT_Page.html b/doc/html/Ecore_ADT_Page.html
new file mode 100644
index 0000000..abfef3d
--- /dev/null
+++ b/doc/html/Ecore_ADT_Page.html
@@ -0,0 +1,62 @@
+<html>
+
+<head>
+
+<title>Ecore: Ecore Abstract Data Types</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1><a class="anchor" name="Ecore_ADT_Page">Ecore Abstract Data Types</a></h1>This page briefly describes the different abstract data types that are provided by the Ecore library for general usage.<p>
+You need to include the <a class="el" href="Ecore__Data_8h.html">Ecore_Data.h </a> to use them.<h2><a class="anchor" name="Ecore_ADT_List">
+List</a></h2>
+A list is a simple data type where one each piece of data points to another piece of data.<p>
+Associated modules that describe the List ADT include: <ul>
+<li><a class="el" href="group__Ecore__Data__List__Creation__Group.html">List Creation/Destruction Functions</a> </li>
+<li><a class="el" href="group__Ecore__Data__List__Add__Item__Group.html">List Item Adding Functions</a> </li>
+<li><a class="el" href="group__Ecore__Data__List__Remove__Item__Group.html">List Item Removing Functions</a> </li>
+<li><a class="el" href="group__Ecore__Data__List__Traverse__Group.html">List Traversal Functions</a> </li>
+<li><a class="el" href="group__Ecore__Data__List__Node__Group.html">List Node Functions</a></li>
+</ul>
+Examples involving lists include: <ul>
+<li><a class="el" href="list__example_8c-example.html">list_example.c </a></li>
+</ul>
+<h2><a class="anchor" name="Ecore_ADT_DList">
+Doubly Linked List</a></h2>
+A doubly linked list is like a linked list, only each piece of data can also point to the piece before it. In other words, you can traverse a doubly linked list in both directions.<p>
+Associated modules that describe the DList ADT include: <ul>
+<li><a class="el" href="group__Ecore__Data__DList__Creation__Group.html">Doubly Linked List Creation/Destruction Functions</a> </li>
+<li><a class="el" href="group__Ecore__Data__DList__Add__Item__Group.html">Doubly Linked List Adding Functions</a> </li>
+<li><a class="el" href="group__Ecore__Data__DList__Remove__Item__Group.html">Doubly Linked List Removing Functions</a></li>
+</ul>
+<h2><a class="anchor" name="Ecore_ADT_Hash">
+Hash</a></h2>
+A hash is an abstract data type where one value is associated with another value. Instead of each element of the group being accessible using a number, each element is accessed using another object.<p>
+Associated modules that describe the Hash ADT include: <ul>
+<li><a class="el" href="group__Ecore__Data__Hash__ADT__Creation__Group.html">Hash Creation Functions</a> </li>
+<li><a class="el" href="group__Ecore__Data__Hash__ADT__Destruction__Group.html">Hash Destruction Functions</a> </li>
+<li><a class="el" href="group__Ecore__Data__Hash__ADT__Data__Group.html">Hash Data Functions</a></li>
+</ul>
+<dl compact><dt><b><a class="el" href="todo.html#_todo000002">Todo:</a></b></dt><dd>Finish this. </dd></dl>
+</body>
+</html>
diff --git a/doc/html/Ecore_Config_Page.html b/doc/html/Ecore_Config_Page.html
new file mode 100644
index 0000000..ed30a2e
--- /dev/null
+++ b/doc/html/Ecore_Config_Page.html
@@ -0,0 +1,41 @@
+<html>
+
+<head>
+
+<title>Ecore: The Enlightened Property Library</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1><a class="anchor" name="Ecore_Config_Page">The Enlightened Property Library</a></h1>The Enlightened Property Library (Ecore_Config) is an adbstraction from the complexities of writing your own configuration.<p>
+It provides many features using the Enlightenment 17 development libraries.<p>
+To use the library, you: <ul>
+<li>Set the default values of your properties. </li>
+<li>Load the configuration from a file. You must set the default values first, so that the library knows the correct type of each argument.</li>
+</ul>
+The following examples show how to use the Enlightened Property Library: <ul>
+<li><a class="el" href="config__basic__example_8c-example.html">config_basic_example.c </a> </li>
+<li><a class="el" href="config__listener__example_8c-example.html">config_listener_example.c </a> </li>
+</ul>
+</body>
+</html>
diff --git a/doc/html/Ecore_Main_Loop_Page.html b/doc/html/Ecore_Main_Loop_Page.html
new file mode 100644
index 0000000..0b02d1e
--- /dev/null
+++ b/doc/html/Ecore_Main_Loop_Page.html
@@ -0,0 +1,96 @@
+<html>
+
+<head>
+
+<title>Ecore: The Ecore Main Loop</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1><a class="anchor" name="Ecore_Main_Loop_Page">The Ecore Main Loop</a></h1><h2><a class="anchor" name="intro">
+What is Ecore?</a></h2>
+Ecore is a clean and tiny event loop library with many modules to do lots of convenient things for a programmer, to save time and effort.<p>
+It's small and lean, designed to work on embedded systems all the way to large and powerful multi-cpu workstations. It serialises all system signals, events etc. into a single event queue, that is easily processed without needing to worry about concurrency. A properly written, event-driven program using this kind of programming doesn't need threads, nor has to worry about concurrency. It turns a program into a state machine, and makes it very robust and easy to follow.<p>
+Ecore gives you other handy primitives, such as timers to tick over for you and call specified functions at particular times so the programmer can use this to do things, like animate, or time out on connections or tasks that take too long etc.<p>
+Idle handlers are provided too, as well as calls on entering an idle state (often a very good time to update the state of the program). All events that enter the system are passed to specific callback functions that the program sets up to handle those events. Handling them is simple and other Ecore modules produce more events on the queue, coming from other sources such as file descriptors etc.<p>
+Ecore also lets you have functions called when file descriptors become active for reading or writing, allowing for streamlined, non-blocking IO.<p>
+Here is an exmaple of a simple program and its basic event loop flow:<p>
+<div align="center">
+<img src="prog_flow.png" alt="prog_flow.png">
+</div>
+<h2><a class="anchor" name="work">
+How does Ecore work?</a></h2>
+Ecore is very easy to learn and use. All the function calls are designed to be easy to remember, explicit in describing what they do, and heavily name-spaced. Ecore programs can start and be very simple.<p>
+For example:<p>
+<div class="fragment"><pre class="fragment"><span class="preprocessor">#include &lt;<a class="code" href="Ecore_8h.html">Ecore.h</a>&gt;</span>
+
+<span class="keywordtype">int</span> main(<span class="keywordtype">int</span> argc, <span class="keyword">const</span> <span class="keywordtype">char</span> **argv)
+{
+  ecore_init();
+  <a class="code" href="Ecore_8h.html#eb02de014af9bfbe960c9f70b085e229">ecore_app_args_set</a>(argc, argv);
+  <a class="code" href="group__Ecore__Main__Loop__Group.html#g04daa7648a9d027bed25d27c150fdda7">ecore_main_loop_begin</a>();
+  ecore_shutdown();
+  <span class="keywordflow">return</span> 0;
+}
+</pre></div><p>
+This program is very simple and does't check for errors, but it does start up and begin a main loop waiting for events or timers to tick off. This program doesn't set up any, but now we can expand on this simple program a little more by adding some event handlers and timers.<p>
+<div class="fragment"><pre class="fragment"><span class="preprocessor">#include &lt;<a class="code" href="Ecore_8h.html">Ecore.h</a>&gt;</span>
+
+<a class="code" href="Ecore_8h.html#92618001317bf801365479da38c6a870">Ecore_Timer</a>         *timer1     = NULL;
+<a class="code" href="Ecore_8h.html#bb4df52ad6467371a2b4c53e2a91be65">Ecore_Event_Handler</a> *handler1   = NULL;
+<span class="keywordtype">double</span>               start_time = 0.0;
+
+<span class="keywordtype">int</span> timer_func(<span class="keywordtype">void</span> *data)
+{
+  printf(<span class="stringliteral">"Tick timer. Sec: %3.2f\n"</span>, <a class="code" href="group__Ecore__Time__Group.html#g43846b079394bb4d098abf5c16dfc544">ecore_time_get</a>() - start_time);
+  <span class="keywordflow">return</span> 1;
+}
+
+<span class="keywordtype">int</span> exit_func(<span class="keywordtype">void</span> *data, <span class="keywordtype">int</span> ev_type, <span class="keywordtype">void</span> *ev)
+{
+  <a class="code" href="struct__Ecore__Event__Signal__Exit.html">Ecore_Event_Signal_Exit</a> *e;
+
+  e = (<a class="code" href="struct__Ecore__Event__Signal__Exit.html">Ecore_Event_Signal_Exit</a> *)ev;
+  <span class="keywordflow">if</span> (e-&gt;<a class="code" href="struct__Ecore__Event__Signal__Exit.html#da096ee39c2b34d8a5a51c3ed172c248">interrupt</a>)      printf(<span class="stringliteral">"Exit: interrupt\n"</span>);
+  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (e-&gt;<a class="code" href="struct__Ecore__Event__Signal__Exit.html#1533cb80d95ab13edf4f0fbbb9814056">quit</a>)      printf(<span class="stringliteral">"Exit: quit\n"</span>);
+  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (e-&gt;<a class="code" href="struct__Ecore__Event__Signal__Exit.html#d36792c3f6997f294d7f3f1855bb1fc0">terminate</a>) printf(<span class="stringliteral">"Exit: terminate\n"</span>);
+  <a class="code" href="group__Ecore__Main__Loop__Group.html#g329898ea4b32333c12c34cfde48326fd">ecore_main_loop_quit</a>();
+  <span class="keywordflow">return</span> 1;
+}
+
+<span class="keywordtype">int</span> main(<span class="keywordtype">int</span> argc, <span class="keyword">const</span> <span class="keywordtype">char</span> **argv)
+{
+  ecore_init();
+  <a class="code" href="Ecore_8h.html#eb02de014af9bfbe960c9f70b085e229">ecore_app_args_set</a>(argc, argv);  
+  start_time = <a class="code" href="group__Ecore__Time__Group.html#g43846b079394bb4d098abf5c16dfc544">ecore_time_get</a>();
+  handler1 = <a class="code" href="Ecore_8h.html#00cbd01c45d256722d3090e1b7bc74e1">ecore_event_handler_add</a>(<a class="code" href="Ecore_8h.html#0dd1e36930ae8fa8decc97564d57f310">ECORE_EVENT_SIGNAL_EXIT</a>, exit_func, NULL);
+  timer1 = <a class="code" href="group__Ecore__Time__Group.html#g8b8fb1c64bf42bc5be09d2f05df51813">ecore_timer_add</a>(0.5, timer_func, NULL);  
+  <a class="code" href="group__Ecore__Main__Loop__Group.html#g04daa7648a9d027bed25d27c150fdda7">ecore_main_loop_begin</a>();
+  ecore_shutdown();
+  <span class="keywordflow">return</span> 0;
+}
+</pre></div><p>
+In the previous example, we initialize our application and get the time at which our program has started so we can calculate an offset. We set up a timer to tick off in 0.5 seconds, and since it returns 1, will keep ticking off every 0.5 seconds until it returns 0, or is deleted by hand. An event handler is set up to call a function - exit_func(), whenever an event of type ECORE_EVENT_SIGNAL_EXIT is received (CTRL-C on the command line will cause such an event to happen). If this event occurs it tells you what kind of exit signal was received, and asks the main loop to quit when it is finished by calling <a class="el" href="group__Ecore__Main__Loop__Group.html#g329898ea4b32333c12c34cfde48326fd">ecore_main_loop_quit()</a>.<p>
+The handles returned by <a class="el" href="group__Ecore__Time__Group.html#g8b8fb1c64bf42bc5be09d2f05df51813">ecore_timer_add()</a> and <a class="el" href="Ecore_8h.html#00cbd01c45d256722d3090e1b7bc74e1">ecore_event_handler_add()</a> are only stored here as an example. If you don't need to address the timer or event handler again you don't need to store the result, so just call the function, and don't assign the result to any variable.<p>
+This program looks slightly more complex than needed to do these simple things, but in principle, programs don't get any more complex. You add more event handlers, for more events, will have more timers and such, BUT it all follows the same principles as shown in this example. </body>
+</html>
diff --git a/doc/html/Ecore__Con_8h.html b/doc/html/Ecore__Con_8h.html
new file mode 100644
index 0000000..c8198bd
--- /dev/null
+++ b/doc/html/Ecore__Con_8h.html
@@ -0,0 +1,125 @@
+<html>
+
+<head>
+
+<title>Ecore: Ecore_Con.h File Reference</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li id="current"><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<div class="tabs">
+  <ul>
+    <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+    <li><a href="globals.html"><span>Globals</span></a></li>
+  </ul></div>
+<h1>Ecore_Con.h File Reference</h1>Sockets functions. <a href="#_details">More...</a>
+<p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8254d59597add481f0e2471a845f4231"></a><!-- doxytag: member="Ecore_Con.h::Ecore_Con_Server" ref="8254d59597add481f0e2471a845f4231" args="" -->
+typedef _Ecore_Con_Server&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Con_8h.html#8254d59597add481f0e2471a845f4231">Ecore_Con_Server</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A connection handle. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a7126b0163113e6f3f18d9bda2dda423"></a><!-- doxytag: member="Ecore_Con.h::Ecore_Con_Client" ref="a7126b0163113e6f3f18d9bda2dda423" args="" -->
+typedef _Ecore_Con_Client&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Con_8h.html#a7126b0163113e6f3f18d9bda2dda423">Ecore_Con_Client</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A connection handle. <br></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Con__Lib__Group.html#gcf5ecf42c516bb9c8b6759721e9559bd">ecore_con_init</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initialises the Ecore_Con library.  <a href="group__Ecore__Con__Lib__Group.html#gcf5ecf42c516bb9c8b6759721e9559bd"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Con__Lib__Group.html#gccfd8dd2a1187b71339b5cc39dc83938">ecore_con_shutdown</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Shuts down the Ecore_Con library.  <a href="group__Ecore__Con__Lib__Group.html#gccfd8dd2a1187b71339b5cc39dc83938"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI <a class="el" href="Ecore__Con_8h.html#8254d59597add481f0e2471a845f4231">Ecore_Con_Server</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Con__Server__Group.html#gce4c9656c7bd6eef0d29621d6dd75dee">ecore_con_server_add</a> (Ecore_Con_Type type, const char *name, int port, const void *data)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a server to listen for connections.  <a href="group__Ecore__Con__Server__Group.html#gce4c9656c7bd6eef0d29621d6dd75dee"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI <a class="el" href="Ecore__Con_8h.html#8254d59597add481f0e2471a845f4231">Ecore_Con_Server</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Con__Server__Group.html#g2cd832b9d0e592559ac13de24634b316">ecore_con_server_connect</a> (Ecore_Con_Type type, const char *name, int port, const void *data)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a server object to represent the server listening at the given port.  <a href="group__Ecore__Con__Server__Group.html#g2cd832b9d0e592559ac13de24634b316"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Con__Server__Group.html#gdee2f338f3f815a8cbec0288d21918f6">ecore_con_server_del</a> (<a class="el" href="Ecore__Con_8h.html#8254d59597add481f0e2471a845f4231">Ecore_Con_Server</a> *svr)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Closes the connection and frees the given server.  <a href="group__Ecore__Con__Server__Group.html#gdee2f338f3f815a8cbec0288d21918f6"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Con__Server__Group.html#ge7a9fe5aeb2cfa880c7d5098010d1291">ecore_con_server_data_get</a> (<a class="el" href="Ecore__Con_8h.html#8254d59597add481f0e2471a845f4231">Ecore_Con_Server</a> *svr)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the data associated with the given server.  <a href="group__Ecore__Con__Server__Group.html#ge7a9fe5aeb2cfa880c7d5098010d1291"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Con__Server__Group.html#g497d30961f7b9e8e5547ef674564efca">ecore_con_server_connected_get</a> (<a class="el" href="Ecore__Con_8h.html#8254d59597add481f0e2471a845f4231">Ecore_Con_Server</a> *svr)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves whether the given server is currently connected.  <a href="group__Ecore__Con__Server__Group.html#g497d30961f7b9e8e5547ef674564efca"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_List *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Con__Server__Group.html#ga7a54f1b8537c05aae69dae7d3a2e5ff">ecore_con_server_clients_get</a> (<a class="el" href="Ecore__Con_8h.html#8254d59597add481f0e2471a845f4231">Ecore_Con_Server</a> *svr)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the current list of clients.  <a href="group__Ecore__Con__Server__Group.html#ga7a54f1b8537c05aae69dae7d3a2e5ff"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Con__Server__Group.html#gdf16abc2d4fc16a8b65709eab2cd8337">ecore_con_server_send</a> (<a class="el" href="Ecore__Con_8h.html#8254d59597add481f0e2471a845f4231">Ecore_Con_Server</a> *svr, const void *data, int size)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the given data to the given server.  <a href="group__Ecore__Con__Server__Group.html#gdf16abc2d4fc16a8b65709eab2cd8337"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Con__Server__Group.html#gbaef36c991be8922766611c75372ced4">ecore_con_server_client_limit_set</a> (<a class="el" href="Ecore__Con_8h.html#8254d59597add481f0e2471a845f4231">Ecore_Con_Server</a> *svr, int client_limit, char reject_excess_clients)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets a limit on the number of clients that can be handled concurrently by the given server, and a policy on what to do if excess clients try to connect.  <a href="group__Ecore__Con__Server__Group.html#gbaef36c991be8922766611c75372ced4"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Con__Server__Group.html#gf6d19b6e9dcd751e9a575400f5713b08">ecore_con_server_ip_get</a> (<a class="el" href="Ecore__Con_8h.html#8254d59597add481f0e2471a845f4231">Ecore_Con_Server</a> *svr)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the IP address of a server that has been connected to.  <a href="group__Ecore__Con__Server__Group.html#gf6d19b6e9dcd751e9a575400f5713b08"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Con__Server__Group.html#g3ddb6c88484b59a1f5a5bacb8b6e60fe">ecore_con_server_flush</a> (<a class="el" href="Ecore__Con_8h.html#8254d59597add481f0e2471a845f4231">Ecore_Con_Server</a> *svr)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Flushes all pending data to the given server.  <a href="group__Ecore__Con__Server__Group.html#g3ddb6c88484b59a1f5a5bacb8b6e60fe"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Con__Client__Group.html#gee84bc7c9239050e9b89a393bfc17dd7">ecore_con_client_send</a> (<a class="el" href="Ecore__Con_8h.html#a7126b0163113e6f3f18d9bda2dda423">Ecore_Con_Client</a> *cl, void *data, int size)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the given data to the given client.  <a href="group__Ecore__Con__Client__Group.html#gee84bc7c9239050e9b89a393bfc17dd7"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI <a class="el" href="Ecore__Con_8h.html#8254d59597add481f0e2471a845f4231">Ecore_Con_Server</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Con__Client__Group.html#g5d19742ffbfeb987c57d8a4093cce7e6">ecore_con_client_server_get</a> (<a class="el" href="Ecore__Con_8h.html#a7126b0163113e6f3f18d9bda2dda423">Ecore_Con_Client</a> *cl)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the server representing the socket the client has connected to.  <a href="group__Ecore__Con__Client__Group.html#g5d19742ffbfeb987c57d8a4093cce7e6"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Con__Client__Group.html#g6ceed1117e823d3d3dc0d9a2df825464">ecore_con_client_del</a> (<a class="el" href="Ecore__Con_8h.html#a7126b0163113e6f3f18d9bda2dda423">Ecore_Con_Client</a> *cl)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Closes the connection and frees memory allocated to the given client.  <a href="group__Ecore__Con__Client__Group.html#g6ceed1117e823d3d3dc0d9a2df825464"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Con__Client__Group.html#g0c81c3b201d7fa6d48b6f5e99a651edc">ecore_con_client_data_set</a> (<a class="el" href="Ecore__Con_8h.html#a7126b0163113e6f3f18d9bda2dda423">Ecore_Con_Client</a> *cl, const void *data)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the data associated with the given client to <code>data</code>.  <a href="group__Ecore__Con__Client__Group.html#g0c81c3b201d7fa6d48b6f5e99a651edc"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Con__Client__Group.html#ge0ee35b9dcbd7e654504baffe4070488">ecore_con_client_data_get</a> (<a class="el" href="Ecore__Con_8h.html#a7126b0163113e6f3f18d9bda2dda423">Ecore_Con_Client</a> *cl)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the data associated with the given client.  <a href="group__Ecore__Con__Client__Group.html#ge0ee35b9dcbd7e654504baffe4070488"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Con__Client__Group.html#g18cb123f1d62299bdfc739b2d1124e14">ecore_con_client_ip_get</a> (<a class="el" href="Ecore__Con_8h.html#a7126b0163113e6f3f18d9bda2dda423">Ecore_Con_Client</a> *cl)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the IP address of a cleint that has connected.  <a href="group__Ecore__Con__Client__Group.html#g18cb123f1d62299bdfc739b2d1124e14"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Con__Client__Group.html#gccf37688bb1ecbedc8791b5b43c1595c">ecore_con_client_flush</a> (<a class="el" href="Ecore__Con_8h.html#a7126b0163113e6f3f18d9bda2dda423">Ecore_Con_Client</a> *cl)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Flushes all pending data to the given client.  <a href="group__Ecore__Con__Client__Group.html#gccf37688bb1ecbedc8791b5b43c1595c"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Con__Client__Group.html#ga5d2328b414bd5ffb01466b853c45709">ecore_con_ssl_available_get</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns if SSL support is available.  <a href="group__Ecore__Con__Client__Group.html#ga5d2328b414bd5ffb01466b853c45709"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Sockets functions. 
+<p>
+The Ecore Connection Library ( <code>Ecore_Con</code> ) provides simple mechanisms for communications between programs using reliable sockets. It saves the programmer from having to worry about file descripters and waiting for incoming connections.<p>
+There are two main objects in the <code>Ecore_Con</code> library: the <code>Ecore_Con_Server</code> and the <code>Ecore_Con_Client</code>.<p>
+The <code>Ecore_Con_Server</code> represents a server to connect to. It is represents a server that can be connected to. It is used regardless of whether the program is acting as a server or client itself.<p>
+To create a listening server, call <code><a class="el" href="group__Ecore__Con__Server__Group.html#gce4c9656c7bd6eef0d29621d6dd75dee">ecore_con_server_add()</a></code>.<p>
+To connect to a server, call <code><a class="el" href="group__Ecore__Con__Server__Group.html#g2cd832b9d0e592559ac13de24634b316">ecore_con_server_connect()</a></code>. Data can then be sent to the server using the <code><a class="el" href="group__Ecore__Con__Server__Group.html#gdf16abc2d4fc16a8b65709eab2cd8337">ecore_con_server_send()</a></code>.<p>
+Whenever a client connection is made to an <code>Ecore_Con_Server</code>, a <code>ECORE_CON_CLIENT_ADD</code> event is emitted. Any event callbacks that are called receive a <code>Ecore_Con_Client</code> object, which represents a connection that that particular client.<p>
+Functions are described in the following groupings: <ul>
+<li><a class="el" href="group__Ecore__Con__Lib__Group.html">Ecore Connection Library Functions</a> </li>
+<li><a class="el" href="group__Ecore__Con__Server__Group.html">Ecore Connection Server Functions</a> </li>
+<li><a class="el" href="group__Ecore__Con__Client__Group.html">Ecore Connection Client Functions</a> </li>
+</ul>
+</body>
+</html>
diff --git a/doc/html/Ecore__Config_8h.html b/doc/html/Ecore__Config_8h.html
new file mode 100644
index 0000000..dfd1bf3
--- /dev/null
+++ b/doc/html/Ecore__Config_8h.html
@@ -0,0 +1,841 @@
+<html>
+
+<head>
+
+<title>Ecore: Ecore_Config.h File Reference</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li id="current"><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<div class="tabs">
+  <ul>
+    <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+    <li><a href="globals.html"><span>Globals</span></a></li>
+  </ul></div>
+<h1>Ecore_Config.h File Reference</h1>Provides the Enlightened Property Library. <a href="#_details">More...</a>
+<p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Data Structures</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structEcore__Config__Prop.html">Ecore_Config_Prop</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The actual property for storing a key-value pair.  <a href="structEcore__Config__Prop.html#_details">More...</a><br></td></tr>
+<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="57366c1938a04f353bbc64ad6fd231de"></a><!-- doxytag: member="Ecore_Config.h::Ecore_Config_Listener" ref="57366c1938a04f353bbc64ad6fd231de" args="(const char *key, const Ecore_Config_Type type, const int tag, void *data)" -->
+typedef int(*)&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Config_8h.html#57366c1938a04f353bbc64ad6fd231de">Ecore_Config_Listener</a> (const char *key, const <a class="el" href="Ecore__Config_8h.html#05c0a91293b6d64b4bda030e21a94a16">Ecore_Config_Type</a> type, const int tag, void *data)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Property change callback function prototype. <br></td></tr>
+<tr><td colspan="2"><br><h2>Enumerations</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Config_8h.html#05c0a91293b6d64b4bda030e21a94a16">Ecore_Config_Type</a> { <br>
+&nbsp;&nbsp;<a class="el" href="Ecore__Config_8h.html#05c0a91293b6d64b4bda030e21a94a16c2237ee005755a649dab9500275e2b5d">ECORE_CONFIG_NIL</a> =  0, 
+<br>
+&nbsp;&nbsp;<a class="el" href="Ecore__Config_8h.html#05c0a91293b6d64b4bda030e21a94a166bc653e1a23cd40c28461869aeda681b">ECORE_CONFIG_INT</a> =  1, 
+<br>
+&nbsp;&nbsp;<a class="el" href="Ecore__Config_8h.html#05c0a91293b6d64b4bda030e21a94a16941a14df868adc309dae8d850c123e38">ECORE_CONFIG_FLT</a> =  2, 
+<br>
+&nbsp;&nbsp;<a class="el" href="Ecore__Config_8h.html#05c0a91293b6d64b4bda030e21a94a168916e418b542d3d98a54d24dd05e3e67">ECORE_CONFIG_STR</a> =  3, 
+<br>
+&nbsp;&nbsp;<a class="el" href="Ecore__Config_8h.html#05c0a91293b6d64b4bda030e21a94a16411cdc5bce0d42a387a7a6d91a5c1590">ECORE_CONFIG_RGB</a> =  4, 
+<br>
+&nbsp;&nbsp;<a class="el" href="Ecore__Config_8h.html#05c0a91293b6d64b4bda030e21a94a1606a76d37de9c738e99b2caf0ba504a9d">ECORE_CONFIG_THM</a> =  5, 
+<br>
+&nbsp;&nbsp;<a class="el" href="Ecore__Config_8h.html#05c0a91293b6d64b4bda030e21a94a162116d13362ca9fa5cb269c63c8aaae5b">ECORE_CONFIG_BLN</a> =  6, 
+<br>
+&nbsp;&nbsp;<a class="el" href="Ecore__Config_8h.html#05c0a91293b6d64b4bda030e21a94a162b6a0c37c507dd18adf604190e8b6e26">ECORE_CONFIG_SCT</a> =  7
+<br>
+ }</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Valid configuration property types.  <a href="Ecore__Config_8h.html#05c0a91293b6d64b4bda030e21a94a16">More...</a><br></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI <a class="el" href="structEcore__Config__Prop.html">Ecore_Config_Prop</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Get__Group.html#g8453b6c6d12816fc67bc528c890767ea">ecore_config_get</a> (const char *key)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the property with the given key.  <a href="group__Ecore__Config__Get__Group.html#g8453b6c6d12816fc67bc528c890767ea"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Property__Group.html#g04c58473e83ba85d2c382c9d10bc56f9">ecore_config_type_get</a> (const <a class="el" href="structEcore__Config__Prop.html">Ecore_Config_Prop</a> *e)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the type of the property.  <a href="group__Ecore__Config__Property__Group.html#g04c58473e83ba85d2c382c9d10bc56f9"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Get__Group.html#g83dc5cc9f1cf931994333c5886c22827">ecore_config_boolean_get</a> (const char *key)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the specified property as an integer.  <a href="group__Ecore__Config__Get__Group.html#g83dc5cc9f1cf931994333c5886c22827"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Get__Group.html#g65c1ae4aad5f8cfe9a049895ca8214fe">ecore_config_string_get</a> (const char *key)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the specified property as a string.  <a href="group__Ecore__Config__Get__Group.html#g65c1ae4aad5f8cfe9a049895ca8214fe"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Get__Group.html#g30e915e424e93cb60fbfb5159f5f7ee8">ecore_config_int_get</a> (const char *key)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the specified property as a long integer.  <a href="group__Ecore__Config__Get__Group.html#g30e915e424e93cb60fbfb5159f5f7ee8"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Get__Group.html#g20de581cdf7397b54b6126362a56418a">ecore_config_argb_get</a> (const char *key, int *a, int *r, int *g, int *b)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Finds the alpha, red, green and blue values of a color property.  <a href="group__Ecore__Config__Get__Group.html#g20de581cdf7397b54b6126362a56418a"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Get__Group.html#gf7f2ea069a615cdce15fb103108d610d">ecore_config_argbint_get</a> (const char *key)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a color property as a long.  <a href="group__Ecore__Config__Get__Group.html#gf7f2ea069a615cdce15fb103108d610d"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Get__Group.html#g5c7821152165c73dcb5c5d6ada024305">ecore_config_argbstr_get</a> (const char *key)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a color property as a string of hexadecimal characters.  <a href="group__Ecore__Config__Get__Group.html#g5c7821152165c73dcb5c5d6ada024305"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Get__Group.html#geea46377d8255d0216d5639ead8d92ff">ecore_config_float_get</a> (const char *key)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the specified property as a float.  <a href="group__Ecore__Config__Get__Group.html#geea46377d8255d0216d5639ead8d92ff"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Get__Group.html#g7ecf05eef12f00801301ca2fc07b5bb5">ecore_config_theme_get</a> (const char *key)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a theme property.  <a href="group__Ecore__Config__Get__Group.html#g7ecf05eef12f00801301ca2fc07b5bb5"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Get__Group.html#gc9a15f02dd6b027ff52aa8d8ea4ab095">ecore_config_as_string_get</a> (const char *key)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the key as a string.  <a href="group__Ecore__Config__Get__Group.html#gc9a15f02dd6b027ff52aa8d8ea4ab095"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Property__Group.html#gb4e20b407d32a502dc3689c1b0bcf60a">ecore_config_describe</a> (const char *key, const char *desc)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the description field of the indicated property.  <a href="group__Ecore__Config__Property__Group.html#gb4e20b407d32a502dc3689c1b0bcf60a"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Property__Group.html#g2684926ce5ad5582e974333db15ba978">ecore_config_short_opt_set</a> (const char *key, char short_opt)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the short option character of a property.  <a href="group__Ecore__Config__Property__Group.html#g2684926ce5ad5582e974333db15ba978"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Property__Group.html#g969ade806f926802e37d14639dc24f75">ecore_config_long_opt_set</a> (const char *key, const char *long_opt)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the long option string of the property.  <a href="group__Ecore__Config__Property__Group.html#g969ade806f926802e37d14639dc24f75"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Set__Group.html#ge147ffba6c49474298bcfb1461f593c9">ecore_config_set</a> (const char *key, const char *val)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the indicated property to the value indicated by <em>val</em>.  <a href="group__Ecore__Config__Set__Group.html#ge147ffba6c49474298bcfb1461f593c9"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Property__Group.html#gf1d734bd9aeb5ff8a1094b6d0921cf1b">ecore_config_typed_set</a> (const char *key, const void *val, int type)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the indicated property to the given value and type.  <a href="group__Ecore__Config__Property__Group.html#gf1d734bd9aeb5ff8a1094b6d0921cf1b"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Set__Group.html#g6fbad3ecd7dce0d8ace0e0b5118cc2a6">ecore_config_boolean_set</a> (const char *key, int val)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the indicated property to the given boolean.  <a href="group__Ecore__Config__Set__Group.html#g6fbad3ecd7dce0d8ace0e0b5118cc2a6"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Set__Group.html#g5445639f28f4e46611e5fe2ba1f46364">ecore_config_string_set</a> (const char *key, const char *val)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the indicated property to the given string.  <a href="group__Ecore__Config__Set__Group.html#g5445639f28f4e46611e5fe2ba1f46364"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Set__Group.html#g541dcb58df81de9197ce5533863c4085">ecore_config_int_set</a> (const char *key, int val)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the indicated property to the given integer.  <a href="group__Ecore__Config__Set__Group.html#g541dcb58df81de9197ce5533863c4085"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Set__Group.html#g0166bb9b3a099bfac7f1c5d58d9d9431">ecore_config_argb_set</a> (const char *key, int a, int r, int g, int b)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the indicated property to a color value.  <a href="group__Ecore__Config__Set__Group.html#g0166bb9b3a099bfac7f1c5d58d9d9431"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Set__Group.html#gfee1c65f82dfb80959fb05a390ce4141">ecore_config_argbint_set</a> (const char *key, long argb)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the indicated property to a color value.  <a href="group__Ecore__Config__Set__Group.html#gfee1c65f82dfb80959fb05a390ce4141"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Set__Group.html#g7b7b74438c9b0f9651332b3867b5b131">ecore_config_argbstr_set</a> (const char *key, const char *val)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the indicated property to a color value.  <a href="group__Ecore__Config__Set__Group.html#g7b7b74438c9b0f9651332b3867b5b131"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Set__Group.html#gaec767dd5034671bdb8ffab8f4edb4dc">ecore_config_float_set</a> (const char *key, float val)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the indicated property to the given float value.  <a href="group__Ecore__Config__Set__Group.html#gaec767dd5034671bdb8ffab8f4edb4dc"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Set__Group.html#g804199f5e845eb07ca6057a7bdfb1b1f">ecore_config_theme_set</a> (const char *key, const char *val)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the indicated property to a theme name.  <a href="group__Ecore__Config__Set__Group.html#g804199f5e845eb07ca6057a7bdfb1b1f"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Set__Group.html#g6e5aa9c33a4d0c42a35a77ba2c48b8e2">ecore_config_theme_preview_group_set</a> (const char *key, const char *group)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the theme preview group of an indicated property.  <a href="group__Ecore__Config__Set__Group.html#g6e5aa9c33a4d0c42a35a77ba2c48b8e2"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Set__Group.html#gfab691d111ef16fdd486add2fed4b8bd">ecore_config_as_string_set</a> (const char *key, const char *val)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the indicated property to the value given in the string.  <a href="group__Ecore__Config__Set__Group.html#gfab691d111ef16fdd486add2fed4b8bd"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Default__Group.html#g93615990523f103af30ec67759063045">ecore_config_default</a> (const char *key, const char *val, float lo, float hi, float step)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the indicated property if it has not already been set or loaded.  <a href="group__Ecore__Config__Default__Group.html#g93615990523f103af30ec67759063045"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Default__Group.html#gb975ecfba269108f3d33061b8a04c7ca">ecore_config_boolean_default</a> (const char *key, int val)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the indicated property to the given boolean if the property has not yet been set.  <a href="group__Ecore__Config__Default__Group.html#gb975ecfba269108f3d33061b8a04c7ca"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Default__Group.html#g0ea9a5280c2c263769fede02cf83b223">ecore_config_int_default</a> (const char *key, int val)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the indicated property to the given integer if the property has not yet been set.  <a href="group__Ecore__Config__Default__Group.html#g0ea9a5280c2c263769fede02cf83b223"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Default__Group.html#gf041320b27afd2d25382a186e525844d">ecore_config_int_default_bound</a> (const char *key, int val, int lo, int hi, int step)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the indicated property to the given integer if the property has not yet been set.  <a href="group__Ecore__Config__Default__Group.html#gf041320b27afd2d25382a186e525844d"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Default__Group.html#g85aa8ecad2a747ac3ee4b1f9b476db64">ecore_config_string_default</a> (const char *key, const char *val)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the indicated property to the given string if the property has not yet been set.  <a href="group__Ecore__Config__Default__Group.html#g85aa8ecad2a747ac3ee4b1f9b476db64"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Default__Group.html#g38f3626bd1d59e69e513b04e3a7908ee">ecore_config_float_default</a> (const char *key, float val)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the indicated property to the given float if the property has not yet been set.  <a href="group__Ecore__Config__Default__Group.html#g38f3626bd1d59e69e513b04e3a7908ee"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Default__Group.html#ga62d8a4d3499f6552dc9bd694084af75">ecore_config_float_default_bound</a> (const char *key, float val, float lo, float hi, float step)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the indicated property to the given float if the property has not yet been set.  <a href="group__Ecore__Config__Default__Group.html#ga62d8a4d3499f6552dc9bd694084af75"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Default__Group.html#g7e05038c1f325bac01f85ce4d479d8ba">ecore_config_argb_default</a> (const char *key, int a, int r, int g, int b)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the indicated property to a color value if the property has not yet been set.  <a href="group__Ecore__Config__Default__Group.html#g7e05038c1f325bac01f85ce4d479d8ba"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Default__Group.html#gac44186cc54f3f31c406813c0f44cf57">ecore_config_argbint_default</a> (const char *key, long argb)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the indicated property to a color value if the property has not yet been set.  <a href="group__Ecore__Config__Default__Group.html#gac44186cc54f3f31c406813c0f44cf57"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Default__Group.html#gfc2fc6ce01297b0bcfcd0ebdfca5c2f1">ecore_config_argbstr_default</a> (const char *key, const char *val)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the indicated property to a color value if the property has not yet been set.  <a href="group__Ecore__Config__Default__Group.html#gfc2fc6ce01297b0bcfcd0ebdfca5c2f1"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Default__Group.html#gd0beb2c67b2b8d6fd5976665e4a6dc44">ecore_config_theme_default</a> (const char *key, const char *val)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the indicated property to a theme name if the property has not yet been set.  <a href="group__Ecore__Config__Default__Group.html#gd0beb2c67b2b8d6fd5976665e4a6dc44"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Struct__Group.html#g481f406528ecacdb0f91ecb8e8f9bf42">ecore_config_struct_int_add</a> (const char *key, const char *name, int val)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add an int property to the named structure.  <a href="group__Ecore__Config__Struct__Group.html#g481f406528ecacdb0f91ecb8e8f9bf42"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Struct__Group.html#gcdee07879a9f89c333448923c008cd39">ecore_config_struct_float_add</a> (const char *key, const char *name, float val)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a float property to the named structure.  <a href="group__Ecore__Config__Struct__Group.html#gcdee07879a9f89c333448923c008cd39"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Struct__Group.html#gcbae1417d6074d82211ec1c69991ca28">ecore_config_struct_create</a> (const char *key)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the indicated property to a structure if the property has not yet been set.  <a href="group__Ecore__Config__Struct__Group.html#gcbae1417d6074d82211ec1c69991ca28"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Struct__Group.html#g2a2d784a5325e3497daee85b9399531a">ecore_config_struct_string_add</a> (const char *key, const char *name, const char *val)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a string property to the named structure.  <a href="group__Ecore__Config__Struct__Group.html#g2a2d784a5325e3497daee85b9399531a"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Struct__Group.html#g8a996d734081bafcf1b1c58d9cf6ef7d">ecore_config_struct_theme_add</a> (const char *key, const char *name, const char *val)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a theme property to the named structure.  <a href="group__Ecore__Config__Struct__Group.html#g8a996d734081bafcf1b1c58d9cf6ef7d"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Struct__Group.html#g666575a0d011b5d88f527a9d85358dc6">ecore_config_struct_argb_add</a> (const char *key, const char *name, int a, int r, int g, int b)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add an argb property to the named structure.  <a href="group__Ecore__Config__Struct__Group.html#g666575a0d011b5d88f527a9d85358dc6"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Struct__Group.html#g7f070dc50cb60ea8d1d9f0b390c2b35d">ecore_config_struct_boolean_add</a> (const char *key, const char *name, int val)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a boolean property to the named structure.  <a href="group__Ecore__Config__Struct__Group.html#g7f070dc50cb60ea8d1d9f0b390c2b35d"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Struct__Group.html#g6da0b9663d592bc1333f59d83941d703">ecore_config_struct_get</a> (const char *key, void *data)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the contents of a defined structure property and load it into the passed C struct.  <a href="group__Ecore__Config__Struct__Group.html#g6da0b9663d592bc1333f59d83941d703"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Listeners__Group.html#g50ffd2d9a28c501bbd6f512648b7e593">ecore_config_listen</a> (const char *name, const char *key, <a class="el" href="Ecore__Config_8h.html#57366c1938a04f353bbc64ad6fd231de">Ecore_Config_Listener</a> listener, int tag, void *data)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Adds a callback function to the list of functions called when a property changes.  <a href="group__Ecore__Config__Listeners__Group.html#g50ffd2d9a28c501bbd6f512648b7e593"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Listeners__Group.html#g9ff2e49dde18e0f4a039c225512b3a2d">ecore_config_deaf</a> (const char *name, const char *key, <a class="el" href="Ecore__Config_8h.html#57366c1938a04f353bbc64ad6fd231de">Ecore_Config_Listener</a> listener)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Removes a listener callback.  <a href="group__Ecore__Config__Listeners__Group.html#g9ff2e49dde18e0f4a039c225512b3a2d"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI <a class="el" href="structEcore__Config__Prop.html">Ecore_Config_Prop</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Property__Group.html#g038aaaaaf88a144f52139712f2e17360">ecore_config_dst</a> (<a class="el" href="structEcore__Config__Prop.html">Ecore_Config_Prop</a> *e)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Removes the given property from the local configuration and destroys it.  <a href="group__Ecore__Config__Property__Group.html#g038aaaaaf88a144f52139712f2e17360"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Config_8h.html#5ed9e1272c0e42fb7056770cd773fc3b">ecore_config_type_guess</a> (const char *key, const char *val)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Tries to guess the type of a property.  <a href="#5ed9e1272c0e42fb7056770cd773fc3b"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_Config_Bundle *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Config_8h.html#7ea0e833e56e8ed49ec8d185f02d05cd">ecore_config_bundle_new</a> (Ecore_Config_Server *srv, const char *id)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a new Ecore_Config_Bundle.  <a href="#7ea0e833e56e8ed49ec8d185f02d05cd"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_Config_Bundle *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Config_8h.html#7a2f4b261adb89fe121971e8ba893d7f">ecore_config_bundle_1st_get</a> (Ecore_Config_Server *srv)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Locates the first configuration bundle on the given server.  <a href="#7a2f4b261adb89fe121971e8ba893d7f"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_Config_Bundle *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Config_8h.html#b7768d4739e3e23d2983d3f050b9acd5">ecore_config_bundle_next_get</a> (Ecore_Config_Bundle *ns)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Locates the configuration bundle after the given one.  <a href="#b7768d4739e3e23d2983d3f050b9acd5"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_Config_Bundle *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Config_8h.html#c59039f0fc4cbbfdf6198bf6d717916f">ecore_config_bundle_by_serial_get</a> (Ecore_Config_Server *srv, long serial)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Locates a configuration bundle on a configuration server based on its serial number.  <a href="#c59039f0fc4cbbfdf6198bf6d717916f"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_Config_Bundle *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Config_8h.html#b0a3f0441545678ee2bead622e0c767c">ecore_config_bundle_by_label_get</a> (Ecore_Config_Server *srv, const char *label)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the Ecore_Config_Bundle with the given identifier from the given server.  <a href="#b0a3f0441545678ee2bead622e0c767c"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Config_8h.html#da8884e5e0877647e5d3753ca13f16cb">ecore_config_bundle_serial_get</a> (Ecore_Config_Bundle *ns)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the bundle's serial number.  <a href="#da8884e5e0877647e5d3753ca13f16cb"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Config_8h.html#730c49356b9c685535c8e0989f4cec8c">ecore_config_bundle_label_get</a> (Ecore_Config_Bundle *ns)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the bundle's identifier.  <a href="#730c49356b9c685535c8e0989f4cec8c"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__App__Lib__Group.html#gfdc677e43c328248e10e08d0599c274e">ecore_config_init</a> (const char *name)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initializes the Enlightened Property Library.  <a href="group__Ecore__Config__App__Lib__Group.html#gfdc677e43c328248e10e08d0599c274e"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__App__Lib__Group.html#g4b20caf672ca445f8d21a7b09b666d70">ecore_config_shutdown</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Frees memory and shuts down the library for an application.  <a href="group__Ecore__Config__App__Lib__Group.html#g4b20caf672ca445f8d21a7b09b666d70"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Lib__Lib__Group.html#g3cb9d5fd7d8b2693d36ca96173f74d4c">ecore_config_system_init</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initializes the Enlightened Property Library.  <a href="group__Ecore__Config__Lib__Lib__Group.html#g3cb9d5fd7d8b2693d36ca96173f74d4c"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Lib__Lib__Group.html#g925ea8694077c1fc013bb313908d1148">ecore_config_system_shutdown</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Frees memory and shuts down the library for other programming libraries.  <a href="group__Ecore__Config__Lib__Lib__Group.html#g925ea8694077c1fc013bb313908d1148"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__File__Group.html#g8e064585346f2234620dbbeb034d406b">ecore_config_load</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Loads the default configuration.  <a href="group__Ecore__Config__File__Group.html#g8e064585346f2234620dbbeb034d406b"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__File__Group.html#gfcaee9b135bc412ac41b87fdf72bc289">ecore_config_file_load</a> (const char *file)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Load the given configuration file to the local configuration.  <a href="group__Ecore__Config__File__Group.html#gfcaee9b135bc412ac41b87fdf72bc289"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__File__Group.html#g94318c18d7c19ea2980552edddb88899">ecore_config_save</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Saves the current configuration to the default file.  <a href="group__Ecore__Config__File__Group.html#g94318c18d7c19ea2980552edddb88899"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__File__Group.html#gf9b8be68224f804946e7409084ad967e">ecore_config_file_save</a> (const char *file)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Saves the local configuration to the given file.  <a href="group__Ecore__Config__File__Group.html#gf9b8be68224f804946e7409084ad967e"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Config_8h.html#79003f211b1f7a174fccdc6974414991">ecore_config_evas_font_path_apply</a> (Evas *evas)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calls evas_font_path_append on <code>evas</code> for each of the font names stored in the property "/e/font/path".  <a href="#79003f211b1f7a174fccdc6974414991"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Config_8h.html#8a633459c4617a33c4107462f5346ab6">ecore_config_theme_search_path_get</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the search path used to find themes.  <a href="#8a633459c4617a33c4107462f5346ab6"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Config_8h.html#9d4f7c3e2193de373de27ff1a4128080">ecore_config_theme_search_path_append</a> (char *append)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Adds the given path to the search path used to find themes.  <a href="#9d4f7c3e2193de373de27ff1a4128080"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Config_8h.html#793b819965f23985b42ebdca638325d5">ecore_config_theme_default_path_get</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the default theme search path.  <a href="#793b819965f23985b42ebdca638325d5"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Config_8h.html#90d76531ca2cf69c1b691a92ec65aee9">ecore_config_theme_with_path_from_name_get</a> (char *name)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieve a theme file's full path.  <a href="#90d76531ca2cf69c1b691a92ec65aee9"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Config_8h.html#104448c0651bdbf586cd9300c2f83805">ecore_config_theme_with_path_get</a> (const char *key)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the full path to the theme file of the theme stored in the given property.  <a href="#104448c0651bdbf586cd9300c2f83805"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4d59447d668c752971c2b026e1869af1"></a><!-- doxytag: member="Ecore_Config.h::ecore_config_args_display" ref="4d59447d668c752971c2b026e1869af1" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Config_8h.html#4d59447d668c752971c2b026e1869af1">ecore_config_args_display</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Prints the property list of the local configuration bundle to output. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Config_8h.html#7f695a96908e0399491f2cf403ebad06">ecore_config_args_parse</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Parse the arguments set by <a class="el" href="Ecore_8h.html#eb02de014af9bfbe960c9f70b085e229">ecore_app_args_set</a> and set properties accordingly.  <a href="#7f695a96908e0399491f2cf403ebad06"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Config_8h.html#09708c678e8666b15b9b3d0a4a1b6941">ecore_config_app_describe</a> (char *description)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the description string used by <a class="el" href="Ecore__Config_8h.html#4d59447d668c752971c2b026e1869af1">ecore_config_args_display</a> .  <a href="#09708c678e8666b15b9b3d0a4a1b6941"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Create__Group.html#g14c277a6ad31dbcad672ab61dfa5e4d2">ecore_config_create</a> (const char *key, void *val, char short_opt, char *long_opt, char *desc)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a new property, if it does not already exist, and sets its attributes to those given.  <a href="group__Ecore__Config__Create__Group.html#g14c277a6ad31dbcad672ab61dfa5e4d2"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Create__Group.html#g72458cbd9bc08ac67a489bedccc9729d">ecore_config_typed_create</a> (const char *key, void *val, int type, char short_opt, char *long_opt, char *desc)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a new property, if it does not already exist, and sets its attributes to those given.  <a href="group__Ecore__Config__Create__Group.html#g72458cbd9bc08ac67a489bedccc9729d"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Create__Group.html#g3b0938305e64b0237f6e054f9d5f3d36">ecore_config_boolean_create</a> (const char *key, int val, char short_opt, char *long_opt, char *desc)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a new boolean property, if it does not already exist, and sets its attributes to those given.  <a href="group__Ecore__Config__Create__Group.html#g3b0938305e64b0237f6e054f9d5f3d36"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Create__Group.html#g18cc88e4f1448c1b6c59f1fb81006736">ecore_config_int_create</a> (const char *key, int val, char short_opt, char *long_opt, char *desc)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a new integer property, if it does not already exist, and sets its attributes to those given.  <a href="group__Ecore__Config__Create__Group.html#g18cc88e4f1448c1b6c59f1fb81006736"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Create__Group.html#g7eac241f83ce610c6da1e7b6f03120da">ecore_config_int_create_bound</a> (const char *key, int val, int low, int high, int step, char short_opt, char *long_opt, char *desc)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a new integer property, if it does not already exist, and sets its attributes to those given.  <a href="group__Ecore__Config__Create__Group.html#g7eac241f83ce610c6da1e7b6f03120da"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Create__Group.html#g90a2ffd15afc8781dbacdaef880054ed">ecore_config_string_create</a> (const char *key, char *val, char short_opt, char *long_opt, char *desc)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a new string property, if it does not already exist, and sets its attributes to those given.  <a href="group__Ecore__Config__Create__Group.html#g90a2ffd15afc8781dbacdaef880054ed"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Create__Group.html#g6be6d9eba77ce43bb7a0c88a035696f8">ecore_config_float_create</a> (const char *key, float val, char short_opt, char *long_opt, char *desc)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a new float property, if it does not already exist, and sets its attributes to those given.  <a href="group__Ecore__Config__Create__Group.html#g6be6d9eba77ce43bb7a0c88a035696f8"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Create__Group.html#g213c338d2b1db6ffe4ed3a5c656c8e74">ecore_config_float_create_bound</a> (const char *key, float val, float low, float high, float step, char short_opt, char *long_opt, char *desc)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a new float property, if it does not already exist, and sets its attributes to those given.  <a href="group__Ecore__Config__Create__Group.html#g213c338d2b1db6ffe4ed3a5c656c8e74"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Create__Group.html#g982a19b90c5b9ba219ed9d6a0208c0f4">ecore_config_argb_create</a> (const char *key, char *val, char short_opt, char *long_opt, char *desc)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a new color property, if it does not already exist, and sets its attributes to those given.  <a href="group__Ecore__Config__Create__Group.html#g982a19b90c5b9ba219ed9d6a0208c0f4"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Create__Group.html#g121905447a18020e3e6c52ad6e41faa5">ecore_config_theme_create</a> (const char *key, char *val, char short_opt, char *long_opt, char *desc)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a new theme property, if it does not already exist, and sets its attributes to those given.  <a href="group__Ecore__Config__Create__Group.html#g121905447a18020e3e6c52ad6e41faa5"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Provides the Enlightened Property Library. 
+<p>
+This file provies all headers and structs for use with Ecore_Config. Using individual header files should not be necessary. <hr><h2>Enumeration Type Documentation</h2>
+<a class="anchor" name="05c0a91293b6d64b4bda030e21a94a16"></a><!-- doxytag: member="Ecore_Config.h::Ecore_Config_Type" ref="05c0a91293b6d64b4bda030e21a94a16" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">enum <a class="el" href="Ecore__Config_8h.html#05c0a91293b6d64b4bda030e21a94a16">Ecore_Config_Type</a>          </td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Valid configuration property types. 
+<p>
+<dl compact><dt><b>Enumerator: </b></dt><dd>
+<table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" name="05c0a91293b6d64b4bda030e21a94a16c2237ee005755a649dab9500275e2b5d"></a><!-- doxytag: member="ECORE_CONFIG_NIL" ref="05c0a91293b6d64b4bda030e21a94a16c2237ee005755a649dab9500275e2b5d" args="" -->ECORE_CONFIG_NIL</em>&nbsp;</td><td>
+Property with no value. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="05c0a91293b6d64b4bda030e21a94a166bc653e1a23cd40c28461869aeda681b"></a><!-- doxytag: member="ECORE_CONFIG_INT" ref="05c0a91293b6d64b4bda030e21a94a166bc653e1a23cd40c28461869aeda681b" args="" -->ECORE_CONFIG_INT</em>&nbsp;</td><td>
+Integer property type. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="05c0a91293b6d64b4bda030e21a94a16941a14df868adc309dae8d850c123e38"></a><!-- doxytag: member="ECORE_CONFIG_FLT" ref="05c0a91293b6d64b4bda030e21a94a16941a14df868adc309dae8d850c123e38" args="" -->ECORE_CONFIG_FLT</em>&nbsp;</td><td>
+Float property type. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="05c0a91293b6d64b4bda030e21a94a168916e418b542d3d98a54d24dd05e3e67"></a><!-- doxytag: member="ECORE_CONFIG_STR" ref="05c0a91293b6d64b4bda030e21a94a168916e418b542d3d98a54d24dd05e3e67" args="" -->ECORE_CONFIG_STR</em>&nbsp;</td><td>
+String property type. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="05c0a91293b6d64b4bda030e21a94a16411cdc5bce0d42a387a7a6d91a5c1590"></a><!-- doxytag: member="ECORE_CONFIG_RGB" ref="05c0a91293b6d64b4bda030e21a94a16411cdc5bce0d42a387a7a6d91a5c1590" args="" -->ECORE_CONFIG_RGB</em>&nbsp;</td><td>
+Colour property type. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="05c0a91293b6d64b4bda030e21a94a1606a76d37de9c738e99b2caf0ba504a9d"></a><!-- doxytag: member="ECORE_CONFIG_THM" ref="05c0a91293b6d64b4bda030e21a94a1606a76d37de9c738e99b2caf0ba504a9d" args="" -->ECORE_CONFIG_THM</em>&nbsp;</td><td>
+Theme property type. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="05c0a91293b6d64b4bda030e21a94a162116d13362ca9fa5cb269c63c8aaae5b"></a><!-- doxytag: member="ECORE_CONFIG_BLN" ref="05c0a91293b6d64b4bda030e21a94a162116d13362ca9fa5cb269c63c8aaae5b" args="" -->ECORE_CONFIG_BLN</em>&nbsp;</td><td>
+Boolean property type. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="05c0a91293b6d64b4bda030e21a94a162b6a0c37c507dd18adf604190e8b6e26"></a><!-- doxytag: member="ECORE_CONFIG_SCT" ref="05c0a91293b6d64b4bda030e21a94a162b6a0c37c507dd18adf604190e8b6e26" args="" -->ECORE_CONFIG_SCT</em>&nbsp;</td><td>
+Structure property type. </td></tr>
+</table>
+</dl>
+
+</div>
+</div><p>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="09708c678e8666b15b9b3d0a4a1b6941"></a><!-- doxytag: member="Ecore_Config.h::ecore_config_app_describe" ref="09708c678e8666b15b9b3d0a4a1b6941" args="(char *description)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_config_app_describe           </td>
+          <td>(</td>
+          <td class="paramtype">char *&nbsp;</td>
+          <td class="paramname"> <em>description</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sets the description string used by <a class="el" href="Ecore__Config_8h.html#4d59447d668c752971c2b026e1869af1">ecore_config_args_display</a> . 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>description</em>&nbsp;</td><td>Description of application. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="7f695a96908e0399491f2cf403ebad06"></a><!-- doxytag: member="Ecore_Config.h::ecore_config_args_parse" ref="7f695a96908e0399491f2cf403ebad06" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_config_args_parse           </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Parse the arguments set by <a class="el" href="Ecore_8h.html#eb02de014af9bfbe960c9f70b085e229">ecore_app_args_set</a> and set properties accordingly. 
+<p>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd><code>ECORE_CONFIG_PARSE_CONTINUE</code> if successful. <code>ECORE_CONFIG_PARSE_EXIT</code> is returned if an unrecognised option is found. <code>ECORE_CONFIG_PARSE_HELP</code> is returned if help was displayed. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="7a2f4b261adb89fe121971e8ba893d7f"></a><!-- doxytag: member="Ecore_Config.h::ecore_config_bundle_1st_get" ref="7a2f4b261adb89fe121971e8ba893d7f" args="(Ecore_Config_Server *srv)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Ecore_Config_Bundle* ecore_config_bundle_1st_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Config_Server *&nbsp;</td>
+          <td class="paramname"> <em>srv</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Locates the first configuration bundle on the given server. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>srv</em>&nbsp;</td><td>The configuration server. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>Pointer to the first configuration bundle. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="b0a3f0441545678ee2bead622e0c767c"></a><!-- doxytag: member="Ecore_Config.h::ecore_config_bundle_by_label_get" ref="b0a3f0441545678ee2bead622e0c767c" args="(Ecore_Config_Server *srv, const char *label)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Ecore_Config_Bundle* ecore_config_bundle_by_label_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Config_Server *&nbsp;</td>
+          <td class="paramname"> <em>srv</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>label</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Gets the Ecore_Config_Bundle with the given identifier from the given server. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>srv</em>&nbsp;</td><td>The configuration server. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>label</em>&nbsp;</td><td>The bundle's identifier string. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The bundle with the given identifier string, or <code>NULL</code> if it could not be found. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="c59039f0fc4cbbfdf6198bf6d717916f"></a><!-- doxytag: member="Ecore_Config.h::ecore_config_bundle_by_serial_get" ref="c59039f0fc4cbbfdf6198bf6d717916f" args="(Ecore_Config_Server *srv, long serial)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Ecore_Config_Bundle* ecore_config_bundle_by_serial_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Config_Server *&nbsp;</td>
+          <td class="paramname"> <em>srv</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">long&nbsp;</td>
+          <td class="paramname"> <em>serial</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Locates a configuration bundle on a configuration server based on its serial number. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>srv</em>&nbsp;</td><td>The configuration server. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>serial</em>&nbsp;</td><td>Serial number. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The configuration bundle with the given serial number. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="730c49356b9c685535c8e0989f4cec8c"></a><!-- doxytag: member="Ecore_Config.h::ecore_config_bundle_label_get" ref="730c49356b9c685535c8e0989f4cec8c" args="(Ecore_Config_Bundle *ns)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI char* ecore_config_bundle_label_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Config_Bundle *&nbsp;</td>
+          <td class="paramname"> <em>ns</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Retrieves the bundle's identifier. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>ns</em>&nbsp;</td><td>The configuration bundle. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The bundle's identifer string. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="7ea0e833e56e8ed49ec8d185f02d05cd"></a><!-- doxytag: member="Ecore_Config.h::ecore_config_bundle_new" ref="7ea0e833e56e8ed49ec8d185f02d05cd" args="(Ecore_Config_Server *srv, const char *id)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Ecore_Config_Bundle* ecore_config_bundle_new           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Config_Server *&nbsp;</td>
+          <td class="paramname"> <em>srv</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>identifier</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Creates a new Ecore_Config_Bundle. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>srv</em>&nbsp;</td><td>Config server. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>identifier</em>&nbsp;</td><td>Identifier string for the new bundle. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>A pointer to a new Ecore_Config_Bundle. <code>NULL</code> is returned if the structure couldn't be allocated. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="b7768d4739e3e23d2983d3f050b9acd5"></a><!-- doxytag: member="Ecore_Config.h::ecore_config_bundle_next_get" ref="b7768d4739e3e23d2983d3f050b9acd5" args="(Ecore_Config_Bundle *ns)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Ecore_Config_Bundle* ecore_config_bundle_next_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Config_Bundle *&nbsp;</td>
+          <td class="paramname"> <em>ns</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Locates the configuration bundle after the given one. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>ns</em>&nbsp;</td><td>The configuration bundle. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The next configuration bundle. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="da8884e5e0877647e5d3753ca13f16cb"></a><!-- doxytag: member="Ecore_Config.h::ecore_config_bundle_serial_get" ref="da8884e5e0877647e5d3753ca13f16cb" args="(Ecore_Config_Bundle *ns)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI long ecore_config_bundle_serial_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Config_Bundle *&nbsp;</td>
+          <td class="paramname"> <em>ns</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Retrieves the bundle's serial number. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>ns</em>&nbsp;</td><td>The configuration bundle. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The bundle's identifier string, or -1 if ns is <code>NULL</code>. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="79003f211b1f7a174fccdc6974414991"></a><!-- doxytag: member="Ecore_Config.h::ecore_config_evas_font_path_apply" ref="79003f211b1f7a174fccdc6974414991" args="(Evas *evas)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_config_evas_font_path_apply           </td>
+          <td>(</td>
+          <td class="paramtype">Evas *&nbsp;</td>
+          <td class="paramname"> <em>evas</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Calls evas_font_path_append on <code>evas</code> for each of the font names stored in the property "/e/font/path". 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>evas</em>&nbsp;</td><td>Evas object to append the font names to. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd><code>ECORE_CONFIG_ERR_SUCC</code> on success. <code>ECORE_CONFIG_ERR_NODATA</code> is returned if the property has not been set. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="793b819965f23985b42ebdca638325d5"></a><!-- doxytag: member="Ecore_Config.h::ecore_config_theme_default_path_get" ref="793b819965f23985b42ebdca638325d5" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI char* ecore_config_theme_default_path_get           </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Retrieves the default theme search path. 
+<p>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The default theme search path. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="9d4f7c3e2193de373de27ff1a4128080"></a><!-- doxytag: member="Ecore_Config.h::ecore_config_theme_search_path_append" ref="9d4f7c3e2193de373de27ff1a4128080" args="(char *append)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_config_theme_search_path_append           </td>
+          <td>(</td>
+          <td class="paramtype">char *&nbsp;</td>
+          <td class="paramname"> <em>path</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Adds the given path to the search path used to find themes. 
+<p>
+If the search path is successfully, the new search path will be saved into the property "/e/themes/search_path". Therefore, this function should be called <b>after</b> <a class="el" href="group__Ecore__Config__File__Group.html#g8e064585346f2234620dbbeb034d406b">ecore_config_load</a> to allow a user to override the default search path.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>path</em>&nbsp;</td><td>The given </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd><code>ECORE_CONFIG_ERR_SUCC</code> on success. <code>ECORE_CONFIG_ERR_FAIL</code> will be returned if <code>path</code> already exists in the search path. <code>ECORE_CONFIG_ERR_FAIL</code> is returned if <code>path</code> is <code>NULL</code>. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="8a633459c4617a33c4107462f5346ab6"></a><!-- doxytag: member="Ecore_Config.h::ecore_config_theme_search_path_get" ref="8a633459c4617a33c4107462f5346ab6" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI char* ecore_config_theme_search_path_get           </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Retrieves the search path used to find themes. 
+<p>
+The search path is stored in the property "/e/themes/search_path". If the property has not been set, the default path used is "/usr/local/share/&lt;app_name&gt;/themes|~/.e/apps/&lt;app_name&gt;/themes". See <a class="el" href="Ecore__Config_8h.html#793b819965f23985b42ebdca638325d5">ecore_config_theme_default_path_get</a> for more information about the default path.<p>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The search path. <code>NULL</code> is returned if there is no memory left. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="90d76531ca2cf69c1b691a92ec65aee9"></a><!-- doxytag: member="Ecore_Config.h::ecore_config_theme_with_path_from_name_get" ref="90d76531ca2cf69c1b691a92ec65aee9" args="(char *name)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI char* ecore_config_theme_with_path_from_name_get           </td>
+          <td>(</td>
+          <td class="paramtype">char *&nbsp;</td>
+          <td class="paramname"> <em>name</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Retrieve a theme file's full path. 
+<p>
+The search path for theme files is given by <a class="el" href="Ecore__Config_8h.html#8a633459c4617a33c4107462f5346ab6">ecore_config_theme_search_path_get</a> .<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>The name of the theme. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>A full path to the theme on success. <code>NULL</code> will be returned if <code>name</code> is <code>NULL</code> or no theme matching the given name could be found. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="104448c0651bdbf586cd9300c2f83805"></a><!-- doxytag: member="Ecore_Config.h::ecore_config_theme_with_path_get" ref="104448c0651bdbf586cd9300c2f83805" args="(const char *key)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI char* ecore_config_theme_with_path_get           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>key</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Retrieves the full path to the theme file of the theme stored in the given property. 
+<p>
+The search path for themes is given by <a class="el" href="Ecore__Config_8h.html#8a633459c4617a33c4107462f5346ab6">ecore_config_theme_search_path_get</a> .<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>The given property. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>A full path to the theme on success, or <code>NULL</code> on failure. This function will fail if no key is specified or not theme matching that given by the property <code>key</code> could be found. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="5ed9e1272c0e42fb7056770cd773fc3b"></a><!-- doxytag: member="Ecore_Config.h::ecore_config_type_guess" ref="5ed9e1272c0e42fb7056770cd773fc3b" args="(const char *key, const char *val)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_config_type_guess           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>key</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>val</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Tries to guess the type of a property. 
+<p>
+This function first checks to see if the property exists. If it does, then the type of the stored property is returned. Otherwise, the function tries to guess the type of the property based on <code>val</code>.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>The property key. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>val</em>&nbsp;</td><td>The value in string form. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The type of the property determined by the function. Note that if val is <code>NULL</code>, <code>ECORE_CONFIG_NIL</code> will be returned. </dd></dl>
+
+</div>
+</div><p>
+</body>
+</html>
diff --git a/doc/html/Ecore__Data_8h.html b/doc/html/Ecore__Data_8h.html
new file mode 100644
index 0000000..857f6bc
--- /dev/null
+++ b/doc/html/Ecore__Data_8h.html
@@ -0,0 +1,2668 @@
+<html>
+
+<head>
+
+<title>Ecore: Ecore_Data.h File Reference</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li id="current"><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<div class="tabs">
+  <ul>
+    <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+    <li><a href="globals.html"><span>Globals</span></a></li>
+  </ul></div>
+<h1>Ecore_Data.h File Reference</h1>Contains threading, list, hash, debugging and tree functions. <a href="#_details">More...</a>
+<p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Data_8h.html#873cff99843c0dda345a3c954e5fce9d">ecore_direct_compare</a> (const void *key1, const void *key2)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Perform a direct comparison of two keys' values.  <a href="#873cff99843c0dda345a3c954e5fce9d"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Data_8h.html#b5741521c8d313a5f438747b4aceecee">ecore_str_compare</a> (const void *key1, const void *key2)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Perform a string comparison of two keys values.  <a href="#b5741521c8d313a5f438747b4aceecee"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Data_8h.html#5e800a5b1f86743721609f897e0ae145">ecore_direct_hash</a> (const void *key)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Just casts the key to an unsigned int.  <a href="#5e800a5b1f86743721609f897e0ae145"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Data_8h.html#69c9db0132ed426affeaf8312f074d64">ecore_str_hash</a> (const void *key)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compute the hash value of a string.  <a href="#69c9db0132ed426affeaf8312f074d64"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_List *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Data__List__Creation__Group.html#g80ada4d782322648df8889e9d7d18ad6">ecore_list_new</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create and initialize a new list.  <a href="group__Ecore__Data__List__Creation__Group.html#g80ada4d782322648df8889e9d7d18ad6"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Data__List__Creation__Group.html#g06c059777db36f8ecd699d992e148120">ecore_list_init</a> (Ecore_List *list)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initialize a list to some sane starting values.  <a href="group__Ecore__Data__List__Creation__Group.html#g06c059777db36f8ecd699d992e148120"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Data__List__Add__Item__Group.html#gb211707773975890b6406d9282cfcbf5">ecore_list_append</a> (Ecore_List *list, void *_data)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Append data to the list.  <a href="group__Ecore__Data__List__Add__Item__Group.html#gb211707773975890b6406d9282cfcbf5"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Data__List__Add__Item__Group.html#g6b7c6361881c17430313cb1a214c9df6">ecore_list_prepend</a> (Ecore_List *list, void *_data)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Prepend data to the beginning of the list.  <a href="group__Ecore__Data__List__Add__Item__Group.html#g6b7c6361881c17430313cb1a214c9df6"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Data__List__Add__Item__Group.html#g5ba15c63f0b4e3c4bf45870d086a3ac9">ecore_list_insert</a> (Ecore_List *list, void *_data)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Insert data in front of the current point in the list.  <a href="group__Ecore__Data__List__Add__Item__Group.html#g5ba15c63f0b4e3c4bf45870d086a3ac9"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Data__List__Add__Item__Group.html#g87f46b1ee4fa7ca39c676539bf09d3cc">ecore_list_append_list</a> (Ecore_List *list, Ecore_List *append)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Append a list to the list.  <a href="group__Ecore__Data__List__Add__Item__Group.html#g87f46b1ee4fa7ca39c676539bf09d3cc"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Data__List__Add__Item__Group.html#g1622d5b1973ee9b40e1b228d414cd26d">ecore_list_prepend_list</a> (Ecore_List *list, Ecore_List *prepend)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Prepend a list to the beginning of the list.  <a href="group__Ecore__Data__List__Add__Item__Group.html#g1622d5b1973ee9b40e1b228d414cd26d"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Data__List__Remove__Item__Group.html#gf0b1bc4dd9841fe85f195e3be77353fa">ecore_list_remove_destroy</a> (Ecore_List *list)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove and free the data in lists current position.  <a href="group__Ecore__Data__List__Remove__Item__Group.html#gf0b1bc4dd9841fe85f195e3be77353fa"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Data__List__Remove__Item__Group.html#ga1ef518d46ab426978383037d0401486">ecore_list_remove</a> (Ecore_List *list)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove the current item from the list.  <a href="group__Ecore__Data__List__Remove__Item__Group.html#ga1ef518d46ab426978383037d0401486"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Data__List__Remove__Item__Group.html#g759db54fb9a6a45dc98c83f44f9b7959">ecore_list_first_remove</a> (Ecore_List *list)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove the first item from the list.  <a href="group__Ecore__Data__List__Remove__Item__Group.html#g759db54fb9a6a45dc98c83f44f9b7959"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Data__List__Remove__Item__Group.html#g6ab71587df43b0a27359fc0359b85a74">ecore_list_last_remove</a> (Ecore_List *list)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove the last item from the list.  <a href="group__Ecore__Data__List__Remove__Item__Group.html#g6ab71587df43b0a27359fc0359b85a74"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Data_8h.html#8007c9f6392ba93d01ceed6bfaae55de">ecore_list_current</a> (Ecore_List *list)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieve the data pointed to by the current item in <code>list</code>.  <a href="#8007c9f6392ba93d01ceed6bfaae55de"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Data_8h.html#7a92850362be110a94db4e1db6e7bfc5">ecore_list_first</a> (Ecore_List *list)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieve the data pointed to by the first item in <code>list</code>.  <a href="#7a92850362be110a94db4e1db6e7bfc5"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Data_8h.html#cec936a9d81b2735bad6ec9d04e3c8d7">ecore_list_last</a> (Ecore_List *list)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieve the data pointed to by the last item in <code>list</code>.  <a href="#cec936a9d81b2735bad6ec9d04e3c8d7"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Data_8h.html#30ed4155f8e406a441f3df2bdee84a3a">ecore_list_index</a> (Ecore_List *list)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the number of the current node.  <a href="#30ed4155f8e406a441f3df2bdee84a3a"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Data_8h.html#fd4513530761fc53e242f74207200ab9">ecore_list_count</a> (Ecore_List *list)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Find the number of nodes in the list.  <a href="#fd4513530761fc53e242f74207200ab9"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Data__List__Traverse__Group.html#gd981fd3e42031c62e344ec42da2dccb3">ecore_list_for_each</a> (Ecore_List *list, Ecore_For_Each function, void *user_data)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Execute function for each node in <code>list</code>.  <a href="group__Ecore__Data__List__Traverse__Group.html#gd981fd3e42031c62e344ec42da2dccb3"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Data__List__Traverse__Group.html#g0ed72f2fafabf21761391a93fe1e6196">ecore_list_first_goto</a> (Ecore_List *list)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Make the current item the first item in the list.  <a href="group__Ecore__Data__List__Traverse__Group.html#g0ed72f2fafabf21761391a93fe1e6196"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Data__List__Traverse__Group.html#g7bfec15801e3d4a12730352b62364478">ecore_list_last_goto</a> (Ecore_List *list)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Make the current item the last item in the list.  <a href="group__Ecore__Data__List__Traverse__Group.html#g7bfec15801e3d4a12730352b62364478"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Data__List__Traverse__Group.html#gb900744acb5d2cf35b71d9a4b99d3260">ecore_list_index_goto</a> (Ecore_List *list, int index)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Make the current item the item with the given index number.  <a href="group__Ecore__Data__List__Traverse__Group.html#gb900744acb5d2cf35b71d9a4b99d3260"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Data__List__Traverse__Group.html#g2c072ae18b640ea104d5a583c28aa0e9">ecore_list_goto</a> (Ecore_List *list, const void *_data)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Make the current item the node that contains <code>data</code>.  <a href="group__Ecore__Data__List__Traverse__Group.html#g2c072ae18b640ea104d5a583c28aa0e9"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Data_8h.html#43fc95655925c9d8eb89c30b993a840f">ecore_list_next</a> (Ecore_List *list)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieve the data pointed to by the current item, and make the next item the current item.  <a href="#43fc95655925c9d8eb89c30b993a840f"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Data_8h.html#77b1d474bdd46db28addc3c46a9960cd">ecore_list_find</a> (Ecore_List *list, Ecore_Compare_Cb function, const void *user_data)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Find data in <code>list</code> using the compare function <code>func</code>.  <a href="#77b1d474bdd46db28addc3c46a9960cd"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Data_8h.html#caaad871e840c125686153b44d089aef">ecore_list_sort</a> (Ecore_List *list, Ecore_Compare_Cb compare, char order)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sort data in <code>list</code> using the compare function <code>compare</code>.  <a href="#caaad871e840c125686153b44d089aef"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Data_8h.html#a53a279287339285863c33b196845985">ecore_list_mergesort</a> (Ecore_List *list, Ecore_Compare_Cb compare, char order)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sort data in <code>list</code> using the compare function <code>compare</code>.  <a href="#a53a279287339285863c33b196845985"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Data_8h.html#cb4438e669ea71a2f554fbb0c7f2c4a7">ecore_list_heapsort</a> (Ecore_List *list, Ecore_Compare_Cb compare, char order)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sort data in <code>list</code> using the compare function <code>compare</code>.  <a href="#cb4438e669ea71a2f554fbb0c7f2c4a7"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Data_8h.html#d29dcb74971eae5c69629d51e5de851a">ecore_list_empty_is</a> (Ecore_List *list)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks the list for any nodes.  <a href="#d29dcb74971eae5c69629d51e5de851a"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Data_8h.html#af35de16533e2549d43356de77dbb24c">ecore_list_clear</a> (Ecore_List *list)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove all nodes from <code>list</code>.  <a href="#af35de16533e2549d43356de77dbb24c"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Data__List__Creation__Group.html#g15e19a128b9926c96b999212f2d5b793">ecore_list_destroy</a> (Ecore_List *list)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Free a list and all of it's nodes.  <a href="group__Ecore__Data__List__Creation__Group.html#g15e19a128b9926c96b999212f2d5b793"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_List_Node *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Data__List__Node__Group.html#gaecc02845c38719dfe67b32c00cf5248">ecore_list_node_new</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Allocates and initializes a new list node.  <a href="group__Ecore__Data__List__Node__Group.html#gaecc02845c38719dfe67b32c00cf5248"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Data__List__Node__Group.html#g1cda1cfa085463a8b833034c1ab47730">ecore_list_node_destroy</a> (Ecore_List_Node *_e_node, Ecore_Free_Cb free_func)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calls the function to free the data and the node.  <a href="group__Ecore__Data__List__Node__Group.html#g1cda1cfa085463a8b833034c1ab47730"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Data_8h.html#348f60c3412d15ffa67abce2cf4c06a5">ecore_list_free_cb_set</a> (Ecore_List *list, Ecore_Free_Cb free_func)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the function for freeing data.  <a href="#348f60c3412d15ffa67abce2cf4c06a5"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_DList *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Data__DList__Creation__Group.html#g6b10331356b28504aedbe6fb5f483a21">ecore_dlist_new</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates and initialises a new doubly linked list.  <a href="group__Ecore__Data__DList__Creation__Group.html#g6b10331356b28504aedbe6fb5f483a21"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Data__DList__Creation__Group.html#g7958d0f1de2e465f521456f12fad103c">ecore_dlist_init</a> (Ecore_DList *list)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initialises a list to some sane starting values.  <a href="group__Ecore__Data__DList__Creation__Group.html#g7958d0f1de2e465f521456f12fad103c"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Data__DList__Creation__Group.html#g838f7287130783e63b6ccf9ebbd6d7b2">ecore_dlist_destroy</a> (Ecore_DList *list)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Frees a doubly linked list and all of its nodes.  <a href="group__Ecore__Data__DList__Creation__Group.html#g838f7287130783e63b6ccf9ebbd6d7b2"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Data__DList__Add__Item__Group.html#gb9ecd4d6c0b462afd43b6703497952dc">ecore_dlist_append</a> (Ecore_DList *_e_dlist, void *_data)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Appends data to the given doubly linked list.  <a href="group__Ecore__Data__DList__Add__Item__Group.html#gb9ecd4d6c0b462afd43b6703497952dc"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Data__DList__Add__Item__Group.html#g95c60034d74c2200bce2f8cb1e1fd952">ecore_dlist_prepend</a> (Ecore_DList *_e_dlist, void *_data)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Adds data to the very beginning of the given doubly linked list.  <a href="group__Ecore__Data__DList__Add__Item__Group.html#g95c60034d74c2200bce2f8cb1e1fd952"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Data__DList__Add__Item__Group.html#g222f069fec04411a84c8b874f01c66a3">ecore_dlist_insert</a> (Ecore_DList *_e_dlist, void *_data)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Inserts data at the current point in the given doubly linked list.  <a href="group__Ecore__Data__DList__Add__Item__Group.html#g222f069fec04411a84c8b874f01c66a3"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Data__DList__Add__Item__Group.html#g04436a308abfaf767d15579d6b7f92d9">ecore_dlist_append_list</a> (Ecore_DList *_e_dlist, Ecore_DList *append)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Appends a list to the given doubly linked list.  <a href="group__Ecore__Data__DList__Add__Item__Group.html#g04436a308abfaf767d15579d6b7f92d9"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Data__DList__Add__Item__Group.html#g220fcae29f75447ebaa00aa204852db1">ecore_dlist_prepend_list</a> (Ecore_DList *_e_dlist, Ecore_DList *prepend)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Adds a list to the very beginning of the given doubly linked list.  <a href="group__Ecore__Data__DList__Add__Item__Group.html#g220fcae29f75447ebaa00aa204852db1"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Data_8h.html#9659bf990d5d77609dd1de2e13e82968">ecore_dlist_current</a> (Ecore_DList *list)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the data in the current list item.  <a href="#9659bf990d5d77609dd1de2e13e82968"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Data_8h.html#3a96cd6e0c7630a558ffcd8a78640db0">ecore_dlist_index</a> (Ecore_DList *list)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the index of the current node of the given doubly linked list.  <a href="#3a96cd6e0c7630a558ffcd8a78640db0"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Data__DList__Remove__Item__Group.html#g57c91ac510db4da827353d0f034a6fb8">ecore_dlist_remove</a> (Ecore_DList *_e_dlist)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Removes the current item from the given doubly linked list.  <a href="group__Ecore__Data__DList__Remove__Item__Group.html#g57c91ac510db4da827353d0f034a6fb8"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Data__DList__Remove__Item__Group.html#g6df23f69806e4a65bde1a4031170ef2c">ecore_dlist_first_remove</a> (Ecore_DList *_e_dlist)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Removes the first item from the given doubly linked list.  <a href="group__Ecore__Data__DList__Remove__Item__Group.html#g6df23f69806e4a65bde1a4031170ef2c"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Data__DList__Remove__Item__Group.html#gd98f5e6976e2da0fcabe4a22a4f704f7">ecore_dlist_remove_destroy</a> (Ecore_DList *list)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Removes and frees the data at the current position in the given doubly linked list.  <a href="group__Ecore__Data__DList__Remove__Item__Group.html#gd98f5e6976e2da0fcabe4a22a4f704f7"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Data__DList__Remove__Item__Group.html#ga8104f45ce30a4d8df091d58c0c56d00">ecore_dlist_last_remove</a> (Ecore_DList *_e_dlist)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Removes the last item from the given doubly linked list.  <a href="group__Ecore__Data__DList__Remove__Item__Group.html#ga8104f45ce30a4d8df091d58c0c56d00"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Data_8h.html#495fb09e9ce3a9782246ab0c67d42e91">ecore_dlist_first_goto</a> (Ecore_DList *_e_dlist)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Move the current pointer to the first item in the list.  <a href="#495fb09e9ce3a9782246ab0c67d42e91"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Data_8h.html#75afcbcb50a9871b7453b246e63bfb69">ecore_dlist_last_goto</a> (Ecore_DList *_e_dlist)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Move the pointer to the current item to the last item.  <a href="#75afcbcb50a9871b7453b246e63bfb69"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Data_8h.html#94ce6bfa15920cdac551e52617edb2ee">ecore_dlist_index_goto</a> (Ecore_DList *_e_dlist, int index)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Moves the current item to the index number in the given doubly linked list.  <a href="#94ce6bfa15920cdac551e52617edb2ee"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Data_8h.html#13fa600cdd4847ca1033af311eac32f0">ecore_dlist_goto</a> (Ecore_DList *_e_dlist, void *_data)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Move the current item to the node that contains data.  <a href="#13fa600cdd4847ca1033af311eac32f0"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Data_8h.html#ebd60d8a08353b75e9206b630178e712">ecore_dlist_next</a> (Ecore_DList *list)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Move to the next item in the list and return current item.  <a href="#ebd60d8a08353b75e9206b630178e712"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Data_8h.html#d1de9f6428f7270f604b7ce1a078ae4e">ecore_dlist_previous</a> (Ecore_DList *list)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Move to the previous item and return current item.  <a href="#d1de9f6428f7270f604b7ce1a078ae4e"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Data_8h.html#932b3bbec2f04b545a9f422fb05e1030">ecore_dlist_sort</a> (Ecore_DList *list, Ecore_Compare_Cb compare, char order)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sort data in <code>list</code> using the compare function <code>compare</code>.  <a href="#932b3bbec2f04b545a9f422fb05e1030"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Data_8h.html#30846148d6b7c635b78f880c96911e4e">ecore_dlist_mergesort</a> (Ecore_DList *list, Ecore_Compare_Cb compare, char order)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sort data in <code>list</code> using the compare function <code>compare</code>.  <a href="#30846148d6b7c635b78f880c96911e4e"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Data_8h.html#27646e313158b25161c3175b30437cf6">ecore_dlist_empty_is</a> (Ecore_DList *_e_dlist)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns whether there is anything in the given doubly linked list.  <a href="#27646e313158b25161c3175b30437cf6"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Data_8h.html#0ed323ece8036a0c0f3e4f23cbceb5c5">ecore_dlist_clear</a> (Ecore_DList *_e_dlist)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove all nodes from the list.  <a href="#0ed323ece8036a0c0f3e4f23cbceb5c5"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Data__DList__Creation__Group.html#gda3e2854278324fcf135e4831aadce71">ecore_dlist_free_cb_set</a> (Ecore_DList *dlist, Ecore_Free_Cb free_func)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the function used for freeing data stored in a doubly linked list.  <a href="group__Ecore__Data__DList__Creation__Group.html#gda3e2854278324fcf135e4831aadce71"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_Hash *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Data__Hash__ADT__Creation__Group.html#g5de992790f5cc11571b5739299a1f472">ecore_hash_new</a> (Ecore_Hash_Cb hash_func, Ecore_Compare_Cb compare)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates and initializes a new hash.  <a href="group__Ecore__Data__Hash__ADT__Creation__Group.html#g5de992790f5cc11571b5739299a1f472"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Data__Hash__ADT__Creation__Group.html#gce3bbd88a3fc2bcc391da07fce9cf1a7">ecore_hash_init</a> (Ecore_Hash *hash, Ecore_Hash_Cb hash_func, Ecore_Compare_Cb compare)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initializes the given hash.  <a href="group__Ecore__Data__Hash__ADT__Creation__Group.html#gce3bbd88a3fc2bcc391da07fce9cf1a7"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Data__Hash__ADT__Destruction__Group.html#g3f98af9e6362e243a1da0252f93fb540">ecore_hash_free_key_cb_set</a> (Ecore_Hash *hash, Ecore_Free_Cb function)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the function to destroy the keys of the given hash.  <a href="group__Ecore__Data__Hash__ADT__Destruction__Group.html#g3f98af9e6362e243a1da0252f93fb540"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Data__Hash__ADT__Destruction__Group.html#g0f0a17ac35a89cb7dac73fea23564ddd">ecore_hash_free_value_cb_set</a> (Ecore_Hash *hash, Ecore_Free_Cb function)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the function to destroy the values in the given hash.  <a href="group__Ecore__Data__Hash__ADT__Destruction__Group.html#g0f0a17ac35a89cb7dac73fea23564ddd"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Data__Hash__ADT__Destruction__Group.html#g105c167609936be76f83bcae7ceef598">ecore_hash_destroy</a> (Ecore_Hash *hash)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Frees the hash table and the data contained inside it.  <a href="group__Ecore__Data__Hash__ADT__Destruction__Group.html#g105c167609936be76f83bcae7ceef598"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Data__Hash__ADT__Destruction__Group.html#g2f4df7c58d507297d465395bcd2f57c6">ecore_hash_count</a> (Ecore_Hash *hash)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Counts the number of nodes in a hash table.  <a href="group__Ecore__Data__Hash__ADT__Destruction__Group.html#g2f4df7c58d507297d465395bcd2f57c6"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Data__Hash__ADT__Traverse__Group.html#g2c2ae04b3ce693d317e52e510d0b6e52">ecore_hash_for_each_node</a> (Ecore_Hash *hash, Ecore_For_Each for_each_func, void *user_data)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Runs the <code>for_each_func</code> function on each entry in the given hash.  <a href="group__Ecore__Data__Hash__ADT__Traverse__Group.html#g2c2ae04b3ce693d317e52e510d0b6e52"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_List *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Data__Hash__ADT__Traverse__Group.html#geb61f09759a6325a34f797438f1bdce0">ecore_hash_keys</a> (Ecore_Hash *hash)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves an ecore_list of all keys in the given hash.  <a href="group__Ecore__Data__Hash__ADT__Traverse__Group.html#geb61f09759a6325a34f797438f1bdce0"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Data__Hash__ADT__Data__Group.html#g90c2fcaadceee751422bce089bff22e9">ecore_hash_get</a> (Ecore_Hash *hash, const void *key)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the value associated with the given key from the given hash table.  <a href="group__Ecore__Data__Hash__ADT__Data__Group.html#g90c2fcaadceee751422bce089bff22e9"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Data__Hash__ADT__Data__Group.html#gbac7868d1b39556c7499dc2786ca1fe5">ecore_hash_set</a> (Ecore_Hash *hash, void *key, void *value)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets a key-value pair in the given hash table.  <a href="group__Ecore__Data__Hash__ADT__Data__Group.html#gbac7868d1b39556c7499dc2786ca1fe5"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Data__Hash__ADT__Data__Group.html#g64262a142e203f74778cff91bdc46e1e">ecore_hash_hash_set</a> (Ecore_Hash *hash, Ecore_Hash *set)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets all key-value pairs from set in the given hash table.  <a href="group__Ecore__Data__Hash__ADT__Data__Group.html#g64262a142e203f74778cff91bdc46e1e"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Data__Hash__ADT__Data__Group.html#g1f69d26d118beb108e260bf92f764b77">ecore_hash_remove</a> (Ecore_Hash *hash, const void *key)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Removes the value associated with the given key in the given hash table.  <a href="group__Ecore__Data__Hash__ADT__Data__Group.html#g1f69d26d118beb108e260bf92f764b77"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Data__Hash__ADT__Data__Group.html#g9c2c0764302ec227472c3b643864c745">ecore_hash_find</a> (Ecore_Hash *hash, Ecore_Compare_Cb compare, const void *value)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the first value that matches table.  <a href="group__Ecore__Data__Hash__ADT__Data__Group.html#g9c2c0764302ec227472c3b643864c745"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Data_8h.html#ded8225238100f9e94e840c4eff7e944">ecore_hash_dump_graph</a> (Ecore_Hash *hash)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Prints the distribution of the given hash table for graphing.  <a href="#ded8225238100f9e94e840c4eff7e944"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Data_8h.html#166bc0adb5b2130fc86302368581c0c2">ecore_hash_dump_stats</a> (Ecore_Hash *hash)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Prints the distribution of the given hash table for graphing.  <a href="#166bc0adb5b2130fc86302368581c0c2"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Path__Group.html#g473c0199a5051f156c5f90620379aa5f">ecore_path_group_new</a> (char *group_name)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a new path group.  <a href="group__Ecore__Path__Group.html#g473c0199a5051f156c5f90620379aa5f"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Path__Group.html#gab5e4ad6a1bbd4d8f9981428008f8e7d">ecore_path_group_del</a> (int group_id)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destroys a previously created path group.  <a href="group__Ecore__Path__Group.html#gab5e4ad6a1bbd4d8f9981428008f8e7d"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Path__Group.html#g68a0408334b4a5917cd15f03eed96ba0">ecore_path_group_add</a> (int group_id, char *path)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Adds a directory to be searched for files.  <a href="group__Ecore__Path__Group.html#g68a0408334b4a5917cd15f03eed96ba0"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Path__Group.html#gfeca230cd94ad8a5616170c9d015efdb">ecore_path_group_remove</a> (int group_id, char *path)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Removes the given directory from the given group.  <a href="group__Ecore__Path__Group.html#gfeca230cd94ad8a5616170c9d015efdb"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Path__Group.html#g12f3c1df8f9ef551561409b36377621d">ecore_path_group_find</a> (int group_id, char *name)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Finds a file in a group of paths.  <a href="group__Ecore__Path__Group.html#g12f3c1df8f9ef551561409b36377621d"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_List *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Path__Group.html#g9f45c0a8e744b56b2b14d1cce60907be">ecore_path_group_available</a> (int group_id)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves a list of all available files in the given path.  <a href="group__Ecore__Path__Group.html#g9f45c0a8e744b56b2b14d1cce60907be"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_Plugin *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Plugin.html#gd18ad5feab33494fe59e666995f5e50d">ecore_plugin_load</a> (int group_id, const char *plugin)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Loads the specified plugin from the specified path group.  <a href="group__Ecore__Plugin.html#gd18ad5feab33494fe59e666995f5e50d"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Plugin.html#gcffe2e8b05e697882026a4ab2a8e6a96">ecore_plugin_unload</a> (Ecore_Plugin *plugin)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Unloads the given plugin from memory.  <a href="group__Ecore__Plugin.html#gcffe2e8b05e697882026a4ab2a8e6a96"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_Sheap *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Data_8h.html#e7cc60f5c10a25a93a78596ff284ed98">ecore_sheap_new</a> (Ecore_Compare_Cb compare, int size)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Allocate and initialize a new binary heap.  <a href="#e7cc60f5c10a25a93a78596ff284ed98"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Data_8h.html#98d19b734ebe2a81fc3bbbbc2737d862">ecore_sheap_destroy</a> (Ecore_Sheap *heap)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Free up the memory used by the heap.  <a href="#98d19b734ebe2a81fc3bbbbc2737d862"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Data_8h.html#bde11935b214bd9b3acbac930fbae7ec">ecore_sheap_init</a> (Ecore_Sheap *heap, Ecore_Compare_Cb compare, int size)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initialize a binary heap to default values.  <a href="#bde11935b214bd9b3acbac930fbae7ec"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Data_8h.html#dee5618dc88f909f2097762c261101dd">ecore_sheap_free_cb_set</a> (Ecore_Sheap *heap, Ecore_Free_Cb free_func)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the function for freeing data.  <a href="#dee5618dc88f909f2097762c261101dd"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Data_8h.html#3fc6a0416b4cb3d09eb7ee2a594c7eb6">ecore_sheap_insert</a> (Ecore_Sheap *heap, void *data)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Insert new data into the heap.  <a href="#3fc6a0416b4cb3d09eb7ee2a594c7eb6"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Data_8h.html#b7bd874a27f5b8f7860c7e2e4893e651">ecore_sheap_extract</a> (Ecore_Sheap *heap)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Extract the item at the top of the heap.  <a href="#b7bd874a27f5b8f7860c7e2e4893e651"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Data_8h.html#3342b30dc12366b169466aafb0954640">ecore_sheap_extreme</a> (Ecore_Sheap *heap)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Examine the item at the top of the heap.  <a href="#3342b30dc12366b169466aafb0954640"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Data_8h.html#be297ee8de1bd957f38731bf3d14efbc">ecore_sheap_change</a> (Ecore_Sheap *heap, void *item, void *newval)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Change the value of the specified item in the heap.  <a href="#be297ee8de1bd957f38731bf3d14efbc"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Data_8h.html#ad77243ee455d01f3038fadecde342ad">ecore_sheap_compare_set</a> (Ecore_Sheap *heap, Ecore_Compare_Cb compare)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Change the comparison function for the heap.  <a href="#ad77243ee455d01f3038fadecde342ad"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Data_8h.html#ac5ec246c5303cecdfba8e4b54561603">ecore_sheap_order_set</a> (Ecore_Sheap *heap, char order)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Change the order of the heap.  <a href="#ac5ec246c5303cecdfba8e4b54561603"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Data_8h.html#f0d1921912193237832b5720b9bd80a9">ecore_sheap_sort</a> (Ecore_Sheap *heap)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sort the data in the heap.  <a href="#f0d1921912193237832b5720b9bd80a9"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Data_8h.html#c4977b1a19782b19dde5f4c786f4da7c">ecore_string_init</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initialize the ecore string internal structure.  <a href="#c4977b1a19782b19dde5f4c786f4da7c"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ce032ebe8fc06a10f9d84e03797a8111"></a><!-- doxytag: member="Ecore_Data.h::ecore_string_shutdown" ref="ce032ebe8fc06a10f9d84e03797a8111" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Data_8h.html#ce032ebe8fc06a10f9d84e03797a8111">ecore_string_shutdown</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Shutdown the ecore string internal structures. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__String__Group.html#g30c9f103f58a9d2e9b3e31acc99978d8">ecore_string_instance</a> (const char *string)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves an instance of a string for use in an ecore program.  <a href="group__Ecore__String__Group.html#g30c9f103f58a9d2e9b3e31acc99978d8"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__String__Group.html#gd551844a4defc87dd4623d0b4ad19588">ecore_string_release</a> (const char *string)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Notes that the given string has lost an instance.  <a href="group__Ecore__String__Group.html#gd551844a4defc87dd4623d0b4ad19588"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_Tree *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Data_8h.html#e8092547ff422b15de8c9d160d056a93">ecore_tree_new</a> (Ecore_Compare_Cb compare_func)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Allocate a new tree structure.  <a href="#e8092547ff422b15de8c9d160d056a93"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Data_8h.html#03d5b1e09edc6bf6fef84a702b92398b">ecore_tree_init</a> (Ecore_Tree *tree, Ecore_Compare_Cb compare_func)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initialize a tree structure to some sane initial values.  <a href="#03d5b1e09edc6bf6fef84a702b92398b"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Data_8h.html#3df247a9cf0c0527c4c683cfa6d026ca">ecore_tree_destroy</a> (Ecore_Tree *tree)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Free the tree and it's stored data.  <a href="#3df247a9cf0c0527c4c683cfa6d026ca"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Data_8h.html#a4ac53575ba20de78505778ed5b433aa">ecore_tree_empty_is</a> (Ecore_Tree *tree)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Test to see if the tree has any nodes.  <a href="#a4ac53575ba20de78505778ed5b433aa"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Data_8h.html#06c55b89a6bdac8d441b34282a12fa83">ecore_tree_get</a> (Ecore_Tree *tree, const void *key)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the value corresponding to key.  <a href="#06c55b89a6bdac8d441b34282a12fa83"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_Tree_Node *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Data_8h.html#ce588048d6380f927e28c534af1afdba">ecore_tree_get_node</a> (Ecore_Tree *tree, const void *key)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the node corresponding to key.  <a href="#ce588048d6380f927e28c534af1afdba"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Data_8h.html#f52e7fdca0f27368c7c95d50e386376f">ecore_tree_closest_larger_get</a> (Ecore_Tree *tree, const void *key)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Find the closest value greater than or equal to the key.  <a href="#f52e7fdca0f27368c7c95d50e386376f"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Data_8h.html#77a68da43db9e664c403bf819d737d62">ecore_tree_closest_smaller_get</a> (Ecore_Tree *tree, const void *key)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Find the closest value &lt;= key.  <a href="#77a68da43db9e664c403bf819d737d62"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Data_8h.html#e999f4d62c2a91ebce987e8aada33cca">ecore_tree_set</a> (Ecore_Tree *tree, void *key, void *value)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the value associated with key to <em>value</em>.  <a href="#e999f4d62c2a91ebce987e8aada33cca"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Data_8h.html#5c0dbd9de210017842c51b7c3939cc1a">ecore_tree_remove</a> (Ecore_Tree *tree, const void *key)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove the key from the tree.  <a href="#5c0dbd9de210017842c51b7c3939cc1a"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Data_8h.html#83ebb0d3894f5aaf80142949a5583c1c">ecore_tree_node_add</a> (Ecore_Tree *tree, Ecore_Tree_Node *node)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Place a node in the tree.  <a href="#83ebb0d3894f5aaf80142949a5583c1c"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Data_8h.html#1d72ac2a0b21c54698e72bac05c12066">ecore_tree_node_remove</a> (Ecore_Tree *tree, Ecore_Tree_Node *node)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove the node from the tree.  <a href="#1d72ac2a0b21c54698e72bac05c12066"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Data_8h.html#bfde6d03be39d04a4d7291d4d6f86810">ecore_tree_for_each_node</a> (Ecore_Tree *tree, Ecore_For_Each for_each_func, void *user_data)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Execute the function for each node in the tree.  <a href="#bfde6d03be39d04a4d7291d4d6f86810"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Data_8h.html#684e9299e24fa6db5c81b346be5ea88b">ecore_tree_for_each_node_value</a> (Ecore_Tree *tree, Ecore_For_Each for_each_func, void *user_data)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Execute function for each value in the tree.  <a href="#684e9299e24fa6db5c81b346be5ea88b"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0c42689408b874a7c2bd9e082090fc5b"></a><!-- doxytag: member="Ecore_Data.h::ecore_strbuf_new" ref="0c42689408b874a7c2bd9e082090fc5b" args="(void)" -->
+EAPI Ecore_Strbuf *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Data_8h.html#0c42689408b874a7c2bd9e082090fc5b">ecore_strbuf_new</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a new string buffer. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Data_8h.html#838f94eec6bd18242196539e5b914d82">ecore_strbuf_free</a> (Ecore_Strbuf *buf)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Free a string buffer.  <a href="#838f94eec6bd18242196539e5b914d82"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Data_8h.html#e67778c23a633d19d3f30ae03a7bdea5">ecore_strbuf_append</a> (Ecore_Strbuf *buf, const char *str)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Append a string to a buffer, reallocating as necessary.  <a href="#e67778c23a633d19d3f30ae03a7bdea5"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Data_8h.html#3ed82332312fcbda9e72b4cb0b45c401">ecore_strbuf_append_char</a> (Ecore_Strbuf *buf, char c)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Append a character to a string buffer, reallocating as necessary.  <a href="#3ed82332312fcbda9e72b4cb0b45c401"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Data_8h.html#cfb0680131457a82291765c17f5ba5ae">ecore_strbuf_insert</a> (Ecore_Strbuf *buf, const char *str, size_t pos)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Insert a string to a buffer, reallocating as necessary.  <a href="#cfb0680131457a82291765c17f5ba5ae"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Data_8h.html#85137f7f462c5903c056e200c48a6d99">ecore_strbuf_string_get</a> (Ecore_Strbuf *buf)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieve a pointer to the contents of a string buffer.  <a href="#85137f7f462c5903c056e200c48a6d99"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Data_8h.html#c94cffd46ac2eccb0142ffa170a0d148">ecore_strbuf_length_get</a> (Ecore_Strbuf *buf)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieve the length of the string buffer content.  <a href="#c94cffd46ac2eccb0142ffa170a0d148"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Data_8h.html#4e0d78626cac5d2e0ac67038ed079f7a">ecore_strbuf_replace</a> (Ecore_Strbuf *buf, const char *str, const char *with, unsigned int n)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Replace the n-th string with an other string.  <a href="#4e0d78626cac5d2e0ac67038ed079f7a"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Data_8h.html#c3fe25ffafcc403f4f0178fc18069a69">ecore_strbuf_replace_all</a> (Ecore_Strbuf *buf, const char *str, const char *with)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Replace all strings with an other string.  <a href="#c3fe25ffafcc403f4f0178fc18069a69"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Contains threading, list, hash, debugging and tree functions. 
+<p>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="873cff99843c0dda345a3c954e5fce9d"></a><!-- doxytag: member="Ecore_Data.h::ecore_direct_compare" ref="873cff99843c0dda345a3c954e5fce9d" args="(const void *key1, const void *key2)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_direct_compare           </td>
+          <td>(</td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>key1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>key2</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Perform a direct comparison of two keys' values. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>key1</em>&nbsp;</td><td>The first key to compare </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>key2</em>&nbsp;</td><td>The second key to compare </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>A strcmp style value to indicate the larger key </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="5e800a5b1f86743721609f897e0ae145"></a><!-- doxytag: member="Ecore_Data.h::ecore_direct_hash" ref="5e800a5b1f86743721609f897e0ae145" args="(const void *key)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI unsigned int ecore_direct_hash           </td>
+          <td>(</td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>key</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Just casts the key to an unsigned int. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>The key to return compute a hash value </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The key cast to an unsigned int. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="0ed323ece8036a0c0f3e4f23cbceb5c5"></a><!-- doxytag: member="Ecore_Data.h::ecore_dlist_clear" ref="0ed323ece8036a0c0f3e4f23cbceb5c5" args="(Ecore_DList *_e_dlist)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_dlist_clear           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_DList *&nbsp;</td>
+          <td class="paramname"> <em>list</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Remove all nodes from the list. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>list,:</em>&nbsp;</td><td>the list to remove all nodes from</td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns TRUE on success, FALSE on errors </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="9659bf990d5d77609dd1de2e13e82968"></a><!-- doxytag: member="Ecore_Data.h::ecore_dlist_current" ref="9659bf990d5d77609dd1de2e13e82968" args="(Ecore_DList *list)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void* ecore_dlist_current           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_DList *&nbsp;</td>
+          <td class="paramname"> <em>list</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Return the data in the current list item. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>list,:</em>&nbsp;</td><td>the list to the return the current data </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns value of the current data item, NULL if no current item </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="27646e313158b25161c3175b30437cf6"></a><!-- doxytag: member="Ecore_Data.h::ecore_dlist_empty_is" ref="27646e313158b25161c3175b30437cf6" args="(Ecore_DList *_e_dlist)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_dlist_empty_is           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_DList *&nbsp;</td>
+          <td class="paramname"> <em>list</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Returns whether there is anything in the given doubly linked list. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>The given doubly linked list. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd><code>TRUE</code> if there are nodes, <code>FALSE</code> otherwise. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="495fb09e9ce3a9782246ab0c67d42e91"></a><!-- doxytag: member="Ecore_Data.h::ecore_dlist_first_goto" ref="495fb09e9ce3a9782246ab0c67d42e91" args="(Ecore_DList *_e_dlist)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void* ecore_dlist_first_goto           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_DList *&nbsp;</td>
+          <td class="paramname"> <em>list</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Move the current pointer to the first item in the list. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>list,:</em>&nbsp;</td><td>the list to change the current to the first item</td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns a pointer to the first item on success, NULL on failure. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="13fa600cdd4847ca1033af311eac32f0"></a><!-- doxytag: member="Ecore_Data.h::ecore_dlist_goto" ref="13fa600cdd4847ca1033af311eac32f0" args="(Ecore_DList *_e_dlist, void *_data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void* ecore_dlist_goto           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_DList *&nbsp;</td>
+          <td class="paramname"> <em>list</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Move the current item to the node that contains data. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>list,:</em>&nbsp;</td><td>the list to move the current item in </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>data,:</em>&nbsp;</td><td>the data to find and set the current item to</td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns specified data on success, NULL on error </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="3a96cd6e0c7630a558ffcd8a78640db0"></a><!-- doxytag: member="Ecore_Data.h::ecore_dlist_index" ref="3a96cd6e0c7630a558ffcd8a78640db0" args="(Ecore_DList *list)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_dlist_index           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_DList *&nbsp;</td>
+          <td class="paramname"> <em>list</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"><code> [inline]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Retrieves the index of the current node of the given doubly linked list. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>The given doubly linked list. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The index of the current node. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="94ce6bfa15920cdac551e52617edb2ee"></a><!-- doxytag: member="Ecore_Data.h::ecore_dlist_index_goto" ref="94ce6bfa15920cdac551e52617edb2ee" args="(Ecore_DList *_e_dlist, int index)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void* ecore_dlist_index_goto           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_DList *&nbsp;</td>
+          <td class="paramname"> <em>list</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>index</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Moves the current item to the index number in the given doubly linked list. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>The given doubly linked list. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>index</em>&nbsp;</td><td>The position to move the current item </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The node at specified index on success, <code>NULL</code> on error. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="75afcbcb50a9871b7453b246e63bfb69"></a><!-- doxytag: member="Ecore_Data.h::ecore_dlist_last_goto" ref="75afcbcb50a9871b7453b246e63bfb69" args="(Ecore_DList *_e_dlist)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void* ecore_dlist_last_goto           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_DList *&nbsp;</td>
+          <td class="paramname"> <em>list</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Move the pointer to the current item to the last item. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>list,:</em>&nbsp;</td><td>the list to move the current item pointer to the last </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns a pointer to the last item in the list , NULL if empty. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="30846148d6b7c635b78f880c96911e4e"></a><!-- doxytag: member="Ecore_Data.h::ecore_dlist_mergesort" ref="30846148d6b7c635b78f880c96911e4e" args="(Ecore_DList *list, Ecore_Compare_Cb compare, char order)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_dlist_mergesort           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_DList *&nbsp;</td>
+          <td class="paramname"> <em>list</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_Compare_Cb&nbsp;</td>
+          <td class="paramname"> <em>compare</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">char&nbsp;</td>
+          <td class="paramname"> <em>order</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sort data in <code>list</code> using the compare function <code>compare</code>. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>The list. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>compare</em>&nbsp;</td><td>The function to compare the data of <code>list</code> </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>order</em>&nbsp;</td><td>The sort direction, possible values are ECORE_SORT_MIN and ECORE_SORT_MAX </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>true on success</dd></dl>
+Mergesort is a stable, in-place sorting algorithm 
+</div>
+</div><p>
+<a class="anchor" name="ebd60d8a08353b75e9206b630178e712"></a><!-- doxytag: member="Ecore_Data.h::ecore_dlist_next" ref="ebd60d8a08353b75e9206b630178e712" args="(Ecore_DList *list)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void* ecore_dlist_next           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_DList *&nbsp;</td>
+          <td class="paramname"> <em>list</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Move to the next item in the list and return current item. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>list,:</em>&nbsp;</td><td>the list to move to the next item in. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns data in the current list node, or NULL on error </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="d1de9f6428f7270f604b7ce1a078ae4e"></a><!-- doxytag: member="Ecore_Data.h::ecore_dlist_previous" ref="d1de9f6428f7270f604b7ce1a078ae4e" args="(Ecore_DList *list)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void* ecore_dlist_previous           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_DList *&nbsp;</td>
+          <td class="paramname"> <em>list</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Move to the previous item and return current item. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>list,:</em>&nbsp;</td><td>the list to move to the previous item in. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns data in the current list node, or NULL on error </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="932b3bbec2f04b545a9f422fb05e1030"></a><!-- doxytag: member="Ecore_Data.h::ecore_dlist_sort" ref="932b3bbec2f04b545a9f422fb05e1030" args="(Ecore_DList *list, Ecore_Compare_Cb compare, char order)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_dlist_sort           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_List *&nbsp;</td>
+          <td class="paramname"> <em>list</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_Compare_Cb&nbsp;</td>
+          <td class="paramname"> <em>compare</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">char&nbsp;</td>
+          <td class="paramname"> <em>order</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sort data in <code>list</code> using the compare function <code>compare</code>. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>The list. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>compare</em>&nbsp;</td><td>The function to compare the data of <code>list</code> </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>order</em>&nbsp;</td><td>The sort direction, possible values are ECORE_SORT_MIN and ECORE_SORT_MAX </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>true on success</dd></dl>
+This is a wrapper function for mergesort and heapsort. It tries to choose the fastest algorithm depending on the number of notes. Note: The sort may be unstable. 
+</div>
+</div><p>
+<a class="anchor" name="ded8225238100f9e94e840c4eff7e944"></a><!-- doxytag: member="Ecore_Data.h::ecore_hash_dump_graph" ref="ded8225238100f9e94e840c4eff7e944" args="(Ecore_Hash *hash)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_hash_dump_graph           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Hash *&nbsp;</td>
+          <td class="paramname"> <em>hash</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Prints the distribution of the given hash table for graphing. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>hash</em>&nbsp;</td><td>The given hash table. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="166bc0adb5b2130fc86302368581c0c2"></a><!-- doxytag: member="Ecore_Data.h::ecore_hash_dump_stats" ref="166bc0adb5b2130fc86302368581c0c2" args="(Ecore_Hash *hash)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_hash_dump_stats           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Hash *&nbsp;</td>
+          <td class="paramname"> <em>hash</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Prints the distribution of the given hash table for graphing. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>hash</em>&nbsp;</td><td>The given hash table. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="af35de16533e2549d43356de77dbb24c"></a><!-- doxytag: member="Ecore_Data.h::ecore_list_clear" ref="af35de16533e2549d43356de77dbb24c" args="(Ecore_List *list)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_list_clear           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_List *&nbsp;</td>
+          <td class="paramname"> <em>list</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Remove all nodes from <code>list</code>. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>The list. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns <code>TRUE</code> on success, <code>FALSE</code> on error. </dd></dl>
+<dl class="note" compact><dt><b>Note:</b></dt><dd>The data for each item on the list is not freed by <code><a class="el" href="Ecore__Data_8h.html#af35de16533e2549d43356de77dbb24c">ecore_list_clear()</a></code>. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="fd4513530761fc53e242f74207200ab9"></a><!-- doxytag: member="Ecore_Data.h::ecore_list_count" ref="fd4513530761fc53e242f74207200ab9" args="(Ecore_List *list)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_list_count           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_List *&nbsp;</td>
+          <td class="paramname"> <em>list</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Find the number of nodes in the list. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>The list to find the number of nodes </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The number of nodes in the list. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="8007c9f6392ba93d01ceed6bfaae55de"></a><!-- doxytag: member="Ecore_Data.h::ecore_list_current" ref="8007c9f6392ba93d01ceed6bfaae55de" args="(Ecore_List *list)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void* ecore_list_current           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_List *&nbsp;</td>
+          <td class="paramname"> <em>list</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"><code> [inline]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Retrieve the data pointed to by the current item in <code>list</code>. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>The list. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns the data at current position, can be <code>NULL</code>. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="d29dcb74971eae5c69629d51e5de851a"></a><!-- doxytag: member="Ecore_Data.h::ecore_list_empty_is" ref="d29dcb74971eae5c69629d51e5de851a" args="(Ecore_List *list)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_list_empty_is           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_List *&nbsp;</td>
+          <td class="paramname"> <em>list</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Checks the list for any nodes. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>The list to check for nodes </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd><code>TRUE</code> if no nodes in list, <code>FALSE</code> if the list contains nodes </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="77b1d474bdd46db28addc3c46a9960cd"></a><!-- doxytag: member="Ecore_Data.h::ecore_list_find" ref="77b1d474bdd46db28addc3c46a9960cd" args="(Ecore_List *list, Ecore_Compare_Cb function, const void *user_data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void* ecore_list_find           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_List *&nbsp;</td>
+          <td class="paramname"> <em>list</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_Compare_Cb&nbsp;</td>
+          <td class="paramname"> <em>function</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>user_data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Find data in <code>list</code> using the compare function <code>func</code>. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>The list. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>function</em>&nbsp;</td><td>The function to test each node of <code>list</code> with </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>user_data</em>&nbsp;</td><td>Data to match against (used by <code>function</code>) </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>the first matching data node, or NULL if none match </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="7a92850362be110a94db4e1db6e7bfc5"></a><!-- doxytag: member="Ecore_Data.h::ecore_list_first" ref="7a92850362be110a94db4e1db6e7bfc5" args="(Ecore_List *list)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void* ecore_list_first           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_List *&nbsp;</td>
+          <td class="paramname"> <em>list</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"><code> [inline]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Retrieve the data pointed to by the first item in <code>list</code>. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>The list. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns the data at current position, can be <code>NULL</code>. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="348f60c3412d15ffa67abce2cf4c06a5"></a><!-- doxytag: member="Ecore_Data.h::ecore_list_free_cb_set" ref="348f60c3412d15ffa67abce2cf4c06a5" args="(Ecore_List *list, Ecore_Free_Cb free_func)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_list_free_cb_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_List *&nbsp;</td>
+          <td class="paramname"> <em>list</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_Free_Cb&nbsp;</td>
+          <td class="paramname"> <em>free_func</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set the function for freeing data. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>The list that will use this function when nodes are destroyed. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>free_func</em>&nbsp;</td><td>The function that will free the key data. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd><code>TRUE</code> on successful set, <code>FALSE</code> otherwise. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="cb4438e669ea71a2f554fbb0c7f2c4a7"></a><!-- doxytag: member="Ecore_Data.h::ecore_list_heapsort" ref="cb4438e669ea71a2f554fbb0c7f2c4a7" args="(Ecore_List *list, Ecore_Compare_Cb compare, char order)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_list_heapsort           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_List *&nbsp;</td>
+          <td class="paramname"> <em>list</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_Compare_Cb&nbsp;</td>
+          <td class="paramname"> <em>compare</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">char&nbsp;</td>
+          <td class="paramname"> <em>order</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sort data in <code>list</code> using the compare function <code>compare</code>. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>The list. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>compare</em>&nbsp;</td><td>The function to compare the data of <code>list</code> </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>order</em>&nbsp;</td><td>The sort direction, possible values are ECORE_SORT_MIN and ECORE_SORT_MAX </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>true on success</dd></dl>
+Heapsort is a unstable sorting algorithm, it needs to allocate extra memomry, but there for it is for a great number of nodes faster than mergesort 
+</div>
+</div><p>
+<a class="anchor" name="30ed4155f8e406a441f3df2bdee84a3a"></a><!-- doxytag: member="Ecore_Data.h::ecore_list_index" ref="30ed4155f8e406a441f3df2bdee84a3a" args="(Ecore_List *list)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_list_index           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_List *&nbsp;</td>
+          <td class="paramname"> <em>list</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Returns the number of the current node. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>The list to return the number of the current node. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The number of the current node in the list. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="cec936a9d81b2735bad6ec9d04e3c8d7"></a><!-- doxytag: member="Ecore_Data.h::ecore_list_last" ref="cec936a9d81b2735bad6ec9d04e3c8d7" args="(Ecore_List *list)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void* ecore_list_last           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_List *&nbsp;</td>
+          <td class="paramname"> <em>list</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"><code> [inline]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Retrieve the data pointed to by the last item in <code>list</code>. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>The list. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns the data at current position, can be <code>NULL</code>. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="a53a279287339285863c33b196845985"></a><!-- doxytag: member="Ecore_Data.h::ecore_list_mergesort" ref="a53a279287339285863c33b196845985" args="(Ecore_List *list, Ecore_Compare_Cb compare, char order)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_list_mergesort           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_List *&nbsp;</td>
+          <td class="paramname"> <em>list</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_Compare_Cb&nbsp;</td>
+          <td class="paramname"> <em>compare</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">char&nbsp;</td>
+          <td class="paramname"> <em>order</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sort data in <code>list</code> using the compare function <code>compare</code>. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>The list. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>compare</em>&nbsp;</td><td>The function to compare the data of <code>list</code> </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>order</em>&nbsp;</td><td>The sort direction, possible values are ECORE_SORT_MIN and ECORE_SORT_MAX </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>true on success</dd></dl>
+Mergesort is a stable, in-place sorting algorithm 
+</div>
+</div><p>
+<a class="anchor" name="43fc95655925c9d8eb89c30b993a840f"></a><!-- doxytag: member="Ecore_Data.h::ecore_list_next" ref="43fc95655925c9d8eb89c30b993a840f" args="(Ecore_List *list)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void* ecore_list_next           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_List *&nbsp;</td>
+          <td class="paramname"> <em>list</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"><code> [inline]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Retrieve the data pointed to by the current item, and make the next item the current item. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>The list to retrieve data from. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The current item in the list on success, <code>NULL</code> on failure. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="caaad871e840c125686153b44d089aef"></a><!-- doxytag: member="Ecore_Data.h::ecore_list_sort" ref="caaad871e840c125686153b44d089aef" args="(Ecore_List *list, Ecore_Compare_Cb compare, char order)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_list_sort           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_List *&nbsp;</td>
+          <td class="paramname"> <em>list</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_Compare_Cb&nbsp;</td>
+          <td class="paramname"> <em>compare</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">char&nbsp;</td>
+          <td class="paramname"> <em>order</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sort data in <code>list</code> using the compare function <code>compare</code>. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>The list. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>compare</em>&nbsp;</td><td>The function to compare the data of <code>list</code> </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>order</em>&nbsp;</td><td>The sort direction, possible values are ECORE_SORT_MIN and ECORE_SORT_MAX </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>true on success</dd></dl>
+This is a wrapper function for mergesort and heapsort. It tries to choose the fastest algorithm depending on the number of notes. Note: The sort may be unstable. 
+</div>
+</div><p>
+<a class="anchor" name="be297ee8de1bd957f38731bf3d14efbc"></a><!-- doxytag: member="Ecore_Data.h::ecore_sheap_change" ref="be297ee8de1bd957f38731bf3d14efbc" args="(Ecore_Sheap *heap, void *item, void *newval)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_sheap_change           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Sheap *&nbsp;</td>
+          <td class="paramname"> <em>heap</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void *&nbsp;</td>
+          <td class="paramname"> <em>item</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void *&nbsp;</td>
+          <td class="paramname"> <em>newval</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Change the value of the specified item in the heap. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>heap</em>&nbsp;</td><td>The heap to search for the item to change </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>item</em>&nbsp;</td><td>The item in the heap to change </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>newval</em>&nbsp;</td><td>The new value assigned to the item in the heap </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>TRUE on success, FALSE on failure. </dd></dl>
+<dl class="note" compact><dt><b>Note:</b></dt><dd>The heap does not free the old data since it must be passed in, so the caller can perform the free if desired. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="ad77243ee455d01f3038fadecde342ad"></a><!-- doxytag: member="Ecore_Data.h::ecore_sheap_compare_set" ref="ad77243ee455d01f3038fadecde342ad" args="(Ecore_Sheap *heap, Ecore_Compare_Cb compare)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_sheap_compare_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Sheap *&nbsp;</td>
+          <td class="paramname"> <em>heap</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_Compare_Cb&nbsp;</td>
+          <td class="paramname"> <em>compare</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Change the comparison function for the heap. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>heap</em>&nbsp;</td><td>The heap to change comparison function </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>compare</em>&nbsp;</td><td>The new function for comparing nodes </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>TRUE on success, FALSE on failure.</dd></dl>
+The comparison function is changed to  and the heap is heapified by the new comparison. 
+</div>
+</div><p>
+<a class="anchor" name="98d19b734ebe2a81fc3bbbbc2737d862"></a><!-- doxytag: member="Ecore_Data.h::ecore_sheap_destroy" ref="98d19b734ebe2a81fc3bbbbc2737d862" args="(Ecore_Sheap *heap)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_sheap_destroy           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Sheap *&nbsp;</td>
+          <td class="paramname"> <em>heap</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Free up the memory used by the heap. 
+<p>
+Frees the memory used by <em>heap</em>, calls the destroy function on each data item if necessary.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>heap</em>&nbsp;</td><td>The heap to be freed </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="b7bd874a27f5b8f7860c7e2e4893e651"></a><!-- doxytag: member="Ecore_Data.h::ecore_sheap_extract" ref="b7bd874a27f5b8f7860c7e2e4893e651" args="(Ecore_Sheap *heap)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void* ecore_sheap_extract           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Sheap *&nbsp;</td>
+          <td class="paramname"> <em>heap</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Extract the item at the top of the heap. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>heap</em>&nbsp;</td><td>The heap to remove the top item </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The top item of the heap on success, NULL on failure. </dd></dl>
+<dl class="note" compact><dt><b>Note:</b></dt><dd>The extract function maintains the heap properties after the extract. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="3342b30dc12366b169466aafb0954640"></a><!-- doxytag: member="Ecore_Data.h::ecore_sheap_extreme" ref="3342b30dc12366b169466aafb0954640" args="(Ecore_Sheap *heap)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void* ecore_sheap_extreme           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Sheap *&nbsp;</td>
+          <td class="paramname"> <em>heap</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Examine the item at the top of the heap. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>heap</em>&nbsp;</td><td>The heap to examine the top item </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The top item of the heap on success, NULL on failure. </dd></dl>
+<dl class="note" compact><dt><b>Note:</b></dt><dd>The function does not alter the heap. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="dee5618dc88f909f2097762c261101dd"></a><!-- doxytag: member="Ecore_Data.h::ecore_sheap_free_cb_set" ref="dee5618dc88f909f2097762c261101dd" args="(Ecore_Sheap *heap, Ecore_Free_Cb free_func)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_sheap_free_cb_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Sheap *&nbsp;</td>
+          <td class="paramname"> <em>heap</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_Free_Cb&nbsp;</td>
+          <td class="paramname"> <em>free_func</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set the function for freeing data. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>heap</em>&nbsp;</td><td>The heap that will use this function when nodes are destroyed. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>free_func</em>&nbsp;</td><td>The function that will free the key data. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd><code>TRUE</code> on successful set, <code>FALSE</code> otherwise. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="bde11935b214bd9b3acbac930fbae7ec"></a><!-- doxytag: member="Ecore_Data.h::ecore_sheap_init" ref="bde11935b214bd9b3acbac930fbae7ec" args="(Ecore_Sheap *heap, Ecore_Compare_Cb compare, int size)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_sheap_init           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Sheap *&nbsp;</td>
+          <td class="paramname"> <em>heap</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_Compare_Cb&nbsp;</td>
+          <td class="paramname"> <em>compare</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>size</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Initialize a binary heap to default values. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>heap</em>&nbsp;</td><td>The heap to initialize </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>compare</em>&nbsp;</td><td>The function for comparing keys, NULL for direct comparison </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>size</em>&nbsp;</td><td>The number of elements to allow in the heap </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>TRUE on success, FALSE on failure </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="3fc6a0416b4cb3d09eb7ee2a594c7eb6"></a><!-- doxytag: member="Ecore_Data.h::ecore_sheap_insert" ref="3fc6a0416b4cb3d09eb7ee2a594c7eb6" args="(Ecore_Sheap *heap, void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_sheap_insert           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Sheap *&nbsp;</td>
+          <td class="paramname"> <em>heap</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Insert new data into the heap. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>heap</em>&nbsp;</td><td>The heap to insert <em>data</em>. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>The data to add to <em>heap</em>. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>TRUE on success, NULL on failure. Increases the size of the heap if it becomes larger than available space. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="e7cc60f5c10a25a93a78596ff284ed98"></a><!-- doxytag: member="Ecore_Data.h::ecore_sheap_new" ref="e7cc60f5c10a25a93a78596ff284ed98" args="(Ecore_Compare_Cb compare, int size)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Ecore_Sheap* ecore_sheap_new           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Compare_Cb&nbsp;</td>
+          <td class="paramname"> <em>compare</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>size</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Allocate and initialize a new binary heap. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>compare</em>&nbsp;</td><td>The function for comparing keys, NULL for direct comparison </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>size</em>&nbsp;</td><td>The number of elements to allow in the heap </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>A pointer to the newly allocated binary heap on success, NULL on failure. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="ac5ec246c5303cecdfba8e4b54561603"></a><!-- doxytag: member="Ecore_Data.h::ecore_sheap_order_set" ref="ac5ec246c5303cecdfba8e4b54561603" args="(Ecore_Sheap *heap, char order)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_sheap_order_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Sheap *&nbsp;</td>
+          <td class="paramname"> <em>heap</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">char&nbsp;</td>
+          <td class="paramname"> <em>order</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Change the order of the heap. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>heap</em>&nbsp;</td><td>The heap to change the order </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>order</em>&nbsp;</td><td>The new order of the heap</td></tr>
+  </table>
+</dl>
+Changes the heap order of  and re-heapifies the data to this new order. The default order is a min heap. 
+</div>
+</div><p>
+<a class="anchor" name="f0d1921912193237832b5720b9bd80a9"></a><!-- doxytag: member="Ecore_Data.h::ecore_sheap_sort" ref="f0d1921912193237832b5720b9bd80a9" args="(Ecore_Sheap *heap)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_sheap_sort           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Sheap *&nbsp;</td>
+          <td class="paramname"> <em>heap</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sort the data in the heap. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>heap</em>&nbsp;</td><td>The heap to be sorted</td></tr>
+  </table>
+</dl>
+Sorts the data in the heap into the order that is used for the heap's data. 
+</div>
+</div><p>
+<a class="anchor" name="b5741521c8d313a5f438747b4aceecee"></a><!-- doxytag: member="Ecore_Data.h::ecore_str_compare" ref="b5741521c8d313a5f438747b4aceecee" args="(const void *key1, const void *key2)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_str_compare           </td>
+          <td>(</td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>key1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>key2</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Perform a string comparison of two keys values. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>key1</em>&nbsp;</td><td>The first key to compare </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>key2</em>&nbsp;</td><td>The second key to compare </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>A strcmp style value to indicate the larger key </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="69c9db0132ed426affeaf8312f074d64"></a><!-- doxytag: member="Ecore_Data.h::ecore_str_hash" ref="69c9db0132ed426affeaf8312f074d64" args="(const void *key)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI unsigned int ecore_str_hash           </td>
+          <td>(</td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>key</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Compute the hash value of a string. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>A pointer to the string to compute a hash value </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>A computed hash value for <em>key</em>. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="e67778c23a633d19d3f30ae03a7bdea5"></a><!-- doxytag: member="Ecore_Data.h::ecore_strbuf_append" ref="e67778c23a633d19d3f30ae03a7bdea5" args="(Ecore_Strbuf *buf, const char *str)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_strbuf_append           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Strbuf *&nbsp;</td>
+          <td class="paramname"> <em>buf</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>str</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Append a string to a buffer, reallocating as necessary. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>buf</em>&nbsp;</td><td>the Ecore_Strbuf to append to </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>str</em>&nbsp;</td><td>the string to append </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="3ed82332312fcbda9e72b4cb0b45c401"></a><!-- doxytag: member="Ecore_Data.h::ecore_strbuf_append_char" ref="3ed82332312fcbda9e72b4cb0b45c401" args="(Ecore_Strbuf *buf, char c)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_strbuf_append_char           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Strbuf *&nbsp;</td>
+          <td class="paramname"> <em>buf</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">char&nbsp;</td>
+          <td class="paramname"> <em>c</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Append a character to a string buffer, reallocating as necessary. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>buf</em>&nbsp;</td><td>the Ecore_Strbuf to append to </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>c</em>&nbsp;</td><td>the char to append </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="838f94eec6bd18242196539e5b914d82"></a><!-- doxytag: member="Ecore_Data.h::ecore_strbuf_free" ref="838f94eec6bd18242196539e5b914d82" args="(Ecore_Strbuf *buf)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_strbuf_free           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Strbuf *&nbsp;</td>
+          <td class="paramname"> <em>buf</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Free a string buffer. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>buf</em>&nbsp;</td><td>the buffer to free </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="cfb0680131457a82291765c17f5ba5ae"></a><!-- doxytag: member="Ecore_Data.h::ecore_strbuf_insert" ref="cfb0680131457a82291765c17f5ba5ae" args="(Ecore_Strbuf *buf, const char *str, size_t pos)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_strbuf_insert           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Strbuf *&nbsp;</td>
+          <td class="paramname"> <em>buf</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>str</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">size_t&nbsp;</td>
+          <td class="paramname"> <em>pos</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Insert a string to a buffer, reallocating as necessary. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>buf</em>&nbsp;</td><td>the Ecore_Strbuf to insert </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>str</em>&nbsp;</td><td>the string to insert </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>pos</em>&nbsp;</td><td>the position to insert the string </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="c94cffd46ac2eccb0142ffa170a0d148"></a><!-- doxytag: member="Ecore_Data.h::ecore_strbuf_length_get" ref="c94cffd46ac2eccb0142ffa170a0d148" args="(Ecore_Strbuf *buf)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI size_t ecore_strbuf_length_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Strbuf *&nbsp;</td>
+          <td class="paramname"> <em>buf</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Retrieve the length of the string buffer content. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>buf</em>&nbsp;</td><td>the buffer </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="4e0d78626cac5d2e0ac67038ed079f7a"></a><!-- doxytag: member="Ecore_Data.h::ecore_strbuf_replace" ref="4e0d78626cac5d2e0ac67038ed079f7a" args="(Ecore_Strbuf *buf, const char *str, const char *with, unsigned int n)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_strbuf_replace           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Strbuf *&nbsp;</td>
+          <td class="paramname"> <em>buf</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>str</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>with</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">unsigned int&nbsp;</td>
+          <td class="paramname"> <em>n</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Replace the n-th string with an other string. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>buf</em>&nbsp;</td><td>the Ecore_Strbuf to work with </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>str</em>&nbsp;</td><td>the string to replace </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>with</em>&nbsp;</td><td>the replaceing string </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>n</em>&nbsp;</td><td>the number of the fitting string</td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>true on success </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="c3fe25ffafcc403f4f0178fc18069a69"></a><!-- doxytag: member="Ecore_Data.h::ecore_strbuf_replace_all" ref="c3fe25ffafcc403f4f0178fc18069a69" args="(Ecore_Strbuf *buf, const char *str, const char *with)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_strbuf_replace_all           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Strbuf *&nbsp;</td>
+          <td class="paramname"> <em>buf</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>str</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>with</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Replace all strings with an other string. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>buf</em>&nbsp;</td><td>the Ecore_Strbuf to work with </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>str</em>&nbsp;</td><td>the string to replace </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>with</em>&nbsp;</td><td>the replaceing string</td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>how often the string was replaced </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="85137f7f462c5903c056e200c48a6d99"></a><!-- doxytag: member="Ecore_Data.h::ecore_strbuf_string_get" ref="85137f7f462c5903c056e200c48a6d99" args="(Ecore_Strbuf *buf)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI const char* ecore_strbuf_string_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Strbuf *&nbsp;</td>
+          <td class="paramname"> <em>buf</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Retrieve a pointer to the contents of a string buffer. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>buf</em>&nbsp;</td><td>the buffer</td></tr>
+  </table>
+</dl>
+This pointer must not be modified, and will no longer be valid if the Ecore_Strbuf is modified. 
+</div>
+</div><p>
+<a class="anchor" name="c4977b1a19782b19dde5f4c786f4da7c"></a><!-- doxytag: member="Ecore_Data.h::ecore_string_init" ref="c4977b1a19782b19dde5f4c786f4da7c" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_string_init           </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Initialize the ecore string internal structure. 
+<p>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>Zero on failure, non-zero on successful initialization. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="f52e7fdca0f27368c7c95d50e386376f"></a><!-- doxytag: member="Ecore_Data.h::ecore_tree_closest_larger_get" ref="f52e7fdca0f27368c7c95d50e386376f" args="(Ecore_Tree *tree, const void *key)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void* ecore_tree_closest_larger_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Tree *&nbsp;</td>
+          <td class="paramname"> <em>tree</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>key</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Find the closest value greater than or equal to the key. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>tree</em>&nbsp;</td><td>The tree to search. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>The key to search for in <em>tree</em>. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>NULL if no valid nodes, otherwise the node greater than or equal to the key </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="77a68da43db9e664c403bf819d737d62"></a><!-- doxytag: member="Ecore_Data.h::ecore_tree_closest_smaller_get" ref="77a68da43db9e664c403bf819d737d62" args="(Ecore_Tree *tree, const void *key)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void* ecore_tree_closest_smaller_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Tree *&nbsp;</td>
+          <td class="paramname"> <em>tree</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>key</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Find the closest value &lt;= key. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>tree</em>&nbsp;</td><td>the tree to search </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>the key to search for in tree </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns NULL if no valid nodes, otherwise the node &lt;= key </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="3df247a9cf0c0527c4c683cfa6d026ca"></a><!-- doxytag: member="Ecore_Data.h::ecore_tree_destroy" ref="3df247a9cf0c0527c4c683cfa6d026ca" args="(Ecore_Tree *tree)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_tree_destroy           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Tree *&nbsp;</td>
+          <td class="paramname"> <em>tree</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Free the tree and it's stored data. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>tree,:</em>&nbsp;</td><td>the tree to destroy</td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns TRUE if tree destroyed successfully, FALSE if not. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="a4ac53575ba20de78505778ed5b433aa"></a><!-- doxytag: member="Ecore_Data.h::ecore_tree_empty_is" ref="a4ac53575ba20de78505778ed5b433aa" args="(Ecore_Tree *tree)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_tree_empty_is           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Tree *&nbsp;</td>
+          <td class="paramname"> <em>tree</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Test to see if the tree has any nodes. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>tree,:</em>&nbsp;</td><td>the tree to check for nodes </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns TRUE if no nodes exist, FALSE otherwise </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="bfde6d03be39d04a4d7291d4d6f86810"></a><!-- doxytag: member="Ecore_Data.h::ecore_tree_for_each_node" ref="bfde6d03be39d04a4d7291d4d6f86810" args="(Ecore_Tree *tree, Ecore_For_Each for_each_func, void *user_data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_tree_for_each_node           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Tree *&nbsp;</td>
+          <td class="paramname"> <em>tree</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_For_Each&nbsp;</td>
+          <td class="paramname"> <em>for_each_func</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void *&nbsp;</td>
+          <td class="paramname"> <em>user_data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Execute the function for each node in the tree. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>tree,:</em>&nbsp;</td><td>the tree to traverse </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>for_each_func,:</em>&nbsp;</td><td>the function to execute for each node </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>user_data,:</em>&nbsp;</td><td>data passed to each for_each_func call </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns TRUE on success, FALSE on failure. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="684e9299e24fa6db5c81b346be5ea88b"></a><!-- doxytag: member="Ecore_Data.h::ecore_tree_for_each_node_value" ref="684e9299e24fa6db5c81b346be5ea88b" args="(Ecore_Tree *tree, Ecore_For_Each for_each_func, void *user_data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_tree_for_each_node_value           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Tree *&nbsp;</td>
+          <td class="paramname"> <em>tree</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_For_Each&nbsp;</td>
+          <td class="paramname"> <em>for_each_func</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void *&nbsp;</td>
+          <td class="paramname"> <em>user_data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Execute function for each value in the tree. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>tree,:</em>&nbsp;</td><td>the tree to traverse </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>for_each_func,:</em>&nbsp;</td><td>the function to execute for each value in the tree </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>user_data,:</em>&nbsp;</td><td>data passed to each for_each_func call </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns TRUE on success, FALSE on failure. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="06c55b89a6bdac8d441b34282a12fa83"></a><!-- doxytag: member="Ecore_Data.h::ecore_tree_get" ref="06c55b89a6bdac8d441b34282a12fa83" args="(Ecore_Tree *tree, const void *key)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void* ecore_tree_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Tree *&nbsp;</td>
+          <td class="paramname"> <em>tree</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>key</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Return the value corresponding to key. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>tree,:</em>&nbsp;</td><td>the tree to search </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>key,:</em>&nbsp;</td><td>the key to search for in <em>tree</em> </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns the value corresponding to the key if found, otherwise NULL. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="ce588048d6380f927e28c534af1afdba"></a><!-- doxytag: member="Ecore_Data.h::ecore_tree_get_node" ref="ce588048d6380f927e28c534af1afdba" args="(Ecore_Tree *tree, const void *key)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Ecore_Tree_Node* ecore_tree_get_node           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Tree *&nbsp;</td>
+          <td class="paramname"> <em>tree</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>key</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Return the node corresponding to key. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>tree,:</em>&nbsp;</td><td>the tree to search </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>key,:</em>&nbsp;</td><td>the key to search for in the tree</td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns the node corresponding to the key if found, otherwise NULL. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="03d5b1e09edc6bf6fef84a702b92398b"></a><!-- doxytag: member="Ecore_Data.h::ecore_tree_init" ref="03d5b1e09edc6bf6fef84a702b92398b" args="(Ecore_Tree *tree, Ecore_Compare_Cb compare_func)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_tree_init           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Tree *&nbsp;</td>
+          <td class="paramname"> <em>new_tree</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_Compare_Cb&nbsp;</td>
+          <td class="paramname"> <em>compare_func</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Initialize a tree structure to some sane initial values. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>new_tree,:</em>&nbsp;</td><td>the new tree structure to be initialized </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>compare_func,:</em>&nbsp;</td><td>the function used to compare node keys </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns TRUE on successful initialization, FALSE on an error </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="e8092547ff422b15de8c9d160d056a93"></a><!-- doxytag: member="Ecore_Data.h::ecore_tree_new" ref="e8092547ff422b15de8c9d160d056a93" args="(Ecore_Compare_Cb compare_func)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Ecore_Tree* ecore_tree_new           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Compare_Cb&nbsp;</td>
+          <td class="paramname"> <em>compare_func</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Allocate a new tree structure. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>compare_func,:</em>&nbsp;</td><td>function used to compare the two values </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns NULL if the operation fails, otherwise the new tree </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="83ebb0d3894f5aaf80142949a5583c1c"></a><!-- doxytag: member="Ecore_Data.h::ecore_tree_node_add" ref="83ebb0d3894f5aaf80142949a5583c1c" args="(Ecore_Tree *tree, Ecore_Tree_Node *node)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_tree_node_add           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Tree *&nbsp;</td>
+          <td class="paramname"> <em>tree</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_Tree_Node *&nbsp;</td>
+          <td class="paramname"> <em>node</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Place a node in the tree. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>tree</em>&nbsp;</td><td>The tree to add <em>node</em>. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>node</em>&nbsp;</td><td>The node to add to <em>tree</em>. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>TRUE on a successful add, FALSE otherwise. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="1d72ac2a0b21c54698e72bac05c12066"></a><!-- doxytag: member="Ecore_Data.h::ecore_tree_node_remove" ref="1d72ac2a0b21c54698e72bac05c12066" args="(Ecore_Tree *tree, Ecore_Tree_Node *node)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_tree_node_remove           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Tree *&nbsp;</td>
+          <td class="paramname"> <em>tree</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_Tree_Node *&nbsp;</td>
+          <td class="paramname"> <em>node</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Remove the node from the tree. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>tree</em>&nbsp;</td><td>The tree to remove <em>node</em> from. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>node</em>&nbsp;</td><td>The node to remove from <em>tree</em>. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>TRUE on a successful remove, FALSE otherwise. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="5c0dbd9de210017842c51b7c3939cc1a"></a><!-- doxytag: member="Ecore_Data.h::ecore_tree_remove" ref="5c0dbd9de210017842c51b7c3939cc1a" args="(Ecore_Tree *tree, const void *key)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_tree_remove           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Tree *&nbsp;</td>
+          <td class="paramname"> <em>tree</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>key</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Remove the key from the tree. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>tree</em>&nbsp;</td><td>The tree to remove <em>key</em>. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>The key to remove from <em>tree</em>. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>TRUE on a successful remove, FALSE otherwise. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="e999f4d62c2a91ebce987e8aada33cca"></a><!-- doxytag: member="Ecore_Data.h::ecore_tree_set" ref="e999f4d62c2a91ebce987e8aada33cca" args="(Ecore_Tree *tree, void *key, void *value)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_tree_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Tree *&nbsp;</td>
+          <td class="paramname"> <em>tree</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void *&nbsp;</td>
+          <td class="paramname"> <em>key</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void *&nbsp;</td>
+          <td class="paramname"> <em>value</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set the value associated with key to <em>value</em>. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>tree</em>&nbsp;</td><td>The tree that contains the key/value pair. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>The key to identify which node to set a value. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>value</em>&nbsp;</td><td>Value to set the found node. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>TRUE if successful, FALSE if not. </dd></dl>
+
+</div>
+</div><p>
+</body>
+</html>
diff --git a/doc/html/Ecore__Desktop_8h.html b/doc/html/Ecore__Desktop_8h.html
new file mode 100644
index 0000000..4803dc2
--- /dev/null
+++ b/doc/html/Ecore__Desktop_8h.html
@@ -0,0 +1,209 @@
+<html>
+
+<head>
+
+<title>Ecore: Ecore_Desktop.h File Reference</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li id="current"><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<div class="tabs">
+  <ul>
+    <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+    <li><a href="globals.html"><span>Globals</span></a></li>
+  </ul></div>
+<h1>Ecore_Desktop.h File Reference</h1>The file that provides the freedesktop.org desktop, icon, and menu functions. <a href="#_details">More...</a>
+<p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Desktop_8h.html#a27fc6c1028930fface2ec12e0978428">ecore_desktop_paths_file_find</a> (Ecore_List *paths, const char *file, int sub, int(*func)(void *data, const char *path), void *data)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Search for a file in fdo compatible locations.  <a href="#a27fc6c1028930fface2ec12e0978428"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">Ecore_Hash *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Desktop_8h.html#c35fd9f58ece7370201702d09480fd7e">ecore_desktop_paths_to_hash</a> (const char *paths)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Split a list of paths into an Ecore_Hash.  <a href="#c35fd9f58ece7370201702d09480fd7e"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">Ecore_List *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Desktop_8h.html#9054fb4145a6c0b7356a48a59ce11ee0">ecore_desktop_paths_to_list</a> (const char *paths)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Split a list of paths into an Ecore_Hash.  <a href="#9054fb4145a6c0b7356a48a59ce11ee0"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Desktop__Main__Group.html#gcbc8e90e58b724aa9bf71662245f0d3b">ecore_desktop_init</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Setup what ever needs to be setup to support Ecore_Desktop.  <a href="group__Ecore__Desktop__Main__Group.html#gcbc8e90e58b724aa9bf71662245f0d3b"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Desktop__Main__Group.html#gb7c84f7f35197af1367adcf1c391d8b0">ecore_desktop_shutdown</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Tear down what ever needs to be torn down to support Ecore_Desktop.  <a href="group__Ecore__Desktop__Main__Group.html#gb7c84f7f35197af1367adcf1c391d8b0"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">Ecore_Hash *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Desktop__Main__Group.html#g771417e482733a68b8853c142ae2ab7e">ecore_desktop_ini_get</a> (const char *file)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the contents of a .ini style file.  <a href="group__Ecore__Desktop__Main__Group.html#g771417e482733a68b8853c142ae2ab7e"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">Ecore_Desktop *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Desktop__Main__Group.html#g954f3b1b0a81250a072844e8b51e2bf8">ecore_desktop_get</a> (const char *file, const char *lang)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the contents of a .desktop file.  <a href="group__Ecore__Desktop__Main__Group.html#g954f3b1b0a81250a072844e8b51e2bf8"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Desktop__Main__Group.html#g61bac27920d4b04e21882a79d2610219">ecore_desktop_destroy</a> (Ecore_Desktop *desktop)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Free whatever resources are used by an Ecore_Desktop.  <a href="group__Ecore__Desktop__Main__Group.html#g61bac27920d4b04e21882a79d2610219"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Desktop__Icon__Group.html#g8eb4511d3b31e25472198335154653db">ecore_desktop_icon_init</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Setup what ever needs to be setup to support ecore_desktop_icon.  <a href="group__Ecore__Desktop__Icon__Group.html#g8eb4511d3b31e25472198335154653db"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Desktop__Icon__Group.html#g87efafddfda52dfb70ff56d721be7ec2">ecore_desktop_icon_shutdown</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Tear down what ever needs to be torn down to support ecore_desktop_ycon.  <a href="group__Ecore__Desktop__Icon__Group.html#g87efafddfda52dfb70ff56d721be7ec2"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Desktop__Icon__Group.html#g60c2a21d6b52143cafcbbbd312fd932c">ecore_desktop_icon_find</a> (const char *icon, const char *icon_size, const char *icon_theme)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Find the path to an icon.  <a href="group__Ecore__Desktop__Icon__Group.html#g60c2a21d6b52143cafcbbbd312fd932c"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Desktop__Icon__Group.html#g73a8ff071454e48b4be88eeedd4a89d1">ecore_desktop_icon_theme_destroy</a> (Ecore_Desktop_Icon_Theme *icon_theme)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Free whatever resources are used by an Ecore_Desktop_Icon_Theme.  <a href="group__Ecore__Desktop__Icon__Group.html#g73a8ff071454e48b4be88eeedd4a89d1"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">Ecore_Desktop_Tree *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Desktop__Menu__Group.html#g479a22ac6910dbb6e991278243bfd7cd">ecore_desktop_menu_get</a> (char *file)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Decode a freedesktop.org menu XML jungle.  <a href="group__Ecore__Desktop__Menu__Group.html#g479a22ac6910dbb6e991278243bfd7cd"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Desktop__Main__Group.html#g391bcf733c23f74642356c08ba58d549">ecore_desktop_home_get</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get and massage the users home directory.  <a href="group__Ecore__Desktop__Main__Group.html#g391bcf733c23f74642356c08ba58d549"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+The file that provides the freedesktop.org desktop, icon, and menu functions. 
+<p>
+This header provides the Ecore_Desktop freedesktop.org desktop, icon, and menu handling functions, as well as ancillary functions for searching freedesktop.org specific paths. Other freedesktop.org specifications make use of similar files, paths, and icons, implementors can use / extend this code to suit.<p>
+Ecore_Desktop is not for every freedesktop.org specification, just those that are associated with .desktop files.<p>
+For path searching details, see Ecore_Desktop_Paths_Group.<p>
+For desktop file details, see <a class="el" href="group__Ecore__Desktop__Main__Group.html">.desktop file Functions</a>.<p>
+For icon theme details, see <a class="el" href="group__Ecore__Desktop__Icon__Group.html">icon theme Functions</a>.<p>
+For menu file details, see <a class="el" href="group__Ecore__Desktop__Menu__Group.html">menu Functions</a>. <hr><h2>Function Documentation</h2>
+<a class="anchor" name="a27fc6c1028930fface2ec12e0978428"></a><!-- doxytag: member="Ecore_Desktop.h::ecore_desktop_paths_file_find" ref="a27fc6c1028930fface2ec12e0978428" args="(Ecore_List *paths, const char *file, int sub, int(*func)(void *data, const char *path), void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">char* ecore_desktop_paths_file_find           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_List *&nbsp;</td>
+          <td class="paramname"> <em>paths</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>file</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>sub</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int(*)(void *data, const char *path)&nbsp;</td>
+          <td class="paramname"> <em>func</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Search for a file in fdo compatible locations. 
+<p>
+This will search through all the diretories of a particular type, looking for the file. It will recurse into subdirectories. If func is NULL, then only the first file found will be returned. If func is defined, then each file found will be passed to func, until func returns 1.<p>
+The returned string will have to be freed eventually.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>type</em>&nbsp;</td><td>The type of directories to search. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>file</em>&nbsp;</td><td>The file to search for. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>sub</em>&nbsp;</td><td>Levels of sub directories to search, -1 = all, 0 = none. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>func</em>&nbsp;</td><td>A function to call for each file found. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>A pointer to pass on to func. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="c35fd9f58ece7370201702d09480fd7e"></a><!-- doxytag: member="Ecore_Desktop.h::ecore_desktop_paths_to_hash" ref="c35fd9f58ece7370201702d09480fd7e" args="(const char *paths)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Ecore_Hash* ecore_desktop_paths_to_hash           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>paths</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Split a list of paths into an Ecore_Hash. 
+<p>
+The list of paths can use any one of ;:, to seperate the paths. You can also escape the :;, with \.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>paths</em>&nbsp;</td><td>A list of paths. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="9054fb4145a6c0b7356a48a59ce11ee0"></a><!-- doxytag: member="Ecore_Desktop.h::ecore_desktop_paths_to_list" ref="9054fb4145a6c0b7356a48a59ce11ee0" args="(const char *paths)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Ecore_List* ecore_desktop_paths_to_list           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>paths</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Split a list of paths into an Ecore_Hash. 
+<p>
+The list of paths can use any one of ;:, to seperate the paths. You can also escape the :;, with \.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>paths</em>&nbsp;</td><td>A list of paths. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+</body>
+</html>
diff --git a/doc/html/Ecore__Evas_8h.html b/doc/html/Ecore__Evas_8h.html
new file mode 100644
index 0000000..0176953
--- /dev/null
+++ b/doc/html/Ecore__Evas_8h.html
@@ -0,0 +1,3830 @@
+<html>
+
+<head>
+
+<title>Ecore: Ecore_Evas.h File Reference</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li id="current"><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<div class="tabs">
+  <ul>
+    <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+    <li><a href="globals.html"><span>Globals</span></a></li>
+  </ul></div>
+<h1>Ecore_Evas.h File Reference</h1>Evas wrapper functions. <a href="#_details">More...</a>
+<p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Evas_8h.html#bc4b2696e9fc607bb2a63a430cbdfd3b">ecore_evas_engine_type_supported_get</a> (Ecore_Evas_Engine_Type engine)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Query if a particular renginering engine target has support.  <a href="#bc4b2696e9fc607bb2a63a430cbdfd3b"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Evas_8h.html#32ddbb6457033ad435a177eb0c4fe235">ecore_evas_init</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Init the Evas system.  <a href="#32ddbb6457033ad435a177eb0c4fe235"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Evas_8h.html#b8fa311077f749190c9b622f672b2214">ecore_evas_shutdown</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Shut down the Evas system.  <a href="#b8fa311077f749190c9b622f672b2214"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_Evas *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Evas_8h.html#71ca9d720d2df05a5e935c9ea8451051">ecore_evas_software_x11_new</a> (const char *disp_name, Ecore_X_Window parent, int x, int y, int w, int h)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#71ca9d720d2df05a5e935c9ea8451051"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_X_Window&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Evas_8h.html#1c8b44d2525681127dabd8ed8cf3058c">ecore_evas_software_x11_window_get</a> (Ecore_Evas *ee)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#1c8b44d2525681127dabd8ed8cf3058c"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_X_Window&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Evas_8h.html#c42c6b4bc269b867b66dd4d4550f4892">ecore_evas_software_x11_subwindow_get</a> (Ecore_Evas *ee)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#c42c6b4bc269b867b66dd4d4550f4892"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Evas_8h.html#76c307ce78a33cae7782bfe4f753fc40">ecore_evas_software_x11_direct_resize_set</a> (Ecore_Evas *ee, int on)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#76c307ce78a33cae7782bfe4f753fc40"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Evas_8h.html#1e65de06d77e196c9bccad8e89c5145d">ecore_evas_software_x11_direct_resize_get</a> (Ecore_Evas *ee)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#1e65de06d77e196c9bccad8e89c5145d"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Evas_8h.html#7cf6203a7a335fbf30aaa0612c0eafce">ecore_evas_software_x11_extra_event_window_add</a> (Ecore_Evas *ee, Ecore_X_Window win)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#7cf6203a7a335fbf30aaa0612c0eafce"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_Evas *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Evas_8h.html#1443fa9af8143a48dadc27eaa51d7c5e">ecore_evas_gl_x11_new</a> (const char *disp_name, Ecore_X_Window parent, int x, int y, int w, int h)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#1443fa9af8143a48dadc27eaa51d7c5e"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_X_Window&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Evas_8h.html#01416243f7ec46390b9e4b7077d0c34d">ecore_evas_gl_x11_window_get</a> (Ecore_Evas *ee)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#01416243f7ec46390b9e4b7077d0c34d"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_X_Window&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Evas_8h.html#7cf23aca7d775e694fbfa40c6a96b78e">ecore_evas_gl_x11_subwindow_get</a> (Ecore_Evas *ee)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#7cf23aca7d775e694fbfa40c6a96b78e"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Evas_8h.html#3fcbd7b8d384a69a03e4beaea106072a">ecore_evas_gl_x11_direct_resize_set</a> (Ecore_Evas *ee, int on)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#3fcbd7b8d384a69a03e4beaea106072a"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Evas_8h.html#80ad6c606327f9f7b78171347ecd1e2d">ecore_evas_gl_x11_direct_resize_get</a> (Ecore_Evas *ee)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#80ad6c606327f9f7b78171347ecd1e2d"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Evas_8h.html#f363b728e3d00a3c6230d9427b40a8c9">ecore_evas_gl_x11_extra_event_window_add</a> (Ecore_Evas *ee, Ecore_X_Window win)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#f363b728e3d00a3c6230d9427b40a8c9"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_Evas *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Evas_8h.html#8fb98e6849e50eb5b34cbc5cb703e309">ecore_evas_xrender_x11_new</a> (const char *disp_name, Ecore_X_Window parent, int x, int y, int w, int h)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#8fb98e6849e50eb5b34cbc5cb703e309"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_X_Window&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Evas_8h.html#29aaa25c35a8db50b34657d4cc7cdbde">ecore_evas_xrender_x11_window_get</a> (Ecore_Evas *ee)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#29aaa25c35a8db50b34657d4cc7cdbde"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_X_Window&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Evas_8h.html#ad08fb8be571096fc8c40d2a7f63734b">ecore_evas_xrender_x11_subwindow_get</a> (Ecore_Evas *ee)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#ad08fb8be571096fc8c40d2a7f63734b"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Evas_8h.html#631f3af9a5afceaed0fe37c904d2e15a">ecore_evas_xrender_x11_direct_resize_set</a> (Ecore_Evas *ee, int on)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#631f3af9a5afceaed0fe37c904d2e15a"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Evas_8h.html#3c47880083f800888946e4924c477baa">ecore_evas_xrender_x11_direct_resize_get</a> (Ecore_Evas *ee)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#3c47880083f800888946e4924c477baa"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Evas_8h.html#352cb2682bf16ed80493dd91d43228de">ecore_evas_xrender_x11_extra_event_window_add</a> (Ecore_Evas *ee, Ecore_X_Window win)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#352cb2682bf16ed80493dd91d43228de"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_Evas *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Evas_8h.html#3f2e1e619c7d907d8efef7dd64fc1312">ecore_evas_software_x11_16_new</a> (const char *disp_name, Ecore_X_Window parent, int x, int y, int w, int h)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#3f2e1e619c7d907d8efef7dd64fc1312"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_X_Window&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Evas_8h.html#d1706d6cdbc8b19e13ea3635c8499bdc">ecore_evas_software_x11_16_window_get</a> (Ecore_Evas *ee)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#d1706d6cdbc8b19e13ea3635c8499bdc"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_X_Window&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Evas_8h.html#69a56a28479edb8882e33af387c94322">ecore_evas_software_x11_16_subwindow_get</a> (Ecore_Evas *ee)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#69a56a28479edb8882e33af387c94322"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Evas_8h.html#83a733bd5ec9f235dc55d44e83461688">ecore_evas_software_x11_16_direct_resize_set</a> (Ecore_Evas *ee, int on)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#83a733bd5ec9f235dc55d44e83461688"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Evas_8h.html#b7e5640d0ad3b227f6a6c366bbc3efd8">ecore_evas_software_x11_16_direct_resize_get</a> (Ecore_Evas *ee)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#b7e5640d0ad3b227f6a6c366bbc3efd8"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Evas_8h.html#15556471f3eebcd39e81ad53e5907b20">ecore_evas_software_x11_16_extra_event_window_add</a> (Ecore_Evas *ee, Ecore_X_Window win)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#15556471f3eebcd39e81ad53e5907b20"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_Evas *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Evas_8h.html#5cc1b514f94ed87dbc527dabe2fb85d3">ecore_evas_fb_new</a> (char *disp_name, int rotation, int w, int h)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#5cc1b514f94ed87dbc527dabe2fb85d3"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_Evas *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Evas_8h.html#c2e1f186eb493faf7cee9771fb16f49e">ecore_evas_buffer_new</a> (int w, int h)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#c2e1f186eb493faf7cee9771fb16f49e"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_Evas *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Evas_8h.html#88ed3de3520605d45edbe486b0e11ddb">ecore_evas_ecore_evas_get</a> (Evas *e)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the Ecore_Evas for this Evas.  <a href="#88ed3de3520605d45edbe486b0e11ddb"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Evas_8h.html#d3ec61f2aa03df4d3dbfd0d311e0c8dc">ecore_evas_free</a> (Ecore_Evas *ee)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Free an Ecore_Evas.  <a href="#d3ec61f2aa03df4d3dbfd0d311e0c8dc"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Evas_8h.html#52b46b435d64eb33510402d970bc6c58">ecore_evas_data_get</a> (Ecore_Evas *ee, const char *key)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieve user data associated with an Ecore_Evas.  <a href="#52b46b435d64eb33510402d970bc6c58"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Evas_8h.html#a86c5abd200a02711aced53d27b9ddb2">ecore_evas_data_set</a> (Ecore_Evas *ee, const char *key, const void *data)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Store user data in an Ecore_Evas structure.  <a href="#a86c5abd200a02711aced53d27b9ddb2"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Evas_8h.html#6b7fd75fe90e50d5c132cb96f0e495fa">ecore_evas_callback_resize_set</a> (Ecore_Evas *ee, void(*func)(Ecore_Evas *ee))</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set a callback for Ecore_Evas resize events.  <a href="#6b7fd75fe90e50d5c132cb96f0e495fa"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Evas_8h.html#49b467d2d7000c75268fe96bd16b50f6">ecore_evas_callback_move_set</a> (Ecore_Evas *ee, void(*func)(Ecore_Evas *ee))</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set a callback for Ecore_Evas move events.  <a href="#49b467d2d7000c75268fe96bd16b50f6"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Evas_8h.html#8a7f19c1df20409e77252db41822bbeb">ecore_evas_callback_show_set</a> (Ecore_Evas *ee, void(*func)(Ecore_Evas *ee))</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set a callback for Ecore_Evas show events.  <a href="#8a7f19c1df20409e77252db41822bbeb"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Evas_8h.html#e5563cac2111859962581006b5dfe5f0">ecore_evas_callback_hide_set</a> (Ecore_Evas *ee, void(*func)(Ecore_Evas *ee))</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set a callback for Ecore_Evas hide events.  <a href="#e5563cac2111859962581006b5dfe5f0"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Evas_8h.html#9912554099331d356d6a06ad61771292">ecore_evas_callback_delete_request_set</a> (Ecore_Evas *ee, void(*func)(Ecore_Evas *ee))</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set a callback for Ecore_Evas delete request events.  <a href="#9912554099331d356d6a06ad61771292"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Evas_8h.html#7ab7f2947c462d921b2e155ead3639bc">ecore_evas_callback_destroy_set</a> (Ecore_Evas *ee, void(*func)(Ecore_Evas *ee))</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set a callback for Ecore_Evas destroy events.  <a href="#7ab7f2947c462d921b2e155ead3639bc"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Evas_8h.html#fff2fe94b6c8df71bbbc97340cad73e7">ecore_evas_callback_focus_in_set</a> (Ecore_Evas *ee, void(*func)(Ecore_Evas *ee))</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set a callback for Ecore_Evas focus in events.  <a href="#fff2fe94b6c8df71bbbc97340cad73e7"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Evas_8h.html#e0bc135143047aaf0b0fdeef2cf2bada">ecore_evas_callback_focus_out_set</a> (Ecore_Evas *ee, void(*func)(Ecore_Evas *ee))</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set a callback for Ecore_Evas focus out events.  <a href="#e0bc135143047aaf0b0fdeef2cf2bada"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Evas_8h.html#2508e64c07207a626863d19374a9b37a">ecore_evas_callback_sticky_set</a> (Ecore_Evas *ee, void(*func)(Ecore_Evas *ee))</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set a callback for Ecore_Evas sticky events.  <a href="#2508e64c07207a626863d19374a9b37a"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Evas_8h.html#6abaf03f8aa22bfb17703f5295a62df6">ecore_evas_callback_unsticky_set</a> (Ecore_Evas *ee, void(*func)(Ecore_Evas *ee))</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set a callback for Ecore_Evas un-sticky events.  <a href="#6abaf03f8aa22bfb17703f5295a62df6"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Evas_8h.html#32180b12699e0d1a6003029a7f070c65">ecore_evas_callback_mouse_in_set</a> (Ecore_Evas *ee, void(*func)(Ecore_Evas *ee))</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set a callback for Ecore_Evas mouse in events.  <a href="#32180b12699e0d1a6003029a7f070c65"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Evas_8h.html#cf1f07b10125280402bc55683954c8bf">ecore_evas_callback_mouse_out_set</a> (Ecore_Evas *ee, void(*func)(Ecore_Evas *ee))</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set a callback for Ecore_Evas mouse out events.  <a href="#cf1f07b10125280402bc55683954c8bf"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Evas_8h.html#d4a946724882b3351b409d0decc70fea">ecore_evas_callback_pre_render_set</a> (Ecore_Evas *ee, void(*func)(Ecore_Evas *ee))</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set a callback for Ecore_Evas mouse pre render events.  <a href="#d4a946724882b3351b409d0decc70fea"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Evas_8h.html#a65598d1d54d46716c915232679a9bc1">ecore_evas_callback_post_render_set</a> (Ecore_Evas *ee, void(*func)(Ecore_Evas *ee))</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set a callback for Ecore_Evas mouse post render events.  <a href="#a65598d1d54d46716c915232679a9bc1"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Evas *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Evas_8h.html#926506fa5e88811c891ce130e0ab8338">ecore_evas_get</a> (Ecore_Evas *ee)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get an Ecore_Evas's Evas.  <a href="#926506fa5e88811c891ce130e0ab8338"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Evas_8h.html#f76a90bbc13f6196e77d9c513a18941b">ecore_evas_move</a> (Ecore_Evas *ee, int x, int y)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Move an Ecore_Evas.  <a href="#f76a90bbc13f6196e77d9c513a18941b"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Evas_8h.html#8794487154ca3dc1c71b5bd4542bbf58">ecore_evas_managed_move</a> (Ecore_Evas *ee, int x, int y)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Provide Managed move co-ordinates for an Ecore_Evas.  <a href="#8794487154ca3dc1c71b5bd4542bbf58"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Evas_8h.html#3109b574eca21cd8b57a749c362dba3e">ecore_evas_resize</a> (Ecore_Evas *ee, int w, int h)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Resize an Ecore_Evas.  <a href="#3109b574eca21cd8b57a749c362dba3e"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Evas_8h.html#71abc5b649e5c35bf40c54d5239360f3">ecore_evas_move_resize</a> (Ecore_Evas *ee, int x, int y, int w, int h)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Resize an Ecore_Evas.  <a href="#71abc5b649e5c35bf40c54d5239360f3"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Evas_8h.html#92ee70061f83897d889ca1dbbe98a55f">ecore_evas_geometry_get</a> (Ecore_Evas *ee, int *x, int *y, int *w, int *h)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the geometry of an Ecore_Evas.  <a href="#92ee70061f83897d889ca1dbbe98a55f"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Evas_8h.html#4166fe6060002a30a3e2c623fd7d4eec">ecore_evas_rotation_set</a> (Ecore_Evas *ee, int rot)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the rotation of an Ecore_Evas' window.  <a href="#4166fe6060002a30a3e2c623fd7d4eec"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Evas_8h.html#4b85e41ef3473d9c8bc18468cf6b7d14">ecore_evas_rotation_get</a> (Ecore_Evas *ee)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the rotation of an Ecore_Evas' window.  <a href="#4b85e41ef3473d9c8bc18468cf6b7d14"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Evas_8h.html#902db12006699064409307cba6c2637d">ecore_evas_shaped_set</a> (Ecore_Evas *ee, int shaped)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set whether an Ecore_Evas is shaped or not.  <a href="#902db12006699064409307cba6c2637d"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Evas_8h.html#1b752d49f95174806c7e9148ba60c2e4">ecore_evas_shaped_get</a> (Ecore_Evas *ee)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Query whether an Ecore_Evas is shaped or not.  <a href="#1b752d49f95174806c7e9148ba60c2e4"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Evas_8h.html#eba22cdb7622b33729d26a6407dcf0a6">ecore_evas_alpha_set</a> (Ecore_Evas *ee, int alpha)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set whether an Ecore_Evas has an alpha channel or not.  <a href="#eba22cdb7622b33729d26a6407dcf0a6"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Evas_8h.html#04ba329fce850504e3538ea0be7a4b5c">ecore_evas_alpha_get</a> (Ecore_Evas *ee)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Query whether an Ecore_Evas has an alpha channel.  <a href="#04ba329fce850504e3538ea0be7a4b5c"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Evas_8h.html#4953047ff97d4f1b0d75a7d513d4f317">ecore_evas_show</a> (Ecore_Evas *ee)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Show an Ecore_Evas' window.  <a href="#4953047ff97d4f1b0d75a7d513d4f317"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Evas_8h.html#0c4c806d5873a4528334e398d28940d4">ecore_evas_hide</a> (Ecore_Evas *ee)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Hide an Ecore_Evas' window.  <a href="#0c4c806d5873a4528334e398d28940d4"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Evas_8h.html#81ec64435d60ec828d6ae09d73f8bca6">ecore_evas_visibility_get</a> (Ecore_Evas *ee)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Query whether an Ecore_Evas' window is visible or not.  <a href="#81ec64435d60ec828d6ae09d73f8bca6"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Evas_8h.html#6ed264f0f364409f13f8f7440153ee10">ecore_evas_raise</a> (Ecore_Evas *ee)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Raise and Ecore_Evas' window.  <a href="#6ed264f0f364409f13f8f7440153ee10"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Evas_8h.html#fa764e78c265576e6313eaf8bf34d1e9">ecore_evas_lower</a> (Ecore_Evas *ee)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Lower an Ecore_Evas' window.  <a href="#fa764e78c265576e6313eaf8bf34d1e9"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Evas_8h.html#3b2832e0373bbafae2bb7143618535c1">ecore_evas_title_set</a> (Ecore_Evas *ee, const char *t)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the title of an Ecore_Evas' window.  <a href="#3b2832e0373bbafae2bb7143618535c1"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Evas_8h.html#c09c6b713c369c5b2edb7870cde710aa">ecore_evas_title_get</a> (Ecore_Evas *ee)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the title of an Ecore_Evas' window.  <a href="#c09c6b713c369c5b2edb7870cde710aa"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Evas_8h.html#14bbe9c52d2d85e18e0a35819fb0330a">ecore_evas_name_class_set</a> (Ecore_Evas *ee, const char *n, const char *c)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the name and class of an Ecore_Evas' window.  <a href="#14bbe9c52d2d85e18e0a35819fb0330a"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Evas_8h.html#204d3455ace3cc2e882e9f0d3b28281b">ecore_evas_name_class_get</a> (Ecore_Evas *ee, const char **n, const char **c)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the name and class of an Ecore_Evas' window <code>ee</code> The Ecore_Evas to query <code>n</code> A pointer to a string to place the name in.  <a href="#204d3455ace3cc2e882e9f0d3b28281b"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Evas_8h.html#63abcee3b625bd6410fe8eb46b2a5d9c">ecore_evas_size_min_set</a> (Ecore_Evas *ee, int w, int h)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the min size of an Ecore_Evas' window.  <a href="#63abcee3b625bd6410fe8eb46b2a5d9c"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Evas_8h.html#039a04ca2b231f2b0ab0b9b2db7352b6">ecore_evas_size_min_get</a> (Ecore_Evas *ee, int *w, int *h)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the min size of an Ecore_Evas' window.  <a href="#039a04ca2b231f2b0ab0b9b2db7352b6"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Evas_8h.html#c9ad3e25ab3f2bea8be726d24df62902">ecore_evas_size_max_set</a> (Ecore_Evas *ee, int w, int h)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the max size of an Ecore_Evas' window.  <a href="#c9ad3e25ab3f2bea8be726d24df62902"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Evas_8h.html#a07452ff374eed4ddeb94c5cde89c300">ecore_evas_size_max_get</a> (Ecore_Evas *ee, int *w, int *h)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the max size of an Ecore_Evas' window.  <a href="#a07452ff374eed4ddeb94c5cde89c300"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Evas_8h.html#540886b523486b791729d5d3f62f9fce">ecore_evas_size_base_set</a> (Ecore_Evas *ee, int w, int h)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the base size of an Ecore_Evas' window.  <a href="#540886b523486b791729d5d3f62f9fce"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Evas_8h.html#3bae432e14325ddb86d630ee7550c850">ecore_evas_size_base_get</a> (Ecore_Evas *ee, int *w, int *h)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the base size of an Ecore_Evas' window.  <a href="#3bae432e14325ddb86d630ee7550c850"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Evas_8h.html#b794b84a4f53e7fc36d5e87882185dc5">ecore_evas_size_step_set</a> (Ecore_Evas *ee, int w, int h)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the step size of an Ecore_Evas.  <a href="#b794b84a4f53e7fc36d5e87882185dc5"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Evas_8h.html#8a4fcf6e756e8916cb4646e76aaa69e9">ecore_evas_size_step_get</a> (Ecore_Evas *ee, int *w, int *h)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the step size of an Ecore_Evas' window.  <a href="#8a4fcf6e756e8916cb4646e76aaa69e9"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Evas_8h.html#9f8b0f14a2723f9a4bf2f2b1906d04e0">ecore_evas_cursor_set</a> (Ecore_Evas *ee, const char *file, int layer, int hot_x, int hot_y)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the cursor of an Ecore_Evas.  <a href="#9f8b0f14a2723f9a4bf2f2b1906d04e0"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Evas_8h.html#f8829999536db76973c698a03f2e08ba">ecore_evas_cursor_get</a> (Ecore_Evas *ee, char **file, int *layer, int *hot_x, int *hot_y)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get information about an Ecore_Evas' cursor.  <a href="#f8829999536db76973c698a03f2e08ba"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Evas_8h.html#0f5369c1b007fda38d783f2be8ca0815">ecore_evas_layer_set</a> (Ecore_Evas *ee, int layer)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the layer of an Ecore_Evas' window.  <a href="#0f5369c1b007fda38d783f2be8ca0815"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Evas_8h.html#eb256f761802d4aa89189feb4181fb9e">ecore_evas_layer_get</a> (Ecore_Evas *ee)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the layer of an Ecore_Evas' window.  <a href="#eb256f761802d4aa89189feb4181fb9e"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Evas_8h.html#e68939596444cee858e670a3800f3f1e">ecore_evas_focus_set</a> (Ecore_Evas *ee, int on)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the focus of an Ecore_Evas' window.  <a href="#e68939596444cee858e670a3800f3f1e"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Evas_8h.html#d6315b8ab8bf71c34e00c91aa35ac8d5">ecore_evas_focus_get</a> (Ecore_Evas *ee)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Query whether an Ecore_Evas' window is focused or not.  <a href="#d6315b8ab8bf71c34e00c91aa35ac8d5"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Evas_8h.html#ab0146f73bf54250b9dfe43b86391887">ecore_evas_iconified_set</a> (Ecore_Evas *ee, int on)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Iconify or uniconify an Ecore_Evas' window.  <a href="#ab0146f73bf54250b9dfe43b86391887"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Evas_8h.html#b6125e3cf39422e4b1a30376018454ed">ecore_evas_iconified_get</a> (Ecore_Evas *ee)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Query whether an Ecore_Evas' window is iconified or not.  <a href="#b6125e3cf39422e4b1a30376018454ed"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Evas_8h.html#aedfd511a170ae82cc0b26dc16341fc0">ecore_evas_borderless_set</a> (Ecore_Evas *ee, int on)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set whether an Ecore_Evas' window is borderless or not.  <a href="#aedfd511a170ae82cc0b26dc16341fc0"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Evas_8h.html#e6a25044aec4ad5bb845ef71d4cf96dd">ecore_evas_borderless_get</a> (Ecore_Evas *ee)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Query whether an Ecore_Evas' window is borderless or not.  <a href="#e6a25044aec4ad5bb845ef71d4cf96dd"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Evas_8h.html#77f3671d737d3675a38acc059997d3fb">ecore_evas_override_set</a> (Ecore_Evas *ee, int on)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Tell the WM whether or not to ignore an Ecore_Evas' window.  <a href="#77f3671d737d3675a38acc059997d3fb"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Evas_8h.html#53fdce2670be1ca9464bb6934913a126">ecore_evas_override_get</a> (Ecore_Evas *ee)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Query whether an Ecore_Evas' window is overridden or not.  <a href="#53fdce2670be1ca9464bb6934913a126"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Evas_8h.html#2fc7cf9da168c3dd6aa5282798037333">ecore_evas_maximized_set</a> (Ecore_Evas *ee, int on)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Maximize (or unmaximize) an Ecore_Evas' window.  <a href="#2fc7cf9da168c3dd6aa5282798037333"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Evas_8h.html#55a913dd5ceb00e7c586805d75ea2576">ecore_evas_maximized_get</a> (Ecore_Evas *ee)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Query whether an Ecore_Evas' window is maximized or not.  <a href="#55a913dd5ceb00e7c586805d75ea2576"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Evas_8h.html#0496b4481f882798fe64dc309cdeb4e3">ecore_evas_fullscreen_set</a> (Ecore_Evas *ee, int on)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set whether or not an Ecore_Evas' window is fullscreen.  <a href="#0496b4481f882798fe64dc309cdeb4e3"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Evas_8h.html#0d706aeb6812c0611414da54e8b57e5a">ecore_evas_fullscreen_get</a> (Ecore_Evas *ee)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Query whether an Ecore_Evas' window is fullscreen or not.  <a href="#0d706aeb6812c0611414da54e8b57e5a"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Evas_8h.html#32ba9dd773514ebf4cd874006e578e5a">ecore_evas_avoid_damage_set</a> (Ecore_Evas *ee, int on)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set whether or not an Ecore_Evas' window should avoid damage.  <a href="#32ba9dd773514ebf4cd874006e578e5a"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Evas_8h.html#5a00f4d3d3a50ed8a4b2c6eeedd0e965">ecore_evas_avoid_damage_get</a> (Ecore_Evas *ee)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Query whether an Ecore_Evas' window avoids damage or not.  <a href="#5a00f4d3d3a50ed8a4b2c6eeedd0e965"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Evas_8h.html#fb818d7cb8ab256c9a6c680771f5e4ae">ecore_evas_withdrawn_set</a> (Ecore_Evas *ee, int withdrawn)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the withdrawn state of an Ecore_Evas' window.  <a href="#fb818d7cb8ab256c9a6c680771f5e4ae"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Evas_8h.html#3fb10d2496f86682b25f86b9bdd52aa7">ecore_evas_withdrawn_get</a> (Ecore_Evas *ee)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the withdrawn state of an Ecore_Evas' window.  <a href="#3fb10d2496f86682b25f86b9bdd52aa7"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Evas_8h.html#63f6c80dc8a1b0caf92febadfe7d24ab">ecore_evas_sticky_set</a> (Ecore_Evas *ee, int sticky)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the sticky state of an Ecore_Evas window.  <a href="#63f6c80dc8a1b0caf92febadfe7d24ab"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Evas_8h.html#6685668b3401b799a1cb6a552106580d">ecore_evas_sticky_get</a> (Ecore_Evas *ee)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the sticky state of an Ecore_Evas' window.  <a href="#6685668b3401b799a1cb6a552106580d"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Evas_8h.html#ff64dfe8ae5fba1a1947ee66f5559abc">ecore_evas_ignore_events_set</a> (Ecore_Evas *ee, int ignore)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set if this evas should ignore events.  <a href="#ff64dfe8ae5fba1a1947ee66f5559abc"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Evas_8h.html#42ff99b78320257c0d7fe68bf2460f2c">ecore_evas_ignore_events_get</a> (Ecore_Evas *ee)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the ignore state of an Ecore_Evas' window.  <a href="#42ff99b78320257c0d7fe68bf2460f2c"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Evas wrapper functions. 
+<p>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="04ba329fce850504e3538ea0be7a4b5c"></a><!-- doxytag: member="Ecore_Evas.h::ecore_evas_alpha_get" ref="04ba329fce850504e3538ea0be7a4b5c" args="(Ecore_Evas *ee)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_evas_alpha_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Evas *&nbsp;</td>
+          <td class="paramname"> <em>ee</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Query whether an Ecore_Evas has an alpha channel. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>ee</em>&nbsp;</td><td>The Ecore_Evas to query. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 if ee has an alpha channel, 0 if it does not.</dd></dl>
+This function returns 1 if <code>ee</code> has an alpha channel, and 0 if it does not. 
+</div>
+</div><p>
+<a class="anchor" name="eba22cdb7622b33729d26a6407dcf0a6"></a><!-- doxytag: member="Ecore_Evas.h::ecore_evas_alpha_set" ref="eba22cdb7622b33729d26a6407dcf0a6" args="(Ecore_Evas *ee, int alpha)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_evas_alpha_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Evas *&nbsp;</td>
+          <td class="paramname"> <em>ee</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>alpha</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set whether an Ecore_Evas has an alpha channel or not. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>ee</em>&nbsp;</td><td>The Ecore_Evas to shape </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>alpha</em>&nbsp;</td><td>1 to enable the alpha channel, 0 to disable it</td></tr>
+  </table>
+</dl>
+This function allows you to make an Ecore_Evas translucent using an alpha channel. See <a class="el" href="Ecore__Evas_8h.html#902db12006699064409307cba6c2637d">ecore_evas_shaped_set()</a> for details. The difference between a shaped window and a window with an alpha channel is that an alpha channel supports multiple levels of transpararency, as opposed to the 1 bit transparency of a shaped window (a pixel is either opaque, or it's transparent). 
+</div>
+</div><p>
+<a class="anchor" name="5a00f4d3d3a50ed8a4b2c6eeedd0e965"></a><!-- doxytag: member="Ecore_Evas.h::ecore_evas_avoid_damage_get" ref="5a00f4d3d3a50ed8a4b2c6eeedd0e965" args="(Ecore_Evas *ee)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_evas_avoid_damage_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Evas *&nbsp;</td>
+          <td class="paramname"> <em>ee</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Query whether an Ecore_Evas' window avoids damage or not. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>ee</em>&nbsp;</td><td>The Ecore_Evas to set </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 if <code>ee</code> avoids damage, 0 if not. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="32ba9dd773514ebf4cd874006e578e5a"></a><!-- doxytag: member="Ecore_Evas.h::ecore_evas_avoid_damage_set" ref="32ba9dd773514ebf4cd874006e578e5a" args="(Ecore_Evas *ee, int on)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_evas_avoid_damage_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Evas *&nbsp;</td>
+          <td class="paramname"> <em>ee</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>on</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set whether or not an Ecore_Evas' window should avoid damage. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>ee</em>&nbsp;</td><td>The Ecore_Evas </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>on</em>&nbsp;</td><td>1 to avoid damage, 0 to not</td></tr>
+  </table>
+</dl>
+This function causes <code>ee</code> to be drawn to a pixmap to avoid recalculations. On expose events it will copy from the pixmap to the window. 
+</div>
+</div><p>
+<a class="anchor" name="e6a25044aec4ad5bb845ef71d4cf96dd"></a><!-- doxytag: member="Ecore_Evas.h::ecore_evas_borderless_get" ref="e6a25044aec4ad5bb845ef71d4cf96dd" args="(Ecore_Evas *ee)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_evas_borderless_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Evas *&nbsp;</td>
+          <td class="paramname"> <em>ee</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Query whether an Ecore_Evas' window is borderless or not. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>ee</em>&nbsp;</td><td>The Ecore_Evas to set </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 if <code>ee</code> is borderless, 0 if not. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="aedfd511a170ae82cc0b26dc16341fc0"></a><!-- doxytag: member="Ecore_Evas.h::ecore_evas_borderless_set" ref="aedfd511a170ae82cc0b26dc16341fc0" args="(Ecore_Evas *ee, int on)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_evas_borderless_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Evas *&nbsp;</td>
+          <td class="paramname"> <em>ee</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>on</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set whether an Ecore_Evas' window is borderless or not. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>ee</em>&nbsp;</td><td>The Ecore_Evas </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>on</em>&nbsp;</td><td>1 for borderless, 0 for bordered.</td></tr>
+  </table>
+</dl>
+This function makes <code>ee</code> borderless if <code>on</code> is 1, or bordered if <code>on</code> is 0. 
+</div>
+</div><p>
+<a class="anchor" name="c2e1f186eb493faf7cee9771fb16f49e"></a><!-- doxytag: member="Ecore_Evas.h::ecore_evas_buffer_new" ref="c2e1f186eb493faf7cee9771fb16f49e" args="(int w, int h)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Ecore_Evas* ecore_evas_buffer_new           </td>
+          <td>(</td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>w</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>h</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+To be documented. 
+<p>
+FIXME: To be fixed. 
+</div>
+</div><p>
+<a class="anchor" name="9912554099331d356d6a06ad61771292"></a><!-- doxytag: member="Ecore_Evas.h::ecore_evas_callback_delete_request_set" ref="9912554099331d356d6a06ad61771292" args="(Ecore_Evas *ee, void(*func)(Ecore_Evas *ee))" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_evas_callback_delete_request_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Evas *&nbsp;</td>
+          <td class="paramname"> <em>ee</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void(*)(Ecore_Evas *ee)&nbsp;</td>
+          <td class="paramname"> <em>func</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set a callback for Ecore_Evas delete request events. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>ee</em>&nbsp;</td><td>The Ecore_Evas to set callbacks on </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>func</em>&nbsp;</td><td>The function to call</td></tr>
+  </table>
+</dl>
+A call to this function will set a callback on an Ecore_Evas, causing <code>func</code> to be called whenever <code>ee</code> gets a delete request. 
+</div>
+</div><p>
+<a class="anchor" name="7ab7f2947c462d921b2e155ead3639bc"></a><!-- doxytag: member="Ecore_Evas.h::ecore_evas_callback_destroy_set" ref="7ab7f2947c462d921b2e155ead3639bc" args="(Ecore_Evas *ee, void(*func)(Ecore_Evas *ee))" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_evas_callback_destroy_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Evas *&nbsp;</td>
+          <td class="paramname"> <em>ee</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void(*)(Ecore_Evas *ee)&nbsp;</td>
+          <td class="paramname"> <em>func</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set a callback for Ecore_Evas destroy events. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>ee</em>&nbsp;</td><td>The Ecore_Evas to set callbacks on </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>func</em>&nbsp;</td><td>The function to call</td></tr>
+  </table>
+</dl>
+A call to this function will set a callback on an Ecore_Evas, causing <code>func</code> to be called whenever <code>ee</code> is destroyed. 
+</div>
+</div><p>
+<a class="anchor" name="fff2fe94b6c8df71bbbc97340cad73e7"></a><!-- doxytag: member="Ecore_Evas.h::ecore_evas_callback_focus_in_set" ref="fff2fe94b6c8df71bbbc97340cad73e7" args="(Ecore_Evas *ee, void(*func)(Ecore_Evas *ee))" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_evas_callback_focus_in_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Evas *&nbsp;</td>
+          <td class="paramname"> <em>ee</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void(*)(Ecore_Evas *ee)&nbsp;</td>
+          <td class="paramname"> <em>func</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set a callback for Ecore_Evas focus in events. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>ee</em>&nbsp;</td><td>The Ecore_Evas to set callbacks on </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>func</em>&nbsp;</td><td>The function to call</td></tr>
+  </table>
+</dl>
+A call to this function will set a callback on an Ecore_Evas, causing <code>func</code> to be called whenever <code>ee</code> gets focus. 
+</div>
+</div><p>
+<a class="anchor" name="e0bc135143047aaf0b0fdeef2cf2bada"></a><!-- doxytag: member="Ecore_Evas.h::ecore_evas_callback_focus_out_set" ref="e0bc135143047aaf0b0fdeef2cf2bada" args="(Ecore_Evas *ee, void(*func)(Ecore_Evas *ee))" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_evas_callback_focus_out_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Evas *&nbsp;</td>
+          <td class="paramname"> <em>ee</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void(*)(Ecore_Evas *ee)&nbsp;</td>
+          <td class="paramname"> <em>func</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set a callback for Ecore_Evas focus out events. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>ee</em>&nbsp;</td><td>The Ecore_Evas to set callbacks on </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>func</em>&nbsp;</td><td>The function to call</td></tr>
+  </table>
+</dl>
+A call to this function will set a callback on an Ecore_Evas, causing <code>func</code> to be called whenever <code>ee</code> loses focus. 
+</div>
+</div><p>
+<a class="anchor" name="e5563cac2111859962581006b5dfe5f0"></a><!-- doxytag: member="Ecore_Evas.h::ecore_evas_callback_hide_set" ref="e5563cac2111859962581006b5dfe5f0" args="(Ecore_Evas *ee, void(*func)(Ecore_Evas *ee))" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_evas_callback_hide_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Evas *&nbsp;</td>
+          <td class="paramname"> <em>ee</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void(*)(Ecore_Evas *ee)&nbsp;</td>
+          <td class="paramname"> <em>func</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set a callback for Ecore_Evas hide events. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>ee</em>&nbsp;</td><td>The Ecore_Evas to set callbacks on </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>func</em>&nbsp;</td><td>The function to call</td></tr>
+  </table>
+</dl>
+A call to this function will set a callback on an Ecore_Evas, causing <code>func</code> to be called whenever <code>ee</code> is hidden. 
+</div>
+</div><p>
+<a class="anchor" name="32180b12699e0d1a6003029a7f070c65"></a><!-- doxytag: member="Ecore_Evas.h::ecore_evas_callback_mouse_in_set" ref="32180b12699e0d1a6003029a7f070c65" args="(Ecore_Evas *ee, void(*func)(Ecore_Evas *ee))" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_evas_callback_mouse_in_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Evas *&nbsp;</td>
+          <td class="paramname"> <em>ee</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void(*)(Ecore_Evas *ee)&nbsp;</td>
+          <td class="paramname"> <em>func</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set a callback for Ecore_Evas mouse in events. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>ee</em>&nbsp;</td><td>The Ecore_Evas to set callbacks on </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>func</em>&nbsp;</td><td>The function to call</td></tr>
+  </table>
+</dl>
+A call to this function will set a callback on an Ecore_Evas, causing <code>func</code> to be called whenever the mouse enters <code>ee</code>. 
+</div>
+</div><p>
+<a class="anchor" name="cf1f07b10125280402bc55683954c8bf"></a><!-- doxytag: member="Ecore_Evas.h::ecore_evas_callback_mouse_out_set" ref="cf1f07b10125280402bc55683954c8bf" args="(Ecore_Evas *ee, void(*func)(Ecore_Evas *ee))" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_evas_callback_mouse_out_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Evas *&nbsp;</td>
+          <td class="paramname"> <em>ee</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void(*)(Ecore_Evas *ee)&nbsp;</td>
+          <td class="paramname"> <em>func</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set a callback for Ecore_Evas mouse out events. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>ee</em>&nbsp;</td><td>The Ecore_Evas to set callbacks on </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>func</em>&nbsp;</td><td>The function to call</td></tr>
+  </table>
+</dl>
+A call to this function will set a callback on an Ecore_Evas, causing <code>func</code> to be called whenever the mouse leaves <code>ee</code>. 
+</div>
+</div><p>
+<a class="anchor" name="49b467d2d7000c75268fe96bd16b50f6"></a><!-- doxytag: member="Ecore_Evas.h::ecore_evas_callback_move_set" ref="49b467d2d7000c75268fe96bd16b50f6" args="(Ecore_Evas *ee, void(*func)(Ecore_Evas *ee))" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_evas_callback_move_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Evas *&nbsp;</td>
+          <td class="paramname"> <em>ee</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void(*)(Ecore_Evas *ee)&nbsp;</td>
+          <td class="paramname"> <em>func</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set a callback for Ecore_Evas move events. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>ee</em>&nbsp;</td><td>The Ecore_Evas to set callbacks on </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>func</em>&nbsp;</td><td>The function to call</td></tr>
+  </table>
+</dl>
+A call to this function will set a callback on an Ecore_Evas, causing <code>func</code> to be called whenever <code>ee</code> is moved. 
+</div>
+</div><p>
+<a class="anchor" name="a65598d1d54d46716c915232679a9bc1"></a><!-- doxytag: member="Ecore_Evas.h::ecore_evas_callback_post_render_set" ref="a65598d1d54d46716c915232679a9bc1" args="(Ecore_Evas *ee, void(*func)(Ecore_Evas *ee))" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_evas_callback_post_render_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Evas *&nbsp;</td>
+          <td class="paramname"> <em>ee</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void(*)(Ecore_Evas *ee)&nbsp;</td>
+          <td class="paramname"> <em>func</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set a callback for Ecore_Evas mouse post render events. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>ee</em>&nbsp;</td><td>The Ecore_Evas to set callbacks on </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>func</em>&nbsp;</td><td>The function to call</td></tr>
+  </table>
+</dl>
+A call to this function will set a callback on an Ecore_Evas, causing <code>func</code> to be called just after the evas in <code>ee</code> is rendered. 
+</div>
+</div><p>
+<a class="anchor" name="d4a946724882b3351b409d0decc70fea"></a><!-- doxytag: member="Ecore_Evas.h::ecore_evas_callback_pre_render_set" ref="d4a946724882b3351b409d0decc70fea" args="(Ecore_Evas *ee, void(*func)(Ecore_Evas *ee))" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_evas_callback_pre_render_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Evas *&nbsp;</td>
+          <td class="paramname"> <em>ee</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void(*)(Ecore_Evas *ee)&nbsp;</td>
+          <td class="paramname"> <em>func</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set a callback for Ecore_Evas mouse pre render events. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>ee</em>&nbsp;</td><td>The Ecore_Evas to set callbacks on </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>func</em>&nbsp;</td><td>The function to call</td></tr>
+  </table>
+</dl>
+A call to this function will set a callback on an Ecore_Evas, causing <code>func</code> to be called just before the evas in <code>ee</code> is rendered. 
+</div>
+</div><p>
+<a class="anchor" name="6b7fd75fe90e50d5c132cb96f0e495fa"></a><!-- doxytag: member="Ecore_Evas.h::ecore_evas_callback_resize_set" ref="6b7fd75fe90e50d5c132cb96f0e495fa" args="(Ecore_Evas *ee, void(*func)(Ecore_Evas *ee))" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_evas_callback_resize_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Evas *&nbsp;</td>
+          <td class="paramname"> <em>ee</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void(*)(Ecore_Evas *ee)&nbsp;</td>
+          <td class="paramname"> <em>func</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set a callback for Ecore_Evas resize events. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>ee</em>&nbsp;</td><td>The Ecore_Evas to set callbacks on </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>func</em>&nbsp;</td><td>The function to call</td></tr>
+  </table>
+</dl>
+A call to this function will set a callback on an Ecore_Evas, causing <code>func</code> to be called whenever <code>ee</code> is resized. 
+</div>
+</div><p>
+<a class="anchor" name="8a7f19c1df20409e77252db41822bbeb"></a><!-- doxytag: member="Ecore_Evas.h::ecore_evas_callback_show_set" ref="8a7f19c1df20409e77252db41822bbeb" args="(Ecore_Evas *ee, void(*func)(Ecore_Evas *ee))" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_evas_callback_show_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Evas *&nbsp;</td>
+          <td class="paramname"> <em>ee</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void(*)(Ecore_Evas *ee)&nbsp;</td>
+          <td class="paramname"> <em>func</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set a callback for Ecore_Evas show events. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>ee</em>&nbsp;</td><td>The Ecore_Evas to set callbacks on </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>func</em>&nbsp;</td><td>The function to call</td></tr>
+  </table>
+</dl>
+A call to this function will set a callback on an Ecore_Evas, causing <code>func</code> to be called whenever <code>ee</code> is shown. 
+</div>
+</div><p>
+<a class="anchor" name="2508e64c07207a626863d19374a9b37a"></a><!-- doxytag: member="Ecore_Evas.h::ecore_evas_callback_sticky_set" ref="2508e64c07207a626863d19374a9b37a" args="(Ecore_Evas *ee, void(*func)(Ecore_Evas *ee))" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_evas_callback_sticky_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Evas *&nbsp;</td>
+          <td class="paramname"> <em>ee</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void(*)(Ecore_Evas *ee)&nbsp;</td>
+          <td class="paramname"> <em>func</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set a callback for Ecore_Evas sticky events. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>ee</em>&nbsp;</td><td>The Ecore_Evas to set callbacks on </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>func</em>&nbsp;</td><td>The function to call</td></tr>
+  </table>
+</dl>
+A call to this function will set a callback on an Ecore_Evas, causing <code>func</code> to be called whenever <code>ee</code> becomes sticky. 
+</div>
+</div><p>
+<a class="anchor" name="6abaf03f8aa22bfb17703f5295a62df6"></a><!-- doxytag: member="Ecore_Evas.h::ecore_evas_callback_unsticky_set" ref="6abaf03f8aa22bfb17703f5295a62df6" args="(Ecore_Evas *ee, void(*func)(Ecore_Evas *ee))" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_evas_callback_unsticky_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Evas *&nbsp;</td>
+          <td class="paramname"> <em>ee</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void(*)(Ecore_Evas *ee)&nbsp;</td>
+          <td class="paramname"> <em>func</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set a callback for Ecore_Evas un-sticky events. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>ee</em>&nbsp;</td><td>The Ecore_Evas to set callbacks on </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>func</em>&nbsp;</td><td>The function to call</td></tr>
+  </table>
+</dl>
+A call to this function will set a callback on an Ecore_Evas, causing <code>func</code> to be called whenever <code>ee</code> becomes un-sticky. 
+</div>
+</div><p>
+<a class="anchor" name="f8829999536db76973c698a03f2e08ba"></a><!-- doxytag: member="Ecore_Evas.h::ecore_evas_cursor_get" ref="f8829999536db76973c698a03f2e08ba" args="(Ecore_Evas *ee, char **file, int *layer, int *hot_x, int *hot_y)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_evas_cursor_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Evas *&nbsp;</td>
+          <td class="paramname"> <em>ee</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">char **&nbsp;</td>
+          <td class="paramname"> <em>file</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>layer</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>hot_x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>hot_y</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Get information about an Ecore_Evas' cursor. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>ee</em>&nbsp;</td><td>The Ecore_Evas to set </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>file</em>&nbsp;</td><td>A pointer to a string to place the cursor file name in. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>layer</em>&nbsp;</td><td>A pointer to an int to place the cursor's layer in.. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>hot_x</em>&nbsp;</td><td>A pointer to an int to place the cursor's hot_x coordinate in. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>hot_y</em>&nbsp;</td><td>A pointer to an int to place the cursor's hot_y coordinate in.</td></tr>
+  </table>
+</dl>
+This function queries information about an Ecore_Evas' cursor. 
+</div>
+</div><p>
+<a class="anchor" name="9f8b0f14a2723f9a4bf2f2b1906d04e0"></a><!-- doxytag: member="Ecore_Evas.h::ecore_evas_cursor_set" ref="9f8b0f14a2723f9a4bf2f2b1906d04e0" args="(Ecore_Evas *ee, const char *file, int layer, int hot_x, int hot_y)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_evas_cursor_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Evas *&nbsp;</td>
+          <td class="paramname"> <em>ee</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>file</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>layer</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>hot_x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>hot_y</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set the cursor of an Ecore_Evas. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>ee</em>&nbsp;</td><td>The Ecore_Evas </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>file</em>&nbsp;</td><td>The path to an image file for the cursor </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>layer</em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>hot_x</em>&nbsp;</td><td>The x coordinate of the cursor's hot spot </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>hot_y</em>&nbsp;</td><td>The y coordinate of the cursor's hot spot</td></tr>
+  </table>
+</dl>
+This function makes the mouse cursor over <code>ee</code> be the image specified by <code>file</code>. The actual point within the image that the mouse is at is specified by <code>hot_x</code> and <code>hot_y</code>, which are coordinates with respect to the top left corner of the cursor image. 
+</div>
+</div><p>
+<a class="anchor" name="52b46b435d64eb33510402d970bc6c58"></a><!-- doxytag: member="Ecore_Evas.h::ecore_evas_data_get" ref="52b46b435d64eb33510402d970bc6c58" args="(Ecore_Evas *ee, const char *key)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void* ecore_evas_data_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Evas *&nbsp;</td>
+          <td class="paramname"> <em>ee</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>key</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Retrieve user data associated with an Ecore_Evas. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>ee</em>&nbsp;</td><td>The Ecore_Evas to retrieve the user data from. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>The key which the user data to be retrieved is associated with.</td></tr>
+  </table>
+</dl>
+This function retrieves user specific data that has been stored within an Ecore_Evas structure with <a class="el" href="Ecore__Evas_8h.html#a86c5abd200a02711aced53d27b9ddb2">ecore_evas_data_set()</a>.<p>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>NULL on error or no data found, A pointer to the user data on success.</dd></dl>
+<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="Ecore__Evas_8h.html#a86c5abd200a02711aced53d27b9ddb2">ecore_evas_data_set</a> </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="a86c5abd200a02711aced53d27b9ddb2"></a><!-- doxytag: member="Ecore_Evas.h::ecore_evas_data_set" ref="a86c5abd200a02711aced53d27b9ddb2" args="(Ecore_Evas *ee, const char *key, const void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_evas_data_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Evas *&nbsp;</td>
+          <td class="paramname"> <em>ee</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>key</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Store user data in an Ecore_Evas structure. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>eeThe</em>&nbsp;</td><td>Ecore_Evas to store the user data in. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>keyA</em>&nbsp;</td><td>unique string to associate the user data against. Cannot be NULL. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>dataA</em>&nbsp;</td><td>pointer to the user data to store.</td></tr>
+  </table>
+</dl>
+This function associates the <code>data</code> with a <code>key</code> which is stored by the Ecore_Evas <code>ee</code>. Be aware that a call to <a class="el" href="Ecore__Evas_8h.html#d3ec61f2aa03df4d3dbfd0d311e0c8dc">ecore_evas_free()</a> will not free any memory for the associated user data, this is the responsibility of the caller.<p>
+<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="Ecore__Evas_8h.html#d3ec61f2aa03df4d3dbfd0d311e0c8dc">ecore_evas_free</a> </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="88ed3de3520605d45edbe486b0e11ddb"></a><!-- doxytag: member="Ecore_Evas.h::ecore_evas_ecore_evas_get" ref="88ed3de3520605d45edbe486b0e11ddb" args="(Evas *e)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Ecore_Evas* ecore_evas_ecore_evas_get           </td>
+          <td>(</td>
+          <td class="paramtype">Evas *&nbsp;</td>
+          <td class="paramname"> <em>e</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Return the Ecore_Evas for this Evas. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The Evas to get the Ecore_Evas from </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The Ecore_Evas that holds this Evas </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="bc4b2696e9fc607bb2a63a430cbdfd3b"></a><!-- doxytag: member="Ecore_Evas.h::ecore_evas_engine_type_supported_get" ref="bc4b2696e9fc607bb2a63a430cbdfd3b" args="(Ecore_Evas_Engine_Type engine)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_evas_engine_type_supported_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Evas_Engine_Type&nbsp;</td>
+          <td class="paramname"> <em>engine</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Query if a particular renginering engine target has support. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>engine</em>&nbsp;</td><td>The engine to check support for </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 if the particualr engine is supported, 0 if it is not</dd></dl>
+Query if engine<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>engine</em>&nbsp;</td><td>is supported by ecore_evas. 1 is returned if it is, and 0 is returned if it is not supported. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="5cc1b514f94ed87dbc527dabe2fb85d3"></a><!-- doxytag: member="Ecore_Evas.h::ecore_evas_fb_new" ref="5cc1b514f94ed87dbc527dabe2fb85d3" args="(char *disp_name, int rotation, int w, int h)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Ecore_Evas* ecore_evas_fb_new           </td>
+          <td>(</td>
+          <td class="paramtype">char *&nbsp;</td>
+          <td class="paramname"> <em>disp_name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>rotation</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>w</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>h</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+To be documented. 
+<p>
+FIXME: To be fixed. 
+</div>
+</div><p>
+<a class="anchor" name="d6315b8ab8bf71c34e00c91aa35ac8d5"></a><!-- doxytag: member="Ecore_Evas.h::ecore_evas_focus_get" ref="d6315b8ab8bf71c34e00c91aa35ac8d5" args="(Ecore_Evas *ee)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_evas_focus_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Evas *&nbsp;</td>
+          <td class="paramname"> <em>ee</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Query whether an Ecore_Evas' window is focused or not. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>ee</em>&nbsp;</td><td>The Ecore_Evas to set </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 if <code>ee</code> if focused, 0 if not. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="e68939596444cee858e670a3800f3f1e"></a><!-- doxytag: member="Ecore_Evas.h::ecore_evas_focus_set" ref="e68939596444cee858e670a3800f3f1e" args="(Ecore_Evas *ee, int on)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_evas_focus_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Evas *&nbsp;</td>
+          <td class="paramname"> <em>ee</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>on</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set the focus of an Ecore_Evas' window. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>ee</em>&nbsp;</td><td>The Ecore_Evas </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>on</em>&nbsp;</td><td>1 for focus, 0 to defocus.</td></tr>
+  </table>
+</dl>
+This function focuses <code>ee</code> if <code>on</code> is 1, or defocuses <code>ee</code> if <code>on</code> is 0. 
+</div>
+</div><p>
+<a class="anchor" name="d3ec61f2aa03df4d3dbfd0d311e0c8dc"></a><!-- doxytag: member="Ecore_Evas.h::ecore_evas_free" ref="d3ec61f2aa03df4d3dbfd0d311e0c8dc" args="(Ecore_Evas *ee)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_evas_free           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Evas *&nbsp;</td>
+          <td class="paramname"> <em>ee</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Free an Ecore_Evas. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>ee</em>&nbsp;</td><td>The Ecore_Evas to free</td></tr>
+  </table>
+</dl>
+This frees up any memory used by the Ecore_Evas. 
+</div>
+</div><p>
+<a class="anchor" name="0d706aeb6812c0611414da54e8b57e5a"></a><!-- doxytag: member="Ecore_Evas.h::ecore_evas_fullscreen_get" ref="0d706aeb6812c0611414da54e8b57e5a" args="(Ecore_Evas *ee)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_evas_fullscreen_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Evas *&nbsp;</td>
+          <td class="paramname"> <em>ee</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Query whether an Ecore_Evas' window is fullscreen or not. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>ee</em>&nbsp;</td><td>The Ecore_Evas to set </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 if <code>ee</code> is fullscreen, 0 if not. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="0496b4481f882798fe64dc309cdeb4e3"></a><!-- doxytag: member="Ecore_Evas.h::ecore_evas_fullscreen_set" ref="0496b4481f882798fe64dc309cdeb4e3" args="(Ecore_Evas *ee, int on)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_evas_fullscreen_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Evas *&nbsp;</td>
+          <td class="paramname"> <em>ee</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>on</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set whether or not an Ecore_Evas' window is fullscreen. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>ee</em>&nbsp;</td><td>The Ecore_Evas </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>on</em>&nbsp;</td><td>1 fullscreen, 0 not.</td></tr>
+  </table>
+</dl>
+This function causes <code>ee</code> to be fullscreen if <code>on</code> is 1, or not if <code>on</code> is 0. 
+</div>
+</div><p>
+<a class="anchor" name="92ee70061f83897d889ca1dbbe98a55f"></a><!-- doxytag: member="Ecore_Evas.h::ecore_evas_geometry_get" ref="92ee70061f83897d889ca1dbbe98a55f" args="(Ecore_Evas *ee, int *x, int *y, int *w, int *h)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_evas_geometry_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Evas *&nbsp;</td>
+          <td class="paramname"> <em>ee</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>w</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>h</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Get the geometry of an Ecore_Evas. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>ee</em>&nbsp;</td><td>The Ecore_Evas whose geometry y </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>A pointer to an int to place the x coordinate in </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</td><td>A pointer to an int to place the y coordinate in </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>w</em>&nbsp;</td><td>A pointer to an int to place the w size in </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>h</em>&nbsp;</td><td>A pointer to an int to place the h size in</td></tr>
+  </table>
+</dl>
+This function takes four pointers to (already allocated) ints, and places the geometry of <code>ee</code> in them.<p>
+<div class="fragment"><pre class="fragment"> <span class="keywordtype">int</span> x, y, w, h;
+ ecore_evas_geometry_get(ee, &amp;x, &amp;y, &amp;w, &amp;h);
+</pre></div> 
+</div>
+</div><p>
+<a class="anchor" name="926506fa5e88811c891ce130e0ab8338"></a><!-- doxytag: member="Ecore_Evas.h::ecore_evas_get" ref="926506fa5e88811c891ce130e0ab8338" args="(Ecore_Evas *ee)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Evas* ecore_evas_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Evas *&nbsp;</td>
+          <td class="paramname"> <em>ee</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Get an Ecore_Evas's Evas. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>ee</em>&nbsp;</td><td>The Ecore_Evas whose Evas you wish to get </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The Evas wrapped by <code>ee</code> </dd></dl>
+This function returns the Evas contained within <code>ee</code>. 
+</div>
+</div><p>
+<a class="anchor" name="80ad6c606327f9f7b78171347ecd1e2d"></a><!-- doxytag: member="Ecore_Evas.h::ecore_evas_gl_x11_direct_resize_get" ref="80ad6c606327f9f7b78171347ecd1e2d" args="(Ecore_Evas *ee)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_evas_gl_x11_direct_resize_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Evas *&nbsp;</td>
+          <td class="paramname"> <em>ee</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+To be documented. 
+<p>
+FIXME: To be fixed. 
+</div>
+</div><p>
+<a class="anchor" name="3fcbd7b8d384a69a03e4beaea106072a"></a><!-- doxytag: member="Ecore_Evas.h::ecore_evas_gl_x11_direct_resize_set" ref="3fcbd7b8d384a69a03e4beaea106072a" args="(Ecore_Evas *ee, int on)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_evas_gl_x11_direct_resize_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Evas *&nbsp;</td>
+          <td class="paramname"> <em>ee</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>on</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+To be documented. 
+<p>
+FIXME: To be fixed. 
+</div>
+</div><p>
+<a class="anchor" name="f363b728e3d00a3c6230d9427b40a8c9"></a><!-- doxytag: member="Ecore_Evas.h::ecore_evas_gl_x11_extra_event_window_add" ref="f363b728e3d00a3c6230d9427b40a8c9" args="(Ecore_Evas *ee, Ecore_X_Window win)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_evas_gl_x11_extra_event_window_add           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Evas *&nbsp;</td>
+          <td class="paramname"> <em>ee</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>win</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+To be documented. 
+<p>
+FIXME: To be fixed. 
+</div>
+</div><p>
+<a class="anchor" name="1443fa9af8143a48dadc27eaa51d7c5e"></a><!-- doxytag: member="Ecore_Evas.h::ecore_evas_gl_x11_new" ref="1443fa9af8143a48dadc27eaa51d7c5e" args="(const char *disp_name, Ecore_X_Window parent, int x, int y, int w, int h)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Ecore_Evas* ecore_evas_gl_x11_new           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>disp_name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>parent</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>w</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>h</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+To be documented. 
+<p>
+FIXME: To be fixed. 
+</div>
+</div><p>
+<a class="anchor" name="7cf23aca7d775e694fbfa40c6a96b78e"></a><!-- doxytag: member="Ecore_Evas.h::ecore_evas_gl_x11_subwindow_get" ref="7cf23aca7d775e694fbfa40c6a96b78e" args="(Ecore_Evas *ee)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Ecore_X_Window ecore_evas_gl_x11_subwindow_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Evas *&nbsp;</td>
+          <td class="paramname"> <em>ee</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+To be documented. 
+<p>
+FIXME: To be fixed. 
+</div>
+</div><p>
+<a class="anchor" name="01416243f7ec46390b9e4b7077d0c34d"></a><!-- doxytag: member="Ecore_Evas.h::ecore_evas_gl_x11_window_get" ref="01416243f7ec46390b9e4b7077d0c34d" args="(Ecore_Evas *ee)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Ecore_X_Window ecore_evas_gl_x11_window_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Evas *&nbsp;</td>
+          <td class="paramname"> <em>ee</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+To be documented. 
+<p>
+FIXME: To be fixed. 
+</div>
+</div><p>
+<a class="anchor" name="0c4c806d5873a4528334e398d28940d4"></a><!-- doxytag: member="Ecore_Evas.h::ecore_evas_hide" ref="0c4c806d5873a4528334e398d28940d4" args="(Ecore_Evas *ee)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_evas_hide           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Evas *&nbsp;</td>
+          <td class="paramname"> <em>ee</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Hide an Ecore_Evas' window. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>ee</em>&nbsp;</td><td>The Ecore_Evas to show.</td></tr>
+  </table>
+</dl>
+This function makes <code>ee</code> hidden. 
+</div>
+</div><p>
+<a class="anchor" name="b6125e3cf39422e4b1a30376018454ed"></a><!-- doxytag: member="Ecore_Evas.h::ecore_evas_iconified_get" ref="b6125e3cf39422e4b1a30376018454ed" args="(Ecore_Evas *ee)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_evas_iconified_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Evas *&nbsp;</td>
+          <td class="paramname"> <em>ee</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Query whether an Ecore_Evas' window is iconified or not. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>ee</em>&nbsp;</td><td>The Ecore_Evas to set </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 if <code>ee</code> is iconified, 0 if not. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="ab0146f73bf54250b9dfe43b86391887"></a><!-- doxytag: member="Ecore_Evas.h::ecore_evas_iconified_set" ref="ab0146f73bf54250b9dfe43b86391887" args="(Ecore_Evas *ee, int on)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_evas_iconified_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Evas *&nbsp;</td>
+          <td class="paramname"> <em>ee</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>on</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Iconify or uniconify an Ecore_Evas' window. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>ee</em>&nbsp;</td><td>The Ecore_Evas </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>on</em>&nbsp;</td><td>1 to iconify, 0 to uniconify.</td></tr>
+  </table>
+</dl>
+This function iconifies <code>ee</code> if <code>on</code> is 1, or uniconifies <code>ee</code> if <code>on</code> is 0. 
+</div>
+</div><p>
+<a class="anchor" name="42ff99b78320257c0d7fe68bf2460f2c"></a><!-- doxytag: member="Ecore_Evas.h::ecore_evas_ignore_events_get" ref="42ff99b78320257c0d7fe68bf2460f2c" args="(Ecore_Evas *ee)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_evas_ignore_events_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Evas *&nbsp;</td>
+          <td class="paramname"> <em>ee</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Returns the ignore state of an Ecore_Evas' window. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>ee</em>&nbsp;</td><td>The Ecore_Evas whose window's ignore events state is returned. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The Ecore_Evas window's ignore state. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="ff64dfe8ae5fba1a1947ee66f5559abc"></a><!-- doxytag: member="Ecore_Evas.h::ecore_evas_ignore_events_set" ref="ff64dfe8ae5fba1a1947ee66f5559abc" args="(Ecore_Evas *ee, int ignore)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_evas_ignore_events_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Evas *&nbsp;</td>
+          <td class="paramname"> <em>ee</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>ignore</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set if this evas should ignore events. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>ee</em>&nbsp;</td><td>The Ecore_Evas whose window's to ignore events </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>sticky</em>&nbsp;</td><td>The Ecore_Evas new ignore state </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="32ddbb6457033ad435a177eb0c4fe235"></a><!-- doxytag: member="Ecore_Evas.h::ecore_evas_init" ref="32ddbb6457033ad435a177eb0c4fe235" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_evas_init           </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Init the Evas system. 
+<p>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>greater than 0 on success, 0 on failure</dd></dl>
+Set up the Evas wrapper system. 
+</div>
+</div><p>
+<a class="anchor" name="eb256f761802d4aa89189feb4181fb9e"></a><!-- doxytag: member="Ecore_Evas.h::ecore_evas_layer_get" ref="eb256f761802d4aa89189feb4181fb9e" args="(Ecore_Evas *ee)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_evas_layer_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Evas *&nbsp;</td>
+          <td class="paramname"> <em>ee</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Get the layer of an Ecore_Evas' window. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>ee</em>&nbsp;</td><td>The Ecore_Evas to set </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>the layer <code>ee's</code> window is on. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="0f5369c1b007fda38d783f2be8ca0815"></a><!-- doxytag: member="Ecore_Evas.h::ecore_evas_layer_set" ref="0f5369c1b007fda38d783f2be8ca0815" args="(Ecore_Evas *ee, int layer)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_evas_layer_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Evas *&nbsp;</td>
+          <td class="paramname"> <em>ee</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>layer</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set the layer of an Ecore_Evas' window. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>ee</em>&nbsp;</td><td>The Ecore_Evas </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>layer</em>&nbsp;</td><td>The layer to put <code>ee</code> on.</td></tr>
+  </table>
+</dl>
+This function moves <code>ee</code> to the layer <code>layer</code>. 
+</div>
+</div><p>
+<a class="anchor" name="fa764e78c265576e6313eaf8bf34d1e9"></a><!-- doxytag: member="Ecore_Evas.h::ecore_evas_lower" ref="fa764e78c265576e6313eaf8bf34d1e9" args="(Ecore_Evas *ee)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_evas_lower           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Evas *&nbsp;</td>
+          <td class="paramname"> <em>ee</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Lower an Ecore_Evas' window. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>ee</em>&nbsp;</td><td>The Ecore_Evas to raise.</td></tr>
+  </table>
+</dl>
+This functions lowers the Ecore_Evas to the back. 
+</div>
+</div><p>
+<a class="anchor" name="8794487154ca3dc1c71b5bd4542bbf58"></a><!-- doxytag: member="Ecore_Evas.h::ecore_evas_managed_move" ref="8794487154ca3dc1c71b5bd4542bbf58" args="(Ecore_Evas *ee, int x, int y)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_evas_managed_move           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Evas *&nbsp;</td>
+          <td class="paramname"> <em>ee</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>y</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Provide Managed move co-ordinates for an Ecore_Evas. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>ee</em>&nbsp;</td><td>The Ecore_Evas to move </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>The x coordinate to set as the managed location </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</td><td>The y coordinate to set as the managed location</td></tr>
+  </table>
+</dl>
+This sets the managed geometry position of the <code>ee</code> to (<code>x</code>, <code>y</code>) 
+</div>
+</div><p>
+<a class="anchor" name="55a913dd5ceb00e7c586805d75ea2576"></a><!-- doxytag: member="Ecore_Evas.h::ecore_evas_maximized_get" ref="55a913dd5ceb00e7c586805d75ea2576" args="(Ecore_Evas *ee)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_evas_maximized_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Evas *&nbsp;</td>
+          <td class="paramname"> <em>ee</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Query whether an Ecore_Evas' window is maximized or not. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>ee</em>&nbsp;</td><td>The Ecore_Evas to set </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 if <code>ee</code> is maximized, 0 if not. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="2fc7cf9da168c3dd6aa5282798037333"></a><!-- doxytag: member="Ecore_Evas.h::ecore_evas_maximized_set" ref="2fc7cf9da168c3dd6aa5282798037333" args="(Ecore_Evas *ee, int on)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_evas_maximized_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Evas *&nbsp;</td>
+          <td class="paramname"> <em>ee</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>on</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Maximize (or unmaximize) an Ecore_Evas' window. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>ee</em>&nbsp;</td><td>The Ecore_Evas </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>on</em>&nbsp;</td><td>1 to maximize, 0 to unmaximize.</td></tr>
+  </table>
+</dl>
+This function maximizes <code>ee</code> if <code>on</code> is 1, or unmaximizes <code>ee</code> if <code>on</code> is 0. 
+</div>
+</div><p>
+<a class="anchor" name="f76a90bbc13f6196e77d9c513a18941b"></a><!-- doxytag: member="Ecore_Evas.h::ecore_evas_move" ref="f76a90bbc13f6196e77d9c513a18941b" args="(Ecore_Evas *ee, int x, int y)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_evas_move           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Evas *&nbsp;</td>
+          <td class="paramname"> <em>ee</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>y</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Move an Ecore_Evas. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>ee</em>&nbsp;</td><td>The Ecore_Evas to move </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>The x coordinate to move to </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</td><td>The y coordinate to move to</td></tr>
+  </table>
+</dl>
+This moves <code>ee</code> to the screen coordinates (<code>x</code>, <code>y</code>) 
+</div>
+</div><p>
+<a class="anchor" name="71abc5b649e5c35bf40c54d5239360f3"></a><!-- doxytag: member="Ecore_Evas.h::ecore_evas_move_resize" ref="71abc5b649e5c35bf40c54d5239360f3" args="(Ecore_Evas *ee, int x, int y, int w, int h)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_evas_move_resize           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Evas *&nbsp;</td>
+          <td class="paramname"> <em>ee</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>w</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>h</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Resize an Ecore_Evas. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>ee</em>&nbsp;</td><td>The Ecore_Evas to move </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>The x coordinate to move to </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</td><td>The y coordinate to move to </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>w</em>&nbsp;</td><td>The w coordinate to resize to </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>h</em>&nbsp;</td><td>The h coordinate to resize to</td></tr>
+  </table>
+</dl>
+This moves <code>ee</code> to the screen coordinates (<code>x</code>, <code>y</code>) and resizes it to <code>w</code> x <code>h</code>. 
+</div>
+</div><p>
+<a class="anchor" name="204d3455ace3cc2e882e9f0d3b28281b"></a><!-- doxytag: member="Ecore_Evas.h::ecore_evas_name_class_get" ref="204d3455ace3cc2e882e9f0d3b28281b" args="(Ecore_Evas *ee, const char **n, const char **c)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_evas_name_class_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Evas *&nbsp;</td>
+          <td class="paramname"> <em>ee</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char **&nbsp;</td>
+          <td class="paramname"> <em>n</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char **&nbsp;</td>
+          <td class="paramname"> <em>c</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Get the name and class of an Ecore_Evas' window <code>ee</code> The Ecore_Evas to query <code>n</code> A pointer to a string to place the name in. 
+<p>
+<code>c</code> A pointer to a string to place the class in.<p>
+This function gets puts the name of <code>ee</code> into <code>n</code>, and its class into <code>c</code>. 
+</div>
+</div><p>
+<a class="anchor" name="14bbe9c52d2d85e18e0a35819fb0330a"></a><!-- doxytag: member="Ecore_Evas.h::ecore_evas_name_class_set" ref="14bbe9c52d2d85e18e0a35819fb0330a" args="(Ecore_Evas *ee, const char *n, const char *c)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_evas_name_class_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Evas *&nbsp;</td>
+          <td class="paramname"> <em>ee</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>n</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>c</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set the name and class of an Ecore_Evas' window. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>ee</em>&nbsp;</td><td>the Ecore_Evas </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>n</em>&nbsp;</td><td>the name </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>c</em>&nbsp;</td><td>the class</td></tr>
+  </table>
+</dl>
+This function sets the name of <code>ee</code> to <code>n</code>, and its class to <code>c</code>. 
+</div>
+</div><p>
+<a class="anchor" name="53fdce2670be1ca9464bb6934913a126"></a><!-- doxytag: member="Ecore_Evas.h::ecore_evas_override_get" ref="53fdce2670be1ca9464bb6934913a126" args="(Ecore_Evas *ee)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_evas_override_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Evas *&nbsp;</td>
+          <td class="paramname"> <em>ee</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Query whether an Ecore_Evas' window is overridden or not. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>ee</em>&nbsp;</td><td>The Ecore_Evas to set </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 if <code>ee</code> is overridden, 0 if not. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="77f3671d737d3675a38acc059997d3fb"></a><!-- doxytag: member="Ecore_Evas.h::ecore_evas_override_set" ref="77f3671d737d3675a38acc059997d3fb" args="(Ecore_Evas *ee, int on)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_evas_override_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Evas *&nbsp;</td>
+          <td class="paramname"> <em>ee</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>on</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Tell the WM whether or not to ignore an Ecore_Evas' window. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>ee</em>&nbsp;</td><td>The Ecore_Evas </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>on</em>&nbsp;</td><td>1 to ignore, 0 to not.</td></tr>
+  </table>
+</dl>
+This function causes the window manager to ignore <code>ee</code> if <code>on</code> is 1, or not ignore <code>ee</code> if <code>on</code> is 0. 
+</div>
+</div><p>
+<a class="anchor" name="6ed264f0f364409f13f8f7440153ee10"></a><!-- doxytag: member="Ecore_Evas.h::ecore_evas_raise" ref="6ed264f0f364409f13f8f7440153ee10" args="(Ecore_Evas *ee)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_evas_raise           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Evas *&nbsp;</td>
+          <td class="paramname"> <em>ee</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Raise and Ecore_Evas' window. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>ee</em>&nbsp;</td><td>The Ecore_Evas to raise.</td></tr>
+  </table>
+</dl>
+This functions raises the Ecore_Evas to the front. 
+</div>
+</div><p>
+<a class="anchor" name="3109b574eca21cd8b57a749c362dba3e"></a><!-- doxytag: member="Ecore_Evas.h::ecore_evas_resize" ref="3109b574eca21cd8b57a749c362dba3e" args="(Ecore_Evas *ee, int w, int h)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_evas_resize           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Evas *&nbsp;</td>
+          <td class="paramname"> <em>ee</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>w</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>h</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Resize an Ecore_Evas. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>ee</em>&nbsp;</td><td>The Ecore_Evas to move </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>w</em>&nbsp;</td><td>The w coordinate to resize to </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>h</em>&nbsp;</td><td>The h coordinate to resize to</td></tr>
+  </table>
+</dl>
+This resizes <code>ee</code> to <code>w</code> x <code>h</code> 
+</div>
+</div><p>
+<a class="anchor" name="4b85e41ef3473d9c8bc18468cf6b7d14"></a><!-- doxytag: member="Ecore_Evas.h::ecore_evas_rotation_get" ref="4b85e41ef3473d9c8bc18468cf6b7d14" args="(Ecore_Evas *ee)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_evas_rotation_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Evas *&nbsp;</td>
+          <td class="paramname"> <em>ee</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set the rotation of an Ecore_Evas' window. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>ee</em>&nbsp;</td><td>The Ecore_Evas </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>the angle (in degrees) of rotation. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="4166fe6060002a30a3e2c623fd7d4eec"></a><!-- doxytag: member="Ecore_Evas.h::ecore_evas_rotation_set" ref="4166fe6060002a30a3e2c623fd7d4eec" args="(Ecore_Evas *ee, int rot)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_evas_rotation_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Evas *&nbsp;</td>
+          <td class="paramname"> <em>ee</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>rot</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set the rotation of an Ecore_Evas' window. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>ee</em>&nbsp;</td><td>The Ecore_Evas </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>rot</em>&nbsp;</td><td>the angle (in degrees) of rotation.</td></tr>
+  </table>
+</dl>
+The allowed values of <code>rot</code> depend on the engine being used. Most only allow multiples of 90. 
+</div>
+</div><p>
+<a class="anchor" name="1b752d49f95174806c7e9148ba60c2e4"></a><!-- doxytag: member="Ecore_Evas.h::ecore_evas_shaped_get" ref="1b752d49f95174806c7e9148ba60c2e4" args="(Ecore_Evas *ee)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_evas_shaped_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Evas *&nbsp;</td>
+          <td class="paramname"> <em>ee</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Query whether an Ecore_Evas is shaped or not. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>ee</em>&nbsp;</td><td>The Ecore_Evas to query. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 if shaped, 0 if not.</dd></dl>
+This function returns 1 if <code>ee</code> is shaped, and 0 if not. 
+</div>
+</div><p>
+<a class="anchor" name="902db12006699064409307cba6c2637d"></a><!-- doxytag: member="Ecore_Evas.h::ecore_evas_shaped_set" ref="902db12006699064409307cba6c2637d" args="(Ecore_Evas *ee, int shaped)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_evas_shaped_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Evas *&nbsp;</td>
+          <td class="paramname"> <em>ee</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>shaped</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set whether an Ecore_Evas is shaped or not. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>ee</em>&nbsp;</td><td>The Ecore_Evas to shape </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>shaped</em>&nbsp;</td><td>1 to shape, 0 to not</td></tr>
+  </table>
+</dl>
+This function allows one to make an Ecore_Evas shaped to the contents of the evas. If <code>shaped</code> is 1, <code>ee</code> will be transparent in parts of the evas that contain no objects. If <code>shaped</code> is 0, then <code>ee</code> will be rectangular, and and parts with no data will show random framebuffer artifacting. For non-shaped Ecore_Evases, it is recommend to cover the entire evas with a background object. 
+</div>
+</div><p>
+<a class="anchor" name="4953047ff97d4f1b0d75a7d513d4f317"></a><!-- doxytag: member="Ecore_Evas.h::ecore_evas_show" ref="4953047ff97d4f1b0d75a7d513d4f317" args="(Ecore_Evas *ee)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_evas_show           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Evas *&nbsp;</td>
+          <td class="paramname"> <em>ee</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Show an Ecore_Evas' window. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>ee</em>&nbsp;</td><td>The Ecore_Evas to show.</td></tr>
+  </table>
+</dl>
+This function makes <code>ee</code> visible. 
+</div>
+</div><p>
+<a class="anchor" name="b8fa311077f749190c9b622f672b2214"></a><!-- doxytag: member="Ecore_Evas.h::ecore_evas_shutdown" ref="b8fa311077f749190c9b622f672b2214" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_evas_shutdown           </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Shut down the Evas system. 
+<p>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 if ecore evas is fully shut down, or &gt; 0 if it still needs to be shut down</dd></dl>
+This closes the Evas system down. 
+</div>
+</div><p>
+<a class="anchor" name="3bae432e14325ddb86d630ee7550c850"></a><!-- doxytag: member="Ecore_Evas.h::ecore_evas_size_base_get" ref="3bae432e14325ddb86d630ee7550c850" args="(Ecore_Evas *ee, int *w, int *h)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_evas_size_base_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Evas *&nbsp;</td>
+          <td class="paramname"> <em>ee</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>w</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>h</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Get the base size of an Ecore_Evas' window. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>ee</em>&nbsp;</td><td>The Ecore_Evas to set </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>w</em>&nbsp;</td><td>A pointer to an int to place the base width in. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>h</em>&nbsp;</td><td>A pointer to an int to place the base height in.</td></tr>
+  </table>
+</dl>
+This function puts the base size of <code>ee</code> into <code>w</code> and <code>h</code>. 
+</div>
+</div><p>
+<a class="anchor" name="540886b523486b791729d5d3f62f9fce"></a><!-- doxytag: member="Ecore_Evas.h::ecore_evas_size_base_set" ref="540886b523486b791729d5d3f62f9fce" args="(Ecore_Evas *ee, int w, int h)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_evas_size_base_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Evas *&nbsp;</td>
+          <td class="paramname"> <em>ee</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>w</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>h</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set the base size of an Ecore_Evas' window. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>ee</em>&nbsp;</td><td>The Ecore_Evas to set </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>w</em>&nbsp;</td><td>The base width </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>h</em>&nbsp;</td><td>The base height</td></tr>
+  </table>
+</dl>
+This function sets the base size of <code>ee</code> to <code>w</code> x <code>h</code>. 
+</div>
+</div><p>
+<a class="anchor" name="a07452ff374eed4ddeb94c5cde89c300"></a><!-- doxytag: member="Ecore_Evas.h::ecore_evas_size_max_get" ref="a07452ff374eed4ddeb94c5cde89c300" args="(Ecore_Evas *ee, int *w, int *h)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_evas_size_max_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Evas *&nbsp;</td>
+          <td class="paramname"> <em>ee</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>w</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>h</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Get the max size of an Ecore_Evas' window. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>ee</em>&nbsp;</td><td>The Ecore_Evas to set </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>w</em>&nbsp;</td><td>A pointer to an int to place the max width in. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>h</em>&nbsp;</td><td>A pointer to an int to place the max height in.</td></tr>
+  </table>
+</dl>
+This function puts the maximum size of <code>ee</code> into <code>w</code> and <code>h</code>. 
+</div>
+</div><p>
+<a class="anchor" name="c9ad3e25ab3f2bea8be726d24df62902"></a><!-- doxytag: member="Ecore_Evas.h::ecore_evas_size_max_set" ref="c9ad3e25ab3f2bea8be726d24df62902" args="(Ecore_Evas *ee, int w, int h)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_evas_size_max_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Evas *&nbsp;</td>
+          <td class="paramname"> <em>ee</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>w</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>h</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set the max size of an Ecore_Evas' window. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>ee</em>&nbsp;</td><td>The Ecore_Evas to set </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>w</em>&nbsp;</td><td>The maximum width </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>h</em>&nbsp;</td><td>The maximum height</td></tr>
+  </table>
+</dl>
+This function sets the maximum size of <code>ee</code> to <code>w</code> x <code>h</code>. 
+</div>
+</div><p>
+<a class="anchor" name="039a04ca2b231f2b0ab0b9b2db7352b6"></a><!-- doxytag: member="Ecore_Evas.h::ecore_evas_size_min_get" ref="039a04ca2b231f2b0ab0b9b2db7352b6" args="(Ecore_Evas *ee, int *w, int *h)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_evas_size_min_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Evas *&nbsp;</td>
+          <td class="paramname"> <em>ee</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>w</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>h</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Get the min size of an Ecore_Evas' window. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>ee</em>&nbsp;</td><td>The Ecore_Evas to set </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>w</em>&nbsp;</td><td>A pointer to an int to place the min width in. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>h</em>&nbsp;</td><td>A pointer to an int to place the min height in.</td></tr>
+  </table>
+</dl>
+This function puts the minimum size of <code>ee</code> into <code>w</code> and <code>h</code>. 
+</div>
+</div><p>
+<a class="anchor" name="63abcee3b625bd6410fe8eb46b2a5d9c"></a><!-- doxytag: member="Ecore_Evas.h::ecore_evas_size_min_set" ref="63abcee3b625bd6410fe8eb46b2a5d9c" args="(Ecore_Evas *ee, int w, int h)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_evas_size_min_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Evas *&nbsp;</td>
+          <td class="paramname"> <em>ee</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>w</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>h</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set the min size of an Ecore_Evas' window. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>ee</em>&nbsp;</td><td>The Ecore_Evas to set </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>w</em>&nbsp;</td><td>The minimum width </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>h</em>&nbsp;</td><td>The minimum height</td></tr>
+  </table>
+</dl>
+This function sets the minimum size of <code>ee</code> to <code>w</code> x <code>h</code>. 
+</div>
+</div><p>
+<a class="anchor" name="8a4fcf6e756e8916cb4646e76aaa69e9"></a><!-- doxytag: member="Ecore_Evas.h::ecore_evas_size_step_get" ref="8a4fcf6e756e8916cb4646e76aaa69e9" args="(Ecore_Evas *ee, int *w, int *h)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_evas_size_step_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Evas *&nbsp;</td>
+          <td class="paramname"> <em>ee</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>w</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>h</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Get the step size of an Ecore_Evas' window. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>ee</em>&nbsp;</td><td>The Ecore_Evas to set </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>w</em>&nbsp;</td><td>A pointer to an int to place the step width in. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>h</em>&nbsp;</td><td>A pointer to an int to place the step height in.</td></tr>
+  </table>
+</dl>
+This function puts the step size of <code>ee</code> into <code>w</code> and <code>h</code>. 
+</div>
+</div><p>
+<a class="anchor" name="b794b84a4f53e7fc36d5e87882185dc5"></a><!-- doxytag: member="Ecore_Evas.h::ecore_evas_size_step_set" ref="b794b84a4f53e7fc36d5e87882185dc5" args="(Ecore_Evas *ee, int w, int h)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_evas_size_step_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Evas *&nbsp;</td>
+          <td class="paramname"> <em>ee</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>w</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>h</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set the step size of an Ecore_Evas. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>ee</em>&nbsp;</td><td>The Ecore_Evas to set </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>w</em>&nbsp;</td><td>The step width </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>h</em>&nbsp;</td><td>The step height</td></tr>
+  </table>
+</dl>
+This function sets the step size of <code>ee</code> to <code>w</code> x <code>h</code>. This limits the size of an Ecore_Evas to always being an integer multiple of the step size. 
+</div>
+</div><p>
+<a class="anchor" name="b7e5640d0ad3b227f6a6c366bbc3efd8"></a><!-- doxytag: member="Ecore_Evas.h::ecore_evas_software_x11_16_direct_resize_get" ref="b7e5640d0ad3b227f6a6c366bbc3efd8" args="(Ecore_Evas *ee)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_evas_software_x11_16_direct_resize_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Evas *&nbsp;</td>
+          <td class="paramname"> <em>ee</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+To be documented. 
+<p>
+FIXME: To be fixed. 
+</div>
+</div><p>
+<a class="anchor" name="83a733bd5ec9f235dc55d44e83461688"></a><!-- doxytag: member="Ecore_Evas.h::ecore_evas_software_x11_16_direct_resize_set" ref="83a733bd5ec9f235dc55d44e83461688" args="(Ecore_Evas *ee, int on)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_evas_software_x11_16_direct_resize_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Evas *&nbsp;</td>
+          <td class="paramname"> <em>ee</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>on</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+To be documented. 
+<p>
+FIXME: To be fixed. 
+</div>
+</div><p>
+<a class="anchor" name="15556471f3eebcd39e81ad53e5907b20"></a><!-- doxytag: member="Ecore_Evas.h::ecore_evas_software_x11_16_extra_event_window_add" ref="15556471f3eebcd39e81ad53e5907b20" args="(Ecore_Evas *ee, Ecore_X_Window win)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_evas_software_x11_16_extra_event_window_add           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Evas *&nbsp;</td>
+          <td class="paramname"> <em>ee</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>win</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+To be documented. 
+<p>
+FIXME: To be fixed. 
+</div>
+</div><p>
+<a class="anchor" name="3f2e1e619c7d907d8efef7dd64fc1312"></a><!-- doxytag: member="Ecore_Evas.h::ecore_evas_software_x11_16_new" ref="3f2e1e619c7d907d8efef7dd64fc1312" args="(const char *disp_name, Ecore_X_Window parent, int x, int y, int w, int h)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Ecore_Evas* ecore_evas_software_x11_16_new           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>disp_name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>parent</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>w</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>h</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+To be documented. 
+<p>
+FIXME: To be fixed. 
+</div>
+</div><p>
+<a class="anchor" name="69a56a28479edb8882e33af387c94322"></a><!-- doxytag: member="Ecore_Evas.h::ecore_evas_software_x11_16_subwindow_get" ref="69a56a28479edb8882e33af387c94322" args="(Ecore_Evas *ee)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Ecore_X_Window ecore_evas_software_x11_16_subwindow_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Evas *&nbsp;</td>
+          <td class="paramname"> <em>ee</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+To be documented. 
+<p>
+FIXME: To be fixed. 
+</div>
+</div><p>
+<a class="anchor" name="d1706d6cdbc8b19e13ea3635c8499bdc"></a><!-- doxytag: member="Ecore_Evas.h::ecore_evas_software_x11_16_window_get" ref="d1706d6cdbc8b19e13ea3635c8499bdc" args="(Ecore_Evas *ee)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Ecore_X_Window ecore_evas_software_x11_16_window_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Evas *&nbsp;</td>
+          <td class="paramname"> <em>ee</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+To be documented. 
+<p>
+FIXME: To be fixed. 
+</div>
+</div><p>
+<a class="anchor" name="1e65de06d77e196c9bccad8e89c5145d"></a><!-- doxytag: member="Ecore_Evas.h::ecore_evas_software_x11_direct_resize_get" ref="1e65de06d77e196c9bccad8e89c5145d" args="(Ecore_Evas *ee)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_evas_software_x11_direct_resize_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Evas *&nbsp;</td>
+          <td class="paramname"> <em>ee</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+To be documented. 
+<p>
+FIXME: To be fixed. 
+</div>
+</div><p>
+<a class="anchor" name="76c307ce78a33cae7782bfe4f753fc40"></a><!-- doxytag: member="Ecore_Evas.h::ecore_evas_software_x11_direct_resize_set" ref="76c307ce78a33cae7782bfe4f753fc40" args="(Ecore_Evas *ee, int on)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_evas_software_x11_direct_resize_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Evas *&nbsp;</td>
+          <td class="paramname"> <em>ee</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>on</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+To be documented. 
+<p>
+FIXME: To be fixed. 
+</div>
+</div><p>
+<a class="anchor" name="7cf6203a7a335fbf30aaa0612c0eafce"></a><!-- doxytag: member="Ecore_Evas.h::ecore_evas_software_x11_extra_event_window_add" ref="7cf6203a7a335fbf30aaa0612c0eafce" args="(Ecore_Evas *ee, Ecore_X_Window win)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_evas_software_x11_extra_event_window_add           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Evas *&nbsp;</td>
+          <td class="paramname"> <em>ee</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>win</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+To be documented. 
+<p>
+FIXME: To be fixed. 
+</div>
+</div><p>
+<a class="anchor" name="71ca9d720d2df05a5e935c9ea8451051"></a><!-- doxytag: member="Ecore_Evas.h::ecore_evas_software_x11_new" ref="71ca9d720d2df05a5e935c9ea8451051" args="(const char *disp_name, Ecore_X_Window parent, int x, int y, int w, int h)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Ecore_Evas* ecore_evas_software_x11_new           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>disp_name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>parent</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>w</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>h</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+To be documented. 
+<p>
+FIXME: To be fixed. 
+</div>
+</div><p>
+<a class="anchor" name="c42c6b4bc269b867b66dd4d4550f4892"></a><!-- doxytag: member="Ecore_Evas.h::ecore_evas_software_x11_subwindow_get" ref="c42c6b4bc269b867b66dd4d4550f4892" args="(Ecore_Evas *ee)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Ecore_X_Window ecore_evas_software_x11_subwindow_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Evas *&nbsp;</td>
+          <td class="paramname"> <em>ee</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+To be documented. 
+<p>
+FIXME: To be fixed. 
+</div>
+</div><p>
+<a class="anchor" name="1c8b44d2525681127dabd8ed8cf3058c"></a><!-- doxytag: member="Ecore_Evas.h::ecore_evas_software_x11_window_get" ref="1c8b44d2525681127dabd8ed8cf3058c" args="(Ecore_Evas *ee)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Ecore_X_Window ecore_evas_software_x11_window_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Evas *&nbsp;</td>
+          <td class="paramname"> <em>ee</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+To be documented. 
+<p>
+FIXME: To be fixed. 
+</div>
+</div><p>
+<a class="anchor" name="6685668b3401b799a1cb6a552106580d"></a><!-- doxytag: member="Ecore_Evas.h::ecore_evas_sticky_get" ref="6685668b3401b799a1cb6a552106580d" args="(Ecore_Evas *ee)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_evas_sticky_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Evas *&nbsp;</td>
+          <td class="paramname"> <em>ee</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Returns the sticky state of an Ecore_Evas' window. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>ee</em>&nbsp;</td><td>The Ecore_Evas whose window's sticky state is returned. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The Ecore_Evas window's sticky state. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="63f6c80dc8a1b0caf92febadfe7d24ab"></a><!-- doxytag: member="Ecore_Evas.h::ecore_evas_sticky_set" ref="63f6c80dc8a1b0caf92febadfe7d24ab" args="(Ecore_Evas *ee, int sticky)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_evas_sticky_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Evas *&nbsp;</td>
+          <td class="paramname"> <em>ee</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>sticky</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set the sticky state of an Ecore_Evas window. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>ee</em>&nbsp;</td><td>The Ecore_Evas whose window's sticky state is set. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>sticky</em>&nbsp;</td><td>The Ecore_Evas window's new sticky state. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="c09c6b713c369c5b2edb7870cde710aa"></a><!-- doxytag: member="Ecore_Evas.h::ecore_evas_title_get" ref="c09c6b713c369c5b2edb7870cde710aa" args="(Ecore_Evas *ee)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI const char* ecore_evas_title_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Evas *&nbsp;</td>
+          <td class="paramname"> <em>ee</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Get the title of an Ecore_Evas' window. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>ee</em>&nbsp;</td><td>The Ecore_Evas whose title you wish to get. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The title of <code>ee</code>.</dd></dl>
+This function returns the title of <code>ee</code>. 
+</div>
+</div><p>
+<a class="anchor" name="3b2832e0373bbafae2bb7143618535c1"></a><!-- doxytag: member="Ecore_Evas.h::ecore_evas_title_set" ref="3b2832e0373bbafae2bb7143618535c1" args="(Ecore_Evas *ee, const char *t)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_evas_title_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Evas *&nbsp;</td>
+          <td class="paramname"> <em>ee</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>t</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set the title of an Ecore_Evas' window. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>ee</em>&nbsp;</td><td>The Ecore_Evas whose title you wish to set. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>t</em>&nbsp;</td><td>The title</td></tr>
+  </table>
+</dl>
+This function sets the title of <code>ee</code> to <code>t</code>. 
+</div>
+</div><p>
+<a class="anchor" name="81ec64435d60ec828d6ae09d73f8bca6"></a><!-- doxytag: member="Ecore_Evas.h::ecore_evas_visibility_get" ref="81ec64435d60ec828d6ae09d73f8bca6" args="(Ecore_Evas *ee)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_evas_visibility_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Evas *&nbsp;</td>
+          <td class="paramname"> <em>ee</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Query whether an Ecore_Evas' window is visible or not. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>ee</em>&nbsp;</td><td>The Ecore_Evas to query. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 if visible, 0 if not.</dd></dl>
+This function queries <code>ee</code> and returns 1 if it is visible, and 0 if not. 
+</div>
+</div><p>
+<a class="anchor" name="3fb10d2496f86682b25f86b9bdd52aa7"></a><!-- doxytag: member="Ecore_Evas.h::ecore_evas_withdrawn_get" ref="3fb10d2496f86682b25f86b9bdd52aa7" args="(Ecore_Evas *ee)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_evas_withdrawn_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Evas *&nbsp;</td>
+          <td class="paramname"> <em>ee</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Returns the withdrawn state of an Ecore_Evas' window. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>ee</em>&nbsp;</td><td>The Ecore_Evas whose window's withdrawn state is returned. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The Ecore_Evas window's withdrawn state. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="fb818d7cb8ab256c9a6c680771f5e4ae"></a><!-- doxytag: member="Ecore_Evas.h::ecore_evas_withdrawn_set" ref="fb818d7cb8ab256c9a6c680771f5e4ae" args="(Ecore_Evas *ee, int withdrawn)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_evas_withdrawn_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Evas *&nbsp;</td>
+          <td class="paramname"> <em>ee</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>withdrawn</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set the withdrawn state of an Ecore_Evas' window. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>ee</em>&nbsp;</td><td>The Ecore_Evas whose window's withdrawn state is set. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>withdrawn</em>&nbsp;</td><td>The Ecore_Evas window's new withdrawn state. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="3c47880083f800888946e4924c477baa"></a><!-- doxytag: member="Ecore_Evas.h::ecore_evas_xrender_x11_direct_resize_get" ref="3c47880083f800888946e4924c477baa" args="(Ecore_Evas *ee)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_evas_xrender_x11_direct_resize_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Evas *&nbsp;</td>
+          <td class="paramname"> <em>ee</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+To be documented. 
+<p>
+FIXME: To be fixed. 
+</div>
+</div><p>
+<a class="anchor" name="631f3af9a5afceaed0fe37c904d2e15a"></a><!-- doxytag: member="Ecore_Evas.h::ecore_evas_xrender_x11_direct_resize_set" ref="631f3af9a5afceaed0fe37c904d2e15a" args="(Ecore_Evas *ee, int on)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_evas_xrender_x11_direct_resize_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Evas *&nbsp;</td>
+          <td class="paramname"> <em>ee</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>on</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+To be documented. 
+<p>
+FIXME: To be fixed. 
+</div>
+</div><p>
+<a class="anchor" name="352cb2682bf16ed80493dd91d43228de"></a><!-- doxytag: member="Ecore_Evas.h::ecore_evas_xrender_x11_extra_event_window_add" ref="352cb2682bf16ed80493dd91d43228de" args="(Ecore_Evas *ee, Ecore_X_Window win)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_evas_xrender_x11_extra_event_window_add           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Evas *&nbsp;</td>
+          <td class="paramname"> <em>ee</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>win</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+To be documented. 
+<p>
+FIXME: To be fixed. 
+</div>
+</div><p>
+<a class="anchor" name="8fb98e6849e50eb5b34cbc5cb703e309"></a><!-- doxytag: member="Ecore_Evas.h::ecore_evas_xrender_x11_new" ref="8fb98e6849e50eb5b34cbc5cb703e309" args="(const char *disp_name, Ecore_X_Window parent, int x, int y, int w, int h)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Ecore_Evas* ecore_evas_xrender_x11_new           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>disp_name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>parent</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>w</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>h</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+To be documented. 
+<p>
+FIXME: To be fixed. 
+</div>
+</div><p>
+<a class="anchor" name="ad08fb8be571096fc8c40d2a7f63734b"></a><!-- doxytag: member="Ecore_Evas.h::ecore_evas_xrender_x11_subwindow_get" ref="ad08fb8be571096fc8c40d2a7f63734b" args="(Ecore_Evas *ee)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Ecore_X_Window ecore_evas_xrender_x11_subwindow_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Evas *&nbsp;</td>
+          <td class="paramname"> <em>ee</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+To be documented. 
+<p>
+FIXME: To be fixed. 
+</div>
+</div><p>
+<a class="anchor" name="29aaa25c35a8db50b34657d4cc7cdbde"></a><!-- doxytag: member="Ecore_Evas.h::ecore_evas_xrender_x11_window_get" ref="29aaa25c35a8db50b34657d4cc7cdbde" args="(Ecore_Evas *ee)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Ecore_X_Window ecore_evas_xrender_x11_window_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Evas *&nbsp;</td>
+          <td class="paramname"> <em>ee</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+To be documented. 
+<p>
+FIXME: To be fixed. 
+</div>
+</div><p>
+</body>
+</html>
diff --git a/doc/html/Ecore__Fb_8h.html b/doc/html/Ecore__Fb_8h.html
new file mode 100644
index 0000000..de9cfd4
--- /dev/null
+++ b/doc/html/Ecore__Fb_8h.html
@@ -0,0 +1,228 @@
+<html>
+
+<head>
+
+<title>Ecore: Ecore_Fb.h File Reference</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li id="current"><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<div class="tabs">
+  <ul>
+    <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+    <li><a href="globals.html"><span>Globals</span></a></li>
+  </ul></div>
+<h1>Ecore_Fb.h File Reference</h1>Ecore frame buffer system functions. <a href="#_details">More...</a>
+<p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Data Structures</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Ecore__Fb__Event__Key__Down.html">_Ecore_Fb_Event_Key_Down</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">FB Key Down event.  <a href="struct__Ecore__Fb__Event__Key__Down.html#_details">More...</a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Ecore__Fb__Event__Key__Up.html">_Ecore_Fb_Event_Key_Up</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">FB Key Up event.  <a href="struct__Ecore__Fb__Event__Key__Up.html#_details">More...</a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Ecore__Fb__Event__Mouse__Button__Down.html">_Ecore_Fb_Event_Mouse_Button_Down</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">FB Mouse Down event.  <a href="struct__Ecore__Fb__Event__Mouse__Button__Down.html#_details">More...</a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Ecore__Fb__Event__Mouse__Button__Up.html">_Ecore_Fb_Event_Mouse_Button_Up</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">FB Mouse Up event.  <a href="struct__Ecore__Fb__Event__Mouse__Button__Up.html#_details">More...</a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Ecore__Fb__Event__Mouse__Move.html">_Ecore_Fb_Event_Mouse_Move</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">FB Mouse Move event.  <a href="struct__Ecore__Fb__Event__Mouse__Move.html#_details">More...</a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Ecore__Fb__Event__Mouse__Wheel.html">_Ecore_Fb_Event_Mouse_Wheel</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">FB Mouse Wheel event.  <a href="struct__Ecore__Fb__Event__Mouse__Wheel.html#_details">More...</a><br></td></tr>
+<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d97800f473ec95adbaaab2f0cb1aa760"></a><!-- doxytag: member="Ecore_Fb.h::Ecore_Fb_Event_Key_Down" ref="d97800f473ec95adbaaab2f0cb1aa760" args="" -->
+typedef <a class="el" href="struct__Ecore__Fb__Event__Key__Down.html">_Ecore_Fb_Event_Key_Down</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Fb_8h.html#d97800f473ec95adbaaab2f0cb1aa760">Ecore_Fb_Event_Key_Down</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">FB Key Down event. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0dac522489febdf29a42c2dbfa703124"></a><!-- doxytag: member="Ecore_Fb.h::Ecore_Fb_Event_Key_Up" ref="0dac522489febdf29a42c2dbfa703124" args="" -->
+typedef <a class="el" href="struct__Ecore__Fb__Event__Key__Up.html">_Ecore_Fb_Event_Key_Up</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Fb_8h.html#0dac522489febdf29a42c2dbfa703124">Ecore_Fb_Event_Key_Up</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">FB Key Up event. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d6b64edc4897b4819ef18ae46bcfc9b7"></a><!-- doxytag: member="Ecore_Fb.h::Ecore_Fb_Event_Mouse_Button_Down" ref="d6b64edc4897b4819ef18ae46bcfc9b7" args="" -->
+typedef <a class="el" href="struct__Ecore__Fb__Event__Mouse__Button__Down.html">_Ecore_Fb_Event_Mouse_Button_Down</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Fb_8h.html#d6b64edc4897b4819ef18ae46bcfc9b7">Ecore_Fb_Event_Mouse_Button_Down</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">FB Mouse Down event. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c956db7b4f84157108426823417b9ee9"></a><!-- doxytag: member="Ecore_Fb.h::Ecore_Fb_Event_Mouse_Button_Up" ref="c956db7b4f84157108426823417b9ee9" args="" -->
+typedef <a class="el" href="struct__Ecore__Fb__Event__Mouse__Button__Up.html">_Ecore_Fb_Event_Mouse_Button_Up</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Fb_8h.html#c956db7b4f84157108426823417b9ee9">Ecore_Fb_Event_Mouse_Button_Up</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">FB Mouse Up event. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="df7e37a1e41ef49d05c12566704a5b21"></a><!-- doxytag: member="Ecore_Fb.h::Ecore_Fb_Event_Mouse_Move" ref="df7e37a1e41ef49d05c12566704a5b21" args="" -->
+typedef <a class="el" href="struct__Ecore__Fb__Event__Mouse__Move.html">_Ecore_Fb_Event_Mouse_Move</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Fb_8h.html#df7e37a1e41ef49d05c12566704a5b21">Ecore_Fb_Event_Mouse_Move</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">FB Mouse Move event. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4aab003d38ff77b3b441fc3847fbd377"></a><!-- doxytag: member="Ecore_Fb.h::Ecore_Fb_Event_Mouse_Wheel" ref="4aab003d38ff77b3b441fc3847fbd377" args="" -->
+typedef <a class="el" href="struct__Ecore__Fb__Event__Mouse__Wheel.html">_Ecore_Fb_Event_Mouse_Wheel</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Fb_8h.html#4aab003d38ff77b3b441fc3847fbd377">Ecore_Fb_Event_Mouse_Wheel</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">FB Mouse Wheel event. <br></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Fb_8h.html#80cc9df0a7c985ffa5104f071a7b90b9">ecore_fb_callback_gain_set</a> (void(*func)(void *data), void *data)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#80cc9df0a7c985ffa5104f071a7b90b9"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Fb_8h.html#bf8e732055cf4d366d3000c91cf00cdb">ecore_fb_callback_lose_set</a> (void(*func)(void *data), void *data)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#bf8e732055cf4d366d3000c91cf00cdb"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__FB__Library__Group.html#gefa9ae93cf6163379747349bb8cc82f7">ecore_fb_shutdown</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Shuts down the Ecore_Fb library.  <a href="group__Ecore__FB__Library__Group.html#gefa9ae93cf6163379747349bb8cc82f7"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Fb_8h.html#d169f77434891ebc69d7d5749bed5af8">ecore_fb_size_get</a> (int *w, int *h)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the width and height of the current frame buffer in pixels.  <a href="#d169f77434891ebc69d7d5749bed5af8"></a><br></td></tr>
+<tr><td colspan="2"><br><h2>Variables</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8581d038ef5830b5f2231e8150b25043"></a><!-- doxytag: member="Ecore_Fb.h::ECORE_FB_EVENT_KEY_DOWN" ref="8581d038ef5830b5f2231e8150b25043" args="" -->
+EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Fb_8h.html#8581d038ef5830b5f2231e8150b25043">ECORE_FB_EVENT_KEY_DOWN</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">FB Key Down event. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="32a45df91add9e9108ed2a96c51a0408"></a><!-- doxytag: member="Ecore_Fb.h::ECORE_FB_EVENT_KEY_UP" ref="32a45df91add9e9108ed2a96c51a0408" args="" -->
+EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Fb_8h.html#32a45df91add9e9108ed2a96c51a0408">ECORE_FB_EVENT_KEY_UP</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">FB Key Up event. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7cafb3c333844f4d802ebad8d84be0af"></a><!-- doxytag: member="Ecore_Fb.h::ECORE_FB_EVENT_MOUSE_BUTTON_DOWN" ref="7cafb3c333844f4d802ebad8d84be0af" args="" -->
+EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Fb_8h.html#7cafb3c333844f4d802ebad8d84be0af">ECORE_FB_EVENT_MOUSE_BUTTON_DOWN</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">FB Mouse Down event. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7a3233f10d2491555699a3f0e00de762"></a><!-- doxytag: member="Ecore_Fb.h::ECORE_FB_EVENT_MOUSE_BUTTON_UP" ref="7a3233f10d2491555699a3f0e00de762" args="" -->
+EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Fb_8h.html#7a3233f10d2491555699a3f0e00de762">ECORE_FB_EVENT_MOUSE_BUTTON_UP</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">FB Mouse Up event. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="84c8fb18e90909fc7c4d75e59da38be3"></a><!-- doxytag: member="Ecore_Fb.h::ECORE_FB_EVENT_MOUSE_MOVE" ref="84c8fb18e90909fc7c4d75e59da38be3" args="" -->
+EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Fb_8h.html#84c8fb18e90909fc7c4d75e59da38be3">ECORE_FB_EVENT_MOUSE_MOVE</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">FB Mouse Move event. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ecf7e2bfa4962a9f2e3ce0a1913eb442"></a><!-- doxytag: member="Ecore_Fb.h::ECORE_FB_EVENT_MOUSE_WHEEL" ref="ecf7e2bfa4962a9f2e3ce0a1913eb442" args="" -->
+EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Fb_8h.html#ecf7e2bfa4962a9f2e3ce0a1913eb442">ECORE_FB_EVENT_MOUSE_WHEEL</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">FB Mouse Wheel event. <br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Ecore frame buffer system functions. 
+<p>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="80cc9df0a7c985ffa5104f071a7b90b9"></a><!-- doxytag: member="Ecore_Fb.h::ecore_fb_callback_gain_set" ref="80cc9df0a7c985ffa5104f071a7b90b9" args="(void(*func)(void *data), void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_fb_callback_gain_set           </td>
+          <td>(</td>
+          <td class="paramtype">void(*)(void *data)&nbsp;</td>
+          <td class="paramname"> <em>func</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+To be documented. 
+<p>
+FIXME: To be fixed. <dl compact><dt><b><a class="el" href="todo.html#_todo000006">Todo:</a></b></dt><dd>Documentation: Find out what this does. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="bf8e732055cf4d366d3000c91cf00cdb"></a><!-- doxytag: member="Ecore_Fb.h::ecore_fb_callback_lose_set" ref="bf8e732055cf4d366d3000c91cf00cdb" args="(void(*func)(void *data), void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_fb_callback_lose_set           </td>
+          <td>(</td>
+          <td class="paramtype">void(*)(void *data)&nbsp;</td>
+          <td class="paramname"> <em>func</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+To be documented. 
+<p>
+FIXME: To be fixed. <dl compact><dt><b><a class="el" href="todo.html#_todo000007">Todo:</a></b></dt><dd>Documentation: Find out what this does. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="d169f77434891ebc69d7d5749bed5af8"></a><!-- doxytag: member="Ecore_Fb.h::ecore_fb_size_get" ref="d169f77434891ebc69d7d5749bed5af8" args="(int *w, int *h)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_fb_size_get           </td>
+          <td>(</td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>w</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>h</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Retrieves the width and height of the current frame buffer in pixels. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>w</em>&nbsp;</td><td>Pointer to an integer in which to store the width. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>h</em>&nbsp;</td><td>Pointer to an interge in which to store the height. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+</body>
+</html>
diff --git a/doc/html/Ecore__File_8h.html b/doc/html/Ecore__File_8h.html
new file mode 100644
index 0000000..44db60e
--- /dev/null
+++ b/doc/html/Ecore__File_8h.html
@@ -0,0 +1,1058 @@
+<html>
+
+<head>
+
+<title>Ecore: Ecore_File.h File Reference</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li id="current"><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<div class="tabs">
+  <ul>
+    <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+    <li><a href="globals.html"><span>Globals</span></a></li>
+  </ul></div>
+<h1>Ecore_File.h File Reference</h1>Files utility functions. <a href="#_details">More...</a>
+<p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__File_8h.html#9497ff8ae37f46464565414711a031d0">ecore_file_init</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initialize Ecore_File and the services it will use.  <a href="#9497ff8ae37f46464565414711a031d0"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__File_8h.html#fa64f6af8d6f80acef1a29366a31d55d">ecore_file_shutdown</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Shutdown the Ecore_File.  <a href="#fa64f6af8d6f80acef1a29366a31d55d"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI long long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__File_8h.html#aef663ea76aae7aeba5814f1b8f2a013">ecore_file_mod_time</a> (const char *file)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the time of the last modification to the give file.  <a href="#aef663ea76aae7aeba5814f1b8f2a013"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI long long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__File_8h.html#6ac9d3d430a6110467ca3e2ac96a8851">ecore_file_size</a> (const char *file)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the size of the given file.  <a href="#6ac9d3d430a6110467ca3e2ac96a8851"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__File_8h.html#806216434edae4dc6328edfd0e318fc6">ecore_file_exists</a> (const char *file)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check if file exists.  <a href="#806216434edae4dc6328edfd0e318fc6"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__File_8h.html#32f8922f773174b36a40368c375b14de">ecore_file_is_dir</a> (const char *file)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check if file is a directory.  <a href="#32f8922f773174b36a40368c375b14de"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__File_8h.html#5d944689ac3273ca637fdfb0601edc57">ecore_file_mkdir</a> (const char *dir)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a new directory.  <a href="#5d944689ac3273ca637fdfb0601edc57"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__File_8h.html#8c80a7e82b849875ac9535fe739779e9">ecore_file_rmdir</a> (const char *dir)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Delete the given dir.  <a href="#8c80a7e82b849875ac9535fe739779e9"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__File_8h.html#aae112ed0f2b2cf4f1b57afbcbb0f0e8">ecore_file_recursive_rm</a> (const char *dir)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Delete a directory and all its contents.  <a href="#aae112ed0f2b2cf4f1b57afbcbb0f0e8"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__File_8h.html#b377c26b139a5b2fa681de7a3d33d41c">ecore_file_mkpath</a> (const char *path)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a complete path.  <a href="#b377c26b139a5b2fa681de7a3d33d41c"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__File_8h.html#40bd2e7b0ed8af2c76fc46373d1ade71">ecore_file_cp</a> (const char *src, const char *dst)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy a file.  <a href="#40bd2e7b0ed8af2c76fc46373d1ade71"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__File_8h.html#4f51c9794bb14a36721edaa67365e610">ecore_file_mv</a> (const char *src, const char *dst)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Move a file.  <a href="#4f51c9794bb14a36721edaa67365e610"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__File_8h.html#7f3bc42064d48644911783ccec378613">ecore_file_symlink</a> (const char *src, const char *dest)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a symbolic link.  <a href="#7f3bc42064d48644911783ccec378613"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__File_8h.html#b358bf1dc588e0e1929d31a72a213168">ecore_file_realpath</a> (const char *file)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the canonicalized absolute pathname.  <a href="#b358bf1dc588e0e1929d31a72a213168"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__File_8h.html#2ec6ea202ffb755ca12e8dd85ce345a1">ecore_file_unlink</a> (const char *file)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Delete the given file.  <a href="#2ec6ea202ffb755ca12e8dd85ce345a1"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__File_8h.html#d22a09676af2f03c825652c1b2884345">ecore_file_file_get</a> (const char *path)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the filename from a give path.  <a href="#d22a09676af2f03c825652c1b2884345"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__File_8h.html#5f2806cb1531356ff9e6a337d62d3432">ecore_file_dir_get</a> (const char *path)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the directory where file reside.  <a href="#5f2806cb1531356ff9e6a337d62d3432"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__File_8h.html#a16ea16b47dd8e76205f43eea3d76505">ecore_file_can_read</a> (const char *file)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check if file can be read.  <a href="#a16ea16b47dd8e76205f43eea3d76505"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__File_8h.html#cce7d88ad4f5c0f6b08172067a822a18">ecore_file_can_write</a> (const char *file)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check if file can be written.  <a href="#cce7d88ad4f5c0f6b08172067a822a18"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__File_8h.html#8499e4f46878856f0ad46695f6d10f03">ecore_file_can_exec</a> (const char *file)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check if file can be executed.  <a href="#8499e4f46878856f0ad46695f6d10f03"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__File_8h.html#6dbbbb14c58a629e4eab1ccda26290f7">ecore_file_readlink</a> (const char *link)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the path pointed by link.  <a href="#6dbbbb14c58a629e4eab1ccda26290f7"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_List *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__File_8h.html#53d9ae056ac2ac0bac959eac26f9d391">ecore_file_ls</a> (const char *dir)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the list of the files and directories in a given directory.  <a href="#53d9ae056ac2ac0bac959eac26f9d391"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ec42ccba3ea33034ad0760e7c8b8e005"></a><!-- doxytag: member="Ecore_File.h::ecore_file_app_exe_get" ref="ec42ccba3ea33034ad0760e7c8b8e005" args="(const char *app)" -->
+EAPI char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__File_8h.html#ec42ccba3ea33034ad0760e7c8b8e005">ecore_file_app_exe_get</a> (const char *app)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">FIXME: To be documented. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__File_8h.html#87e724a88222d37525f78e0567b5c5a4">ecore_file_escape_name</a> (const char *filename)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add the escape sequence ('\') to the given filename.  <a href="#87e724a88222d37525f78e0567b5c5a4"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__File_8h.html#05c21b016f02562661791067a5bc853e">ecore_file_strip_ext</a> (const char *file)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove the extension from a given path.  <a href="#05c21b016f02562661791067a5bc853e"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__File_8h.html#aefb02d67f98b2f859d796df625b7b26">ecore_file_monitor_del</a> (Ecore_File_Monitor *ecore_file_monitor)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Stop monitoring a path.  <a href="#aefb02d67f98b2f859d796df625b7b26"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__File_8h.html#1765c5a8c1710348736ab0c30bd353bc">ecore_file_monitor_path_get</a> (Ecore_File_Monitor *ecore_file_monitor)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the monitored path.  <a href="#1765c5a8c1710348736ab0c30bd353bc"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__File_8h.html#a070cd69247a2a03cc619148dc789b73">ecore_file_path_dir_exists</a> (const char *in_dir)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check if the given directory is in PATH.  <a href="#a070cd69247a2a03cc619148dc789b73"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__File_8h.html#07f948bd1743f8fc545e498ce73356b4">ecore_file_app_installed</a> (const char *exe)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check if the given application is installed.  <a href="#07f948bd1743f8fc545e498ce73356b4"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_List *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__File_8h.html#9558d71dd8944d9a3127cba4fcf89ee9">ecore_file_app_list</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a list of all the applications installed on the system.  <a href="#9558d71dd8944d9a3127cba4fcf89ee9"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__File_8h.html#28d533f9cab1644be3992ce973046621">ecore_file_download</a> (const char *url, const char *dst, void(*completion_cb)(void *data, const char *file, int status), int(*progress_cb)(void *data, const char *file, long int dltotal, long int dlnow, long int ultotal, long int ulnow), void *data)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Download <code>url</code> to the given <code>dst</code>.  <a href="#28d533f9cab1644be3992ce973046621"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__File_8h.html#85c1e9652530bfd968f3e621e78514a5">ecore_file_download_protocol_available</a> (const char *protocol)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check if the given protocol is available.  <a href="#85c1e9652530bfd968f3e621e78514a5"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Files utility functions. 
+<p>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="07f948bd1743f8fc545e498ce73356b4"></a><!-- doxytag: member="Ecore_File.h::ecore_file_app_installed" ref="07f948bd1743f8fc545e498ce73356b4" args="(const char *exe)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_file_app_installed           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>exe</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Check if the given application is installed. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>exe</em>&nbsp;</td><td>The name of the application </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 if the exe is in PATH and is executable</dd></dl>
+This function check if the given name exist in PATH and is executable 
+</div>
+</div><p>
+<a class="anchor" name="9558d71dd8944d9a3127cba4fcf89ee9"></a><!-- doxytag: member="Ecore_File.h::ecore_file_app_list" ref="9558d71dd8944d9a3127cba4fcf89ee9" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Ecore_List* ecore_file_app_list           </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Get a list of all the applications installed on the system. 
+<p>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>An Ecore_List containing all the executable files in the system </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="8499e4f46878856f0ad46695f6d10f03"></a><!-- doxytag: member="Ecore_File.h::ecore_file_can_exec" ref="8499e4f46878856f0ad46695f6d10f03" args="(const char *file)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_file_can_exec           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>file</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Check if file can be executed. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>file</em>&nbsp;</td><td>The name of the file </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 if the file can be executed, 0 otherwise </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="a16ea16b47dd8e76205f43eea3d76505"></a><!-- doxytag: member="Ecore_File.h::ecore_file_can_read" ref="a16ea16b47dd8e76205f43eea3d76505" args="(const char *file)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_file_can_read           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>file</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Check if file can be read. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>file</em>&nbsp;</td><td>The name of the file </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 if the file is readable, 0 otherwise </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="cce7d88ad4f5c0f6b08172067a822a18"></a><!-- doxytag: member="Ecore_File.h::ecore_file_can_write" ref="cce7d88ad4f5c0f6b08172067a822a18" args="(const char *file)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_file_can_write           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>file</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Check if file can be written. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>file</em>&nbsp;</td><td>The name of the file </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 if the file is writable, 0 otherwise </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="40bd2e7b0ed8af2c76fc46373d1ade71"></a><!-- doxytag: member="Ecore_File.h::ecore_file_cp" ref="40bd2e7b0ed8af2c76fc46373d1ade71" args="(const char *src, const char *dst)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_file_cp           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>src</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>dst</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Copy a file. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>src</em>&nbsp;</td><td>The name of the source file </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>dst</em>&nbsp;</td><td>The name of the destination file </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 on success, 0 on failure </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="5f2806cb1531356ff9e6a337d62d3432"></a><!-- doxytag: member="Ecore_File.h::ecore_file_dir_get" ref="5f2806cb1531356ff9e6a337d62d3432" args="(const char *path)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI char* ecore_file_dir_get           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>file</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Get the directory where file reside. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>file</em>&nbsp;</td><td>The name of the file </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The directory name </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="28d533f9cab1644be3992ce973046621"></a><!-- doxytag: member="Ecore_File.h::ecore_file_download" ref="28d533f9cab1644be3992ce973046621" args="(const char *url, const char *dst, void(*completion_cb)(void *data, const char *file, int status), int(*progress_cb)(void *data, const char *file, long int dltotal, long int dlnow, long int ultotal, long int ulnow), void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_file_download           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>url</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>dst</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void(*)(void *data, const char *file, int status)&nbsp;</td>
+          <td class="paramname"> <em>completion_cb</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int(*)(void *data, const char *file, long int dltotal, long int dlnow, long int ultotal, long int ulnow)&nbsp;</td>
+          <td class="paramname"> <em>progress_cb</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Download <code>url</code> to the given <code>dst</code>. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>url</em>&nbsp;</td><td>The complete url to download </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>dst</em>&nbsp;</td><td>The local file to save the downloaded to </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>completion_cb</em>&nbsp;</td><td>A callback called on download complete </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>progress_cb</em>&nbsp;</td><td>A callback called during the download operation </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 if the download start or 0 on failure</dd></dl>
+You must provide the full url, including 'http://', 'ftp://' or 'file://'.<br>
+ If <code>dst</code> already exist it will not be overwritten and the function will fail.<br>
+ Ecore must be compiled with CURL to download using http and ftp protocols. 
+</div>
+</div><p>
+<a class="anchor" name="85c1e9652530bfd968f3e621e78514a5"></a><!-- doxytag: member="Ecore_File.h::ecore_file_download_protocol_available" ref="85c1e9652530bfd968f3e621e78514a5" args="(const char *protocol)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_file_download_protocol_available           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>protocol</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Check if the given protocol is available. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>protocol</em>&nbsp;</td><td>The protocol to check </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 if protocol is handled or 0 if not</dd></dl>
+<code>protocol</code> can be 'http://', 'ftp://' or 'file://'.<br>
+ Ecore must be compiled with CURL to handle http and ftp protocols. 
+</div>
+</div><p>
+<a class="anchor" name="87e724a88222d37525f78e0567b5c5a4"></a><!-- doxytag: member="Ecore_File.h::ecore_file_escape_name" ref="87e724a88222d37525f78e0567b5c5a4" args="(const char *filename)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI char* ecore_file_escape_name           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>filename</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Add the escape sequence ('\') to the given filename. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>filename</em>&nbsp;</td><td>The file name </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The file name with special characters escaped; if the length of the resulting string is longer than PATH_MAX it will return NULL </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="806216434edae4dc6328edfd0e318fc6"></a><!-- doxytag: member="Ecore_File.h::ecore_file_exists" ref="806216434edae4dc6328edfd0e318fc6" args="(const char *file)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_file_exists           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>file</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Check if file exists. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>file</em>&nbsp;</td><td>The name of the file </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 if file exists on local filesystem, 0 otherwise </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="d22a09676af2f03c825652c1b2884345"></a><!-- doxytag: member="Ecore_File.h::ecore_file_file_get" ref="d22a09676af2f03c825652c1b2884345" args="(const char *path)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI const char* ecore_file_file_get           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>path</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Get the filename from a give path. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>path</em>&nbsp;</td><td>The complete path </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>Only the file name </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="9497ff8ae37f46464565414711a031d0"></a><!-- doxytag: member="Ecore_File.h::ecore_file_init" ref="9497ff8ae37f46464565414711a031d0" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_file_init           </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Initialize Ecore_File and the services it will use. 
+<p>
+Call this function once before you use any of the ecore file functions. <dl class="return" compact><dt><b>Returns:</b></dt><dd>Return the number howoften <a class="el" href="Ecore__File_8h.html#9497ff8ae37f46464565414711a031d0">ecore_file_init()</a> was call succesfully; 0 if it failed. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="32f8922f773174b36a40368c375b14de"></a><!-- doxytag: member="Ecore_File.h::ecore_file_is_dir" ref="32f8922f773174b36a40368c375b14de" args="(const char *file)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_file_is_dir           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>file</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Check if file is a directory. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>file</em>&nbsp;</td><td>The name of the file </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 if file exist and is a directory, 0 otherwise </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="53d9ae056ac2ac0bac959eac26f9d391"></a><!-- doxytag: member="Ecore_File.h::ecore_file_ls" ref="53d9ae056ac2ac0bac959eac26f9d391" args="(const char *dir)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Ecore_List* ecore_file_ls           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>dir</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Get the list of the files and directories in a given directory. 
+<p>
+The list will be sorted with strcoll as compare function. That means that you may want to set the current locale for the category LC_COLLATE with setlocale(). For more information see the manual pages of strcoll and setlocale. The list will not contain the directory entries for '.' and '..'. <dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>dir</em>&nbsp;</td><td>The name of the directory to list </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an Ecore_List containing all the files in the directory; on failure it returns NULL. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="5d944689ac3273ca637fdfb0601edc57"></a><!-- doxytag: member="Ecore_File.h::ecore_file_mkdir" ref="5d944689ac3273ca637fdfb0601edc57" args="(const char *dir)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_file_mkdir           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>dir</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Create a new directory. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>dir</em>&nbsp;</td><td>The name of the directory to create </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 on successfull creation, 0 on failure</dd></dl>
+The directory is created with the mode: S_IRUSR | S_IWUSR | S_IXUSR | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH 
+</div>
+</div><p>
+<a class="anchor" name="b377c26b139a5b2fa681de7a3d33d41c"></a><!-- doxytag: member="Ecore_File.h::ecore_file_mkpath" ref="b377c26b139a5b2fa681de7a3d33d41c" args="(const char *path)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_file_mkpath           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>path</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Create a complete path. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>path</em>&nbsp;</td><td>The path to create </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 on success, 0 on failure </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="aef663ea76aae7aeba5814f1b8f2a013"></a><!-- doxytag: member="Ecore_File.h::ecore_file_mod_time" ref="aef663ea76aae7aeba5814f1b8f2a013" args="(const char *file)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI long long ecore_file_mod_time           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>file</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Get the time of the last modification to the give file. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>file</em>&nbsp;</td><td>The name of the file </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return the time of the last data modification, if an error should occur it will return 0 </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="aefb02d67f98b2f859d796df625b7b26"></a><!-- doxytag: member="Ecore_File.h::ecore_file_monitor_del" ref="aefb02d67f98b2f859d796df625b7b26" args="(Ecore_File_Monitor *ecore_file_monitor)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_file_monitor_del           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_File_Monitor *&nbsp;</td>
+          <td class="paramname"> <em>em</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Stop monitoring a path. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>em</em>&nbsp;</td><td>The Ecore_File_Monitor to stop </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="1765c5a8c1710348736ab0c30bd353bc"></a><!-- doxytag: member="Ecore_File.h::ecore_file_monitor_path_get" ref="1765c5a8c1710348736ab0c30bd353bc" args="(Ecore_File_Monitor *ecore_file_monitor)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI const char* ecore_file_monitor_path_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_File_Monitor *&nbsp;</td>
+          <td class="paramname"> <em>em</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Get the monitored path. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>em</em>&nbsp;</td><td>The Ecore_File_Monitor to query </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The path that is monitored by <code>em</code> </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="4f51c9794bb14a36721edaa67365e610"></a><!-- doxytag: member="Ecore_File.h::ecore_file_mv" ref="4f51c9794bb14a36721edaa67365e610" args="(const char *src, const char *dst)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_file_mv           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>src</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>dst</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Move a file. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>src</em>&nbsp;</td><td>The name of the source file </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>dst</em>&nbsp;</td><td>The name of the destination file </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 on success, 0 on failure </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="a070cd69247a2a03cc619148dc789b73"></a><!-- doxytag: member="Ecore_File.h::ecore_file_path_dir_exists" ref="a070cd69247a2a03cc619148dc789b73" args="(const char *in_dir)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_file_path_dir_exists           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>in_dir</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Check if the given directory is in PATH. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>The</em>&nbsp;</td><td>name of the directory to search in PATH </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 if the directory exist in PATH, 0 otherwise </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="6dbbbb14c58a629e4eab1ccda26290f7"></a><!-- doxytag: member="Ecore_File.h::ecore_file_readlink" ref="6dbbbb14c58a629e4eab1ccda26290f7" args="(const char *link)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI char* ecore_file_readlink           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>link</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Get the path pointed by link. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>link</em>&nbsp;</td><td>The name of the link </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The path pointed by link or NULL </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="b358bf1dc588e0e1929d31a72a213168"></a><!-- doxytag: member="Ecore_File.h::ecore_file_realpath" ref="b358bf1dc588e0e1929d31a72a213168" args="(const char *file)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI char* ecore_file_realpath           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>file</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Get the canonicalized absolute pathname. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>file</em>&nbsp;</td><td>The file path </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The canonicalized absolute pathname; on failure it will return an empty string </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="aae112ed0f2b2cf4f1b57afbcbb0f0e8"></a><!-- doxytag: member="Ecore_File.h::ecore_file_recursive_rm" ref="aae112ed0f2b2cf4f1b57afbcbb0f0e8" args="(const char *dir)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_file_recursive_rm           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>dir</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Delete a directory and all its contents. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>dir</em>&nbsp;</td><td>The name of the directory to delete </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 on success, 0 on failure</dd></dl>
+If dir is a link only the link is removed 
+</div>
+</div><p>
+<a class="anchor" name="8c80a7e82b849875ac9535fe739779e9"></a><!-- doxytag: member="Ecore_File.h::ecore_file_rmdir" ref="8c80a7e82b849875ac9535fe739779e9" args="(const char *dir)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_file_rmdir           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>dir</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Delete the given dir. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>dir</em>&nbsp;</td><td>The name of the directory to delete </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 on success, 0 on failure </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="fa64f6af8d6f80acef1a29366a31d55d"></a><!-- doxytag: member="Ecore_File.h::ecore_file_shutdown" ref="fa64f6af8d6f80acef1a29366a31d55d" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_file_shutdown           </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Shutdown the Ecore_File. 
+<p>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>returns the number of libraries that still uses Ecore_File </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="6ac9d3d430a6110467ca3e2ac96a8851"></a><!-- doxytag: member="Ecore_File.h::ecore_file_size" ref="6ac9d3d430a6110467ca3e2ac96a8851" args="(const char *file)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI long long ecore_file_size           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>file</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Get the size of the given file. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>file</em>&nbsp;</td><td>The name of the file </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The size of the file in byte </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="05c21b016f02562661791067a5bc853e"></a><!-- doxytag: member="Ecore_File.h::ecore_file_strip_ext" ref="05c21b016f02562661791067a5bc853e" args="(const char *file)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI char* ecore_file_strip_ext           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>path</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Remove the extension from a given path. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>path</em>&nbsp;</td><td>The name of the file </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>A newly allocated string with the extension stripped out or NULL on errors </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="7f3bc42064d48644911783ccec378613"></a><!-- doxytag: member="Ecore_File.h::ecore_file_symlink" ref="7f3bc42064d48644911783ccec378613" args="(const char *src, const char *dest)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_file_symlink           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>src</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>dest</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Create a symbolic link. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>src</em>&nbsp;</td><td>The name of the file to link </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>dest</em>&nbsp;</td><td>The name of link </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 on success, 0 on failure </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="2ec6ea202ffb755ca12e8dd85ce345a1"></a><!-- doxytag: member="Ecore_File.h::ecore_file_unlink" ref="2ec6ea202ffb755ca12e8dd85ce345a1" args="(const char *file)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_file_unlink           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>file</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Delete the given file. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>file</em>&nbsp;</td><td>The name of the file to delete </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 on success, 0 on failure </dd></dl>
+
+</div>
+</div><p>
+</body>
+</html>
diff --git a/doc/html/Ecore__Ipc_8h.html b/doc/html/Ecore__Ipc_8h.html
new file mode 100644
index 0000000..51a15df
--- /dev/null
+++ b/doc/html/Ecore__Ipc_8h.html
@@ -0,0 +1,417 @@
+<html>
+
+<head>
+
+<title>Ecore: Ecore_Ipc.h File Reference</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li id="current"><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<div class="tabs">
+  <ul>
+    <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+    <li><a href="globals.html"><span>Globals</span></a></li>
+  </ul></div>
+<h1>Ecore_Ipc.h File Reference</h1>Ecore inter-process communication functions. <a href="#_details">More...</a>
+<p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e7e172a5fc9ae1b60deae8539b802c50"></a><!-- doxytag: member="Ecore_Ipc.h::Ecore_Ipc_Server" ref="e7e172a5fc9ae1b60deae8539b802c50" args="" -->
+typedef void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Ipc_8h.html#e7e172a5fc9ae1b60deae8539b802c50">Ecore_Ipc_Server</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An IPC connection handle. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="907f972d57d41ff33fc6eb2a37be9ae8"></a><!-- doxytag: member="Ecore_Ipc.h::Ecore_Ipc_Client" ref="907f972d57d41ff33fc6eb2a37be9ae8" args="" -->
+typedef void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Ipc_8h.html#907f972d57d41ff33fc6eb2a37be9ae8">Ecore_Ipc_Client</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An IPC connection handle. <br></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="26e93ea1217d4296d7ed7a84cf5e4577"></a><!-- doxytag: member="Ecore_Ipc.h::_ecore_ipc_swap_16" ref="26e93ea1217d4296d7ed7a84cf5e4577" args="(unsigned short v)" -->
+EAPI unsigned short&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Ipc_8h.html#26e93ea1217d4296d7ed7a84cf5e4577">_ecore_ipc_swap_16</a> (unsigned short v)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Macros used for generic data packing. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__IPC__Library__Group.html#gde1baa6a3e79dd7c9bd6244dad0e6571">ecore_ipc_init</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initialises the Ecore IPC library.  <a href="group__Ecore__IPC__Library__Group.html#gde1baa6a3e79dd7c9bd6244dad0e6571"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__IPC__Library__Group.html#g48e9b9ace36dd75ade7ffa90fa9a093c">ecore_ipc_shutdown</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Shuts down the Ecore IPC library.  <a href="group__Ecore__IPC__Library__Group.html#g48e9b9ace36dd75ade7ffa90fa9a093c"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI <a class="el" href="Ecore__Ipc_8h.html#e7e172a5fc9ae1b60deae8539b802c50">Ecore_Ipc_Server</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__IPC__Server__Group.html#geba705e14ef79c1f824fcc1c184ddadb">ecore_ipc_server_add</a> (Ecore_Ipc_Type type, const char *name, int port, const void *data)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates an IPC server that listens for connections.  <a href="group__Ecore__IPC__Server__Group.html#geba705e14ef79c1f824fcc1c184ddadb"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI <a class="el" href="Ecore__Ipc_8h.html#e7e172a5fc9ae1b60deae8539b802c50">Ecore_Ipc_Server</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__IPC__Server__Group.html#gfe02c81940d4e5a464cb32e125887f7e">ecore_ipc_server_connect</a> (Ecore_Ipc_Type type, char *name, int port, const void *data)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates an IPC server object to represent the IPC server listening on the given port.  <a href="group__Ecore__IPC__Server__Group.html#gfe02c81940d4e5a464cb32e125887f7e"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__IPC__Server__Group.html#g04148eb8454432091e29b185c68a3eb2">ecore_ipc_server_del</a> (<a class="el" href="Ecore__Ipc_8h.html#e7e172a5fc9ae1b60deae8539b802c50">Ecore_Ipc_Server</a> *svr)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Closes the connection and frees the given IPC server.  <a href="group__Ecore__IPC__Server__Group.html#g04148eb8454432091e29b185c68a3eb2"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__IPC__Server__Group.html#gc32fe6a6757a54e6714fb080472f8901">ecore_ipc_server_data_get</a> (<a class="el" href="Ecore__Ipc_8h.html#e7e172a5fc9ae1b60deae8539b802c50">Ecore_Ipc_Server</a> *svr)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the data associated with the given IPC server.  <a href="group__Ecore__IPC__Server__Group.html#gc32fe6a6757a54e6714fb080472f8901"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__IPC__Server__Group.html#gc585ae7ee881855af1f0322eaa5c5108">ecore_ipc_server_connected_get</a> (<a class="el" href="Ecore__Ipc_8h.html#e7e172a5fc9ae1b60deae8539b802c50">Ecore_Ipc_Server</a> *svr)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves whether the given IPC server is currently connected.  <a href="group__Ecore__IPC__Server__Group.html#gc585ae7ee881855af1f0322eaa5c5108"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_List *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__IPC__Server__Group.html#gc67d22ab84194a71ff9c4c51e718112a">ecore_ipc_server_clients_get</a> (<a class="el" href="Ecore__Ipc_8h.html#e7e172a5fc9ae1b60deae8539b802c50">Ecore_Ipc_Server</a> *svr)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the list of clients for this server.  <a href="group__Ecore__IPC__Server__Group.html#gc67d22ab84194a71ff9c4c51e718112a"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__IPC__Server__Group.html#ge192e84cfa5893c798662adfaed9dd57">ecore_ipc_server_send</a> (<a class="el" href="Ecore__Ipc_8h.html#e7e172a5fc9ae1b60deae8539b802c50">Ecore_Ipc_Server</a> *svr, int major, int minor, int ref, int ref_to, int response, void *data, int size)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends a message to the given IPC server.  <a href="group__Ecore__IPC__Server__Group.html#ge192e84cfa5893c798662adfaed9dd57"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Ipc_8h.html#e74ad64c4bfebcaa111fe1e878e8f900">ecore_ipc_server_client_limit_set</a> (<a class="el" href="Ecore__Ipc_8h.html#e7e172a5fc9ae1b60deae8539b802c50">Ecore_Ipc_Server</a> *svr, int client_limit, char reject_excess_clients)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets a limit on the number of clients that can be handled concurrently by the given server, and a policy on what to do if excess clients try to connect.  <a href="#e74ad64c4bfebcaa111fe1e878e8f900"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Ipc_8h.html#5b9e5bc3f1d229506e6fe6843e6c14e1">ecore_ipc_server_data_size_max_set</a> (<a class="el" href="Ecore__Ipc_8h.html#e7e172a5fc9ae1b60deae8539b802c50">Ecore_Ipc_Server</a> *srv, int size)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the max data payload size for an Ipc message in bytes.  <a href="#5b9e5bc3f1d229506e6fe6843e6c14e1"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Ipc_8h.html#02bef0d79f9c322ba6cfe40ef5f80940">ecore_ipc_server_data_size_max_get</a> (<a class="el" href="Ecore__Ipc_8h.html#e7e172a5fc9ae1b60deae8539b802c50">Ecore_Ipc_Server</a> *srv)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the max data payload size for an Ipc message in bytes.  <a href="#02bef0d79f9c322ba6cfe40ef5f80940"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Ipc_8h.html#c782269639f06d03744020255c5d8cd6">ecore_ipc_server_ip_get</a> (<a class="el" href="Ecore__Ipc_8h.html#e7e172a5fc9ae1b60deae8539b802c50">Ecore_Ipc_Server</a> *svr)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the IP address of a server that has been connected to.  <a href="#c782269639f06d03744020255c5d8cd6"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Ipc_8h.html#70cdc0c1aea94e13dc7b740c11313c9a">ecore_ipc_server_flush</a> (<a class="el" href="Ecore__Ipc_8h.html#e7e172a5fc9ae1b60deae8539b802c50">Ecore_Ipc_Server</a> *svr)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Flushes all pending data to the given server.  <a href="#70cdc0c1aea94e13dc7b740c11313c9a"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__IPC__Client__Group.html#gd401b95b95c998bcf7749ffe876de812">ecore_ipc_client_send</a> (<a class="el" href="Ecore__Ipc_8h.html#907f972d57d41ff33fc6eb2a37be9ae8">Ecore_Ipc_Client</a> *cl, int major, int minor, int ref, int ref_to, int response, void *data, int size)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends a message to the given IPC client.  <a href="group__Ecore__IPC__Client__Group.html#gd401b95b95c998bcf7749ffe876de812"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI <a class="el" href="Ecore__Ipc_8h.html#e7e172a5fc9ae1b60deae8539b802c50">Ecore_Ipc_Server</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__IPC__Client__Group.html#g6fef6153dc1ed497d78265103518feed">ecore_ipc_client_server_get</a> (<a class="el" href="Ecore__Ipc_8h.html#907f972d57d41ff33fc6eb2a37be9ae8">Ecore_Ipc_Client</a> *cl)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the IPC server that the given IPC client is connected to.  <a href="group__Ecore__IPC__Client__Group.html#g6fef6153dc1ed497d78265103518feed"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__IPC__Client__Group.html#g33d563f3d055c9dbec3d3200cce36913">ecore_ipc_client_del</a> (<a class="el" href="Ecore__Ipc_8h.html#907f972d57d41ff33fc6eb2a37be9ae8">Ecore_Ipc_Client</a> *cl)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Closes the connection and frees memory allocated to the given IPC client.  <a href="group__Ecore__IPC__Client__Group.html#g33d563f3d055c9dbec3d3200cce36913"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__IPC__Client__Group.html#g7cdfcf0051c9d1bcc7e72aac33a0acd7">ecore_ipc_client_data_set</a> (<a class="el" href="Ecore__Ipc_8h.html#907f972d57d41ff33fc6eb2a37be9ae8">Ecore_Ipc_Client</a> *cl, const void *data)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the IPC data associated with the given IPC client to <code>data</code>.  <a href="group__Ecore__IPC__Client__Group.html#g7cdfcf0051c9d1bcc7e72aac33a0acd7"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__IPC__Client__Group.html#gb3285d8275d0662676c55f612dbaa49f">ecore_ipc_client_data_get</a> (<a class="el" href="Ecore__Ipc_8h.html#907f972d57d41ff33fc6eb2a37be9ae8">Ecore_Ipc_Client</a> *cl)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the data that has been associated with the given IPC client.  <a href="group__Ecore__IPC__Client__Group.html#gb3285d8275d0662676c55f612dbaa49f"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Ipc_8h.html#7be3fd240390eb78344973a0e0b7a848">ecore_ipc_client_data_size_max_set</a> (<a class="el" href="Ecore__Ipc_8h.html#907f972d57d41ff33fc6eb2a37be9ae8">Ecore_Ipc_Client</a> *cl, int size)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the max data payload size for an Ipc message in bytes.  <a href="#7be3fd240390eb78344973a0e0b7a848"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Ipc_8h.html#dee9ddd697032fa36798cbd857225b7c">ecore_ipc_client_data_size_max_get</a> (<a class="el" href="Ecore__Ipc_8h.html#907f972d57d41ff33fc6eb2a37be9ae8">Ecore_Ipc_Client</a> *cl)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the max data payload size for an Ipc message in bytes.  <a href="#dee9ddd697032fa36798cbd857225b7c"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Ipc_8h.html#8cf25d708ee906829baa12e083c2b813">ecore_ipc_client_ip_get</a> (<a class="el" href="Ecore__Ipc_8h.html#907f972d57d41ff33fc6eb2a37be9ae8">Ecore_Ipc_Client</a> *cl)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the IP address of a client that has been connected to.  <a href="#8cf25d708ee906829baa12e083c2b813"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Ipc_8h.html#4302e25c2db00f3dc7a08b72329b952d">ecore_ipc_client_flush</a> (<a class="el" href="Ecore__Ipc_8h.html#907f972d57d41ff33fc6eb2a37be9ae8">Ecore_Ipc_Client</a> *cl)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Flushes all pending data to the given client.  <a href="#4302e25c2db00f3dc7a08b72329b952d"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Con__Client__Group.html#gad8e029c00a1a4a6097f5ff17dec3c2e">ecore_ipc_ssl_available_get</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns if SSL support is available.  <a href="group__Ecore__Con__Client__Group.html#gad8e029c00a1a4a6097f5ff17dec3c2e"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Ecore inter-process communication functions. 
+<p>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="dee9ddd697032fa36798cbd857225b7c"></a><!-- doxytag: member="Ecore_Ipc.h::ecore_ipc_client_data_size_max_get" ref="dee9ddd697032fa36798cbd857225b7c" args="(Ecore_Ipc_Client *cl)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_ipc_client_data_size_max_get           </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="Ecore__Ipc_8h.html#907f972d57d41ff33fc6eb2a37be9ae8">Ecore_Ipc_Client</a> *&nbsp;</td>
+          <td class="paramname"> <em>cl</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sets the max data payload size for an Ipc message in bytes. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>cl</em>&nbsp;</td><td>The given client. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>size</em>&nbsp;</td><td>The maximum data payload size in bytes. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="7be3fd240390eb78344973a0e0b7a848"></a><!-- doxytag: member="Ecore_Ipc.h::ecore_ipc_client_data_size_max_set" ref="7be3fd240390eb78344973a0e0b7a848" args="(Ecore_Ipc_Client *cl, int size)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_ipc_client_data_size_max_set           </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="Ecore__Ipc_8h.html#907f972d57d41ff33fc6eb2a37be9ae8">Ecore_Ipc_Client</a> *&nbsp;</td>
+          <td class="paramname"> <em>cl</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>size</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sets the max data payload size for an Ipc message in bytes. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>client</em>&nbsp;</td><td>The given client. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>size</em>&nbsp;</td><td>The maximum data payload size in bytes. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="4302e25c2db00f3dc7a08b72329b952d"></a><!-- doxytag: member="Ecore_Ipc.h::ecore_ipc_client_flush" ref="4302e25c2db00f3dc7a08b72329b952d" args="(Ecore_Ipc_Client *cl)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_ipc_client_flush           </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="Ecore__Ipc_8h.html#907f972d57d41ff33fc6eb2a37be9ae8">Ecore_Ipc_Client</a> *&nbsp;</td>
+          <td class="paramname"> <em>cl</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Flushes all pending data to the given client. 
+<p>
+Will return when done.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>cl</em>&nbsp;</td><td>The given client. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="8cf25d708ee906829baa12e083c2b813"></a><!-- doxytag: member="Ecore_Ipc.h::ecore_ipc_client_ip_get" ref="8cf25d708ee906829baa12e083c2b813" args="(Ecore_Ipc_Client *cl)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI char* ecore_ipc_client_ip_get           </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="Ecore__Ipc_8h.html#907f972d57d41ff33fc6eb2a37be9ae8">Ecore_Ipc_Client</a> *&nbsp;</td>
+          <td class="paramname"> <em>cl</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Gets the IP address of a client that has been connected to. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>cl</em>&nbsp;</td><td>The given client. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>A pointer to an internal string that contains the IP address of the connected server in the form "XXX.YYY.ZZZ.AAA" IP notation. This string should not be modified or trusted to stay valid after deletion for the <code>cl</code> object. If no IP is known NULL is returned. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="e74ad64c4bfebcaa111fe1e878e8f900"></a><!-- doxytag: member="Ecore_Ipc.h::ecore_ipc_server_client_limit_set" ref="e74ad64c4bfebcaa111fe1e878e8f900" args="(Ecore_Ipc_Server *svr, int client_limit, char reject_excess_clients)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_ipc_server_client_limit_set           </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="Ecore__Ipc_8h.html#e7e172a5fc9ae1b60deae8539b802c50">Ecore_Ipc_Server</a> *&nbsp;</td>
+          <td class="paramname"> <em>svr</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>client_limit</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">char&nbsp;</td>
+          <td class="paramname"> <em>reject_excess_clients</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sets a limit on the number of clients that can be handled concurrently by the given server, and a policy on what to do if excess clients try to connect. 
+<p>
+Beware that if you set this once ecore is already running, you may already have pending CLIENT_ADD events in your event queue. Those clients have already connected and will not be affected by this call. Only clients subsequently trying to connect will be affected. <dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>svr</em>&nbsp;</td><td>The given server. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>client_limit</em>&nbsp;</td><td>The maximum number of clients to handle concurrently. -1 means unlimited (default). 0 effectively disables the server. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>reject_excess_clients</em>&nbsp;</td><td>Set to 1 to automatically disconnect excess clients as soon as they connect if you are already handling client_limit clients. Set to 0 (default) to just hold off on the "accept()" system call until the number of active clients drops. This causes the kernel to queue up to 4096 connections (or your kernel's limit, whichever is lower). </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="02bef0d79f9c322ba6cfe40ef5f80940"></a><!-- doxytag: member="Ecore_Ipc.h::ecore_ipc_server_data_size_max_get" ref="02bef0d79f9c322ba6cfe40ef5f80940" args="(Ecore_Ipc_Server *srv)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_ipc_server_data_size_max_get           </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="Ecore__Ipc_8h.html#e7e172a5fc9ae1b60deae8539b802c50">Ecore_Ipc_Server</a> *&nbsp;</td>
+          <td class="paramname"> <em>svr</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Gets the max data payload size for an Ipc message in bytes. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>svr</em>&nbsp;</td><td>The given server. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The maximum data payload in bytes. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="5b9e5bc3f1d229506e6fe6843e6c14e1"></a><!-- doxytag: member="Ecore_Ipc.h::ecore_ipc_server_data_size_max_set" ref="5b9e5bc3f1d229506e6fe6843e6c14e1" args="(Ecore_Ipc_Server *srv, int size)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_ipc_server_data_size_max_set           </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="Ecore__Ipc_8h.html#e7e172a5fc9ae1b60deae8539b802c50">Ecore_Ipc_Server</a> *&nbsp;</td>
+          <td class="paramname"> <em>svr</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>size</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sets the max data payload size for an Ipc message in bytes. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>svr</em>&nbsp;</td><td>The given server. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>size</em>&nbsp;</td><td>The maximum data payload size in bytes. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="70cdc0c1aea94e13dc7b740c11313c9a"></a><!-- doxytag: member="Ecore_Ipc.h::ecore_ipc_server_flush" ref="70cdc0c1aea94e13dc7b740c11313c9a" args="(Ecore_Ipc_Server *svr)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_ipc_server_flush           </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="Ecore__Ipc_8h.html#e7e172a5fc9ae1b60deae8539b802c50">Ecore_Ipc_Server</a> *&nbsp;</td>
+          <td class="paramname"> <em>svr</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Flushes all pending data to the given server. 
+<p>
+Will return when done.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>svr</em>&nbsp;</td><td>The given server. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="c782269639f06d03744020255c5d8cd6"></a><!-- doxytag: member="Ecore_Ipc.h::ecore_ipc_server_ip_get" ref="c782269639f06d03744020255c5d8cd6" args="(Ecore_Ipc_Server *svr)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI char* ecore_ipc_server_ip_get           </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="Ecore__Ipc_8h.html#e7e172a5fc9ae1b60deae8539b802c50">Ecore_Ipc_Server</a> *&nbsp;</td>
+          <td class="paramname"> <em>svr</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Gets the IP address of a server that has been connected to. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>svr</em>&nbsp;</td><td>The given server. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>A pointer to an internal string that contains the IP address of the connected server in the form "XXX.YYY.ZZZ.AAA" IP notation. This string should not be modified or trusted to stay valid after deletion for the <code>svr</code> object. If no IP is known NULL is returned. </dd></dl>
+
+</div>
+</div><p>
+</body>
+</html>
diff --git a/doc/html/Ecore__Job_8h.html b/doc/html/Ecore__Job_8h.html
new file mode 100644
index 0000000..bae725e
--- /dev/null
+++ b/doc/html/Ecore__Job_8h.html
@@ -0,0 +1,56 @@
+<html>
+
+<head>
+
+<title>Ecore: Ecore_Job.h File Reference</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li id="current"><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<div class="tabs">
+  <ul>
+    <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+    <li><a href="globals.html"><span>Globals</span></a></li>
+  </ul></div>
+<h1>Ecore_Job.h File Reference</h1>Functions for dealing with Ecore jobs. <a href="#_details">More...</a>
+<p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="11cf21598fca412bd4a8a0a502717c61"></a><!-- doxytag: member="Ecore_Job.h::Ecore_Job" ref="11cf21598fca412bd4a8a0a502717c61" args="" -->
+typedef void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Job_8h.html#11cf21598fca412bd4a8a0a502717c61">Ecore_Job</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A job handle. <br></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI <a class="el" href="Ecore__Job_8h.html#11cf21598fca412bd4a8a0a502717c61">Ecore_Job</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Job__Group.html#g9bb4655e3e4c06d78cd07aa0ac055956">ecore_job_add</a> (void(*func)(void *data), const void *data)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a job to the event queue.  <a href="group__Ecore__Job__Group.html#g9bb4655e3e4c06d78cd07aa0ac055956"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Job__Group.html#ge64c687b8d34b255cf9ab62175e62859">ecore_job_del</a> (<a class="el" href="Ecore__Job_8h.html#11cf21598fca412bd4a8a0a502717c61">Ecore_Job</a> *job)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Delete a queued job that has not yet been executed.  <a href="group__Ecore__Job__Group.html#ge64c687b8d34b255cf9ab62175e62859"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Functions for dealing with Ecore jobs. 
+<p>
+</body>
+</html>
diff --git a/doc/html/Ecore__Sdl_8h.html b/doc/html/Ecore__Sdl_8h.html
new file mode 100644
index 0000000..e274713
--- /dev/null
+++ b/doc/html/Ecore__Sdl_8h.html
@@ -0,0 +1,124 @@
+<html>
+
+<head>
+
+<title>Ecore: Ecore_Sdl.h File Reference</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li id="current"><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<div class="tabs">
+  <ul>
+    <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+    <li><a href="globals.html"><span>Globals</span></a></li>
+  </ul></div>
+<h1>Ecore_Sdl.h File Reference</h1>Ecore SDL system functions. <a href="#_details">More...</a>
+<p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Data Structures</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Ecore__Sdl__Event__Key__Down.html">_Ecore_Sdl_Event_Key_Down</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">SDL Key Down event.  <a href="struct__Ecore__Sdl__Event__Key__Down.html#_details">More...</a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Ecore__Sdl__Event__Key__Up.html">_Ecore_Sdl_Event_Key_Up</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">SDL Key Up event.  <a href="struct__Ecore__Sdl__Event__Key__Up.html#_details">More...</a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Ecore__Sdl__Event__Mouse__Button__Down.html">_Ecore_Sdl_Event_Mouse_Button_Down</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">SDL Mouse Down event.  <a href="struct__Ecore__Sdl__Event__Mouse__Button__Down.html#_details">More...</a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Ecore__Sdl__Event__Mouse__Button__Up.html">_Ecore_Sdl_Event_Mouse_Button_Up</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">SDL Mouse Up event.  <a href="struct__Ecore__Sdl__Event__Mouse__Button__Up.html#_details">More...</a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Ecore__Sdl__Event__Mouse__Move.html">_Ecore_Sdl_Event_Mouse_Move</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">SDL Mouse Move event.  <a href="struct__Ecore__Sdl__Event__Mouse__Move.html#_details">More...</a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Ecore__Sdl__Event__Mouse__Wheel.html">_Ecore_Sdl_Event_Mouse_Wheel</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">SDL Mouse Wheel event.  <a href="struct__Ecore__Sdl__Event__Mouse__Wheel.html#_details">More...</a><br></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Sdl_8h.html#6a31db6514bd146443a57ecbf0e5965f">ecore_sdl_shutdown</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Shuts down the Ecore_Sdl library.  <a href="#6a31db6514bd146443a57ecbf0e5965f"></a><br></td></tr>
+<tr><td colspan="2"><br><h2>Variables</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3317b32b26b36d28bd7e23ee9f22c5b1"></a><!-- doxytag: member="Ecore_Sdl.h::ECORE_SDL_EVENT_KEY_DOWN" ref="3317b32b26b36d28bd7e23ee9f22c5b1" args="" -->
+EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Sdl_8h.html#3317b32b26b36d28bd7e23ee9f22c5b1">ECORE_SDL_EVENT_KEY_DOWN</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">SDL Key Down event. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="83c7272ff5093cc31f2a57a83627bc66"></a><!-- doxytag: member="Ecore_Sdl.h::ECORE_SDL_EVENT_KEY_UP" ref="83c7272ff5093cc31f2a57a83627bc66" args="" -->
+EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Sdl_8h.html#83c7272ff5093cc31f2a57a83627bc66">ECORE_SDL_EVENT_KEY_UP</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">SDL Key Up event. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="935e3d246da4a6ca37e0eac8ab5801b6"></a><!-- doxytag: member="Ecore_Sdl.h::ECORE_SDL_EVENT_MOUSE_BUTTON_DOWN" ref="935e3d246da4a6ca37e0eac8ab5801b6" args="" -->
+EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Sdl_8h.html#935e3d246da4a6ca37e0eac8ab5801b6">ECORE_SDL_EVENT_MOUSE_BUTTON_DOWN</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">SDL Mouse Down event. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="220c432cf1b06bdffa143c7e15929129"></a><!-- doxytag: member="Ecore_Sdl.h::ECORE_SDL_EVENT_MOUSE_BUTTON_UP" ref="220c432cf1b06bdffa143c7e15929129" args="" -->
+EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Sdl_8h.html#220c432cf1b06bdffa143c7e15929129">ECORE_SDL_EVENT_MOUSE_BUTTON_UP</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">SDL Mouse Up event. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8f8427d98df292a3c92f989dd8af73e5"></a><!-- doxytag: member="Ecore_Sdl.h::ECORE_SDL_EVENT_MOUSE_MOVE" ref="8f8427d98df292a3c92f989dd8af73e5" args="" -->
+EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Sdl_8h.html#8f8427d98df292a3c92f989dd8af73e5">ECORE_SDL_EVENT_MOUSE_MOVE</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">SDL Mouse Move event. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ecf0d54ef58c7288d7aa9b34923e97a7"></a><!-- doxytag: member="Ecore_Sdl.h::ECORE_SDL_EVENT_MOUSE_WHEEL" ref="ecf0d54ef58c7288d7aa9b34923e97a7" args="" -->
+EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Sdl_8h.html#ecf0d54ef58c7288d7aa9b34923e97a7">ECORE_SDL_EVENT_MOUSE_WHEEL</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">SDL Mouse Wheel event. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8ea0b314987cf424713ac99a72799273"></a><!-- doxytag: member="Ecore_Sdl.h::ECORE_SDL_EVENT_GOT_FOCUS" ref="8ea0b314987cf424713ac99a72799273" args="" -->
+EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Sdl_8h.html#8ea0b314987cf424713ac99a72799273">ECORE_SDL_EVENT_GOT_FOCUS</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">SDL Mouse Wheel event. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="676583107b33db7ee6de12646f838cd6"></a><!-- doxytag: member="Ecore_Sdl.h::ECORE_SDL_EVENT_LOST_FOCUS" ref="676583107b33db7ee6de12646f838cd6" args="" -->
+EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Sdl_8h.html#676583107b33db7ee6de12646f838cd6">ECORE_SDL_EVENT_LOST_FOCUS</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">SDL Mouse Wheel event. <br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Ecore SDL system functions. 
+<p>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="6a31db6514bd146443a57ecbf0e5965f"></a><!-- doxytag: member="Ecore_Sdl.h::ecore_sdl_shutdown" ref="6a31db6514bd146443a57ecbf0e5965f" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_sdl_shutdown           </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Shuts down the Ecore_Sdl library. 
+<p>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd><code>The</code> number of times the system has been initialised without being shut down. </dd></dl>
+
+</div>
+</div><p>
+</body>
+</html>
diff --git a/doc/html/Ecore__Str_8h.html b/doc/html/Ecore__Str_8h.html
new file mode 100644
index 0000000..03a6ba4
--- /dev/null
+++ b/doc/html/Ecore__Str_8h.html
@@ -0,0 +1,309 @@
+<html>
+
+<head>
+
+<title>Ecore: Ecore_Str.h File Reference</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li id="current"><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<div class="tabs">
+  <ul>
+    <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+    <li><a href="globals.html"><span>Globals</span></a></li>
+  </ul></div>
+<h1>Ecore_Str.h File Reference</h1>Contains useful C string functions. <a href="#_details">More...</a>
+<p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Str_8h.html#52f6f935e4f2e78f79ce9d9b729ae273">ecore_strlcpy</a> (char *dst, const char *src, size_t siz)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>dst</em>&nbsp;</td><td>the destination copy a c-string </td></tr>
+  </table>
+</dl>
+ <a href="#52f6f935e4f2e78f79ce9d9b729ae273"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Str_8h.html#2a4abe17fbc6d665a6d25fcee7c60252">ecore_strlcat</a> (char *dst, const char *src, size_t siz)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>dst</em>&nbsp;</td><td>the destination append a c-string </td></tr>
+  </table>
+</dl>
+ <a href="#2a4abe17fbc6d665a6d25fcee7c60252"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Str_8h.html#95152101fce9c95db83931c83a78223e">ecore_str_has_prefix</a> (const char *str, const char *prefix)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>str</em>&nbsp;</td><td>the string to work with checks if the string has the given prefix </td></tr>
+  </table>
+</dl>
+ <a href="#95152101fce9c95db83931c83a78223e"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Str_8h.html#c08672cea45f66b56ffa48337ae1ef5a">ecore_str_has_suffix</a> (const char *str, const char *suffix)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>str</em>&nbsp;</td><td>the string to work with checks if the string has the given suffix </td></tr>
+  </table>
+</dl>
+ <a href="#c08672cea45f66b56ffa48337ae1ef5a"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI char **&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Str_8h.html#94e1be7bd0a9d74e8e2ab675112f72e8">ecore_str_split</a> (const char *string, const char *delimiter, int max_tokens)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Splits a string into a maximum of max_tokens pieces, using the given delimiter.  <a href="#94e1be7bd0a9d74e8e2ab675112f72e8"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Contains useful C string functions. 
+<p>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="95152101fce9c95db83931c83a78223e"></a><!-- doxytag: member="Ecore_Str.h::ecore_str_has_prefix" ref="95152101fce9c95db83931c83a78223e" args="(const char *str, const char *prefix)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_str_has_prefix           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>str</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>prefix</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>str</em>&nbsp;</td><td>the string to work with checks if the string has the given prefix </td></tr>
+  </table>
+</dl>
+
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>prefix</em>&nbsp;</td><td>the prefix to check for </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>true if str has the given prefix </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="c08672cea45f66b56ffa48337ae1ef5a"></a><!-- doxytag: member="Ecore_Str.h::ecore_str_has_suffix" ref="c08672cea45f66b56ffa48337ae1ef5a" args="(const char *str, const char *suffix)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_str_has_suffix           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>str</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>suffix</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>str</em>&nbsp;</td><td>the string to work with checks if the string has the given suffix </td></tr>
+  </table>
+</dl>
+
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>suffix</em>&nbsp;</td><td>the suffix to check for </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>true if str has the given suffix </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="94e1be7bd0a9d74e8e2ab675112f72e8"></a><!-- doxytag: member="Ecore_Str.h::ecore_str_split" ref="94e1be7bd0a9d74e8e2ab675112f72e8" args="(const char *string, const char *delimiter, int max_tokens)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI char** ecore_str_split           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>str</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>delim</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>max_tokens</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Splits a string into a maximum of max_tokens pieces, using the given delimiter. 
+<p>
+If max_tokens is reached, the final string in the returned string array contains the remainder of string.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>str</em>&nbsp;</td><td>A string to split. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>delim</em>&nbsp;</td><td>A string which specifies the places at which to split the string. The delimiter is not included in any of the resulting strings, unless max_tokens is reached. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>max_tokens</em>&nbsp;</td><td>The maximum number of strings to split string into. If this is less than 1, the string is split completely. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>A newly-allocated NULL-terminated array of strings. To free it: free the first element of the array and the array itself. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="2a4abe17fbc6d665a6d25fcee7c60252"></a><!-- doxytag: member="Ecore_Str.h::ecore_strlcat" ref="2a4abe17fbc6d665a6d25fcee7c60252" args="(char *dst, const char *src, size_t siz)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI size_t ecore_strlcat           </td>
+          <td>(</td>
+          <td class="paramtype">char *&nbsp;</td>
+          <td class="paramname"> <em>dst</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>src</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">size_t&nbsp;</td>
+          <td class="paramname"> <em>siz</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>dst</em>&nbsp;</td><td>the destination append a c-string </td></tr>
+  </table>
+</dl>
+
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>src</em>&nbsp;</td><td>the source </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>siz</em>&nbsp;</td><td>the size of the destination </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>the length of the source string plus MIN(siz, strlen(initial dst))</dd></dl>
+Appends src to string dst of size siz (unlike strncat, siz is the full size of dst, not space left). At most siz-1 characters will be copied. Always NUL terminates (unless siz &lt;= strlen(dst)). Returns strlen(src) + MIN(siz, strlen(initial dst)). If retval &gt;= siz, truncation occurred. 
+</div>
+</div><p>
+<a class="anchor" name="52f6f935e4f2e78f79ce9d9b729ae273"></a><!-- doxytag: member="Ecore_Str.h::ecore_strlcpy" ref="52f6f935e4f2e78f79ce9d9b729ae273" args="(char *dst, const char *src, size_t siz)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI size_t ecore_strlcpy           </td>
+          <td>(</td>
+          <td class="paramtype">char *&nbsp;</td>
+          <td class="paramname"> <em>dst</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>src</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">size_t&nbsp;</td>
+          <td class="paramname"> <em>siz</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>dst</em>&nbsp;</td><td>the destination copy a c-string </td></tr>
+  </table>
+</dl>
+
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>src</em>&nbsp;</td><td>the source </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>siz</em>&nbsp;</td><td>the size of the destination </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>the length of the source string</dd></dl>
+Copy src to string dst of size siz. At most siz-1 characters will be copied. Always NUL terminates (unless siz == 0). Returns strlen(src); if retval &gt;= siz, truncation occurred. 
+</div>
+</div><p>
+</body>
+</html>
diff --git a/doc/html/Ecore__Txt_8h.html b/doc/html/Ecore__Txt_8h.html
new file mode 100644
index 0000000..e75c88a
--- /dev/null
+++ b/doc/html/Ecore__Txt_8h.html
@@ -0,0 +1,86 @@
+<html>
+
+<head>
+
+<title>Ecore: Ecore_Txt.h File Reference</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li id="current"><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<div class="tabs">
+  <ul>
+    <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+    <li><a href="globals.html"><span>Globals</span></a></li>
+  </ul></div>
+<h1>Ecore_Txt.h File Reference</h1>Provides a text encoding conversion function. <a href="#_details">More...</a>
+<p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__Txt_8h.html#ec5c71c510d580eb904fe515b58b558f">ecore_txt_convert</a> (const char *enc_from, const char *enc_to, const char *text)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#ec5c71c510d580eb904fe515b58b558f"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Provides a text encoding conversion function. 
+<p>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="ec5c71c510d580eb904fe515b58b558f"></a><!-- doxytag: member="Ecore_Txt.h::ecore_txt_convert" ref="ec5c71c510d580eb904fe515b58b558f" args="(const char *enc_from, const char *enc_to, const char *text)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI char* ecore_txt_convert           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>enc_from</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>enc_to</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>text</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+To be documented. 
+<p>
+FIXME: Finish this. 
+</div>
+</div><p>
+</body>
+</html>
diff --git a/doc/html/Ecore__X_8h.html b/doc/html/Ecore__X_8h.html
new file mode 100644
index 0000000..754f872
--- /dev/null
+++ b/doc/html/Ecore__X_8h.html
@@ -0,0 +1,3269 @@
+<html>
+
+<head>
+
+<title>Ecore: Ecore_X.h File Reference</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li id="current"><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<div class="tabs">
+  <ul>
+    <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+    <li><a href="globals.html"><span>Globals</span></a></li>
+  </ul></div>
+<h1>Ecore_X.h File Reference</h1>Ecore functions for dealing with the X Windows System. <a href="#_details">More...</a>
+<p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Enumerations</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__X_8h.html#dc73a7a2011cf1fa610b4100190807f1">_Ecore_X_Window_State</a> { <br>
+&nbsp;&nbsp;<a class="el" href="Ecore__X_8h.html#dc73a7a2011cf1fa610b4100190807f1b743a8796f78fa31a216f142bd729f38">ECORE_X_WINDOW_STATE_ICONIFIED</a>, 
+<br>
+&nbsp;&nbsp;<a class="el" href="Ecore__X_8h.html#dc73a7a2011cf1fa610b4100190807f1913975f3907250af993042729d0eca87">ECORE_X_WINDOW_STATE_MODAL</a>, 
+<br>
+&nbsp;&nbsp;<a class="el" href="Ecore__X_8h.html#dc73a7a2011cf1fa610b4100190807f18b758d78e270b3274431d91b02484b30">ECORE_X_WINDOW_STATE_STICKY</a>, 
+<br>
+&nbsp;&nbsp;<a class="el" href="Ecore__X_8h.html#dc73a7a2011cf1fa610b4100190807f1bfe7dee8962110c5f9d514bbf6dd658c">ECORE_X_WINDOW_STATE_MAXIMIZED_VERT</a>, 
+<br>
+&nbsp;&nbsp;<a class="el" href="Ecore__X_8h.html#dc73a7a2011cf1fa610b4100190807f16767bdc87057c70cdd236d6ca158463d">ECORE_X_WINDOW_STATE_MAXIMIZED_HORZ</a>, 
+<br>
+&nbsp;&nbsp;<a class="el" href="Ecore__X_8h.html#dc73a7a2011cf1fa610b4100190807f1aee9b74696501d60977b3cf682a1caff">ECORE_X_WINDOW_STATE_SHADED</a>, 
+<br>
+&nbsp;&nbsp;<a class="el" href="Ecore__X_8h.html#dc73a7a2011cf1fa610b4100190807f131e3d2047dbf9cfcd7c1ae4cd661a0ff">ECORE_X_WINDOW_STATE_SKIP_TASKBAR</a>, 
+<br>
+&nbsp;&nbsp;<a class="el" href="Ecore__X_8h.html#dc73a7a2011cf1fa610b4100190807f1bd03ef746554d9d66c1458b99fbc7e21">ECORE_X_WINDOW_STATE_SKIP_PAGER</a>, 
+<br>
+&nbsp;&nbsp;<a class="el" href="Ecore__X_8h.html#dc73a7a2011cf1fa610b4100190807f194e1956bcc7b817dabf944457f99ed92">ECORE_X_WINDOW_STATE_HIDDEN</a>, 
+<br>
+&nbsp;&nbsp;<a class="el" href="Ecore__X_8h.html#dc73a7a2011cf1fa610b4100190807f1813f8507385ac350c0c2c6677898a8c9">ECORE_X_WINDOW_STATE_FULLSCREEN</a>
+<br>
+ }</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__X_8h.html#e4166d74a0954bc928706496f677e56d">_Ecore_X_WM_Protocol</a> { <br>
+&nbsp;&nbsp;<a class="el" href="Ecore__X_8h.html#e4166d74a0954bc928706496f677e56d27d9e53db2213d3df8051f47b750fdc6">ECORE_X_WM_PROTOCOL_DELETE_REQUEST</a>, 
+<br>
+&nbsp;&nbsp;<a class="el" href="Ecore__X_8h.html#e4166d74a0954bc928706496f677e56d5657fbc84712eb536f7fc1c13c446245">ECORE_X_WM_PROTOCOL_TAKE_FOCUS</a>, 
+<br>
+&nbsp;&nbsp;<a class="el" href="Ecore__X_8h.html#e4166d74a0954bc928706496f677e56d83109c98c3793ec8c0e8ae4f46389b37">ECORE_X_NET_WM_PROTOCOL_PING</a>, 
+<br>
+&nbsp;&nbsp;<a class="el" href="Ecore__X_8h.html#e4166d74a0954bc928706496f677e56d0754156ca8a04567ca0b93721a02a974">ECORE_X_NET_WM_PROTOCOL_SYNC_REQUEST</a>
+<br>
+ }</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__X_8h.html#27ee6c5d6e76016b7fd71a4b003e440d">_Ecore_X_Window_Input_Mode</a> { <br>
+&nbsp;&nbsp;<a class="el" href="Ecore__X_8h.html#27ee6c5d6e76016b7fd71a4b003e440d61e84f9007e6d49a0a6758378fb900a8">ECORE_X_WINDOW_INPUT_MODE_NONE</a>, 
+<br>
+&nbsp;&nbsp;<a class="el" href="Ecore__X_8h.html#27ee6c5d6e76016b7fd71a4b003e440d88b82c759d3481c0b52af66d50cde54e">ECORE_X_WINDOW_INPUT_MODE_PASSIVE</a>, 
+<br>
+&nbsp;&nbsp;<a class="el" href="Ecore__X_8h.html#27ee6c5d6e76016b7fd71a4b003e440d70598e73807833dfdde3391011d26c00">ECORE_X_WINDOW_INPUT_MODE_ACTIVE_LOCAL</a>, 
+<br>
+&nbsp;&nbsp;<a class="el" href="Ecore__X_8h.html#27ee6c5d6e76016b7fd71a4b003e440d77c3d879970639ed109e51636b1c3caf">ECORE_X_WINDOW_INPUT_MODE_ACTIVE_GLOBAL</a>
+<br>
+ }</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__X_8h.html#738ccad8c89247d9cd80e007fab0bf1e">_Ecore_X_Window_State_Hint</a> { <br>
+&nbsp;&nbsp;<a class="el" href="Ecore__X_8h.html#738ccad8c89247d9cd80e007fab0bf1eab490edafc104803047ef38e3fe37f1f">ECORE_X_WINDOW_STATE_HINT_NONE</a> =  -1, 
+<br>
+&nbsp;&nbsp;<a class="el" href="Ecore__X_8h.html#738ccad8c89247d9cd80e007fab0bf1e2ee8636730f2ccf0f3b29c3919c708eb">ECORE_X_WINDOW_STATE_HINT_WITHDRAWN</a>, 
+<br>
+&nbsp;&nbsp;<a class="el" href="Ecore__X_8h.html#738ccad8c89247d9cd80e007fab0bf1eb5d3bf570112e77f142081df61749f43">ECORE_X_WINDOW_STATE_HINT_NORMAL</a>, 
+<br>
+&nbsp;&nbsp;<a class="el" href="Ecore__X_8h.html#738ccad8c89247d9cd80e007fab0bf1edb18b35391c2c6ea2f8dafd6577dabac">ECORE_X_WINDOW_STATE_HINT_ICONIC</a>
+<br>
+ }</td></tr>
+
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Init__Group.html#g92e834eefd48b55101fa30c7386a709e">ecore_x_init</a> (const char *name)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initialize the X display connection to the given display.  <a href="group__Ecore__X__Init__Group.html#g92e834eefd48b55101fa30c7386a709e"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Init__Group.html#gebb628e400a8c90696b67935bef84873">ecore_x_shutdown</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Shuts down the Ecore X library.  <a href="group__Ecore__X__Init__Group.html#gebb628e400a8c90696b67935bef84873"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Init__Group.html#g01158850d3f9632f4bc6c79fb194e09b">ecore_x_disconnect</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Shuts down the Ecore X library.  <a href="group__Ecore__X__Init__Group.html#g01158850d3f9632f4bc6c79fb194e09b"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_X_Display *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Display__Attr__Group.html#g19e90a6e5305432577d984a11e45cb16">ecore_x_display_get</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the Ecore_X_Display handle used for the current X connection.  <a href="group__Ecore__X__Display__Attr__Group.html#g19e90a6e5305432577d984a11e45cb16"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_X_Connection *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Xcb__Display__Attr__Group.html#g436bfb6485312c845f8561ba1493f812">ecore_x_connection_get</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the Ecore_X_Connection handle used for the current X connection.  <a href="group__Ecore__Xcb__Display__Attr__Group.html#g436bfb6485312c845f8561ba1493f812"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Display__Attr__Group.html#g6d11859fd7a822cbde4236be67a8df24">ecore_x_fd_get</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the X display file descriptor.  <a href="group__Ecore__X__Display__Attr__Group.html#g6d11859fd7a822cbde4236be67a8df24"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_X_Screen *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Xcb__Display__Attr__Group.html#g43f13301cc5279862898873cb87ba461">ecore_x_default_screen_get</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the Ecore_X_Screen handle used for the current X connection.  <a href="group__Ecore__Xcb__Display__Attr__Group.html#g43f13301cc5279862898873cb87ba461"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Display__Attr__Group.html#gfc0ad83fd20e71ffdd8d706323778f67">ecore_x_double_click_time_set</a> (double t)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the timeout for a double and triple clicks to be flagged.  <a href="group__Ecore__X__Display__Attr__Group.html#gfc0ad83fd20e71ffdd8d706323778f67"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Display__Attr__Group.html#g0595a462bd4ffe0450ba45658624eb7e">ecore_x_double_click_time_get</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the double and triple click flag timeout.  <a href="group__Ecore__X__Display__Attr__Group.html#g0595a462bd4ffe0450ba45658624eb7e"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g86a37de4b106942e1b33f88455f5a00f"></a><!-- doxytag: member="Ecore_X.h::ecore_x_flush" ref="g86a37de4b106942e1b33f88455f5a00f" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Flush__Group.html#g86a37de4b106942e1b33f88455f5a00f">ecore_x_flush</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends all X commands in the X Display buffer. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g515363b1157ae3b2e3d1d9d3eec448af"></a><!-- doxytag: member="Ecore_X.h::ecore_x_sync" ref="g515363b1157ae3b2e3d1d9d3eec448af" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Flush__Group.html#g515363b1157ae3b2e3d1d9d3eec448af">ecore_x_sync</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Flushes the command buffer and waits until all requests have been processed by the server. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__X_8h.html#cfb7138e003fdda4452e73fbc879cddd">ecore_x_killall</a> (Ecore_X_Window root)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Kill all clients with subwindows under a given window.  <a href="#cfb7138e003fdda4452e73fbc879cddd"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__X_8h.html#bccc12f989efb33663d1fe54b96c12e2">ecore_x_kill</a> (Ecore_X_Window win)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Kill a specific client.  <a href="#bccc12f989efb33663d1fe54b96c12e2"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="08662b745c215d9012e953777f17ba17"></a><!-- doxytag: member="Ecore_X.h::ecore_x_current_time_get" ref="08662b745c215d9012e953777f17ba17" args="(void)" -->
+EAPI Ecore_X_Time&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__X_8h.html#08662b745c215d9012e953777f17ba17">ecore_x_current_time_get</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the last event time. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__X_8h.html#0e666a65593e83146fc4df7a5b8025c7">ecore_x_error_handler_set</a> (void(*func)(void *data), const void *data)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the error handler.  <a href="#0e666a65593e83146fc4df7a5b8025c7"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__X_8h.html#1283ea18fceed968627f1e2c13750d80">ecore_x_io_error_handler_set</a> (void(*func)(void *data), const void *data)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the I/O error handler.  <a href="#1283ea18fceed968627f1e2c13750d80"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__X_8h.html#c69bf911c334edb87c657455b8f93d9e">ecore_x_error_request_get</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the request code that caused the error.  <a href="#c69bf911c334edb87c657455b8f93d9e"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__X_8h.html#1c63fe54bdbd5846a0e535ae7957d565">ecore_x_error_code_get</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the error code from the error.  <a href="#1c63fe54bdbd5846a0e535ae7957d565"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e86ff8e908af7f620d186449b093525d"></a><!-- doxytag: member="Ecore_X.h::ecore_x_selection_primary_prefetch" ref="e86ff8e908af7f620d186449b093525d" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__X_8h.html#e86ff8e908af7f620d186449b093525d">ecore_x_selection_primary_prefetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the GetSelectionOwner request. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a0a14ed7682ddae679ad1eb9b172a6df"></a><!-- doxytag: member="Ecore_X.h::ecore_x_selection_primary_fetch" ref="a0a14ed7682ddae679ad1eb9b172a6df" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__X_8h.html#a0a14ed7682ddae679ad1eb9b172a6df">ecore_x_selection_primary_fetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the reply of the GetSelectionOwner request sent by <a class="el" href="Ecore__X_8h.html#e86ff8e908af7f620d186449b093525d">ecore_x_selection_primary_prefetch()</a>. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__X_8h.html#316362262fc1cce9cb9a744600cd91f2">ecore_x_selection_primary_set</a> (Ecore_X_Window w, const void *data, int size)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Claim ownership of the PRIMARY selection and set its data.  <a href="#316362262fc1cce9cb9a744600cd91f2"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__X_8h.html#ec438c5b878050b004a58c0e33062720">ecore_x_selection_primary_clear</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Release ownership of the primary selection.  <a href="#ec438c5b878050b004a58c0e33062720"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b9c419c5128e4d26db4374d281f26ecb"></a><!-- doxytag: member="Ecore_X.h::ecore_x_selection_secondary_prefetch" ref="b9c419c5128e4d26db4374d281f26ecb" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__X_8h.html#b9c419c5128e4d26db4374d281f26ecb">ecore_x_selection_secondary_prefetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the GetSelectionOwner request. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2dee8a2104c506e59a92bfe83dd7407b"></a><!-- doxytag: member="Ecore_X.h::ecore_x_selection_secondary_fetch" ref="2dee8a2104c506e59a92bfe83dd7407b" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__X_8h.html#2dee8a2104c506e59a92bfe83dd7407b">ecore_x_selection_secondary_fetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the reply of the GetSelectionOwner request sent by <a class="el" href="Ecore__X_8h.html#b9c419c5128e4d26db4374d281f26ecb">ecore_x_selection_secondary_prefetch()</a>. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__X_8h.html#96fadcc8662e59e40e199d07a74d7d8c">ecore_x_selection_secondary_set</a> (Ecore_X_Window w, const void *data, int size)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Claim ownership of the SECONDARY selection and set its data.  <a href="#96fadcc8662e59e40e199d07a74d7d8c"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__X_8h.html#af525c0c3775ac4efc535acd1a31550e">ecore_x_selection_secondary_clear</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Release ownership of the secondary selection.  <a href="#af525c0c3775ac4efc535acd1a31550e"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="bee1a5eeb8bddbed3d1e48eb9c122b7f"></a><!-- doxytag: member="Ecore_X.h::ecore_x_selection_xdnd_prefetch" ref="bee1a5eeb8bddbed3d1e48eb9c122b7f" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__X_8h.html#bee1a5eeb8bddbed3d1e48eb9c122b7f">ecore_x_selection_xdnd_prefetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the GetSelectionOwner request. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="668334c7ddf60fa20f98dc9830eba1eb"></a><!-- doxytag: member="Ecore_X.h::ecore_x_selection_xdnd_fetch" ref="668334c7ddf60fa20f98dc9830eba1eb" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__X_8h.html#668334c7ddf60fa20f98dc9830eba1eb">ecore_x_selection_xdnd_fetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the reply of the GetSelectionOwner request sent by <a class="el" href="Ecore__X_8h.html#bee1a5eeb8bddbed3d1e48eb9c122b7f">ecore_x_selection_xdnd_prefetch()</a>. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__X_8h.html#bdda48b18621d5b212632cfbeaa04a1c">ecore_x_selection_xdnd_set</a> (Ecore_X_Window w, const void *data, int size)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Claim ownership of the XDND selection and set its data.  <a href="#bdda48b18621d5b212632cfbeaa04a1c"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__X_8h.html#ad8c37e733f6fc5ae616ff30d8621871">ecore_x_selection_xdnd_clear</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Release ownership of the XDND selection.  <a href="#ad8c37e733f6fc5ae616ff30d8621871"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3742482b87ab25c390f3ea48cc276a29"></a><!-- doxytag: member="Ecore_X.h::ecore_x_selection_clipboard_prefetch" ref="3742482b87ab25c390f3ea48cc276a29" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__X_8h.html#3742482b87ab25c390f3ea48cc276a29">ecore_x_selection_clipboard_prefetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the GetSelectionOwner request. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3e5d595f4bbabd29f1951b9c28d0f384"></a><!-- doxytag: member="Ecore_X.h::ecore_x_selection_clipboard_fetch" ref="3e5d595f4bbabd29f1951b9c28d0f384" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__X_8h.html#3e5d595f4bbabd29f1951b9c28d0f384">ecore_x_selection_clipboard_fetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the reply of the GetSelectionOwner request sent by <a class="el" href="Ecore__X_8h.html#3742482b87ab25c390f3ea48cc276a29">ecore_x_selection_clipboard_prefetch()</a>. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__X_8h.html#fc255b32b26008676da623cc044a5f39">ecore_x_selection_clipboard_set</a> (Ecore_X_Window w, const void *data, int size)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Claim ownership of the CLIPBOARD selection and set its data.  <a href="#fc255b32b26008676da623cc044a5f39"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__X_8h.html#690146f78b917aa6f08a242365946d4f">ecore_x_selection_clipboard_clear</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Release ownership of the clipboard selection.  <a href="#690146f78b917aa6f08a242365946d4f"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__X_8h.html#e7f266903dbf92b6bd9175b4b44c3fcd">ecore_x_dnd_version_get_prefetch</a> (Ecore_X_Window window)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the GetProperty request.  <a href="#e7f266903dbf92b6bd9175b4b44c3fcd"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="238ed4b614a99820351dea8299121e42"></a><!-- doxytag: member="Ecore_X.h::ecore_x_dnd_version_get_fetch" ref="238ed4b614a99820351dea8299121e42" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__X_8h.html#238ed4b614a99820351dea8299121e42">ecore_x_dnd_version_get_fetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the reply of the GetProperty request sent by <a class="el" href="Ecore__X_8h.html#e7f266903dbf92b6bd9175b4b44c3fcd">ecore_x_dnd_version_get_prefetch()</a>. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__X_8h.html#0b68cce92d1f990321903e5d9292391c">ecore_x_dnd_version_get</a> (Ecore_X_Window win)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the DnD version.  <a href="#0b68cce92d1f990321903e5d9292391c"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__X_8h.html#faac16867b88c543fc3495d7870de2db">ecore_x_dnd_type_get_prefetch</a> (Ecore_X_Window window)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the GetProperty request.  <a href="#faac16867b88c543fc3495d7870de2db"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5bed0f4a896d74c405da1f2b288ecfa2"></a><!-- doxytag: member="Ecore_X.h::ecore_x_dnd_type_get_fetch" ref="5bed0f4a896d74c405da1f2b288ecfa2" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__X_8h.html#5bed0f4a896d74c405da1f2b288ecfa2">ecore_x_dnd_type_get_fetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the reply of the GetProperty request sent by <a class="el" href="Ecore__X_8h.html#faac16867b88c543fc3495d7870de2db">ecore_x_dnd_type_get_prefetch()</a>. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__X_8h.html#a6353eec3c6edb2844af21837f7b443b">ecore_x_dnd_type_isset</a> (Ecore_X_Window win, const char *type)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check if the type is set.  <a href="#a6353eec3c6edb2844af21837f7b443b"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__X_8h.html#1d0182a066392f254569cb713c7ff92a">ecore_x_dnd_type_set</a> (Ecore_X_Window win, const char *type, int on)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the type.  <a href="#1d0182a066392f254569cb713c7ff92a"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__X_8h.html#d58563fb4d3c56559c3eef1bd0641641">ecore_x_dnd_types_set</a> (Ecore_X_Window win, char **types, unsigned int num_types)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the types.  <a href="#d58563fb4d3c56559c3eef1bd0641641"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__X_8h.html#ee92dc6569e2399467e311dc1891cec1">ecore_x_dnd_begin_prefetch</a> (Ecore_X_Window source)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the GetProperty request.  <a href="#ee92dc6569e2399467e311dc1891cec1"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1c0b6f09e658cf6665e33b3fb23c453f"></a><!-- doxytag: member="Ecore_X.h::ecore_x_dnd_begin_fetch" ref="1c0b6f09e658cf6665e33b3fb23c453f" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__X_8h.html#1c0b6f09e658cf6665e33b3fb23c453f">ecore_x_dnd_begin_fetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the reply of the GetProperty request sent by <a class="el" href="Ecore__X_8h.html#ee92dc6569e2399467e311dc1891cec1">ecore_x_dnd_begin_prefetch()</a>. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__X_8h.html#69a1f34a22cb895eb2f69bbb0dba664d">ecore_x_dnd_begin</a> (Ecore_X_Window source, unsigned char *data, int size)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Begins the DnD.  <a href="#69a1f34a22cb895eb2f69bbb0dba664d"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_X_Window&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Create__Group.html#g9a56a8e5531b753b0e70d9214d6609e0">ecore_x_window_new</a> (Ecore_X_Window parent, int x, int y, int w, int h)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a new window.  <a href="group__Ecore__X__Window__Create__Group.html#g9a56a8e5531b753b0e70d9214d6609e0"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_X_Window&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Create__Group.html#g053877418501298a7b304588ef7c1379">ecore_x_window_override_new</a> (Ecore_X_Window parent, int x, int y, int w, int h)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a window with the override redirect attribute set to <code>True</code>.  <a href="group__Ecore__X__Window__Create__Group.html#g053877418501298a7b304588ef7c1379"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_X_Window&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Create__Group.html#g65c727950377bd73882a2515b0c5f33d">ecore_x_window_manager_argb_new</a> (Ecore_X_Window parent, int x, int y, int w, int h)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a new window.  <a href="group__Ecore__X__Window__Create__Group.html#g65c727950377bd73882a2515b0c5f33d"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_X_Window&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Create__Group.html#gb12cbb8a6230d8e37fa24562869fc71d">ecore_x_window_argb_new</a> (Ecore_X_Window parent, int x, int y, int w, int h)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a new window.  <a href="group__Ecore__X__Window__Create__Group.html#gb12cbb8a6230d8e37fa24562869fc71d"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_X_Window&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Create__Group.html#ga9ef0bf8015e77e20579bcb268debd0d">ecore_x_window_override_argb_new</a> (Ecore_X_Window parent, int x, int y, int w, int h)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a window with the override redirect attribute set to <code>True</code>.  <a href="group__Ecore__X__Window__Create__Group.html#ga9ef0bf8015e77e20579bcb268debd0d"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_X_Window&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Create__Group.html#g479af5fe79e7f75add0d566f4269fb21">ecore_x_window_input_new</a> (Ecore_X_Window parent, int x, int y, int w, int h)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a new input window.  <a href="group__Ecore__X__Window__Create__Group.html#g479af5fe79e7f75add0d566f4269fb21"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Configure__Group.html#g99f9caef1455f9f7e3f1d133b0f9342f">ecore_x_window_configure</a> (Ecore_X_Window win, Ecore_X_Window_Configure_Mask mask, int x, int y, int w, int h, int border_width, Ecore_X_Window sibling, int stack_mode)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Configures the given window with the given mask.  <a href="group__Ecore__X__Window__Configure__Group.html#g99f9caef1455f9f7e3f1d133b0f9342f"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Change__Attributes__Group.html#gfde2213805afdbabda8657f98490218e">ecore_x_window_cursor_set</a> (Ecore_X_Window win, Ecore_X_Cursor c)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the cursor of the given window.  <a href="group__Ecore__X__Window__Change__Attributes__Group.html#gfde2213805afdbabda8657f98490218e"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__X__Window__Destroy__Group.html#ga1d786fac4e47618d76ac67896be4a21">ecore_x_window_del</a> (Ecore_X_Window win)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Deletes the given window.  <a href="group__Evas__X__Window__Destroy__Group.html#ga1d786fac4e47618d76ac67896be4a21"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__X_8h.html#c7fec7dc837b162127fdbb7c35ea4c81">ecore_x_window_ignore_set</a> (Ecore_X_Window win, int ignore)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set if a window should be ignored.  <a href="#c7fec7dc837b162127fdbb7c35ea4c81"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_X_Window *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__X_8h.html#576f72e83f8822abe9e876353ddf32cd">ecore_x_window_ignore_list</a> (int *num)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the ignore list.  <a href="#576f72e83f8822abe9e876353ddf32cd"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__X__Window__Destroy__Group.html#gca23caf9887a2751f57fdf463dcf5667">ecore_x_window_delete_request_send</a> (Ecore_X_Window win)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends a delete request to the given window.  <a href="group__Evas__X__Window__Destroy__Group.html#gca23caf9887a2751f57fdf463dcf5667"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Visibility__Group.html#gb789c28ff2b22655b13c927095817e6c">ecore_x_window_show</a> (Ecore_X_Window win)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Shows a window.  <a href="group__Ecore__X__Window__Visibility__Group.html#gb789c28ff2b22655b13c927095817e6c"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Visibility__Group.html#g637ec4e3fe033b94de0b28788bdcae7e">ecore_x_window_hide</a> (Ecore_X_Window win)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Hides a window.  <a href="group__Ecore__X__Window__Visibility__Group.html#g637ec4e3fe033b94de0b28788bdcae7e"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Geometry__Group.html#g4874b3c09244eac3828cd332bafd7978">ecore_x_window_move</a> (Ecore_X_Window win, int x, int y)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Moves a window to the position <code>x</code>, <code>y</code>.  <a href="group__Ecore__X__Window__Geometry__Group.html#g4874b3c09244eac3828cd332bafd7978"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Geometry__Group.html#gccb702ac5a14183e4e125c6ca98d75bb">ecore_x_window_resize</a> (Ecore_X_Window win, int w, int h)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Resizes a window.  <a href="group__Ecore__X__Window__Geometry__Group.html#gccb702ac5a14183e4e125c6ca98d75bb"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Geometry__Group.html#g4bdf5178a61b983cac7c102fe06d400d">ecore_x_window_move_resize</a> (Ecore_X_Window win, int x, int y, int w, int h)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Moves and resizes a window.  <a href="group__Ecore__X__Window__Geometry__Group.html#g4bdf5178a61b983cac7c102fe06d400d"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Focus__Functions.html#g250b9a13f41bfc6adbd395dd150ec873">ecore_x_window_focus</a> (Ecore_X_Window win)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the focus to the window <code>win</code>.  <a href="group__Ecore__X__Window__Focus__Functions.html#g250b9a13f41bfc6adbd395dd150ec873"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Focus__Functions.html#gc1b23ac2d0f466955e7dfb82fd406264">ecore_x_window_focus_at_time</a> (Ecore_X_Window win, Ecore_X_Time t)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the focus to the given window at a specific time.  <a href="group__Ecore__X__Window__Focus__Functions.html#gc1b23ac2d0f466955e7dfb82fd406264"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga92860262b8d5e516d183a21b181fe0e"></a><!-- doxytag: member="Ecore_X.h::ecore_x_get_input_focus_prefetch" ref="ga92860262b8d5e516d183a21b181fe0e" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Input__Focus__Group.html#ga92860262b8d5e516d183a21b181fe0e">ecore_x_get_input_focus_prefetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the GetInputFocus request. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g02ae3f361154035adc34417f2ba97825"></a><!-- doxytag: member="Ecore_X.h::ecore_x_get_input_focus_fetch" ref="g02ae3f361154035adc34417f2ba97825" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Input__Focus__Group.html#g02ae3f361154035adc34417f2ba97825">ecore_x_get_input_focus_fetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the reply of the GetInputFocus request sent by <a class="el" href="group__Ecore__X__Window__Input__Focus__Group.html#ga92860262b8d5e516d183a21b181fe0e">ecore_x_get_input_focus_prefetch()</a>. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_X_Window&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Focus__Functions.html#g0c673d99b2baea6d1e627fda19ebbc77">ecore_x_window_focus_get</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">gets the focus to the window <code>win</code>.  <a href="group__Ecore__X__Window__Focus__Functions.html#g0c673d99b2baea6d1e627fda19ebbc77"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Z__Order__Group.html#gb248ec846ab3fd167840d39f611c555c">ecore_x_window_raise</a> (Ecore_X_Window win)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Raises the given window.  <a href="group__Ecore__X__Window__Z__Order__Group.html#gb248ec846ab3fd167840d39f611c555c"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Z__Order__Group.html#gb9b9b7496dbcc88f4957dacad38b19f3">ecore_x_window_lower</a> (Ecore_X_Window win)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Lowers the given window.  <a href="group__Ecore__X__Window__Z__Order__Group.html#gb9b9b7496dbcc88f4957dacad38b19f3"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Parent__Group.html#gc8bb341a5e9300b5de4df3678c33cf85">ecore_x_window_reparent</a> (Ecore_X_Window win, Ecore_X_Window new_parent, int x, int y)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Moves a window to within another window at a given position.  <a href="group__Ecore__X__Window__Parent__Group.html#gc8bb341a5e9300b5de4df3678c33cf85"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Geometry__Group.html#g2c9878a9ce787bbed9475f48c8a712ae">ecore_x_window_size_get</a> (Ecore_X_Window win, int *w, int *h)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the size of the given window.  <a href="group__Ecore__X__Window__Geometry__Group.html#g2c9878a9ce787bbed9475f48c8a712ae"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Geometry__Group.html#g7587437d291e1150060bbe6a10cd2a1f">ecore_x_window_geometry_get</a> (Ecore_X_Window win, int *x, int *y, int *w, int *h)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the geometry of the given window.  <a href="group__Ecore__X__Window__Geometry__Group.html#g7587437d291e1150060bbe6a10cd2a1f"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Geometry__Group.html#geb5ad9b694963652e5d8b3036d2b9744">ecore_x_window_border_width_get</a> (Ecore_X_Window win)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the width of the border of the given window.  <a href="group__Ecore__X__Window__Geometry__Group.html#geb5ad9b694963652e5d8b3036d2b9744"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Geometry__Group.html#g51031b34c63636b837982795f940e856">ecore_x_window_border_width_set</a> (Ecore_X_Window win, int width)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the width of the border of the given window.  <a href="group__Ecore__X__Window__Geometry__Group.html#g51031b34c63636b837982795f940e856"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__X_8h.html#e3edc06da877cddcf9f594edb280aa39">ecore_x_window_depth_get</a> (Ecore_X_Window win)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the depth of the given window.  <a href="#e3edc06da877cddcf9f594edb280aa39"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Change__Attributes__Group.html#gfb4d1c1ec8842f10e26ebc38a04e306a">ecore_x_window_cursor_show</a> (Ecore_X_Window win, int show)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="group__Ecore__X__Window__Change__Attributes__Group.html#gfb4d1c1ec8842f10e26ebc38a04e306a"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__X_8h.html#ab9f527e685a919467032d4153774e60">ecore_x_window_defaults_set</a> (Ecore_X_Window win)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the default properties for the given window.  <a href="#ab9f527e685a919467032d4153774e60"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Visibility__Group.html#gbe025bc290912668119afdf049f744e0">ecore_x_window_visible_get</a> (Ecore_X_Window win)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Finds out whether the given window is currently visible.  <a href="group__Ecore__X__Window__Visibility__Group.html#gbe025bc290912668119afdf049f744e0"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_X_Window&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Geometry__Group.html#g6776554aa4ade68003e6e8a98e481df2">ecore_x_window_at_xy_get</a> (int x, int y)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the top, visible window at the given location.  <a href="group__Ecore__X__Window__Geometry__Group.html#g6776554aa4ade68003e6e8a98e481df2"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_X_Window&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Geometry__Group.html#g671777ac9b390611aaec0cdecc86658a">ecore_x_window_at_xy_with_skip_get</a> (int x, int y, Ecore_X_Window *skip, int skip_num)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the top, visible window at the given location, but skips the windows in the list.  <a href="group__Ecore__X__Window__Geometry__Group.html#g671777ac9b390611aaec0cdecc86658a"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_X_Window&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Geometry__Group.html#gfff24861ed257264c9d9119fd0509c08">ecore_x_window_at_xy_begin_get</a> (Ecore_X_Window begin, int x, int y)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the top, visible window at the given location, but begins at the <code>begin</code> window instead of the root one.  <a href="group__Ecore__X__Window__Geometry__Group.html#gfff24861ed257264c9d9119fd0509c08"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g18e6147f1724e8b47b677a5bdd257732"></a><!-- doxytag: member="Ecore_X.h::ecore_x_query_tree_prefetch" ref="g18e6147f1724e8b47b677a5bdd257732" args="(Ecore_X_Window window)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Parent__Group.html#g18e6147f1724e8b47b677a5bdd257732">ecore_x_query_tree_prefetch</a> (Ecore_X_Window window)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the QueryTree request. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g14910fd00fc8bef59141074dd7c815b9"></a><!-- doxytag: member="Ecore_X.h::ecore_x_query_tree_fetch" ref="g14910fd00fc8bef59141074dd7c815b9" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Parent__Group.html#g14910fd00fc8bef59141074dd7c815b9">ecore_x_query_tree_fetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the reply of the QueryTree request sent by <a class="el" href="group__Ecore__X__Window__Parent__Group.html#g18e6147f1724e8b47b677a5bdd257732">ecore_x_query_tree_prefetch()</a>. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_X_Window&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Parent__Group.html#gee7cb845063281b2582036a5fe4b75e0">ecore_x_window_parent_get</a> (Ecore_X_Window win)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the parent window of the given window.  <a href="group__Ecore__X__Window__Parent__Group.html#gee7cb845063281b2582036a5fe4b75e0"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Change__Attributes__Group.html#ge48a95e4025b151a56574d00339e7b59">ecore_x_window_background_color_set</a> (Ecore_X_Window win, unsigned short r, unsigned short g, unsigned short b)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the background color of the given window.  <a href="group__Ecore__X__Window__Change__Attributes__Group.html#ge48a95e4025b151a56574d00339e7b59"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Change__Attributes__Group.html#gc276991a3bf84c7454dd850524202917">ecore_x_window_gravity_set</a> (Ecore_X_Window win, Ecore_X_Gravity grav)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the gravity of the given window.  <a href="group__Ecore__X__Window__Change__Attributes__Group.html#gc276991a3bf84c7454dd850524202917"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Change__Attributes__Group.html#gbaa528f9e018cf0424f88c4ef3ccda4a">ecore_x_window_pixel_gravity_set</a> (Ecore_X_Window win, Ecore_X_Gravity grav)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the bit gravity of the given window.  <a href="group__Ecore__X__Window__Change__Attributes__Group.html#gbaa528f9e018cf0424f88c4ef3ccda4a"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Change__Attributes__Group.html#g5f507d1c02daa5b964dfa433cad1091f">ecore_x_window_pixmap_set</a> (Ecore_X_Window win, Ecore_X_Pixmap pmap)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the background pixmap of the given window.  <a href="group__Ecore__X__Window__Change__Attributes__Group.html#g5f507d1c02daa5b964dfa433cad1091f"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__X_8h.html#720f4a9d95ad02ef0d8ff6fdf7e6a66b">ecore_x_window_area_clear</a> (Ecore_X_Window win, int x, int y, int w, int h)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Clears an area of the given window.  <a href="#720f4a9d95ad02ef0d8ff6fdf7e6a66b"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__X_8h.html#2cd5023e239ca28674d160d42879521f">ecore_x_window_area_expose</a> (Ecore_X_Window win, int x, int y, int w, int h)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Exposes an area of the given window.  <a href="#2cd5023e239ca28674d160d42879521f"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Change__Attributes__Group.html#g41fe2703d159f924661fd4c7004d3153">ecore_x_window_override_set</a> (Ecore_X_Window win, int override)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the override attribute of the given window.  <a href="group__Ecore__X__Window__Change__Attributes__Group.html#g41fe2703d159f924661fd4c7004d3153"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__X_8h.html#660bab731052c26724f57783ac0c177e">ecore_x_window_prop_card32_get_prefetch</a> (Ecore_X_Window window, Ecore_X_Atom atom)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the GetProperty request.  <a href="#660bab731052c26724f57783ac0c177e"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="035908bf9b1e8af17f70d26af29f0b4a"></a><!-- doxytag: member="Ecore_X.h::ecore_x_window_prop_card32_get_fetch" ref="035908bf9b1e8af17f70d26af29f0b4a" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__X_8h.html#035908bf9b1e8af17f70d26af29f0b4a">ecore_x_window_prop_card32_get_fetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the reply of the GetProperty request sent by <a class="el" href="Ecore__X_8h.html#660bab731052c26724f57783ac0c177e">ecore_x_window_prop_card32_get_prefetch()</a>. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__X_8h.html#d1e81ac2852a0af250bce275c0dca9c9">ecore_x_window_prop_xid_get_prefetch</a> (Ecore_X_Window window, Ecore_X_Atom atom, Ecore_X_Atom type)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the GetProperty request.  <a href="#d1e81ac2852a0af250bce275c0dca9c9"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3afd8a5078e3e93ef7731eb01ae0f421"></a><!-- doxytag: member="Ecore_X.h::ecore_x_window_prop_xid_get_fetch" ref="3afd8a5078e3e93ef7731eb01ae0f421" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__X_8h.html#3afd8a5078e3e93ef7731eb01ae0f421">ecore_x_window_prop_xid_get_fetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the reply of the GetProperty request sent by <a class="el" href="Ecore__X_8h.html#d1e81ac2852a0af250bce275c0dca9c9">ecore_x_window_prop_xid_get_prefetch()</a>. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__X_8h.html#f73ba0c18faa574b1e1d68e5e4995266">ecore_x_window_prop_atom_get_prefetch</a> (Ecore_X_Window window, Ecore_X_Atom atom)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the GetProperty request.  <a href="#f73ba0c18faa574b1e1d68e5e4995266"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ab1726ce603f92ed72dd27b7691fe598"></a><!-- doxytag: member="Ecore_X.h::ecore_x_window_prop_atom_get_fetch" ref="ab1726ce603f92ed72dd27b7691fe598" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__X_8h.html#ab1726ce603f92ed72dd27b7691fe598">ecore_x_window_prop_atom_get_fetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the reply of the GetProperty request sent by <a class="el" href="Ecore__X_8h.html#f73ba0c18faa574b1e1d68e5e4995266">ecore_x_window_prop_atom_get_prefetch()</a>. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__X_8h.html#83590467335b25392a7fa4f956464da2">ecore_x_window_prop_window_get_prefetch</a> (Ecore_X_Window window, Ecore_X_Atom atom)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the GetProperty request.  <a href="#83590467335b25392a7fa4f956464da2"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ad0492347298224599db65058b28bdb7"></a><!-- doxytag: member="Ecore_X.h::ecore_x_window_prop_window_get_fetch" ref="ad0492347298224599db65058b28bdb7" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__X_8h.html#ad0492347298224599db65058b28bdb7">ecore_x_window_prop_window_get_fetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the reply of the GetProperty request sent by <a class="el" href="Ecore__X_8h.html#83590467335b25392a7fa4f956464da2">ecore_x_window_prop_window_get_prefetch()</a>. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_X_Atom&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__X_8h.html#b09274a94cf3917558e288f01afad53f">ecore_x_window_prop_any_type</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#b09274a94cf3917558e288f01afad53f"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__X_8h.html#958d730271efc435996d845eb8e89092">ecore_x_window_prop_property_set</a> (Ecore_X_Window win, Ecore_X_Atom type, Ecore_X_Atom format, int size, void *data, int number)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#958d730271efc435996d845eb8e89092"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__X_8h.html#71702d85a255610cd4f689519462fbf0">ecore_x_window_prop_property_get_prefetch</a> (Ecore_X_Window window, Ecore_X_Atom property, Ecore_X_Atom type)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the GetProperty request.  <a href="#71702d85a255610cd4f689519462fbf0"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="55dfdc9e1eb38d6d563390ef15e6a10e"></a><!-- doxytag: member="Ecore_X.h::ecore_x_window_prop_property_get_fetch" ref="55dfdc9e1eb38d6d563390ef15e6a10e" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__X_8h.html#55dfdc9e1eb38d6d563390ef15e6a10e">ecore_x_window_prop_property_get_fetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the reply of the GetProperty request sent by <a class="el" href="Ecore__X_8h.html#71702d85a255610cd4f689519462fbf0">ecore_x_window_prop_property_get_prefetch()</a>. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__X_8h.html#7d4659af05243f5998abaf5f1491f4a6">ecore_x_window_prop_property_get</a> (Ecore_X_Window win, Ecore_X_Atom property, Ecore_X_Atom type, int size, unsigned char **data, int *num)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#7d4659af05243f5998abaf5f1491f4a6"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__X_8h.html#35c4eb2d9006b73302e586263dac4a7d">ecore_x_window_prop_list_prefetch</a> (Ecore_X_Window window)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the ListProperties request.  <a href="#35c4eb2d9006b73302e586263dac4a7d"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c06db45a238cb83c6970c7888dbf8bf5"></a><!-- doxytag: member="Ecore_X.h::ecore_x_window_prop_list_fetch" ref="c06db45a238cb83c6970c7888dbf8bf5" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__X_8h.html#c06db45a238cb83c6970c7888dbf8bf5">ecore_x_window_prop_list_fetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the reply of the ListProperties request sent by <a class="el" href="Ecore__X_8h.html#35c4eb2d9006b73302e586263dac4a7d">ecore_x_window_prop_list_prefetch()</a>. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__X_8h.html#4db12cbfb0ab6626dc21f5b9b39bbb52">ecore_x_window_prop_string_set</a> (Ecore_X_Window win, Ecore_X_Atom type, const char *str)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set a window string property.  <a href="#4db12cbfb0ab6626dc21f5b9b39bbb52"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__X_8h.html#62697f77264b0302abfbc3efa126995d">ecore_x_window_prop_string_get_prefetch</a> (Ecore_X_Window window, Ecore_X_Atom type)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the GetProperty request.  <a href="#62697f77264b0302abfbc3efa126995d"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="dc2b001e7c8e98b3366a065b801bef8b"></a><!-- doxytag: member="Ecore_X.h::ecore_x_window_prop_string_get_fetch" ref="dc2b001e7c8e98b3366a065b801bef8b" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__X_8h.html#dc2b001e7c8e98b3366a065b801bef8b">ecore_x_window_prop_string_get_fetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the reply of the GetProperty request sent by <a class="el" href="Ecore__X_8h.html#62697f77264b0302abfbc3efa126995d">ecore_x_window_prop_string_get_prefetch()</a>. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__X_8h.html#114fb34050f957f2c87fb60e7a85f69c">ecore_x_window_prop_string_get</a> (Ecore_X_Window win, Ecore_X_Atom type)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a window string property.  <a href="#114fb34050f957f2c87fb60e7a85f69c"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_X_WM_Protocol *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__X_8h.html#8972569167bed2624edeeed44e1aec6a">ecore_x_window_prop_protocol_list_get</a> (Ecore_X_Window win, int *num_ret)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#8972569167bed2624edeeed44e1aec6a"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Shape.html#g3717cee0507fb41cffad1094fa0a0fc9">ecore_x_window_shape_mask_set</a> (Ecore_X_Window win, Ecore_X_Pixmap mask)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the shape of the given window to that given by the pixmap <code>mask</code>.  <a href="group__Ecore__X__Window__Shape.html#g3717cee0507fb41cffad1094fa0a0fc9"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Shape__Group.html#gbb308c760ce2764ad4c8baa513203fc1">ecore_x_window_shape_rectangle_set</a> (Ecore_X_Window win, int x, int y, int w, int h)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the shape of the given window to a rectangle.  <a href="group__Ecore__X__Shape__Group.html#gbb308c760ce2764ad4c8baa513203fc1"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Shape__Group.html#g74946b8f12f5159e4a682512933a3d18">ecore_x_window_shape_rectangles_get_prefetch</a> (Ecore_X_Window window)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the ShapeGetRectangles request.  <a href="group__Ecore__X__Shape__Group.html#g74946b8f12f5159e4a682512933a3d18"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gb9cf8440f79e4242eb07e65227117404"></a><!-- doxytag: member="Ecore_X.h::ecore_x_window_shape_rectangles_get_fetch" ref="gb9cf8440f79e4242eb07e65227117404" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Shape__Group.html#gb9cf8440f79e4242eb07e65227117404">ecore_x_window_shape_rectangles_get_fetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the reply of the ShapeGetRectangles request sent by <a class="el" href="group__Ecore__X__Shape__Group.html#g74946b8f12f5159e4a682512933a3d18">ecore_x_window_shape_rectangles_get_prefetch()</a>. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_X_Pixmap&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Pixmap__Group.html#g4d02ed7c9ea23b344cf55123e142e9e1">ecore_x_pixmap_new</a> (Ecore_X_Window win, int w, int h, int dep)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a new pixmap.  <a href="group__Ecore__X__Pixmap__Group.html#g4d02ed7c9ea23b344cf55123e142e9e1"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Pixmap__Group.html#g190a18a60b6d09ee97b65b278a15d482">ecore_x_pixmap_del</a> (Ecore_X_Pixmap pmap)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Deletes the reference to the given pixmap.  <a href="group__Ecore__X__Pixmap__Group.html#g190a18a60b6d09ee97b65b278a15d482"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Pixmap__Group.html#g01f841e4ca0f9584fc8d55e968a2c987">ecore_x_pixmap_paste</a> (Ecore_X_Pixmap pmap, Ecore_X_Drawable dest, Ecore_X_GC gc, int sx, int sy, int w, int h, int dx, int dy)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Pastes a rectangular area of the given pixmap onto the given drawable.  <a href="group__Ecore__X__Pixmap__Group.html#g01f841e4ca0f9584fc8d55e968a2c987"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Pixmap__Group.html#g71572e8cad6af6836ced18c5e39e4648">ecore_x_pixmap_geometry_get</a> (Ecore_X_Pixmap pmap, int *x, int *y, int *w, int *h)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the size of the given pixmap.  <a href="group__Ecore__X__Pixmap__Group.html#g71572e8cad6af6836ced18c5e39e4648"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Pixmap__Group.html#gdf1ad96ce96de02991b60386fd6bc535">ecore_x_pixmap_depth_get</a> (Ecore_X_Pixmap pmap)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the depth of the given pixmap.  <a href="group__Ecore__X__Pixmap__Group.html#gdf1ad96ce96de02991b60386fd6bc535"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_X_GC&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__X_8h.html#d4da592f24cd063ce4ee7b6292dfbbf8">ecore_x_gc_new</a> (Ecore_X_Drawable draw)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a new default graphics context associated with the given drawable.  <a href="#d4da592f24cd063ce4ee7b6292dfbbf8"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__X_8h.html#1017c1e5a4ff5544d34e9953f2e98939">ecore_x_gc_del</a> (Ecore_X_GC gc)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Deletes and frees the given graphics context.  <a href="#1017c1e5a4ff5544d34e9953f2e98939"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__X_8h.html#21d8659bf7bbf1721b3ff6d7160a5d89">ecore_x_client_message32_send</a> (Ecore_X_Window win, Ecore_X_Atom type, Ecore_X_Event_Mask mask, long d0, long d1, long d2, long d3, long d4)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Send client message with given type and format 32.  <a href="#21d8659bf7bbf1721b3ff6d7160a5d89"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__X_8h.html#e834b269276e92b2205a6c7c9818801f">ecore_x_client_message8_send</a> (Ecore_X_Window win, Ecore_X_Atom type, const void *data, int len)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Send client message with given type and format 8.  <a href="#e834b269276e92b2205a6c7c9818801f"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Drawable__Group.html#g3fa895ad27d43041247767eeff1e234f">ecore_x_drawable_geometry_get_prefetch</a> (Ecore_X_Drawable drawable)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the GetGeometry request.  <a href="group__Ecore__X__Drawable__Group.html#g3fa895ad27d43041247767eeff1e234f"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gcd12f290bc7db9241e683da4855c27e4"></a><!-- doxytag: member="Ecore_X.h::ecore_x_drawable_geometry_get_fetch" ref="gcd12f290bc7db9241e683da4855c27e4" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Drawable__Group.html#gcd12f290bc7db9241e683da4855c27e4">ecore_x_drawable_geometry_get_fetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the reply of the GetGeometry request sent by <a class="el" href="group__Ecore__X__Atom__Group.html#g4c6beeb04b4a0e23895a34c38c615125">ecore_x_atom_get_prefetch()</a>. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Drawable__Group.html#g59de54a283d18070c5f3c0d52b87e2b7">ecore_x_drawable_geometry_get</a> (Ecore_X_Drawable d, int *x, int *y, int *w, int *h)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the geometry of the given drawable.  <a href="group__Ecore__X__Drawable__Group.html#g59de54a283d18070c5f3c0d52b87e2b7"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Drawable__Group.html#g218285639dcb306d4211544a480bf1ba">ecore_x_drawable_border_width_get</a> (Ecore_X_Drawable d)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the width of the border of the given drawable.  <a href="group__Ecore__X__Drawable__Group.html#g218285639dcb306d4211544a480bf1ba"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Drawable__Group.html#g1ce2cba70a5a86636cc79c886abc3c55">ecore_x_drawable_depth_get</a> (Ecore_X_Drawable d)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the depth of the given drawable.  <a href="group__Ecore__X__Drawable__Group.html#g1ce2cba70a5a86636cc79c886abc3c55"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_X_Window *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__X_8h.html#78bb4a4944619d01db4bccf3047465cb">ecore_x_window_root_list</a> (int *num_ret)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a list of all the root windows on the server.  <a href="#78bb4a4944619d01db4bccf3047465cb"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Change__Attributes__Group.html#g2e636d8d0e55a4ae4ef06738a2f1beab">ecore_x_window_container_manage</a> (Ecore_X_Window win)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Todo.  <a href="group__Ecore__X__Window__Change__Attributes__Group.html#g2e636d8d0e55a4ae4ef06738a2f1beab"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Change__Attributes__Group.html#gdbfc9e398582f595ffafeb2f58462b6e">ecore_x_window_client_manage</a> (Ecore_X_Window win)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Todo.  <a href="group__Ecore__X__Window__Change__Attributes__Group.html#gdbfc9e398582f595ffafeb2f58462b6e"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Change__Attributes__Group.html#g1530c55771e253f3dcfbfac003e91d04">ecore_x_window_sniff</a> (Ecore_X_Window win)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Todo.  <a href="group__Ecore__X__Window__Change__Attributes__Group.html#g1530c55771e253f3dcfbfac003e91d04"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Change__Attributes__Group.html#g8d1b65f42c5a2e96477cd1c7ff91f7bc">ecore_x_window_client_sniff</a> (Ecore_X_Window win)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Todo.  <a href="group__Ecore__X__Window__Change__Attributes__Group.html#g8d1b65f42c5a2e96477cd1c7ff91f7bc"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Atom__Group.html#g4c6beeb04b4a0e23895a34c38c615125">ecore_x_atom_get_prefetch</a> (const char *name)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the InternAtom request.  <a href="group__Ecore__X__Atom__Group.html#g4c6beeb04b4a0e23895a34c38c615125"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g74cd977810f7decf26961d1277544952"></a><!-- doxytag: member="Ecore_X.h::ecore_x_atom_get_fetch" ref="g74cd977810f7decf26961d1277544952" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Atom__Group.html#g74cd977810f7decf26961d1277544952">ecore_x_atom_get_fetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the reply of the InternAtom request sent by <a class="el" href="group__Ecore__X__Atom__Group.html#g4c6beeb04b4a0e23895a34c38c615125">ecore_x_atom_get_prefetch()</a>. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_X_Atom&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__X_8h.html#f2b0dbe8f93124b077f9c52ddbe10229">ecore_x_atom_get</a> (const char *name)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the atom value associated with the given name.  <a href="#f2b0dbe8f93124b077f9c52ddbe10229"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__ICCCM__Group.html#g0a220ec75c0ae400e86df862dbdb2dc5">ecore_x_icccm_state_set</a> (Ecore_X_Window win, Ecore_X_Window_State_Hint state)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the state of a window.  <a href="group__Ecore__X__ICCCM__Group.html#g0a220ec75c0ae400e86df862dbdb2dc5"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__ICCCM__Group.html#ga67d73e5f8090306f2e06bdc64707647">ecore_x_icccm_delete_window_send</a> (Ecore_X_Window win, Ecore_X_Time t)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the ClientMessage event with the DeleteWindow property.  <a href="group__Ecore__X__ICCCM__Group.html#ga67d73e5f8090306f2e06bdc64707647"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__ICCCM__Group.html#gf60b2291525790e80630319143a8b95c">ecore_x_icccm_take_focus_send</a> (Ecore_X_Window win, Ecore_X_Time t)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the ClientMessage event with the TakeFocus property.  <a href="group__Ecore__X__ICCCM__Group.html#gf60b2291525790e80630319143a8b95c"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__ICCCM__Group.html#gb990b493f1ebdace041b374f980b1a13">ecore_x_icccm_save_yourself_send</a> (Ecore_X_Window win, Ecore_X_Time t)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the ClientMessage event with the SaveYourself property.  <a href="group__Ecore__X__ICCCM__Group.html#gb990b493f1ebdace041b374f980b1a13"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__ICCCM__Group.html#g23b492239d9aba2058fcbdcf43ae5214">ecore_x_icccm_move_resize_send</a> (Ecore_X_Window win, int x, int y, int w, int h)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the ConfigureNotify event with the StructureNotify property.  <a href="group__Ecore__X__ICCCM__Group.html#g23b492239d9aba2058fcbdcf43ae5214"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__ICCCM__Group.html#g0883a37205de291ac4063c809a9d2756">ecore_x_icccm_hints_set</a> (Ecore_X_Window win, int accepts_focus, Ecore_X_Window_State_Hint initial_state, Ecore_X_Pixmap icon_pixmap, Ecore_X_Pixmap icon_mask, Ecore_X_Window icon_window, Ecore_X_Window window_group, int is_urgent)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the hints of a window.  <a href="group__Ecore__X__ICCCM__Group.html#g0883a37205de291ac4063c809a9d2756"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__ICCCM__Group.html#g4afb7a2cedcc90581cb29bdca6ccf4c2">ecore_x_icccm_size_pos_hints_set</a> (Ecore_X_Window win, int request_pos, Ecore_X_Gravity gravity, int min_w, int min_h, int max_w, int max_h, int base_w, int base_h, int step_x, int step_y, double min_aspect, double max_aspect)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the hints of a window.  <a href="group__Ecore__X__ICCCM__Group.html#g4afb7a2cedcc90581cb29bdca6ccf4c2"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__ICCCM__Group.html#g2f89bf0f24cc88e3f347eb7821b009be">ecore_x_icccm_title_set</a> (Ecore_X_Window win, const char *t)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the title of a window.  <a href="group__Ecore__X__ICCCM__Group.html#g2f89bf0f24cc88e3f347eb7821b009be"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__ICCCM__Group.html#gb01748645049a956dbbf9335c5bf31b7">ecore_x_icccm_protocol_set</a> (Ecore_X_Window win, Ecore_X_WM_Protocol protocol, int on)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set or unset a wm protocol property.  <a href="group__Ecore__X__ICCCM__Group.html#gb01748645049a956dbbf9335c5bf31b7"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__X_8h.html#84500711120704820a7a097c0774e7a8">ecore_x_icccm_protocol_isset</a> (Ecore_X_Window win, Ecore_X_WM_Protocol protocol)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Determines whether a protocol is set for a window.  <a href="#84500711120704820a7a097c0774e7a8"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__ICCCM__Group.html#g907ec62bfeb82ff4184850633b505c98">ecore_x_icccm_name_class_set</a> (Ecore_X_Window win, const char *n, const char *c)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set a window name &amp; class.  <a href="group__Ecore__X__ICCCM__Group.html#g907ec62bfeb82ff4184850633b505c98"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__X_8h.html#ff06f01a91f6e515ff894d7a62784a9d">ecore_x_icccm_name_class_get</a> (Ecore_X_Window win, char **n, char **c)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a window name &amp; class.  <a href="#ff06f01a91f6e515ff894d7a62784a9d"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__ICCCM__Group.html#g459aa76f7d59d934feea0eadfb4394db">ecore_x_icccm_client_machine_get</a> (Ecore_X_Window win)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a window client machine string.  <a href="group__Ecore__X__ICCCM__Group.html#g459aa76f7d59d934feea0eadfb4394db"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__ICCCM__Group.html#g2de04d312f9b06f449291a49f6714756">ecore_x_icccm_command_set</a> (Ecore_X_Window win, int argc, char **argv)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the WM_COMMAND property for <em>win</em>.  <a href="group__Ecore__X__ICCCM__Group.html#g2de04d312f9b06f449291a49f6714756"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__X_8h.html#ec73fda941e864ef8ac60f0b61018e52">ecore_x_icccm_command_get</a> (Ecore_X_Window win, int *argc, char ***argv)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the WM_COMMAND property for <em>win</em>.  <a href="#ec73fda941e864ef8ac60f0b61018e52"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__X_8h.html#f4c563d7a2573530597175966032eff6">ecore_x_icccm_icon_name_get</a> (Ecore_X_Window win)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a window icon name.  <a href="#f4c563d7a2573530597175966032eff6"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__ICCCM__Group.html#gb148da036055d0dbd2a2c84db924e24d">ecore_x_icccm_icon_name_set</a> (Ecore_X_Window win, const char *t)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set a window icon name.  <a href="group__Ecore__X__ICCCM__Group.html#gb148da036055d0dbd2a2c84db924e24d"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__ICCCM__Group.html#g203a710c05607f9abcd0d3020496585e">ecore_x_icccm_colormap_window_set</a> (Ecore_X_Window win, Ecore_X_Window subwin)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a subwindow to the list of windows that need a different colormap installed.  <a href="group__Ecore__X__ICCCM__Group.html#g203a710c05607f9abcd0d3020496585e"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__ICCCM__Group.html#g3e47c45b85caf21e88600c7286de3729">ecore_x_icccm_colormap_window_unset</a> (Ecore_X_Window win, Ecore_X_Window subwin)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove a window from the list of colormap windows.  <a href="group__Ecore__X__ICCCM__Group.html#g3e47c45b85caf21e88600c7286de3729"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__ICCCM__Group.html#g170ce1c92e295437cc077d0111364936">ecore_x_icccm_transient_for_set</a> (Ecore_X_Window win, Ecore_X_Window forwin)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Specify that a window is transient for another top-level window and should be handled accordingly.  <a href="group__Ecore__X__ICCCM__Group.html#g170ce1c92e295437cc077d0111364936"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__ICCCM__Group.html#g259feec5f4b85523573f08820ecb358e">ecore_x_icccm_transient_for_unset</a> (Ecore_X_Window win)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove the transient_for setting from a window.  <a href="group__Ecore__X__ICCCM__Group.html#g259feec5f4b85523573f08820ecb358e"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_X_Window&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__X_8h.html#b28b455ff35e3c9f8e18f29be617dc1f">ecore_x_icccm_transient_for_get</a> (Ecore_X_Window win)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the window this window is transient for, if any.  <a href="#b28b455ff35e3c9f8e18f29be617dc1f"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__ICCCM__Group.html#g3dd8959d662584671c3992e2c83dfefc">ecore_x_icccm_window_role_set</a> (Ecore_X_Window win, const char *role)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the window role hint.  <a href="group__Ecore__X__ICCCM__Group.html#g3dd8959d662584671c3992e2c83dfefc"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__ICCCM__Group.html#g4b900983ec368b7dc108b6539a3e3657">ecore_x_icccm_window_role_get</a> (Ecore_X_Window win)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the window role.  <a href="group__Ecore__X__ICCCM__Group.html#g4b900983ec368b7dc108b6539a3e3657"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__ICCCM__Group.html#g9646f43f32aa98a4681d89c0968d39c0">ecore_x_icccm_client_leader_set</a> (Ecore_X_Window win, Ecore_X_Window l)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the window's client leader.  <a href="group__Ecore__X__ICCCM__Group.html#g9646f43f32aa98a4681d89c0968d39c0"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_X_Window&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__ICCCM__Group.html#gcd1f5d74bb8f1b2f6ca7db1f16b3894b">ecore_x_icccm_client_leader_get</a> (Ecore_X_Window win)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the window's client leader.  <a href="group__Ecore__X__ICCCM__Group.html#gcd1f5d74bb8f1b2f6ca7db1f16b3894b"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__ICCCM__Group.html#g9259a631c19152a9d1b015549a89f71d">ecore_x_icccm_iconic_request_send</a> (Ecore_X_Window win, Ecore_X_Window root)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Send the ClientMessage event with the ChangeState property.  <a href="group__Ecore__X__ICCCM__Group.html#g9259a631c19152a9d1b015549a89f71d"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__MWM__Group.html#g13d600cbcfd9156adb5be99d86151fdb">ecore_x_mwm_hints_get_prefetch</a> (Ecore_X_Window window)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the GetProperty request.  <a href="group__Ecore__X__MWM__Group.html#g13d600cbcfd9156adb5be99d86151fdb"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gc1839719a738530cc96c6ef316ad3696"></a><!-- doxytag: member="Ecore_X.h::ecore_x_mwm_hints_get_fetch" ref="gc1839719a738530cc96c6ef316ad3696" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__MWM__Group.html#gc1839719a738530cc96c6ef316ad3696">ecore_x_mwm_hints_get_fetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the reply of the GetProperty request sent by <a class="el" href="group__Ecore__X__MWM__Group.html#g13d600cbcfd9156adb5be99d86151fdb">ecore_x_mwm_hints_get_prefetch()</a>. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__MWM__Group.html#gdd08a6aa95562bc0483d6713159ae196">ecore_x_mwm_borderless_set</a> (Ecore_X_Window win, int borderless)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the borderless flag of a window using MWM.  <a href="group__Ecore__X__MWM__Group.html#gdd08a6aa95562bc0483d6713159ae196"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b853f0a2204cd19b033400d70f45c245"></a><!-- doxytag: member="Ecore_X.h::ecore_x_netwm_init" ref="b853f0a2204cd19b033400d70f45c245" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__X_8h.html#b853f0a2204cd19b033400d70f45c245">ecore_x_netwm_init</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initialize the NetWM module. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a8b0c50228ab1ff3137b8afe7f2de1fb"></a><!-- doxytag: member="Ecore_X.h::ecore_x_netwm_shutdown" ref="a8b0c50228ab1ff3137b8afe7f2de1fb" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore__X_8h.html#a8b0c50228ab1ff3137b8afe7f2de1fb">ecore_x_netwm_shutdown</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Shutdown the NetWM module. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g44d807f6153f6f51f097fc56e790a593">ecore_x_netwm_wm_identify</a> (Ecore_X_Window root, Ecore_X_Window check, const char *wm_name)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the _NET_SUPPORTING_WM_CHECK property.  <a href="group__Ecore__X__NetWM__Group.html#g44d807f6153f6f51f097fc56e790a593"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g12031ab17e0eef3c63dd1bf4c7286fa8">ecore_x_netwm_supported_set</a> (Ecore_X_Window root, Ecore_X_Atom *supported, int num)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the _NET_SUPPORTED property.  <a href="group__Ecore__X__NetWM__Group.html#g12031ab17e0eef3c63dd1bf4c7286fa8"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g2298e64a801fd52fd03d04e753bb9ac5">ecore_x_netwm_supported_get_prefetch</a> (Ecore_X_Window root)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the GetProperty request.  <a href="group__Ecore__X__NetWM__Group.html#g2298e64a801fd52fd03d04e753bb9ac5"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gb45c2c7c71faad4640473b18c941b5b5"></a><!-- doxytag: member="Ecore_X.h::ecore_x_netwm_supported_get_fetch" ref="gb45c2c7c71faad4640473b18c941b5b5" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#gb45c2c7c71faad4640473b18c941b5b5">ecore_x_netwm_supported_get_fetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the reply of the GetProperty request sent by <a class="el" href="group__Ecore__X__NetWM__Group.html#g2298e64a801fd52fd03d04e753bb9ac5">ecore_x_netwm_supported_get_prefetch()</a>. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#gec17f7f26685ce7181bffb1eec35179f">ecore_x_netwm_supported_get</a> (Ecore_X_Window root, Ecore_X_Atom **supported, int *num)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the hints supported by the Window Manager.  <a href="group__Ecore__X__NetWM__Group.html#gec17f7f26685ce7181bffb1eec35179f"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g322c07ba72236d918277b06dff0ea4fe">ecore_x_netwm_desk_count_set</a> (Ecore_X_Window root, unsigned int n_desks)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the _NET_NUMBER_OF_DESKTOPS property.  <a href="group__Ecore__X__NetWM__Group.html#g322c07ba72236d918277b06dff0ea4fe"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g8f8bf74f0c30ed772607f77499084ee5">ecore_x_netwm_desk_roots_set</a> (Ecore_X_Window root, Ecore_X_Window *vroots, unsigned int n_desks)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the _NET_VIRTUAL_ROOTS property.  <a href="group__Ecore__X__NetWM__Group.html#g8f8bf74f0c30ed772607f77499084ee5"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#gb6e059d70483327b0b3f213ccbfe65d6">ecore_x_netwm_desk_names_set</a> (Ecore_X_Window root, const char **names, unsigned int n_desks)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the _NET_DESKTOP_NAMES property.  <a href="group__Ecore__X__NetWM__Group.html#gb6e059d70483327b0b3f213ccbfe65d6"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#gefa6bb9baeb95ac40932ed8982583572">ecore_x_netwm_desk_size_set</a> (Ecore_X_Window root, unsigned int width, unsigned int height)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the _NET_DESKTOP_GEOMETRY property.  <a href="group__Ecore__X__NetWM__Group.html#gefa6bb9baeb95ac40932ed8982583572"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g8ff0ea85a83041848dba543bf17f8e14">ecore_x_netwm_desk_workareas_set</a> (Ecore_X_Window root, unsigned int *areas, unsigned int n_desks)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the _NET_WORKAREA property.  <a href="group__Ecore__X__NetWM__Group.html#g8ff0ea85a83041848dba543bf17f8e14"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g8492a55dcd3db992e2619a0edf19cf16">ecore_x_netwm_desk_current_set</a> (Ecore_X_Window root, unsigned int desk)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the _NET_CURRENT_DESKTOP property.  <a href="group__Ecore__X__NetWM__Group.html#g8492a55dcd3db992e2619a0edf19cf16"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g4cacddaf13318184e2cbd2f9ab07720d">ecore_x_netwm_desk_viewports_set</a> (Ecore_X_Window root, unsigned int *origins, unsigned int n_desks)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the _NET_DESKTOP_VIEWPORT property.  <a href="group__Ecore__X__NetWM__Group.html#g4cacddaf13318184e2cbd2f9ab07720d"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#gfe24bdee07f814b0e4bf5f3e5cf5d288">ecore_x_netwm_desk_layout_set</a> (Ecore_X_Window root, int orientation, int columns, int rows, int starting_corner)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the _NET_DESKTOP_LAYOUT property.  <a href="group__Ecore__X__NetWM__Group.html#gfe24bdee07f814b0e4bf5f3e5cf5d288"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g52512f8933d06b8ee1fd69cebbe565b0">ecore_x_netwm_showing_desktop_set</a> (Ecore_X_Window root, int on)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the _NET_SHOWING_DESKTOP property.  <a href="group__Ecore__X__NetWM__Group.html#g52512f8933d06b8ee1fd69cebbe565b0"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g1b3bdbcab3968db8b72a2ab036a64619">ecore_x_netwm_client_list_set</a> (Ecore_X_Window root, Ecore_X_Window *p_clients, unsigned int n_clients)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the _NET_CLIENT_LIST property.  <a href="group__Ecore__X__NetWM__Group.html#g1b3bdbcab3968db8b72a2ab036a64619"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g42407d3c3f6f4e2c507697fdbe5fe4e2">ecore_x_netwm_client_list_stacking_set</a> (Ecore_X_Window root, Ecore_X_Window *p_clients, unsigned int n_clients)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the _NET_CLIENT_LIST_STACKING property.  <a href="group__Ecore__X__NetWM__Group.html#g42407d3c3f6f4e2c507697fdbe5fe4e2"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#ge07306aeca9d2a8ab864bc986dc617c5">ecore_x_netwm_client_active_set</a> (Ecore_X_Window root, Ecore_X_Window win)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the _NET_ACTIVE_WINDOW property.  <a href="group__Ecore__X__NetWM__Group.html#ge07306aeca9d2a8ab864bc986dc617c5"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#ga121d2f05c29129c8281d69403589b7a">ecore_x_netwm_name_set</a> (Ecore_X_Window win, const char *name)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the _NET_WM_NAME property.  <a href="group__Ecore__X__NetWM__Group.html#ga121d2f05c29129c8281d69403589b7a"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#ga6e282dd3aa3d0924b99cb290e7012b9">ecore_x_netwm_name_get_prefetch</a> (Ecore_X_Window window)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the GetProperty request.  <a href="group__Ecore__X__NetWM__Group.html#ga6e282dd3aa3d0924b99cb290e7012b9"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g3029e5b4e62456951f3b3858d4f42af1"></a><!-- doxytag: member="Ecore_X.h::ecore_x_netwm_name_get_fetch" ref="g3029e5b4e62456951f3b3858d4f42af1" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g3029e5b4e62456951f3b3858d4f42af1">ecore_x_netwm_name_get_fetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the reply of the GetProperty request sent by <a class="el" href="group__Ecore__X__NetWM__Group.html#ga6e282dd3aa3d0924b99cb290e7012b9">ecore_x_netwm_name_get_prefetch()</a>. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g8d99b216ec82ffcb58eef434118e0b53">ecore_x_netwm_name_get</a> (Ecore_X_Window win, char **name)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the title of a window.  <a href="group__Ecore__X__NetWM__Group.html#g8d99b216ec82ffcb58eef434118e0b53"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g19db748363e7cfb68cf8fb6ece03b487">ecore_x_netwm_startup_id_set</a> (Ecore_X_Window win, const char *id)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the _NET_STARTUP_ID property.  <a href="group__Ecore__X__NetWM__Group.html#g19db748363e7cfb68cf8fb6ece03b487"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g35ec39bf0e6f22417fd8877b76556e93">ecore_x_netwm_startup_id_get_prefetch</a> (Ecore_X_Window window)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the GetProperty request.  <a href="group__Ecore__X__NetWM__Group.html#g35ec39bf0e6f22417fd8877b76556e93"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g5a097958575bf1708b485ecce9123775"></a><!-- doxytag: member="Ecore_X.h::ecore_x_netwm_startup_id_get_fetch" ref="g5a097958575bf1708b485ecce9123775" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g5a097958575bf1708b485ecce9123775">ecore_x_netwm_startup_id_get_fetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the reply of the GetProperty request sent by <a class="el" href="group__Ecore__X__NetWM__Group.html#g35ec39bf0e6f22417fd8877b76556e93">ecore_x_netwm_startup_id_get_prefetch()</a>. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#gbca67ffb95ff2c3a71f4ce657384ea21">ecore_x_netwm_startup_id_get</a> (Ecore_X_Window win, char **id)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the startup ID name of a window.  <a href="group__Ecore__X__NetWM__Group.html#gbca67ffb95ff2c3a71f4ce657384ea21"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g24a8a5d819450c7191f69adda491ff31">ecore_x_netwm_visible_name_set</a> (Ecore_X_Window win, const char *name)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the _NET_WM_VISIBLE_NAME property.  <a href="group__Ecore__X__NetWM__Group.html#g24a8a5d819450c7191f69adda491ff31"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g8053d77e36a5c5bcc67d45cd6b630f2d">ecore_x_netwm_visible_name_get_prefetch</a> (Ecore_X_Window window)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the GetProperty request.  <a href="group__Ecore__X__NetWM__Group.html#g8053d77e36a5c5bcc67d45cd6b630f2d"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g85c72fa3d53b56b589cc45977c3116d1"></a><!-- doxytag: member="Ecore_X.h::ecore_x_netwm_visible_name_get_fetch" ref="g85c72fa3d53b56b589cc45977c3116d1" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g85c72fa3d53b56b589cc45977c3116d1">ecore_x_netwm_visible_name_get_fetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the reply of the GetProperty request sent by <a class="el" href="group__Ecore__X__NetWM__Group.html#g8053d77e36a5c5bcc67d45cd6b630f2d">ecore_x_netwm_visible_name_get_prefetch()</a>. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#ga5dfabdd704c5691b2c0ba158e55c1c0">ecore_x_netwm_visible_name_get</a> (Ecore_X_Window win, char **name)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the visible title of a window.  <a href="group__Ecore__X__NetWM__Group.html#ga5dfabdd704c5691b2c0ba158e55c1c0"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g095da6e161bd8ae983dfe586025e47da">ecore_x_netwm_icon_name_set</a> (Ecore_X_Window win, const char *name)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the _NET_WM_ICON_NAME property.  <a href="group__Ecore__X__NetWM__Group.html#g095da6e161bd8ae983dfe586025e47da"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g39f5a089389baa4b8f91fad1e5f6469d">ecore_x_netwm_icon_name_get_prefetch</a> (Ecore_X_Window window)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the GetProperty request.  <a href="group__Ecore__X__NetWM__Group.html#g39f5a089389baa4b8f91fad1e5f6469d"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g91c577b0478be6378a35eeee31fdbf15"></a><!-- doxytag: member="Ecore_X.h::ecore_x_netwm_icon_name_get_fetch" ref="g91c577b0478be6378a35eeee31fdbf15" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g91c577b0478be6378a35eeee31fdbf15">ecore_x_netwm_icon_name_get_fetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the reply of the GetProperty request sent by <a class="el" href="group__Ecore__X__NetWM__Group.html#g39f5a089389baa4b8f91fad1e5f6469d">ecore_x_netwm_icon_name_get_prefetch()</a>. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g81a5e7fc189b36887a409a1eda026905">ecore_x_netwm_icon_name_get</a> (Ecore_X_Window win, char **name)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the icon name of a window.  <a href="group__Ecore__X__NetWM__Group.html#g81a5e7fc189b36887a409a1eda026905"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#gc2b69cd1230eea36d59fd93c65c96588">ecore_x_netwm_visible_icon_name_set</a> (Ecore_X_Window win, const char *name)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the _NET_WM_VISIBLE_ICON_NAME property.  <a href="group__Ecore__X__NetWM__Group.html#gc2b69cd1230eea36d59fd93c65c96588"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g5ac2253b2d29710e3a8ecd59b7398f41">ecore_x_netwm_visible_icon_name_get_prefetch</a> (Ecore_X_Window window)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the GetProperty request.  <a href="group__Ecore__X__NetWM__Group.html#g5ac2253b2d29710e3a8ecd59b7398f41"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g76267594cda1098b20e56ffbae9b7bd0"></a><!-- doxytag: member="Ecore_X.h::ecore_x_netwm_visible_icon_name_get_fetch" ref="g76267594cda1098b20e56ffbae9b7bd0" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g76267594cda1098b20e56ffbae9b7bd0">ecore_x_netwm_visible_icon_name_get_fetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the reply of the GetProperty request sent by <a class="el" href="group__Ecore__X__NetWM__Group.html#g5ac2253b2d29710e3a8ecd59b7398f41">ecore_x_netwm_visible_icon_name_get_prefetch()</a>. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g1aa26ca13404f31badec8c0792794b30">ecore_x_netwm_visible_icon_name_get</a> (Ecore_X_Window win, char **name)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the visible icon name of a window.  <a href="group__Ecore__X__NetWM__Group.html#g1aa26ca13404f31badec8c0792794b30"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#gfabc012ab9cfb8e642e14bbca947ed33">ecore_x_netwm_desktop_set</a> (Ecore_X_Window win, unsigned int desk)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the _NET_WM_DESKTOP property.  <a href="group__Ecore__X__NetWM__Group.html#gfabc012ab9cfb8e642e14bbca947ed33"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g2f3fc6b45d60750498fa30733bc6d227">ecore_x_netwm_desktop_get_prefetch</a> (Ecore_X_Window window)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the GetProperty request.  <a href="group__Ecore__X__NetWM__Group.html#g2f3fc6b45d60750498fa30733bc6d227"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g3a4860d6235719bf820867f571582a8b"></a><!-- doxytag: member="Ecore_X.h::ecore_x_netwm_desktop_get_fetch" ref="g3a4860d6235719bf820867f571582a8b" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g3a4860d6235719bf820867f571582a8b">ecore_x_netwm_desktop_get_fetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the reply of the GetProperty request sent by <a class="el" href="group__Ecore__X__NetWM__Group.html#g2f3fc6b45d60750498fa30733bc6d227">ecore_x_netwm_desktop_get_prefetch()</a>. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g46906092a13f8613a8a6fb5cc53e25ee">ecore_x_netwm_desktop_get</a> (Ecore_X_Window win, unsigned int *desk)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the visible icon name of a window.  <a href="group__Ecore__X__NetWM__Group.html#g46906092a13f8613a8a6fb5cc53e25ee"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g4f33da6e5b143351ff2fa3d75ec0c59d">ecore_x_netwm_strut_set</a> (Ecore_X_Window win, int left, int right, int top, int bottom)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the _NET_WM_STRUT property.  <a href="group__Ecore__X__NetWM__Group.html#g4f33da6e5b143351ff2fa3d75ec0c59d"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g5a39840d1cbd5ce185b10b46ffa4e3a5">ecore_x_netwm_strut_get_prefetch</a> (Ecore_X_Window window)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the GetProperty request.  <a href="group__Ecore__X__NetWM__Group.html#g5a39840d1cbd5ce185b10b46ffa4e3a5"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g6576ef3eb6fb134194ea6062379f4ecc"></a><!-- doxytag: member="Ecore_X.h::ecore_x_netwm_strut_get_fetch" ref="g6576ef3eb6fb134194ea6062379f4ecc" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g6576ef3eb6fb134194ea6062379f4ecc">ecore_x_netwm_strut_get_fetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the reply of the GetProperty request sent by ecore_x_strut_get_prefetch(). <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g90dfc865f2a978097c1161c3db4fdaa4">ecore_x_netwm_strut_get</a> (Ecore_X_Window win, int *left, int *right, int *top, int *bottom)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the space at the edje of the screen.  <a href="group__Ecore__X__NetWM__Group.html#g90dfc865f2a978097c1161c3db4fdaa4"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#gc305c545e5589069bdb82d8af3d3a446">ecore_x_netwm_strut_partial_set</a> (Ecore_X_Window win, int left, int right, int top, int bottom, int left_start_y, int left_end_y, int right_start_y, int right_end_y, int top_start_x, int top_end_x, int bottom_start_x, int bottom_end_x)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the _NET_WM_STRUT_PARTIAL property.  <a href="group__Ecore__X__NetWM__Group.html#gc305c545e5589069bdb82d8af3d3a446"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g14c97c9a08537d7437aa69d1f03ec473">ecore_x_netwm_strut_partial_get_prefetch</a> (Ecore_X_Window window)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the GetProperty request.  <a href="group__Ecore__X__NetWM__Group.html#g14c97c9a08537d7437aa69d1f03ec473"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g8efb784e5af202e2fffc40457b00115a"></a><!-- doxytag: member="Ecore_X.h::ecore_x_netwm_strut_partial_get_fetch" ref="g8efb784e5af202e2fffc40457b00115a" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g8efb784e5af202e2fffc40457b00115a">ecore_x_netwm_strut_partial_get_fetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the reply of the GetProperty request sent by ecore_x_strut_partial_get_prefetch(). <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g9151d0e817387bd0c28de180c688b06f">ecore_x_netwm_strut_partial_get</a> (Ecore_X_Window win, int *left, int *right, int *top, int *bottom, int *left_start_y, int *left_end_y, int *right_start_y, int *right_end_y, int *top_start_x, int *top_end_x, int *bottom_start_x, int *bottom_end_x)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the space at the edje of the screen of a window.  <a href="group__Ecore__X__NetWM__Group.html#g9151d0e817387bd0c28de180c688b06f"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#gbea0854073f61fc3387d9685ccb0eecf">ecore_x_netwm_icons_get_prefetch</a> (Ecore_X_Window window)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the GetProperty request.  <a href="group__Ecore__X__NetWM__Group.html#gbea0854073f61fc3387d9685ccb0eecf"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g53300609f0803527f01471bd97b61fe2"></a><!-- doxytag: member="Ecore_X.h::ecore_x_netwm_icons_get_fetch" ref="g53300609f0803527f01471bd97b61fe2" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g53300609f0803527f01471bd97b61fe2">ecore_x_netwm_icons_get_fetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the reply of the GetProperty request sent by ecore_x_icons_get_prefetch(). <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g5d0490b2c0543142f56cfc51c11c1fe1">ecore_x_netwm_icons_get</a> (Ecore_X_Window win, Ecore_X_Icon **icon, int *num)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieve hte possible icons of a window.  <a href="group__Ecore__X__NetWM__Group.html#g5d0490b2c0543142f56cfc51c11c1fe1"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g88f5e4ec0da5d2cb64241c38e3589fdf">ecore_x_netwm_icon_geometry_set</a> (Ecore_X_Window win, int x, int y, int width, int height)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the _NET_WM_ICON_GEOMETRY property.  <a href="group__Ecore__X__NetWM__Group.html#g88f5e4ec0da5d2cb64241c38e3589fdf"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#gf03e99e4cd1c59bb20ccc37d93d78733">ecore_x_netwm_icon_geometry_get_prefetch</a> (Ecore_X_Window window)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the GetProperty request.  <a href="group__Ecore__X__NetWM__Group.html#gf03e99e4cd1c59bb20ccc37d93d78733"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g01bcd4044b8d94ff7cc56f9ca5831c1d"></a><!-- doxytag: member="Ecore_X.h::ecore_x_netwm_icon_geometry_get_fetch" ref="g01bcd4044b8d94ff7cc56f9ca5831c1d" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g01bcd4044b8d94ff7cc56f9ca5831c1d">ecore_x_netwm_icon_geometry_get_fetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the reply of the GetProperty request sent by ecore_x_icon_geometry_get_prefetch(). <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g4b7029e67d6e8d8ca72154c2c912113d">ecore_x_netwm_icon_geometry_get</a> (Ecore_X_Window win, int *x, int *y, int *width, int *height)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the geometry of an icon.  <a href="group__Ecore__X__NetWM__Group.html#g4b7029e67d6e8d8ca72154c2c912113d"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g3b7b3076e9ea1b106f36873b258322d4">ecore_x_netwm_pid_set</a> (Ecore_X_Window win, int pid)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the _NET_WM_PID property.  <a href="group__Ecore__X__NetWM__Group.html#g3b7b3076e9ea1b106f36873b258322d4"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#ge77708a72902c28e22af4baaca9aaac2">ecore_x_netwm_pid_get_prefetch</a> (Ecore_X_Window window)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the GetProperty request.  <a href="group__Ecore__X__NetWM__Group.html#ge77708a72902c28e22af4baaca9aaac2"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g716dba22ff552654642756b9527c3f29"></a><!-- doxytag: member="Ecore_X.h::ecore_x_netwm_pid_get_fetch" ref="g716dba22ff552654642756b9527c3f29" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g716dba22ff552654642756b9527c3f29">ecore_x_netwm_pid_get_fetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the reply of the GetProperty request sent by ecore_x_pid_get_prefetch(). <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#gea2442fd0c4d5871e9a92518abb0092d">ecore_x_netwm_pid_get</a> (Ecore_X_Window win, int *pid)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the process ID of a client window.  <a href="group__Ecore__X__NetWM__Group.html#gea2442fd0c4d5871e9a92518abb0092d"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#gba74ce8c16ea452ae31f30dad3a2d694">ecore_x_netwm_handled_icons_set</a> (Ecore_X_Window win)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the _NET_WM_HANDLED_ICONS property.  <a href="group__Ecore__X__NetWM__Group.html#gba74ce8c16ea452ae31f30dad3a2d694"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g432b8b3d09b56e82e7e529ffcfc56afd">ecore_x_netwm_handled_icons_get_prefetch</a> (Ecore_X_Window window)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the GetProperty request.  <a href="group__Ecore__X__NetWM__Group.html#g432b8b3d09b56e82e7e529ffcfc56afd"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g131d350d9088e13e55bd88f6f74da4ef"></a><!-- doxytag: member="Ecore_X.h::ecore_x_netwm_handled_icons_get_fetch" ref="g131d350d9088e13e55bd88f6f74da4ef" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g131d350d9088e13e55bd88f6f74da4ef">ecore_x_netwm_handled_icons_get_fetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the reply of the GetProperty request sent by ecore_x_handled_icons_get_prefetch(). <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#gacca4387980183d6993f980ad42a4869">ecore_x_netwm_handled_icons_get</a> (Ecore_X_Window win)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return wheter the Client handles icons or not.  <a href="group__Ecore__X__NetWM__Group.html#gacca4387980183d6993f980ad42a4869"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#gee0bb29864b98894ec02631236f4e794">ecore_x_netwm_user_time_set</a> (Ecore_X_Window win, unsigned int time)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the _NET_WM_USER_TIME property.  <a href="group__Ecore__X__NetWM__Group.html#gee0bb29864b98894ec02631236f4e794"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g547c35302c92ebfc5e6f54120755593a">ecore_x_netwm_user_time_get_prefetch</a> (Ecore_X_Window window)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the GetProperty request.  <a href="group__Ecore__X__NetWM__Group.html#g547c35302c92ebfc5e6f54120755593a"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g2f0ad96d62d836f07e13def405a1fa96"></a><!-- doxytag: member="Ecore_X.h::ecore_x_netwm_user_time_get_fetch" ref="g2f0ad96d62d836f07e13def405a1fa96" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g2f0ad96d62d836f07e13def405a1fa96">ecore_x_netwm_user_time_get_fetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the reply of the GetProperty request sent by <a class="el" href="group__Ecore__X__NetWM__Group.html#g547c35302c92ebfc5e6f54120755593a">ecore_x_netwm_user_time_get_prefetch()</a>. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#gc65c380e26c8efe810d21be5a013578a">ecore_x_netwm_user_time_get</a> (Ecore_X_Window win, unsigned int *time)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the last user activity time in the window.  <a href="group__Ecore__X__NetWM__Group.html#gc65c380e26c8efe810d21be5a013578a"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g48ea0e54441b6ffc81494151a3b4a53f">ecore_x_netwm_window_state_set</a> (Ecore_X_Window win, Ecore_X_Window_State *state, unsigned int num)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the _NET_WM_STATE property.  <a href="group__Ecore__X__NetWM__Group.html#g48ea0e54441b6ffc81494151a3b4a53f"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g325c8c4da075d776a4f91517648cd113">ecore_x_netwm_window_state_get_prefetch</a> (Ecore_X_Window window)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the GetProperty request.  <a href="group__Ecore__X__NetWM__Group.html#g325c8c4da075d776a4f91517648cd113"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g7db6800a36f20f764cfe63a58004e422"></a><!-- doxytag: member="Ecore_X.h::ecore_x_netwm_window_state_get_fetch" ref="g7db6800a36f20f764cfe63a58004e422" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g7db6800a36f20f764cfe63a58004e422">ecore_x_netwm_window_state_get_fetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the reply of the GetProperty request sent by ecore_x_window_state_get_prefetch(). <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g00b9620c98d37de04870a48ade2bd1cf">ecore_x_netwm_window_state_get</a> (Ecore_X_Window win, Ecore_X_Window_State **state, unsigned int *num)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the hints describing the window state.  <a href="group__Ecore__X__NetWM__Group.html#g00b9620c98d37de04870a48ade2bd1cf"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g350b959efbc770f72bcf99fd925c5af7">ecore_x_netwm_window_type_set</a> (Ecore_X_Window win, Ecore_X_Window_Type type)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the _NET_WM_WINDOW_TYPE property.  <a href="group__Ecore__X__NetWM__Group.html#g350b959efbc770f72bcf99fd925c5af7"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g26ef48c528e62c9fcca0cd0bde5705ac">ecore_x_netwm_window_type_get_prefetch</a> (Ecore_X_Window window)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the GetProperty request.  <a href="group__Ecore__X__NetWM__Group.html#g26ef48c528e62c9fcca0cd0bde5705ac"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ge94b43f91956f6043a20eb4c49d6ed43"></a><!-- doxytag: member="Ecore_X.h::ecore_x_netwm_window_type_get_fetch" ref="ge94b43f91956f6043a20eb4c49d6ed43" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#ge94b43f91956f6043a20eb4c49d6ed43">ecore_x_netwm_window_type_get_fetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the reply of the GetProperty request sent by ecore_x_window_type_get_prefetch(). <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g2c6e85b979a52f7f33d202582e904f15">ecore_x_netwm_window_type_get</a> (Ecore_X_Window win, Ecore_X_Window_Type *type)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the functional type of a window.  <a href="group__Ecore__X__NetWM__Group.html#g2c6e85b979a52f7f33d202582e904f15"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#ga23f72ae825d6dfedf36d0a80e11003e">ecore_x_netwm_allowed_action_isset</a> (Ecore_X_Window win, Ecore_X_Action action)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check whether an action is supported by a window.  <a href="group__Ecore__X__NetWM__Group.html#ga23f72ae825d6dfedf36d0a80e11003e"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#gd2aff9c983f0c54caec591c69254b486">ecore_x_netwm_allowed_action_set</a> (Ecore_X_Window win, Ecore_X_Action *action, unsigned int num)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the _NET_WM_ALLOWED_ACTIONS property.  <a href="group__Ecore__X__NetWM__Group.html#gd2aff9c983f0c54caec591c69254b486"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g533d21602d8068a40172b2a10199eaa5">ecore_x_netwm_allowed_action_get_prefetch</a> (Ecore_X_Window window)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the GetProperty request.  <a href="group__Ecore__X__NetWM__Group.html#g533d21602d8068a40172b2a10199eaa5"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gb96c5f54e223e873a1922baca7acb2a1"></a><!-- doxytag: member="Ecore_X.h::ecore_x_netwm_allowed_action_get_fetch" ref="gb96c5f54e223e873a1922baca7acb2a1" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#gb96c5f54e223e873a1922baca7acb2a1">ecore_x_netwm_allowed_action_get_fetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the reply of the GetProperty request sent by ecore_x_allowed_action_get_prefetch(). <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#gf99a4b8847575af7482902d14fac6410">ecore_x_netwm_allowed_action_get</a> (Ecore_X_Window win, Ecore_X_Action **action, unsigned int *num)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the allowed actions supported by a window.  <a href="group__Ecore__X__NetWM__Group.html#gf99a4b8847575af7482902d14fac6410"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g216585b4c71fe63e2694878792b2cc47">ecore_x_netwm_opacity_set</a> (Ecore_X_Window win, unsigned int opacity)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the _NET_WM_WINDOW_OPACITY property.  <a href="group__Ecore__X__NetWM__Group.html#g216585b4c71fe63e2694878792b2cc47"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#gadfb0b4c5d3894bc2c24bad6231ed08b">ecore_x_netwm_opacity_get_prefetch</a> (Ecore_X_Window window)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the GetProperty request.  <a href="group__Ecore__X__NetWM__Group.html#gadfb0b4c5d3894bc2c24bad6231ed08b"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g746631a94bf98b07b45d4e378786b85b"></a><!-- doxytag: member="Ecore_X.h::ecore_x_netwm_opacity_get_fetch" ref="g746631a94bf98b07b45d4e378786b85b" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g746631a94bf98b07b45d4e378786b85b">ecore_x_netwm_opacity_get_fetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the reply of the GetProperty request sent by <a class="el" href="group__Ecore__X__NetWM__Group.html#gadfb0b4c5d3894bc2c24bad6231ed08b">ecore_x_netwm_opacity_get_prefetch()</a>. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g9a28cefe24d304940b5e2cc86a2154a3">ecore_x_netwm_opacity_get</a> (Ecore_X_Window win, unsigned int *opacity)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the opacity value of a window.  <a href="group__Ecore__X__NetWM__Group.html#g9a28cefe24d304940b5e2cc86a2154a3"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g43c3ae6cd045ef6726bec3f97477fe5d">ecore_x_netwm_frame_size_set</a> (Ecore_X_Window win, int fl, int fr, int ft, int fb)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the _NET_FRAME_EXTENTS property.  <a href="group__Ecore__X__NetWM__Group.html#g43c3ae6cd045ef6726bec3f97477fe5d"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g89e2f7a4267ffb61387a6463b316ddee">ecore_x_netwm_frame_size_get_prefetch</a> (Ecore_X_Window window)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the GetProperty request.  <a href="group__Ecore__X__NetWM__Group.html#g89e2f7a4267ffb61387a6463b316ddee"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g784b4a524a5bae008ff3f6c8b7a1f1cc"></a><!-- doxytag: member="Ecore_X.h::ecore_x_netwm_frame_size_get_fetch" ref="g784b4a524a5bae008ff3f6c8b7a1f1cc" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g784b4a524a5bae008ff3f6c8b7a1f1cc">ecore_x_netwm_frame_size_get_fetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the reply of the GetProperty request sent by <a class="el" href="group__Ecore__X__NetWM__Group.html#g89e2f7a4267ffb61387a6463b316ddee">ecore_x_netwm_frame_size_get_prefetch()</a>. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#gc80dafdb077ef65d18c4eb9e6632efbe">ecore_x_netwm_frame_size_get</a> (Ecore_X_Window win, int *fl, int *fr, int *ft, int *fb)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the frame extent of a window.  <a href="group__Ecore__X__NetWM__Group.html#gc80dafdb077ef65d18c4eb9e6632efbe"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g6328ad18c00e8ba89eb137a64223d5a8">ecore_x_netwm_sync_counter_get_prefetch</a> (Ecore_X_Window window)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the GetProperty request.  <a href="group__Ecore__X__NetWM__Group.html#g6328ad18c00e8ba89eb137a64223d5a8"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g8ffd4e73e1a00cad7963207f3812132a"></a><!-- doxytag: member="Ecore_X.h::ecore_x_netwm_sync_counter_get_fetch" ref="g8ffd4e73e1a00cad7963207f3812132a" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g8ffd4e73e1a00cad7963207f3812132a">ecore_x_netwm_sync_counter_get_fetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the reply of the GetProperty request sent by <a class="el" href="group__Ecore__X__NetWM__Group.html#g6328ad18c00e8ba89eb137a64223d5a8">ecore_x_netwm_sync_counter_get_prefetch()</a>. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g81e23a83ca85e33e46410454e86411b2">ecore_x_netwm_sync_counter_get</a> (Ecore_X_Window win, Ecore_X_Sync_Counter *counter)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the X ID of a X Sync counter.  <a href="group__Ecore__X__NetWM__Group.html#g81e23a83ca85e33e46410454e86411b2"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g598ec951dbe83f40e1a202411dee5940">ecore_x_netwm_ping_send</a> (Ecore_X_Window win)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Send a _NET_WM_PING property event.  <a href="group__Ecore__X__NetWM__Group.html#g598ec951dbe83f40e1a202411dee5940"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g47005260f3688f6f604b4038ab6d13f1">ecore_x_netwm_sync_request_send</a> (Ecore_X_Window win, unsigned int serial)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Send a _NET_WM_SYNC_REQUEST property event.  <a href="group__Ecore__X__NetWM__Group.html#g47005260f3688f6f604b4038ab6d13f1"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g8620f15ce29d7f6aaddce6a4d557c678">ecore_x_netwm_state_request_send</a> (Ecore_X_Window win, Ecore_X_Window root, Ecore_X_Window_State s1, Ecore_X_Window_State s2, int set)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Send a _NET_WM_STATE property event.  <a href="group__Ecore__X__NetWM__Group.html#g8620f15ce29d7f6aaddce6a4d557c678"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g100be4f0f4342c5917167f28573f1763">ecore_x_netwm_desktop_request_send</a> (Ecore_X_Window win, Ecore_X_Window root, unsigned int desktop)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Send a _NET_WM_DESKTOP property event.  <a href="group__Ecore__X__NetWM__Group.html#g100be4f0f4342c5917167f28573f1763"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gc4dab50cf69473eab4e4c85442cd832f"></a><!-- doxytag: member="Ecore_X.h::ecore_x_xinerama_query_screens_prefetch" ref="gc4dab50cf69473eab4e4c85442cd832f" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Xinerama__Group.html#gc4dab50cf69473eab4e4c85442cd832f">ecore_x_xinerama_query_screens_prefetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the XineramaQueryScreens request. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g752dd7086f48c9cacf55258717d033c0"></a><!-- doxytag: member="Ecore_X.h::ecore_x_xinerama_query_screens_fetch" ref="g752dd7086f48c9cacf55258717d033c0" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Xinerama__Group.html#g752dd7086f48c9cacf55258717d033c0">ecore_x_xinerama_query_screens_fetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the reply of the XineramaQueryScreens request sent by <a class="el" href="group__Ecore__X__Xinerama__Group.html#gc4dab50cf69473eab4e4c85442cd832f">ecore_x_xinerama_query_screens_prefetch()</a>. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Xinerama__Group.html#g4b09e4659ca212f567c8877048d01675">ecore_x_xinerama_screen_count_get</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the number of screens.  <a href="group__Ecore__X__Xinerama__Group.html#g4b09e4659ca212f567c8877048d01675"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Xinerama__Group.html#g2ac0a2da385246918b865907e22fd99c">ecore_x_xinerama_screen_geometry_get</a> (int screen, int *x, int *y, int *w, int *h)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the geometry of the screen.  <a href="group__Ecore__X__Xinerama__Group.html#g2ac0a2da385246918b865907e22fd99c"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__ScrenSaver__Group.html#gd220f9551715b550a20616858941d3eb">ecore_x_screensaver_event_available_get</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return whether the X server supports the ScrenSaver Extension.  <a href="group__Ecore__X__ScrenSaver__Group.html#gd220f9551715b550a20616858941d3eb"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g2f8377d2641c0c99b52ed5a6958b9c6e"></a><!-- doxytag: member="Ecore_X.h::ecore_x_screensaver_idle_time_prefetch" ref="g2f8377d2641c0c99b52ed5a6958b9c6e" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__ScrenSaver__Group.html#g2f8377d2641c0c99b52ed5a6958b9c6e">ecore_x_screensaver_idle_time_prefetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the QueryInfo request. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gf571ec8eaf93e1f50ce654cb10b1dbd2"></a><!-- doxytag: member="Ecore_X.h::ecore_x_screensaver_idle_time_fetch" ref="gf571ec8eaf93e1f50ce654cb10b1dbd2" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__ScrenSaver__Group.html#gf571ec8eaf93e1f50ce654cb10b1dbd2">ecore_x_screensaver_idle_time_fetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the reply of the QueryInfo request sent by <a class="el" href="group__Ecore__X__ScrenSaver__Group.html#gc298f2d96e62f51a4a762356e05fb11f">ecore_x_get_screensaver_prefetch()</a>. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__ScrenSaver__Group.html#g53aac0b1f7d8d2faed6c70e39346135e">ecore_x_screensaver_idle_time_get</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the number of seconds since the last input was received.  <a href="group__Ecore__X__ScrenSaver__Group.html#g53aac0b1f7d8d2faed6c70e39346135e"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gc298f2d96e62f51a4a762356e05fb11f"></a><!-- doxytag: member="Ecore_X.h::ecore_x_get_screensaver_prefetch" ref="gc298f2d96e62f51a4a762356e05fb11f" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__ScrenSaver__Group.html#gc298f2d96e62f51a4a762356e05fb11f">ecore_x_get_screensaver_prefetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the GetScreenSaver request. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g247c7abda70efae971c0dab8c45b92f1"></a><!-- doxytag: member="Ecore_X.h::ecore_x_get_screensaver_fetch" ref="g247c7abda70efae971c0dab8c45b92f1" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__ScrenSaver__Group.html#g247c7abda70efae971c0dab8c45b92f1">ecore_x_get_screensaver_fetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the reply of the GetScreenSaver request sent by <a class="el" href="group__Ecore__X__ScrenSaver__Group.html#gc298f2d96e62f51a4a762356e05fb11f">ecore_x_get_screensaver_prefetch()</a>. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__ScrenSaver__Group.html#g26516d0fd54b856fc6cf195a64c2fdf8">ecore_x_screensaver_set</a> (int timeout, int interval, int blank, int expose)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the parameters of the screen saver.  <a href="group__Ecore__X__ScrenSaver__Group.html#g26516d0fd54b856fc6cf195a64c2fdf8"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__ScrenSaver__Group.html#g85c0f1a7fef1be2706be2ee97f9868be">ecore_x_screensaver_timeout_set</a> (double timeout)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the timeout of the screen saver.  <a href="group__Ecore__X__ScrenSaver__Group.html#g85c0f1a7fef1be2706be2ee97f9868be"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__ScrenSaver__Group.html#ge423133e98e9e88c698f1efd04a2bc3e">ecore_x_screensaver_timeout_get</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the timeout of the screen saver.  <a href="group__Ecore__X__ScrenSaver__Group.html#ge423133e98e9e88c698f1efd04a2bc3e"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__ScrenSaver__Group.html#gc573fddc225070334883d002729c218f">ecore_x_screensaver_blank_set</a> (double timeout)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the screen blanking.  <a href="group__Ecore__X__ScrenSaver__Group.html#gc573fddc225070334883d002729c218f"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__ScrenSaver__Group.html#g7cb707960e49130bd5c5940c69b0ad76">ecore_x_screensaver_blank_get</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the screen blanking.  <a href="group__Ecore__X__ScrenSaver__Group.html#g7cb707960e49130bd5c5940c69b0ad76"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__ScrenSaver__Group.html#g96e1872d15f7098dee168b43303dc52c">ecore_x_screensaver_expose_set</a> (double timeout)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the screen save control values.  <a href="group__Ecore__X__ScrenSaver__Group.html#g96e1872d15f7098dee168b43303dc52c"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__ScrenSaver__Group.html#gb9dd23c31d29f0dc818845f4b9ad21fd">ecore_x_screensaver_expose_get</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the screen save control values.  <a href="group__Ecore__X__ScrenSaver__Group.html#gb9dd23c31d29f0dc818845f4b9ad21fd"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__ScrenSaver__Group.html#ga6694e556123a7f3da482467dbdf7599">ecore_x_screensaver_interval_set</a> (double timeout)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the interval of the screen saver.  <a href="group__Ecore__X__ScrenSaver__Group.html#ga6694e556123a7f3da482467dbdf7599"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__ScrenSaver__Group.html#g171f13bf7c875af83589c0449deb3408">ecore_x_screensaver_interval_get</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the interval of the screen saver.  <a href="group__Ecore__X__ScrenSaver__Group.html#g171f13bf7c875af83589c0449deb3408"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__ScrenSaver__Group.html#ga567c33796d05f2b6a8dd3aae6af14fd">ecore_x_screensaver_event_listen_set</a> (int on)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Specifies if the Screen Saver NotifyMask event should be generated.  <a href="group__Ecore__X__ScrenSaver__Group.html#ga567c33796d05f2b6a8dd3aae6af14fd"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gfae6084f4ae1bb0bc1f9a5417e27ad20"></a><!-- doxytag: member="Ecore_X.h::ecore_x_get_window_attributes_prefetch" ref="gfae6084f4ae1bb0bc1f9a5417e27ad20" args="(Ecore_X_Window window)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Get__Attributes__Group.html#gfae6084f4ae1bb0bc1f9a5417e27ad20">ecore_x_get_window_attributes_prefetch</a> (Ecore_X_Window window)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the GetWindowAttributes request. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g70eb3d81772e48b216f523b14cdf5dd0"></a><!-- doxytag: member="Ecore_X.h::ecore_x_get_window_attributes_fetch" ref="g70eb3d81772e48b216f523b14cdf5dd0" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Get__Attributes__Group.html#g70eb3d81772e48b216f523b14cdf5dd0">ecore_x_get_window_attributes_fetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the reply of the GetWindowAttributes request sent by <a class="el" href="group__Ecore__X__Window__Get__Attributes__Group.html#gfae6084f4ae1bb0bc1f9a5417e27ad20">ecore_x_get_window_attributes_prefetch()</a>. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Save__Set__Group.html#g5292ea88a67a9d6ddef99a9f70d2a27a">ecore_x_window_save_set_add</a> (Ecore_X_Window win)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Inserts the window in the client's save-set.  <a href="group__Ecore__X__Window__Save__Set__Group.html#g5292ea88a67a9d6ddef99a9f70d2a27a"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Save__Set__Group.html#g59d6be42f3a1f5791ff3f367e336562f">ecore_x_window_save_set_del</a> (Ecore_X_Window win)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Deletes the window from the client's save-set.  <a href="group__Ecore__X__Window__Save__Set__Group.html#g59d6be42f3a1f5791ff3f367e336562f"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gc156ab3f1feb10bbdb2e529777692fcc"></a><!-- doxytag: member="Ecore_X.h::ecore_x_pointer_xy_get_prefetch" ref="gc156ab3f1feb10bbdb2e529777692fcc" args="(Ecore_X_Window window)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Parent__Group.html#gc156ab3f1feb10bbdb2e529777692fcc">ecore_x_pointer_xy_get_prefetch</a> (Ecore_X_Window window)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the QueryPointer request. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gd342433ee1430ee2ba4e2afe11dd9c7e"></a><!-- doxytag: member="Ecore_X.h::ecore_x_pointer_xy_get_fetch" ref="gd342433ee1430ee2ba4e2afe11dd9c7e" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Parent__Group.html#gd342433ee1430ee2ba4e2afe11dd9c7e">ecore_x_pointer_xy_get_fetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the reply of the QueryPointer request sent by ecore_x_query_pointer_prefetch(). <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_X_Sync_Alarm&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Sync__Group.html#g4297e9415311e99d2d57119792340831">ecore_x_sync_alarm_new</a> (Ecore_X_Sync_Counter counter)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a new alarm.  <a href="group__Ecore__X__Sync__Group.html#g4297e9415311e99d2d57119792340831"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Sync__Group.html#gf6c393e632c451bb1dfa9e478b545993">ecore_x_sync_alarm_free</a> (Ecore_X_Sync_Alarm alarm)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Delete an alarm.  <a href="group__Ecore__X__Sync__Group.html#gf6c393e632c451bb1dfa9e478b545993"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__RandR__Group.html#g3da36f6608ed12b06dfac42c733c85a8">ecore_x_randr_events_select</a> (Ecore_X_Window win, int on)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Select if the ScreenChangeNotify events will be sent.  <a href="group__Ecore__X__RandR__Group.html#g3da36f6608ed12b06dfac42c733c85a8"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__RandR__Group.html#gad888ac7ba23c09f8461b68746b3ed42">ecore_x_randr_get_screen_info_prefetch</a> (Ecore_X_Window window)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the GetScreenInfo request.  <a href="group__Ecore__X__RandR__Group.html#gad888ac7ba23c09f8461b68746b3ed42"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g6bacf7dd7ae77772aaad7ca4190928ce"></a><!-- doxytag: member="Ecore_X.h::ecore_x_randr_get_screen_info_fetch" ref="g6bacf7dd7ae77772aaad7ca4190928ce" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__RandR__Group.html#g6bacf7dd7ae77772aaad7ca4190928ce">ecore_x_randr_get_screen_info_fetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the reply of the GetScreenInfo request sent by <a class="el" href="group__Ecore__X__RandR__Group.html#gad888ac7ba23c09f8461b68746b3ed42">ecore_x_randr_get_screen_info_prefetch()</a>. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_X_Randr_Rotation&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__RandR__Group.html#g1eb8fa1940edec151d10accb9a0d949b">ecore_x_randr_screen_rotations_get</a> (Ecore_X_Window root)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the set of rotations and reflections.  <a href="group__Ecore__X__RandR__Group.html#g1eb8fa1940edec151d10accb9a0d949b"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_X_Randr_Rotation&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__RandR__Group.html#ga3a68841eaebe2e6c824cfb1f216b04e">ecore_x_randr_screen_rotation_get</a> (Ecore_X_Window root)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the rotation.  <a href="group__Ecore__X__RandR__Group.html#ga3a68841eaebe2e6c824cfb1f216b04e"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__RandR__Group.html#gd4368d091b23cb7aa6f165003345ee02">ecore_x_randr_screen_rotation_set</a> (Ecore_X_Window root, Ecore_X_Randr_Rotation rot)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the screen rotation.  <a href="group__Ecore__X__RandR__Group.html#gd4368d091b23cb7aa6f165003345ee02"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_X_Screen_Size *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__RandR__Group.html#gba0bcb46adcba878b3f86920fe97ac48">ecore_x_randr_screen_sizes_get</a> (Ecore_X_Window root, int *num)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the frame buffer sizes.  <a href="group__Ecore__X__RandR__Group.html#gba0bcb46adcba878b3f86920fe97ac48"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_X_Screen_Size&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__RandR__Group.html#g39f6b0042f8639c9e9d8261f9ca0fbbe">ecore_x_randr_current_screen_size_get</a> (Ecore_X_Window root)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the current frame buffer size.  <a href="group__Ecore__X__RandR__Group.html#g39f6b0042f8639c9e9d8261f9ca0fbbe"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__RandR__Group.html#g19e6ebee44b2f6783bab826239de5529">ecore_x_randr_screen_size_set</a> (Ecore_X_Window root, Ecore_X_Screen_Size size)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the screen size.  <a href="group__Ecore__X__RandR__Group.html#g19e6ebee44b2f6783bab826239de5529"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_X_Screen_Refresh_Rate *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__RandR__Group.html#g3d4a43b64cd09b6b0423d72fbd56ce46">ecore_x_randr_screen_refresh_rates_get</a> (Ecore_X_Window root, int size_id, int *num)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the refresh rates.  <a href="group__Ecore__X__RandR__Group.html#g3d4a43b64cd09b6b0423d72fbd56ce46"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_X_Screen_Refresh_Rate&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__RandR__Group.html#geeb60c5ac2c9db16ae0947398ed53207">ecore_x_randr_current_screen_refresh_rate_get</a> (Ecore_X_Window root)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the current refresh rate.  <a href="group__Ecore__X__RandR__Group.html#geeb60c5ac2c9db16ae0947398ed53207"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__RandR__Group.html#g419196c593bc7fb5737c639a40a2d78c">ecore_x_randr_screen_refresh_rate_set</a> (Ecore_X_Window root, Ecore_X_Screen_Size size, Ecore_X_Screen_Refresh_Rate rate)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the screen refresh rate.  <a href="group__Ecore__X__RandR__Group.html#g419196c593bc7fb5737c639a40a2d78c"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_X_Region&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Fixes__Group.html#g6a076823964f40a64c4b0e2c2137c7dd">ecore_x_region_new</a> (Ecore_X_Rectangle *rects, int num)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a region from rectangles.  <a href="group__Ecore__X__Fixes__Group.html#g6a076823964f40a64c4b0e2c2137c7dd"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_X_Region&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Fixes__Group.html#g2bd12d26d3e8ef4530818e55420cdead">ecore_x_region_new_from_bitmap</a> (Ecore_X_Pixmap bitmap)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a region from a pixmap.  <a href="group__Ecore__X__Fixes__Group.html#g2bd12d26d3e8ef4530818e55420cdead"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_X_Region&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Fixes__Group.html#gdfb1063da9ff8530bcdb418c58e4a125">ecore_x_region_new_from_window</a> (Ecore_X_Window win, Ecore_X_Region_Type type)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a region from a window.  <a href="group__Ecore__X__Fixes__Group.html#gdfb1063da9ff8530bcdb418c58e4a125"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_X_Region&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Fixes__Group.html#gc1dce8dab49024cad065feedee473383">ecore_x_region_new_from_gc</a> (Ecore_X_GC gc)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a region from a graphic context.  <a href="group__Ecore__X__Fixes__Group.html#gc1dce8dab49024cad065feedee473383"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_X_Region&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Fixes__Group.html#ga46367f4d333b9d4ef4d74dcec6635a5">ecore_x_region_new_from_picture</a> (Ecore_X_Picture picture)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a region from a picture.  <a href="group__Ecore__X__Fixes__Group.html#ga46367f4d333b9d4ef4d74dcec6635a5"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Fixes__Group.html#g823fca3ac6edf2b3cd19d1454432dbb3">ecore_x_region_del</a> (Ecore_X_Region region)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destroy a region.  <a href="group__Ecore__X__Fixes__Group.html#g823fca3ac6edf2b3cd19d1454432dbb3"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Fixes__Group.html#g11e45abe4f74c5556e3007f2a477b750">ecore_x_region_set</a> (Ecore_X_Region region, Ecore_X_Rectangle *rects, int num)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the content of a region.  <a href="group__Ecore__X__Fixes__Group.html#g11e45abe4f74c5556e3007f2a477b750"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Fixes__Group.html#g751219ea6491c157b464a06934cb794c">ecore_x_region_copy</a> (Ecore_X_Region dest, Ecore_X_Region source)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy the content of a region.  <a href="group__Ecore__X__Fixes__Group.html#g751219ea6491c157b464a06934cb794c"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Fixes__Group.html#g8c11c110bf6f674a30a1e854efd79fc5">ecore_x_region_combine</a> (Ecore_X_Region dest, Ecore_X_Region source1, Ecore_X_Region source2)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Make the union of two regions.  <a href="group__Ecore__X__Fixes__Group.html#g8c11c110bf6f674a30a1e854efd79fc5"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Fixes__Group.html#gca61e974a3e085dcf875a92228cf37d9">ecore_x_region_intersect</a> (Ecore_X_Region dest, Ecore_X_Region source1, Ecore_X_Region source2)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Make the intersection of two regions.  <a href="group__Ecore__X__Fixes__Group.html#gca61e974a3e085dcf875a92228cf37d9"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Fixes__Group.html#g3a4882c9f8fd172fc411bd6917c948c8">ecore_x_region_subtract</a> (Ecore_X_Region dest, Ecore_X_Region source1, Ecore_X_Region source2)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Make the substraction of two regions.  <a href="group__Ecore__X__Fixes__Group.html#g3a4882c9f8fd172fc411bd6917c948c8"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Fixes__Group.html#gfb593f8755c960955f82619a4c8d2b46">ecore_x_region_invert</a> (Ecore_X_Region dest, Ecore_X_Rectangle *bounds, Ecore_X_Region source)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Make the substraction of regions by bounds.  <a href="group__Ecore__X__Fixes__Group.html#gfb593f8755c960955f82619a4c8d2b46"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Fixes__Group.html#g57215689f69b1c76a2ab4f2a6d5266d2">ecore_x_region_translate</a> (Ecore_X_Region region, int dx, int dy)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Translate a region.  <a href="group__Ecore__X__Fixes__Group.html#g57215689f69b1c76a2ab4f2a6d5266d2"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Fixes__Group.html#gec43b244400f78625b5df28892a36354">ecore_x_region_extents</a> (Ecore_X_Region dest, Ecore_X_Region source)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Extent a region.  <a href="group__Ecore__X__Fixes__Group.html#gec43b244400f78625b5df28892a36354"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Fixes__Group.html#g7f88bc47da4734a82821eaa361bf351d">ecore_x_region_fetch_prefetch</a> (Ecore_X_Region region)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the XFixesFetchRegion request.  <a href="group__Ecore__X__Fixes__Group.html#g7f88bc47da4734a82821eaa361bf351d"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gef7d7d47ff0775c9ece020afd59151ea"></a><!-- doxytag: member="Ecore_X.h::ecore_x_region_fetch_fetch" ref="gef7d7d47ff0775c9ece020afd59151ea" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Fixes__Group.html#gef7d7d47ff0775c9ece020afd59151ea">ecore_x_region_fetch_fetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the reply of the XFixesFetchRegion request sent by ecore_xcb_region_fetch_prefetch(). <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_X_Rectangle *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Fixes__Group.html#g804cb633957daba47eb54b51d3bf9b2d">ecore_x_region_fetch</a> (Ecore_X_Region region, int *num, Ecore_X_Rectangle *bounds)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the rectangles that compose a region.  <a href="group__Ecore__X__Fixes__Group.html#g804cb633957daba47eb54b51d3bf9b2d"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Fixes__Group.html#g46c6d13c8e7a0fdaad6e8729321405fa">ecore_x_region_expand</a> (Ecore_X_Region dest, Ecore_X_Region source, unsigned int left, unsigned int right, unsigned int top, unsigned int bottom)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Expand a region.  <a href="group__Ecore__X__Fixes__Group.html#g46c6d13c8e7a0fdaad6e8729321405fa"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Fixes__Group.html#g30ede720135e613b6425b75ba13f0adc">ecore_x_region_gc_clip_set</a> (Ecore_X_Region region, Ecore_X_GC gc, int x_origin, int y_origin)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Change clip-mask in a graphic context to the specified region.  <a href="group__Ecore__X__Fixes__Group.html#g30ede720135e613b6425b75ba13f0adc"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Fixes__Group.html#g2d162c226f1168c0f3b1bc9dc3c0a045">ecore_x_region_window_shape_set</a> (Ecore_X_Region region, Ecore_X_Window win, Ecore_X_Shape_Type type, int x_offset, int y_offset)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Change the shape extension of a window.  <a href="group__Ecore__X__Fixes__Group.html#g2d162c226f1168c0f3b1bc9dc3c0a045"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Fixes__Group.html#g713590858dc8851b45acdbd0348e5093">ecore_x_region_picture_clip_set</a> (Ecore_X_Region region, Ecore_X_Picture picture, int x_origin, int y_origin)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Change clip-mask in picture to the specified region.  <a href="group__Ecore__X__Fixes__Group.html#g713590858dc8851b45acdbd0348e5093"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Damage__Group.html#g6bf9f36736d2a3326d7a8c49cdc17815">ecore_x_damage_query</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return whether the Damage Extension is available.  <a href="group__Ecore__X__Damage__Group.html#g6bf9f36736d2a3326d7a8c49cdc17815"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_X_Damage&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Damage__Group.html#gdc985407bfd0756db858552e478005d5">ecore_x_damage_new</a> (Ecore_X_Drawable d, Ecore_X_Damage_Report_Level level)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a damage object.  <a href="group__Ecore__X__Damage__Group.html#gdc985407bfd0756db858552e478005d5"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Damage__Group.html#g1641eb19e8543a763e2c3c2754e9f285">ecore_x_damage_del</a> (Ecore_X_Damage damage)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destroys a damage object.  <a href="group__Ecore__X__Damage__Group.html#g1641eb19e8543a763e2c3c2754e9f285"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Damage__Group.html#gede48cd79919238d061c78a28f3d4610">ecore_x_damage_subtract</a> (Ecore_X_Damage damage, Ecore_X_Region repair, Ecore_X_Region parts)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Synchronously modifies the region.  <a href="group__Ecore__X__Damage__Group.html#gede48cd79919238d061c78a28f3d4610"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#gf50ef199db219e0aac5ae1195d4e85a5">ecore_x_screen_is_composited</a> (int screen)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check whether a screen is composited or not.  <a href="group__Ecore__X__NetWM__Group.html#gf50ef199db219e0aac5ae1195d4e85a5"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__DPMS__Group.html#g032ee4fb13efffefc4f6a472ecd8fdc6">ecore_x_dpms_query</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks if the DPMS extension is available or not.  <a href="group__Ecore__X__DPMS__Group.html#g032ee4fb13efffefc4f6a472ecd8fdc6"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g57c4b53ec3e7398959703e86e08b2edc"></a><!-- doxytag: member="Ecore_X.h::ecore_x_dpms_capable_get_prefetch" ref="g57c4b53ec3e7398959703e86e08b2edc" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__DPMS__Group.html#g57c4b53ec3e7398959703e86e08b2edc">ecore_x_dpms_capable_get_prefetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the DPMSCapable request. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g30d1afa503d86e43aaf1e91452ee5cec"></a><!-- doxytag: member="Ecore_X.h::ecore_x_dpms_capable_get_fetch" ref="g30d1afa503d86e43aaf1e91452ee5cec" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__DPMS__Group.html#g30d1afa503d86e43aaf1e91452ee5cec">ecore_x_dpms_capable_get_fetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the reply of the DPMSCapable request sent by <a class="el" href="group__Ecore__X__DPMS__Group.html#g57c4b53ec3e7398959703e86e08b2edc">ecore_x_dpms_capable_get_prefetch()</a>. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__DPMS__Group.html#gcc046dd0ff301db75a220b44165d70d7">ecore_x_dpms_capable_get</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks if the X server is capable of DPMS.  <a href="group__Ecore__X__DPMS__Group.html#gcc046dd0ff301db75a220b44165d70d7"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g3acf2e4676f0c4e7d15dd55d895a664f"></a><!-- doxytag: member="Ecore_X.h::ecore_x_dpms_enable_get_prefetch" ref="g3acf2e4676f0c4e7d15dd55d895a664f" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__DPMS__Group.html#g3acf2e4676f0c4e7d15dd55d895a664f">ecore_x_dpms_enable_get_prefetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the DPMSInfo request. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gd135ecdd36d61f718bcde127dda01ae0"></a><!-- doxytag: member="Ecore_X.h::ecore_x_dpms_enable_get_fetch" ref="gd135ecdd36d61f718bcde127dda01ae0" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__DPMS__Group.html#gd135ecdd36d61f718bcde127dda01ae0">ecore_x_dpms_enable_get_fetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the reply of the DPMSInfo request sent by <a class="el" href="group__Ecore__X__DPMS__Group.html#g3acf2e4676f0c4e7d15dd55d895a664f">ecore_x_dpms_enable_get_prefetch()</a>. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__DPMS__Group.html#g41784bf96145cddc7a9a3d3b7022bb7a">ecore_x_dpms_enabled_get</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks the DPMS state of the display.  <a href="group__Ecore__X__DPMS__Group.html#g41784bf96145cddc7a9a3d3b7022bb7a"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__DPMS__Group.html#gbad51cbf45115e47e5b79370cb0262f1">ecore_x_dpms_enabled_set</a> (int enabled)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the DPMS state of the display.  <a href="group__Ecore__X__DPMS__Group.html#gbad51cbf45115e47e5b79370cb0262f1"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g1f7c26484063ed488792590ef83a25af"></a><!-- doxytag: member="Ecore_X.h::ecore_x_dpms_timeouts_get_prefetch" ref="g1f7c26484063ed488792590ef83a25af" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__DPMS__Group.html#g1f7c26484063ed488792590ef83a25af">ecore_x_dpms_timeouts_get_prefetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the DPMSGetTimeouts request. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gb45150258267e7390235b42b9597ddfd"></a><!-- doxytag: member="Ecore_X.h::ecore_x_dpms_timeouts_get_fetch" ref="gb45150258267e7390235b42b9597ddfd" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__DPMS__Group.html#gb45150258267e7390235b42b9597ddfd">ecore_x_dpms_timeouts_get_fetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the reply of the DPMSGetTimeouts request sent by <a class="el" href="group__Ecore__X__DPMS__Group.html#g1f7c26484063ed488792590ef83a25af">ecore_x_dpms_timeouts_get_prefetch()</a>. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__DPMS__Group.html#g7b648c34d84859af30563fff3ed1a9f4">ecore_x_dpms_timeouts_get</a> (unsigned int *standby, unsigned int *suspend, unsigned int *off)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the timeouts.  <a href="group__Ecore__X__DPMS__Group.html#g7b648c34d84859af30563fff3ed1a9f4"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__DPMS__Group.html#gdcb653306d26c1677a7fff274dda5a51">ecore_x_dpms_timeouts_set</a> (unsigned int standby, unsigned int suspend, unsigned int off)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the timeouts.  <a href="group__Ecore__X__DPMS__Group.html#gdcb653306d26c1677a7fff274dda5a51"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__DPMS__Group.html#g6e4a68ec1147d2fdc87c6a215aafd9ef">ecore_x_dpms_timeout_standby_get</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the amount of time of inactivity before standby mode is invoked.  <a href="group__Ecore__X__DPMS__Group.html#g6e4a68ec1147d2fdc87c6a215aafd9ef"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__DPMS__Group.html#g373fc80d403f3226a4ad65690eb8255a">ecore_x_dpms_timeout_suspend_get</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the amount of time of inactivity before the second level of power saving is invoked.  <a href="group__Ecore__X__DPMS__Group.html#g373fc80d403f3226a4ad65690eb8255a"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__DPMS__Group.html#gc8e40bb33ca0a50aacc59c82a68d5a02">ecore_x_dpms_timeout_off_get</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the amount of time of inactivity before the third and final level of power saving is invoked.  <a href="group__Ecore__X__DPMS__Group.html#gc8e40bb33ca0a50aacc59c82a68d5a02"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__DPMS__Group.html#g8137436224fc8e92f24b2eaad590d659">ecore_x_dpms_timeout_standby_set</a> (unsigned int new_timeout)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the standby timeout (in unit of seconds).  <a href="group__Ecore__X__DPMS__Group.html#g8137436224fc8e92f24b2eaad590d659"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__DPMS__Group.html#gb9acd7327a664d9a53b766e5c24c935e">ecore_x_dpms_timeout_suspend_set</a> (unsigned int new_timeout)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the suspend timeout (in unit of seconds).  <a href="group__Ecore__X__DPMS__Group.html#gb9acd7327a664d9a53b766e5c24c935e"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__DPMS__Group.html#g937f645a05628761889bf0d3815de851">ecore_x_dpms_timeout_off_set</a> (unsigned int new_timeout)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the off timeout (in unit of seconds).  <a href="group__Ecore__X__DPMS__Group.html#g937f645a05628761889bf0d3815de851"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Ecore functions for dealing with the X Windows System. 
+<p>
+Ecore_X provides a wrapper and convenience functions for using the X Windows System. Function groups for this part of the library include the following: <ul>
+<li><a class="el" href="group__Ecore__X__Init__Group.html">X Library Init and Shutdown Functions</a> </li>
+<li><a class="el" href="group__Ecore__X__Display__Attr__Group.html">X Display Attributes</a> </li>
+<li><a class="el" href="group__Ecore__X__Flush__Group.html">X Synchronization Functions</a> </li>
+</ul>
+<hr><h2>Enumeration Type Documentation</h2>
+<a class="anchor" name="27ee6c5d6e76016b7fd71a4b003e440d"></a><!-- doxytag: member="Ecore_X.h::_Ecore_X_Window_Input_Mode" ref="27ee6c5d6e76016b7fd71a4b003e440d" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">enum <a class="el" href="Ecore__X_8h.html#27ee6c5d6e76016b7fd71a4b003e440d">_Ecore_X_Window_Input_Mode</a>          </td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+<dl compact><dt><b>Enumerator: </b></dt><dd>
+<table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" name="27ee6c5d6e76016b7fd71a4b003e440d61e84f9007e6d49a0a6758378fb900a8"></a><!-- doxytag: member="ECORE_X_WINDOW_INPUT_MODE_NONE" ref="27ee6c5d6e76016b7fd71a4b003e440d61e84f9007e6d49a0a6758378fb900a8" args="" -->ECORE_X_WINDOW_INPUT_MODE_NONE</em>&nbsp;</td><td>
+The window can never be focused. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="27ee6c5d6e76016b7fd71a4b003e440d88b82c759d3481c0b52af66d50cde54e"></a><!-- doxytag: member="ECORE_X_WINDOW_INPUT_MODE_PASSIVE" ref="27ee6c5d6e76016b7fd71a4b003e440d88b82c759d3481c0b52af66d50cde54e" args="" -->ECORE_X_WINDOW_INPUT_MODE_PASSIVE</em>&nbsp;</td><td>
+The window can be focused by the WM but doesn't focus itself. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="27ee6c5d6e76016b7fd71a4b003e440d70598e73807833dfdde3391011d26c00"></a><!-- doxytag: member="ECORE_X_WINDOW_INPUT_MODE_ACTIVE_LOCAL" ref="27ee6c5d6e76016b7fd71a4b003e440d70598e73807833dfdde3391011d26c00" args="" -->ECORE_X_WINDOW_INPUT_MODE_ACTIVE_LOCAL</em>&nbsp;</td><td>
+The window sets the focus itself if one of its sub-windows already is focused. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="27ee6c5d6e76016b7fd71a4b003e440d77c3d879970639ed109e51636b1c3caf"></a><!-- doxytag: member="ECORE_X_WINDOW_INPUT_MODE_ACTIVE_GLOBAL" ref="27ee6c5d6e76016b7fd71a4b003e440d77c3d879970639ed109e51636b1c3caf" args="" -->ECORE_X_WINDOW_INPUT_MODE_ACTIVE_GLOBAL</em>&nbsp;</td><td>
+The window sets the focus itself even if another window is currently focused. </td></tr>
+</table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="dc73a7a2011cf1fa610b4100190807f1"></a><!-- doxytag: member="Ecore_X.h::_Ecore_X_Window_State" ref="dc73a7a2011cf1fa610b4100190807f1" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">enum <a class="el" href="Ecore__X_8h.html#dc73a7a2011cf1fa610b4100190807f1">_Ecore_X_Window_State</a>          </td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+<dl compact><dt><b>Enumerator: </b></dt><dd>
+<table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" name="dc73a7a2011cf1fa610b4100190807f1b743a8796f78fa31a216f142bd729f38"></a><!-- doxytag: member="ECORE_X_WINDOW_STATE_ICONIFIED" ref="dc73a7a2011cf1fa610b4100190807f1b743a8796f78fa31a216f142bd729f38" args="" -->ECORE_X_WINDOW_STATE_ICONIFIED</em>&nbsp;</td><td>
+The window is iconified. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="dc73a7a2011cf1fa610b4100190807f1913975f3907250af993042729d0eca87"></a><!-- doxytag: member="ECORE_X_WINDOW_STATE_MODAL" ref="dc73a7a2011cf1fa610b4100190807f1913975f3907250af993042729d0eca87" args="" -->ECORE_X_WINDOW_STATE_MODAL</em>&nbsp;</td><td>
+The window is a modal dialog box. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="dc73a7a2011cf1fa610b4100190807f18b758d78e270b3274431d91b02484b30"></a><!-- doxytag: member="ECORE_X_WINDOW_STATE_STICKY" ref="dc73a7a2011cf1fa610b4100190807f18b758d78e270b3274431d91b02484b30" args="" -->ECORE_X_WINDOW_STATE_STICKY</em>&nbsp;</td><td>
+The window manager should keep the window's position fixed even if the virtual desktop scrolls. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="dc73a7a2011cf1fa610b4100190807f1bfe7dee8962110c5f9d514bbf6dd658c"></a><!-- doxytag: member="ECORE_X_WINDOW_STATE_MAXIMIZED_VERT" ref="dc73a7a2011cf1fa610b4100190807f1bfe7dee8962110c5f9d514bbf6dd658c" args="" -->ECORE_X_WINDOW_STATE_MAXIMIZED_VERT</em>&nbsp;</td><td>
+The window has the maximum vertical size. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="dc73a7a2011cf1fa610b4100190807f16767bdc87057c70cdd236d6ca158463d"></a><!-- doxytag: member="ECORE_X_WINDOW_STATE_MAXIMIZED_HORZ" ref="dc73a7a2011cf1fa610b4100190807f16767bdc87057c70cdd236d6ca158463d" args="" -->ECORE_X_WINDOW_STATE_MAXIMIZED_HORZ</em>&nbsp;</td><td>
+The window has the maximum horizontal size. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="dc73a7a2011cf1fa610b4100190807f1aee9b74696501d60977b3cf682a1caff"></a><!-- doxytag: member="ECORE_X_WINDOW_STATE_SHADED" ref="dc73a7a2011cf1fa610b4100190807f1aee9b74696501d60977b3cf682a1caff" args="" -->ECORE_X_WINDOW_STATE_SHADED</em>&nbsp;</td><td>
+The window is shaded. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="dc73a7a2011cf1fa610b4100190807f131e3d2047dbf9cfcd7c1ae4cd661a0ff"></a><!-- doxytag: member="ECORE_X_WINDOW_STATE_SKIP_TASKBAR" ref="dc73a7a2011cf1fa610b4100190807f131e3d2047dbf9cfcd7c1ae4cd661a0ff" args="" -->ECORE_X_WINDOW_STATE_SKIP_TASKBAR</em>&nbsp;</td><td>
+The window should not be included in the taskbar. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="dc73a7a2011cf1fa610b4100190807f1bd03ef746554d9d66c1458b99fbc7e21"></a><!-- doxytag: member="ECORE_X_WINDOW_STATE_SKIP_PAGER" ref="dc73a7a2011cf1fa610b4100190807f1bd03ef746554d9d66c1458b99fbc7e21" args="" -->ECORE_X_WINDOW_STATE_SKIP_PAGER</em>&nbsp;</td><td>
+The window should not be included in the pager. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="dc73a7a2011cf1fa610b4100190807f194e1956bcc7b817dabf944457f99ed92"></a><!-- doxytag: member="ECORE_X_WINDOW_STATE_HIDDEN" ref="dc73a7a2011cf1fa610b4100190807f194e1956bcc7b817dabf944457f99ed92" args="" -->ECORE_X_WINDOW_STATE_HIDDEN</em>&nbsp;</td><td>
+The window is invisible (i.e. 
+<p>
+minimized/iconified) </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="dc73a7a2011cf1fa610b4100190807f1813f8507385ac350c0c2c6677898a8c9"></a><!-- doxytag: member="ECORE_X_WINDOW_STATE_FULLSCREEN" ref="dc73a7a2011cf1fa610b4100190807f1813f8507385ac350c0c2c6677898a8c9" args="" -->ECORE_X_WINDOW_STATE_FULLSCREEN</em>&nbsp;</td><td>
+The window should fill the entire screen and have no window border/decorations. </td></tr>
+</table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="738ccad8c89247d9cd80e007fab0bf1e"></a><!-- doxytag: member="Ecore_X.h::_Ecore_X_Window_State_Hint" ref="738ccad8c89247d9cd80e007fab0bf1e" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">enum <a class="el" href="Ecore__X_8h.html#738ccad8c89247d9cd80e007fab0bf1e">_Ecore_X_Window_State_Hint</a>          </td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+<dl compact><dt><b>Enumerator: </b></dt><dd>
+<table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" name="738ccad8c89247d9cd80e007fab0bf1eab490edafc104803047ef38e3fe37f1f"></a><!-- doxytag: member="ECORE_X_WINDOW_STATE_HINT_NONE" ref="738ccad8c89247d9cd80e007fab0bf1eab490edafc104803047ef38e3fe37f1f" args="" -->ECORE_X_WINDOW_STATE_HINT_NONE</em>&nbsp;</td><td>
+Do not provide any state hint to the window manager. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="738ccad8c89247d9cd80e007fab0bf1e2ee8636730f2ccf0f3b29c3919c708eb"></a><!-- doxytag: member="ECORE_X_WINDOW_STATE_HINT_WITHDRAWN" ref="738ccad8c89247d9cd80e007fab0bf1e2ee8636730f2ccf0f3b29c3919c708eb" args="" -->ECORE_X_WINDOW_STATE_HINT_WITHDRAWN</em>&nbsp;</td><td>
+The window wants to remain hidden and NOT iconified. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="738ccad8c89247d9cd80e007fab0bf1eb5d3bf570112e77f142081df61749f43"></a><!-- doxytag: member="ECORE_X_WINDOW_STATE_HINT_NORMAL" ref="738ccad8c89247d9cd80e007fab0bf1eb5d3bf570112e77f142081df61749f43" args="" -->ECORE_X_WINDOW_STATE_HINT_NORMAL</em>&nbsp;</td><td>
+The window wants to be mapped normally. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="738ccad8c89247d9cd80e007fab0bf1edb18b35391c2c6ea2f8dafd6577dabac"></a><!-- doxytag: member="ECORE_X_WINDOW_STATE_HINT_ICONIC" ref="738ccad8c89247d9cd80e007fab0bf1edb18b35391c2c6ea2f8dafd6577dabac" args="" -->ECORE_X_WINDOW_STATE_HINT_ICONIC</em>&nbsp;</td><td>
+The window wants to start in an iconified state. </td></tr>
+</table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="e4166d74a0954bc928706496f677e56d"></a><!-- doxytag: member="Ecore_X.h::_Ecore_X_WM_Protocol" ref="e4166d74a0954bc928706496f677e56d" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">enum <a class="el" href="Ecore__X_8h.html#e4166d74a0954bc928706496f677e56d">_Ecore_X_WM_Protocol</a>          </td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+<dl compact><dt><b>Enumerator: </b></dt><dd>
+<table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" name="e4166d74a0954bc928706496f677e56d27d9e53db2213d3df8051f47b750fdc6"></a><!-- doxytag: member="ECORE_X_WM_PROTOCOL_DELETE_REQUEST" ref="e4166d74a0954bc928706496f677e56d27d9e53db2213d3df8051f47b750fdc6" args="" -->ECORE_X_WM_PROTOCOL_DELETE_REQUEST</em>&nbsp;</td><td>
+If enabled the window manager will be asked to send a delete message instead of just closing (destroying) the window. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="e4166d74a0954bc928706496f677e56d5657fbc84712eb536f7fc1c13c446245"></a><!-- doxytag: member="ECORE_X_WM_PROTOCOL_TAKE_FOCUS" ref="e4166d74a0954bc928706496f677e56d5657fbc84712eb536f7fc1c13c446245" args="" -->ECORE_X_WM_PROTOCOL_TAKE_FOCUS</em>&nbsp;</td><td>
+If enabled the window manager will be told that the window explicitly sets input focus. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="e4166d74a0954bc928706496f677e56d83109c98c3793ec8c0e8ae4f46389b37"></a><!-- doxytag: member="ECORE_X_NET_WM_PROTOCOL_PING" ref="e4166d74a0954bc928706496f677e56d83109c98c3793ec8c0e8ae4f46389b37" args="" -->ECORE_X_NET_WM_PROTOCOL_PING</em>&nbsp;</td><td>
+If enabled the window manager can ping the window to check if it is alive. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="e4166d74a0954bc928706496f677e56d0754156ca8a04567ca0b93721a02a974"></a><!-- doxytag: member="ECORE_X_NET_WM_PROTOCOL_SYNC_REQUEST" ref="e4166d74a0954bc928706496f677e56d0754156ca8a04567ca0b93721a02a974" args="" -->ECORE_X_NET_WM_PROTOCOL_SYNC_REQUEST</em>&nbsp;</td><td>
+If enabled the window manager can sync updating with the window (?). </td></tr>
+</table>
+</dl>
+
+</div>
+</div><p>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="f2b0dbe8f93124b077f9c52ddbe10229"></a><!-- doxytag: member="Ecore_X.h::ecore_x_atom_get" ref="f2b0dbe8f93124b077f9c52ddbe10229" args="(const char *name)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Ecore_X_Atom ecore_x_atom_get           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>name</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Retrieves the atom value associated with the given name. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>The given name. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>Associated atom value. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="21d8659bf7bbf1721b3ff6d7160a5d89"></a><!-- doxytag: member="Ecore_X.h::ecore_x_client_message32_send" ref="21d8659bf7bbf1721b3ff6d7160a5d89" args="(Ecore_X_Window win, Ecore_X_Atom type, Ecore_X_Event_Mask mask, long d0, long d1, long d2, long d3, long d4)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_x_client_message32_send           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Atom&nbsp;</td>
+          <td class="paramname"> <em>type</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Event_Mask&nbsp;</td>
+          <td class="paramname"> <em>mask</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">long&nbsp;</td>
+          <td class="paramname"> <em>d0</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">long&nbsp;</td>
+          <td class="paramname"> <em>d1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">long&nbsp;</td>
+          <td class="paramname"> <em>d2</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">long&nbsp;</td>
+          <td class="paramname"> <em>d3</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">long&nbsp;</td>
+          <td class="paramname"> <em>d4</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Send client message with given type and format 32. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window the message is sent to. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>type</em>&nbsp;</td><td>The client message type. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>mask</em>&nbsp;</td><td>The client message mask. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>d0</em>&nbsp;</td><td>The client message data item 1 </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>d1</em>&nbsp;</td><td>The client message data item 2 </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>d2</em>&nbsp;</td><td>The client message data item 3 </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>d3</em>&nbsp;</td><td>The client message data item 4 </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>d4</em>&nbsp;</td><td>The client message data item 5</td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>!0 on success. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="e834b269276e92b2205a6c7c9818801f"></a><!-- doxytag: member="Ecore_X.h::ecore_x_client_message8_send" ref="e834b269276e92b2205a6c7c9818801f" args="(Ecore_X_Window win, Ecore_X_Atom type, const void *data, int len)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_x_client_message8_send           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Atom&nbsp;</td>
+          <td class="paramname"> <em>type</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>data</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>len</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Send client message with given type and format 8. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window the message is sent to. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>type</em>&nbsp;</td><td>The client message type. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>Data to be sent. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>len</em>&nbsp;</td><td>Number of data bytes, max 20.</td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>!0 on success. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="69a1f34a22cb895eb2f69bbb0dba664d"></a><!-- doxytag: member="Ecore_X.h::ecore_x_dnd_begin" ref="69a1f34a22cb895eb2f69bbb0dba664d" args="(Ecore_X_Window source, unsigned char *data, int size)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_x_dnd_begin           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>source</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">unsigned char *&nbsp;</td>
+          <td class="paramname"> <em>data</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>size</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Begins the DnD. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>source</em>&nbsp;</td><td>Unused. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>The data. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>size</em>&nbsp;</td><td>The size of the data. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 on failure, 1 otherwise.</dd></dl>
+Begins the DnD. Returns 0 on failure, 1 otherwise.<p>
+To use this function, you must call before, and in order, <a class="el" href="Ecore__X_8h.html#ee92dc6569e2399467e311dc1891cec1">ecore_x_dnd_begin_prefetch()</a>, which sends the GetProperty request, then <a class="el" href="Ecore__X_8h.html#1c0b6f09e658cf6665e33b3fb23c453f">ecore_x_dnd_begin_fetch()</a>, which gets the reply. 
+</div>
+</div><p>
+<a class="anchor" name="ee92dc6569e2399467e311dc1891cec1"></a><!-- doxytag: member="Ecore_X.h::ecore_x_dnd_begin_prefetch" ref="ee92dc6569e2399467e311dc1891cec1" args="(Ecore_X_Window source)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_dnd_begin_prefetch           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>source</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sends the GetProperty request. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>source</em>&nbsp;</td><td>Window whose properties are requested. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="faac16867b88c543fc3495d7870de2db"></a><!-- doxytag: member="Ecore_X.h::ecore_x_dnd_type_get_prefetch" ref="faac16867b88c543fc3495d7870de2db" args="(Ecore_X_Window window)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_dnd_type_get_prefetch           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sends the GetProperty request. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>Window whose properties are requested. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="a6353eec3c6edb2844af21837f7b443b"></a><!-- doxytag: member="Ecore_X.h::ecore_x_dnd_type_isset" ref="a6353eec3c6edb2844af21837f7b443b" args="(Ecore_X_Window win, const char *type)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_x_dnd_type_isset           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>type</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Check if the type is set. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>Unused. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>type</em>&nbsp;</td><td>The type to check </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 on failure, 1 otherwise.</dd></dl>
+Check if the type is set. 0 on failure, 1 otherwise.<p>
+To use this function, you must call before, and in order, <a class="el" href="Ecore__X_8h.html#faac16867b88c543fc3495d7870de2db">ecore_x_dnd_type_get_prefetch()</a>, which sends the GetProperty request, then <a class="el" href="Ecore__X_8h.html#5bed0f4a896d74c405da1f2b288ecfa2">ecore_x_dnd_type_get_fetch()</a>, which gets the reply. 
+</div>
+</div><p>
+<a class="anchor" name="1d0182a066392f254569cb713c7ff92a"></a><!-- doxytag: member="Ecore_X.h::ecore_x_dnd_type_set" ref="1d0182a066392f254569cb713c7ff92a" args="(Ecore_X_Window win, const char *type, int on)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_dnd_type_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>type</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>on</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set the type. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>Unused. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>type</em>&nbsp;</td><td>The type to set </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>on</em>&nbsp;</td><td>0 or non 0...</td></tr>
+  </table>
+</dl>
+Set the type.<p>
+To use this function, you must call before, and in order, <a class="el" href="Ecore__X_8h.html#faac16867b88c543fc3495d7870de2db">ecore_x_dnd_type_get_prefetch()</a>, which sends the GetProperty request, then <a class="el" href="Ecore__X_8h.html#5bed0f4a896d74c405da1f2b288ecfa2">ecore_x_dnd_type_get_fetch()</a>, which gets the reply. 
+</div>
+</div><p>
+<a class="anchor" name="d58563fb4d3c56559c3eef1bd0641641"></a><!-- doxytag: member="Ecore_X.h::ecore_x_dnd_types_set" ref="d58563fb4d3c56559c3eef1bd0641641" args="(Ecore_X_Window win, char **types, unsigned int num_types)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_dnd_types_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">char **&nbsp;</td>
+          <td class="paramname"> <em>types</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">unsigned int&nbsp;</td>
+          <td class="paramname"> <em>num_types</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set the types. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>Unused. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>types</em>&nbsp;</td><td>The types to set </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>num_types</em>&nbsp;</td><td>The number of types</td></tr>
+  </table>
+</dl>
+Set the types.<p>
+To use this function, you must call before, and in order, <a class="el" href="Ecore__X_8h.html#faac16867b88c543fc3495d7870de2db">ecore_x_dnd_type_get_prefetch()</a>, which sends the GetProperty request, then <a class="el" href="Ecore__X_8h.html#5bed0f4a896d74c405da1f2b288ecfa2">ecore_x_dnd_type_get_fetch()</a>, which gets the reply. 
+</div>
+</div><p>
+<a class="anchor" name="0b68cce92d1f990321903e5d9292391c"></a><!-- doxytag: member="Ecore_X.h::ecore_x_dnd_version_get" ref="0b68cce92d1f990321903e5d9292391c" args="(Ecore_X_Window win)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_x_dnd_version_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Get the DnD version. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>Unused. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 on failure, the version otherwise.</dd></dl>
+Get the DnD version. Returns 0 on failure, the version otherwise.<p>
+To use this function, you must call before, and in order, <a class="el" href="Ecore__X_8h.html#e7f266903dbf92b6bd9175b4b44c3fcd">ecore_x_dnd_version_get_prefetch()</a>, which sends the GetProperty request, then <a class="el" href="Ecore__X_8h.html#238ed4b614a99820351dea8299121e42">ecore_x_dnd_version_get_fetch()</a>, which gets the reply. 
+</div>
+</div><p>
+<a class="anchor" name="e7f266903dbf92b6bd9175b4b44c3fcd"></a><!-- doxytag: member="Ecore_X.h::ecore_x_dnd_version_get_prefetch" ref="e7f266903dbf92b6bd9175b4b44c3fcd" args="(Ecore_X_Window window)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_dnd_version_get_prefetch           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sends the GetProperty request. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>Window whose properties are requested. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="1c63fe54bdbd5846a0e535ae7957d565"></a><!-- doxytag: member="Ecore_X.h::ecore_x_error_code_get" ref="1c63fe54bdbd5846a0e535ae7957d565" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_x_error_code_get           </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Get the error code from the error. 
+<p>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The error code from the X error</dd></dl>
+Return the error code from the last X error 
+</div>
+</div><p>
+<a class="anchor" name="0e666a65593e83146fc4df7a5b8025c7"></a><!-- doxytag: member="Ecore_X.h::ecore_x_error_handler_set" ref="0e666a65593e83146fc4df7a5b8025c7" args="(void(*func)(void *data), const void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_error_handler_set           </td>
+          <td>(</td>
+          <td class="paramtype">void(*)(void *data)&nbsp;</td>
+          <td class="paramname"> <em>func</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set the error handler. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>func</em>&nbsp;</td><td>The error handler function </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>The data to be passed to the handler function</td></tr>
+  </table>
+</dl>
+Set the X error handler function 
+</div>
+</div><p>
+<a class="anchor" name="c69bf911c334edb87c657455b8f93d9e"></a><!-- doxytag: member="Ecore_X.h::ecore_x_error_request_get" ref="c69bf911c334edb87c657455b8f93d9e" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_x_error_request_get           </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Get the request code that caused the error. 
+<p>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The request code causing the X error</dd></dl>
+Return the X request code that caused the last X error 
+</div>
+</div><p>
+<a class="anchor" name="1017c1e5a4ff5544d34e9953f2e98939"></a><!-- doxytag: member="Ecore_X.h::ecore_x_gc_del" ref="1017c1e5a4ff5544d34e9953f2e98939" args="(Ecore_X_GC gc)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_gc_del           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_GC&nbsp;</td>
+          <td class="paramname"> <em>gc</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Deletes and frees the given graphics context. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>gc</em>&nbsp;</td><td>The given graphics context.</td></tr>
+  </table>
+</dl>
+Destroyes the graphic context <code>gc</code> as well as the associated storage. 
+</div>
+</div><p>
+<a class="anchor" name="d4da592f24cd063ce4ee7b6292dfbbf8"></a><!-- doxytag: member="Ecore_X.h::ecore_x_gc_new" ref="d4da592f24cd063ce4ee7b6292dfbbf8" args="(Ecore_X_Drawable draw)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Ecore_X_GC ecore_x_gc_new           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Drawable&nbsp;</td>
+          <td class="paramname"> <em>drawable</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Creates a new default graphics context associated with the given drawable. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>drawable</em>&nbsp;</td><td>Drawable to create graphics context with. If <code>0</code> is given instead, the default root window is used. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The new default graphics context.</dd></dl>
+Creates a new default graphics context associated with <code>drawable</code>. The graphic context can be used with any destination drawable having the same root and depth as <code>drawable</code>. Use with other drawables results in a BadMatch error. 
+</div>
+</div><p>
+<a class="anchor" name="ec73fda941e864ef8ac60f0b61018e52"></a><!-- doxytag: member="Ecore_X.h::ecore_x_icccm_command_get" ref="ec73fda941e864ef8ac60f0b61018e52" args="(Ecore_X_Window win, int *argc, char ***argv)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_icccm_command_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>win</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>argc</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">char ***&nbsp;</td>
+          <td class="paramname"> <em>argv</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Get the WM_COMMAND property for <em>win</em>. 
+<p>
+Return the command of a window. String must be free'd when done with.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>win</em>&nbsp;</td><td>The window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>argc</em>&nbsp;</td><td>Number of arguments. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>argv</em>&nbsp;</td><td>Arguments. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="f4c563d7a2573530597175966032eff6"></a><!-- doxytag: member="Ecore_X.h::ecore_x_icccm_icon_name_get" ref="f4c563d7a2573530597175966032eff6" args="(Ecore_X_Window win)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI char* ecore_x_icccm_icon_name_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>win</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Get a window icon name. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>win</em>&nbsp;</td><td>The window </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The windows icon name string</dd></dl>
+Return the icon name of a window. String must be free'd when done with. 
+</div>
+</div><p>
+<a class="anchor" name="ff06f01a91f6e515ff894d7a62784a9d"></a><!-- doxytag: member="Ecore_X.h::ecore_x_icccm_name_class_get" ref="ff06f01a91f6e515ff894d7a62784a9d" args="(Ecore_X_Window win, char **n, char **c)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_icccm_name_class_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>win</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">char **&nbsp;</td>
+          <td class="paramname"> <em>n</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">char **&nbsp;</td>
+          <td class="paramname"> <em>c</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Get a window name &amp; class. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>win</em>&nbsp;</td><td>The window </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>n</em>&nbsp;</td><td>The name string </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>c</em>&nbsp;</td><td>The class string</td></tr>
+  </table>
+</dl>
+Get a window name * class 
+</div>
+</div><p>
+<a class="anchor" name="84500711120704820a7a097c0774e7a8"></a><!-- doxytag: member="Ecore_X.h::ecore_x_icccm_protocol_isset" ref="84500711120704820a7a097c0774e7a8" args="(Ecore_X_Window win, Ecore_X_WM_Protocol protocol)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_x_icccm_protocol_isset           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>win</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_WM_Protocol&nbsp;</td>
+          <td class="paramname"> <em>protocol</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Determines whether a protocol is set for a window. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>win</em>&nbsp;</td><td>The Window </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>protocol</em>&nbsp;</td><td>The protocol to query </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 if the protocol is set, else 0. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="b28b455ff35e3c9f8e18f29be617dc1f"></a><!-- doxytag: member="Ecore_X.h::ecore_x_icccm_transient_for_get" ref="b28b455ff35e3c9f8e18f29be617dc1f" args="(Ecore_X_Window win)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Ecore_X_Window ecore_x_icccm_transient_for_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>win</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Get the window this window is transient for, if any. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>win</em>&nbsp;</td><td>The window to check </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The window ID of the top-level window, or 0 if the property does not exist. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="1283ea18fceed968627f1e2c13750d80"></a><!-- doxytag: member="Ecore_X.h::ecore_x_io_error_handler_set" ref="1283ea18fceed968627f1e2c13750d80" args="(void(*func)(void *data), const void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_io_error_handler_set           </td>
+          <td>(</td>
+          <td class="paramtype">void(*)(void *data)&nbsp;</td>
+          <td class="paramname"> <em>func</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set the I/O error handler. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>func</em>&nbsp;</td><td>The I/O error handler function </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>The data to be passed to the handler function</td></tr>
+  </table>
+</dl>
+Set the X I/O error handler function 
+</div>
+</div><p>
+<a class="anchor" name="bccc12f989efb33663d1fe54b96c12e2"></a><!-- doxytag: member="Ecore_X.h::ecore_x_kill" ref="bccc12f989efb33663d1fe54b96c12e2" args="(Ecore_X_Window win)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_kill           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Kill a specific client. 
+<p>
+You can kill a specific client woning window <code>window</code> <p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>Window of the client to be killed </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="cfb7138e003fdda4452e73fbc879cddd"></a><!-- doxytag: member="Ecore_X.h::ecore_x_killall" ref="cfb7138e003fdda4452e73fbc879cddd" args="(Ecore_X_Window root)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_killall           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>root</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Kill all clients with subwindows under a given window. 
+<p>
+You can kill all clients connected to the X server by using <a class="el" href="Ecore__X_8h.html#78bb4a4944619d01db4bccf3047465cb">ecore_x_window_root_list</a> to get a list of root windows, and then passing each root window to this function.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>root</em>&nbsp;</td><td>The window whose children will be killed. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="690146f78b917aa6f08a242365946d4f"></a><!-- doxytag: member="Ecore_X.h::ecore_x_selection_clipboard_clear" ref="690146f78b917aa6f08a242365946d4f" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_x_selection_clipboard_clear           </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Release ownership of the clipboard selection. 
+<p>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns 1 if the selection was successfully cleared, or 0 if unsuccessful.</dd></dl>
+To use this function, you must call before, and in order, <a class="el" href="Ecore__X_8h.html#3742482b87ab25c390f3ea48cc276a29">ecore_x_selection_clipboard_prefetch()</a>, which sends the GetSelectionOwner request, then <a class="el" href="Ecore__X_8h.html#3e5d595f4bbabd29f1951b9c28d0f384">ecore_x_selection_clipboard_fetch()</a>, which gets the reply. 
+</div>
+</div><p>
+<a class="anchor" name="fc255b32b26008676da623cc044a5f39"></a><!-- doxytag: member="Ecore_X.h::ecore_x_selection_clipboard_set" ref="fc255b32b26008676da623cc044a5f39" args="(Ecore_X_Window w, const void *data, int size)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_x_selection_clipboard_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>data</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>size</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Claim ownership of the CLIPBOARD selection and set its data. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window to which this selection belongs </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>The data associated with the selection </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>size</em>&nbsp;</td><td>The size of the data buffer in bytes </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns 1 if the ownership of the selection was successfully claimed, or 0 if unsuccessful.</dd></dl>
+Get the converted data from a previous CLIPBOARD selection request. The buffer must be freed when done with.<p>
+To use this function, you must call before, and in order, <a class="el" href="Ecore__X_8h.html#3742482b87ab25c390f3ea48cc276a29">ecore_x_selection_clipboard_prefetch()</a>, which sends the GetSelectionOwner request, then <a class="el" href="Ecore__X_8h.html#3e5d595f4bbabd29f1951b9c28d0f384">ecore_x_selection_clipboard_fetch()</a>, which gets the reply. 
+</div>
+</div><p>
+<a class="anchor" name="ec438c5b878050b004a58c0e33062720"></a><!-- doxytag: member="Ecore_X.h::ecore_x_selection_primary_clear" ref="ec438c5b878050b004a58c0e33062720" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_x_selection_primary_clear           </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Release ownership of the primary selection. 
+<p>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns 1 if the selection was successfully cleared, or 0 if unsuccessful.</dd></dl>
+To use this function, you must call before, and in order, <a class="el" href="Ecore__X_8h.html#e86ff8e908af7f620d186449b093525d">ecore_x_selection_primary_prefetch()</a>, which sends the GetSelectionOwner request, then <a class="el" href="Ecore__X_8h.html#a0a14ed7682ddae679ad1eb9b172a6df">ecore_x_selection_primary_fetch()</a>, which gets the reply. 
+</div>
+</div><p>
+<a class="anchor" name="316362262fc1cce9cb9a744600cd91f2"></a><!-- doxytag: member="Ecore_X.h::ecore_x_selection_primary_set" ref="316362262fc1cce9cb9a744600cd91f2" args="(Ecore_X_Window w, const void *data, int size)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_x_selection_primary_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>data</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>size</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Claim ownership of the PRIMARY selection and set its data. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window to which this selection belongs </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>The data associated with the selection </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>size</em>&nbsp;</td><td>The size of the data buffer in bytes </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns 1 if the ownership of the selection was successfully claimed, or 0 if unsuccessful.</dd></dl>
+To use this function, you must call before, and in order, <a class="el" href="Ecore__X_8h.html#e86ff8e908af7f620d186449b093525d">ecore_x_selection_primary_prefetch()</a>, which sends the GetSelectionOwner request, then <a class="el" href="Ecore__X_8h.html#a0a14ed7682ddae679ad1eb9b172a6df">ecore_x_selection_primary_fetch()</a>, which gets the reply. 
+</div>
+</div><p>
+<a class="anchor" name="af525c0c3775ac4efc535acd1a31550e"></a><!-- doxytag: member="Ecore_X.h::ecore_x_selection_secondary_clear" ref="af525c0c3775ac4efc535acd1a31550e" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_x_selection_secondary_clear           </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Release ownership of the secondary selection. 
+<p>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns 1 if the selection was successfully cleared, or 0 if unsuccessful.</dd></dl>
+To use this function, you must call before, and in order, <a class="el" href="Ecore__X_8h.html#b9c419c5128e4d26db4374d281f26ecb">ecore_x_selection_secondary_prefetch()</a>, which sends the GetSelectionOwner request, then <a class="el" href="Ecore__X_8h.html#2dee8a2104c506e59a92bfe83dd7407b">ecore_x_selection_secondary_fetch()</a>, which gets the reply. 
+</div>
+</div><p>
+<a class="anchor" name="96fadcc8662e59e40e199d07a74d7d8c"></a><!-- doxytag: member="Ecore_X.h::ecore_x_selection_secondary_set" ref="96fadcc8662e59e40e199d07a74d7d8c" args="(Ecore_X_Window w, const void *data, int size)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_x_selection_secondary_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>data</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>size</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Claim ownership of the SECONDARY selection and set its data. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window to which this selection belongs </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>The data associated with the selection </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>size</em>&nbsp;</td><td>The size of the data buffer in bytes </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns 1 if the ownership of the selection was successfully claimed, or 0 if unsuccessful.</dd></dl>
+To use this function, you must call before, and in order, <a class="el" href="Ecore__X_8h.html#b9c419c5128e4d26db4374d281f26ecb">ecore_x_selection_secondary_prefetch()</a>, which sends the GetSelectionOwner request, then <a class="el" href="Ecore__X_8h.html#2dee8a2104c506e59a92bfe83dd7407b">ecore_x_selection_secondary_fetch()</a>, which gets the reply. 
+</div>
+</div><p>
+<a class="anchor" name="ad8c37e733f6fc5ae616ff30d8621871"></a><!-- doxytag: member="Ecore_X.h::ecore_x_selection_xdnd_clear" ref="ad8c37e733f6fc5ae616ff30d8621871" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_x_selection_xdnd_clear           </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Release ownership of the XDND selection. 
+<p>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns 1 if the selection was successfully cleared, or 0 if unsuccessful.</dd></dl>
+To use this function, you must call before, and in order, <a class="el" href="Ecore__X_8h.html#bee1a5eeb8bddbed3d1e48eb9c122b7f">ecore_x_selection_xdnd_prefetch()</a>, which sends the GetSelectionOwner request, then <a class="el" href="Ecore__X_8h.html#668334c7ddf60fa20f98dc9830eba1eb">ecore_x_selection_xdnd_fetch()</a>, which gets the reply. 
+</div>
+</div><p>
+<a class="anchor" name="bdda48b18621d5b212632cfbeaa04a1c"></a><!-- doxytag: member="Ecore_X.h::ecore_x_selection_xdnd_set" ref="bdda48b18621d5b212632cfbeaa04a1c" args="(Ecore_X_Window w, const void *data, int size)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_x_selection_xdnd_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>data</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>size</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Claim ownership of the XDND selection and set its data. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window to which this selection belongs </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>The data associated with the selection </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>size</em>&nbsp;</td><td>The size of the data buffer in bytes </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns 1 if the ownership of the selection was successfully claimed, or 0 if unsuccessful.</dd></dl>
+To use this function, you must call before, and in order, <a class="el" href="Ecore__X_8h.html#bee1a5eeb8bddbed3d1e48eb9c122b7f">ecore_x_selection_xdnd_prefetch()</a>, which sends the GetSelectionOwner request, then <a class="el" href="Ecore__X_8h.html#668334c7ddf60fa20f98dc9830eba1eb">ecore_x_selection_xdnd_fetch()</a>, which gets the reply. 
+</div>
+</div><p>
+<a class="anchor" name="720f4a9d95ad02ef0d8ff6fdf7e6a66b"></a><!-- doxytag: member="Ecore_X.h::ecore_x_window_area_clear" ref="720f4a9d95ad02ef0d8ff6fdf7e6a66b" args="(Ecore_X_Window win, int x, int y, int w, int h)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_window_area_clear           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>width</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>height</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Clears an area of the given window. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The given window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>The X coordinate of the area. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</td><td>The Y coordinate of the area. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>width</em>&nbsp;</td><td>The width of the area. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>height</em>&nbsp;</td><td>The height of the area. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="2cd5023e239ca28674d160d42879521f"></a><!-- doxytag: member="Ecore_X.h::ecore_x_window_area_expose" ref="2cd5023e239ca28674d160d42879521f" args="(Ecore_X_Window win, int x, int y, int w, int h)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_window_area_expose           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>width</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>height</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Exposes an area of the given window. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The given window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>The X coordinate of the area. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</td><td>The Y coordinate of the area. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>width</em>&nbsp;</td><td>The width of the area. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>height</em>&nbsp;</td><td>The height of the area. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="ab9f527e685a919467032d4153774e60"></a><!-- doxytag: member="Ecore_X.h::ecore_x_window_defaults_set" ref="ab9f527e685a919467032d4153774e60" args="(Ecore_X_Window win)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_window_defaults_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sets the default properties for the given window. 
+<p>
+The default properties set for the window are <code>WM_CLIENT_MACHINE</code> and <code>_NET_WM_PID</code>.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The given window. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="e3edc06da877cddcf9f594edb280aa39"></a><!-- doxytag: member="Ecore_X.h::ecore_x_window_depth_get" ref="e3edc06da877cddcf9f594edb280aa39" args="(Ecore_X_Window win)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_x_window_depth_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>win</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Retrieves the depth of the given window. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>win</em>&nbsp;</td><td>The given window. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>Depth of the window. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="576f72e83f8822abe9e876353ddf32cd"></a><!-- doxytag: member="Ecore_X.h::ecore_x_window_ignore_list" ref="576f72e83f8822abe9e876353ddf32cd" args="(int *num)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Ecore_X_Window* ecore_x_window_ignore_list           </td>
+          <td>(</td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>num</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Get the ignore list. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>num</em>&nbsp;</td><td>number of windows in the list </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>list of windows to ignore </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="c7fec7dc837b162127fdbb7c35ea4c81"></a><!-- doxytag: member="Ecore_X.h::ecore_x_window_ignore_set" ref="c7fec7dc837b162127fdbb7c35ea4c81" args="(Ecore_X_Window win, int ignore)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_window_ignore_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>ignore</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set if a window should be ignored. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The given window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>ignore</em>&nbsp;</td><td>if to ignore </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="b09274a94cf3917558e288f01afad53f"></a><!-- doxytag: member="Ecore_X.h::ecore_x_window_prop_any_type" ref="b09274a94cf3917558e288f01afad53f" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Ecore_X_Atom ecore_x_window_prop_any_type           </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+To be documented. 
+<p>
+FIXME: To be fixed. 
+</div>
+</div><p>
+<a class="anchor" name="f73ba0c18faa574b1e1d68e5e4995266"></a><!-- doxytag: member="Ecore_X.h::ecore_x_window_prop_atom_get_prefetch" ref="f73ba0c18faa574b1e1d68e5e4995266" args="(Ecore_X_Window window, Ecore_X_Atom atom)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_window_prop_atom_get_prefetch           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Atom&nbsp;</td>
+          <td class="paramname"> <em>atom</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sends the GetProperty request. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>Window whose properties are requested. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>atom</em>&nbsp;</td><td>Property atom. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="660bab731052c26724f57783ac0c177e"></a><!-- doxytag: member="Ecore_X.h::ecore_x_window_prop_card32_get_prefetch" ref="660bab731052c26724f57783ac0c177e" args="(Ecore_X_Window window, Ecore_X_Atom atom)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_window_prop_card32_get_prefetch           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Atom&nbsp;</td>
+          <td class="paramname"> <em>atom</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sends the GetProperty request. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>Window whose properties are requested. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>atom</em>&nbsp;</td><td>The atom. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="35c4eb2d9006b73302e586263dac4a7d"></a><!-- doxytag: member="Ecore_X.h::ecore_x_window_prop_list_prefetch" ref="35c4eb2d9006b73302e586263dac4a7d" args="(Ecore_X_Window window)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_window_prop_list_prefetch           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sends the ListProperties request. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>Window whose properties are requested. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="7d4659af05243f5998abaf5f1491f4a6"></a><!-- doxytag: member="Ecore_X.h::ecore_x_window_prop_property_get" ref="7d4659af05243f5998abaf5f1491f4a6" args="(Ecore_X_Window win, Ecore_X_Atom property, Ecore_X_Atom type, int size, unsigned char **data, int *num)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_x_window_prop_property_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>win</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Atom&nbsp;</td>
+          <td class="paramname"> <em>property</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Atom&nbsp;</td>
+          <td class="paramname"> <em>type</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int size&nbsp;</td>
+          <td class="paramname"> <em>__UNUSED__</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">unsigned char **&nbsp;</td>
+          <td class="paramname"> <em>data</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>num</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+To be documented. 
+<p>
+FIXME: To be fixed. 
+</div>
+</div><p>
+<a class="anchor" name="71702d85a255610cd4f689519462fbf0"></a><!-- doxytag: member="Ecore_X.h::ecore_x_window_prop_property_get_prefetch" ref="71702d85a255610cd4f689519462fbf0" args="(Ecore_X_Window window, Ecore_X_Atom property, Ecore_X_Atom type)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_window_prop_property_get_prefetch           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Atom&nbsp;</td>
+          <td class="paramname"> <em>property</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Atom&nbsp;</td>
+          <td class="paramname"> <em>type</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sends the GetProperty request. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>Window whose properties are requested. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>property</em>&nbsp;</td><td>Property atom. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>type</em>&nbsp;</td><td>Type atom. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="958d730271efc435996d845eb8e89092"></a><!-- doxytag: member="Ecore_X.h::ecore_x_window_prop_property_set" ref="958d730271efc435996d845eb8e89092" args="(Ecore_X_Window win, Ecore_X_Atom type, Ecore_X_Atom format, int size, void *data, int number)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_window_prop_property_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Atom&nbsp;</td>
+          <td class="paramname"> <em>property</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Atom&nbsp;</td>
+          <td class="paramname"> <em>type</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>size</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void *&nbsp;</td>
+          <td class="paramname"> <em>data</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>number</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+To be documented. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>property</em>&nbsp;</td><td>The property atom. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>type</em>&nbsp;</td><td>The type atom. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>size</em>&nbsp;</td><td>The size. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>The data. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>number</em>&nbsp;</td><td>The size of the data.</td></tr>
+  </table>
+</dl>
+FIXME: To be fixed. 
+</div>
+</div><p>
+<a class="anchor" name="8972569167bed2624edeeed44e1aec6a"></a><!-- doxytag: member="Ecore_X.h::ecore_x_window_prop_protocol_list_get" ref="8972569167bed2624edeeed44e1aec6a" args="(Ecore_X_Window win, int *num_ret)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Ecore_X_WM_Protocol* ecore_x_window_prop_protocol_list_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>num_ret</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+To be documented. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>num_ret</em>&nbsp;</td><td>The number of WM protocols. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The returned WM protocols.</dd></dl>
+FIXME: To be fixed. 
+</div>
+</div><p>
+<a class="anchor" name="114fb34050f957f2c87fb60e7a85f69c"></a><!-- doxytag: member="Ecore_X.h::ecore_x_window_prop_string_get" ref="114fb34050f957f2c87fb60e7a85f69c" args="(Ecore_X_Window win, Ecore_X_Atom type)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI char* ecore_x_window_prop_string_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>win</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Atom&nbsp;</td>
+          <td class="paramname"> <em>type</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Get a window string property. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>win</em>&nbsp;</td><td>The window </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>type</em>&nbsp;</td><td>The property</td></tr>
+  </table>
+</dl>
+Return window string property of a window. String must be free'd when done. 
+</div>
+</div><p>
+<a class="anchor" name="62697f77264b0302abfbc3efa126995d"></a><!-- doxytag: member="Ecore_X.h::ecore_x_window_prop_string_get_prefetch" ref="62697f77264b0302abfbc3efa126995d" args="(Ecore_X_Window window, Ecore_X_Atom type)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_window_prop_string_get_prefetch           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Atom&nbsp;</td>
+          <td class="paramname"> <em>type</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sends the GetProperty request. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>Window whose properties are requested. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>type</em>&nbsp;</td><td>The atom. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="4db12cbfb0ab6626dc21f5b9b39bbb52"></a><!-- doxytag: member="Ecore_X.h::ecore_x_window_prop_string_set" ref="4db12cbfb0ab6626dc21f5b9b39bbb52" args="(Ecore_X_Window win, Ecore_X_Atom type, const char *str)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_window_prop_string_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>win</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Atom&nbsp;</td>
+          <td class="paramname"> <em>type</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>str</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set a window string property. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>win</em>&nbsp;</td><td>The window </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>type</em>&nbsp;</td><td>The property </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>str</em>&nbsp;</td><td>The string</td></tr>
+  </table>
+</dl>
+Set a window string property 
+</div>
+</div><p>
+<a class="anchor" name="83590467335b25392a7fa4f956464da2"></a><!-- doxytag: member="Ecore_X.h::ecore_x_window_prop_window_get_prefetch" ref="83590467335b25392a7fa4f956464da2" args="(Ecore_X_Window window, Ecore_X_Atom atom)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_window_prop_window_get_prefetch           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Atom&nbsp;</td>
+          <td class="paramname"> <em>atom</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sends the GetProperty request. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>Window whose properties are requested. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>atom</em>&nbsp;</td><td>The atom. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="d1e81ac2852a0af250bce275c0dca9c9"></a><!-- doxytag: member="Ecore_X.h::ecore_x_window_prop_xid_get_prefetch" ref="d1e81ac2852a0af250bce275c0dca9c9" args="(Ecore_X_Window window, Ecore_X_Atom atom, Ecore_X_Atom type)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_window_prop_xid_get_prefetch           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Atom&nbsp;</td>
+          <td class="paramname"> <em>atom</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Atom&nbsp;</td>
+          <td class="paramname"> <em>type</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sends the GetProperty request. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>Window whose properties are requested. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>atom</em>&nbsp;</td><td>The atom. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>type</em>&nbsp;</td><td>The atom type. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="78bb4a4944619d01db4bccf3047465cb"></a><!-- doxytag: member="Ecore_X.h::ecore_x_window_root_list" ref="78bb4a4944619d01db4bccf3047465cb" args="(int *num_ret)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Ecore_X_Window* ecore_x_window_root_list           </td>
+          <td>(</td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>num_ret</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Get a list of all the root windows on the server. 
+<p>
+<dl class="note" compact><dt><b>Note:</b></dt><dd>The returned array will need to be freed after use. </dd></dl>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>num_ret</em>&nbsp;</td><td>Pointer to integer to put number of windows returned in. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>An array of all the root windows. <code>NULL</code> is returned if memory could not be allocated for the list, or if <code>num_ret</code> is <code>NULL</code>. </dd></dl>
+
+</div>
+</div><p>
+</body>
+</html>
diff --git a/doc/html/Ecore__X__Atoms_8h.html b/doc/html/Ecore__X__Atoms_8h.html
new file mode 100644
index 0000000..dda3e42
--- /dev/null
+++ b/doc/html/Ecore__X__Atoms_8h.html
@@ -0,0 +1,44 @@
+<html>
+
+<head>
+
+<title>Ecore: Ecore_X_Atoms.h File Reference</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li id="current"><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<div class="tabs">
+  <ul>
+    <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+    <li><a href="globals.html"><span>Globals</span></a></li>
+  </ul></div>
+<h1>Ecore_X_Atoms.h File Reference</h1>Ecore X atoms. <a href="#_details">More...</a>
+<p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Ecore X atoms. 
+<p>
+</body>
+</html>
diff --git a/doc/html/Ecore__X__Cursor_8h.html b/doc/html/Ecore__X__Cursor_8h.html
new file mode 100644
index 0000000..dcdd387
--- /dev/null
+++ b/doc/html/Ecore__X__Cursor_8h.html
@@ -0,0 +1,44 @@
+<html>
+
+<head>
+
+<title>Ecore: Ecore_X_Cursor.h File Reference</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li id="current"><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<div class="tabs">
+  <ul>
+    <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+    <li><a href="globals.html"><span>Globals</span></a></li>
+  </ul></div>
+<h1>Ecore_X_Cursor.h File Reference</h1>Defines the various cursor types for the X Windows system. <a href="#_details">More...</a>
+<p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Defines the various cursor types for the X Windows system. 
+<p>
+</body>
+</html>
diff --git a/doc/html/X_Window_System_Page.html b/doc/html/X_Window_System_Page.html
new file mode 100644
index 0000000..060abaa
--- /dev/null
+++ b/doc/html/X_Window_System_Page.html
@@ -0,0 +1,32 @@
+<html>
+
+<head>
+
+<title>Ecore: X Window System</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1><a class="anchor" name="X_Window_System_Page">X Window System</a></h1>The Ecore library includes a wrapper for handling the X window system.<p>
+This page briefly explains what the X window system is and various terms that are used. </body>
+</html>
diff --git a/doc/html/annotated.html b/doc/html/annotated.html
new file mode 100644
index 0000000..ba35734
--- /dev/null
+++ b/doc/html/annotated.html
@@ -0,0 +1,63 @@
+<html>
+
+<head>
+
+<title>Ecore: Data Structures</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li id="current"><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<div class="tabs">
+  <ul>
+    <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
+    <li id="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
+  </ul></div>
+<h1>Ecore Data Structures</h1>Here are the data structures with brief descriptions:<table>
+  <tr><td class="indexkey"><a class="el" href="struct__Ecore__DirectFB__Event__Key__Down.html">_Ecore_DirectFB_Event_Key_Down</a></td><td class="indexvalue">DirectFB Key Down event </td></tr>
+  <tr><td class="indexkey"><a class="el" href="struct__Ecore__DirectFB__Event__Key__Up.html">_Ecore_DirectFB_Event_Key_Up</a></td><td class="indexvalue">DirectFB Key Up event </td></tr>
+  <tr><td class="indexkey"><a class="el" href="struct__Ecore__Event__Signal__Exit.html">_Ecore_Event_Signal_Exit</a></td><td class="indexvalue">Exit request event </td></tr>
+  <tr><td class="indexkey"><a class="el" href="struct__Ecore__Event__Signal__Hup.html">_Ecore_Event_Signal_Hup</a></td><td class="indexvalue">Hup signal event </td></tr>
+  <tr><td class="indexkey"><a class="el" href="struct__Ecore__Event__Signal__Power.html">_Ecore_Event_Signal_Power</a></td><td class="indexvalue">Power event </td></tr>
+  <tr><td class="indexkey"><a class="el" href="struct__Ecore__Event__Signal__Realtime.html">_Ecore_Event_Signal_Realtime</a></td><td class="indexvalue">Realtime event </td></tr>
+  <tr><td class="indexkey"><a class="el" href="struct__Ecore__Event__Signal__User.html">_Ecore_Event_Signal_User</a></td><td class="indexvalue">User signal event </td></tr>
+  <tr><td class="indexkey"><a class="el" href="struct__Ecore__Exe__Event__Add.html">_Ecore_Exe_Event_Add</a></td><td class="indexvalue">Process add event </td></tr>
+  <tr><td class="indexkey"><a class="el" href="struct__Ecore__Exe__Event__Data.html">_Ecore_Exe_Event_Data</a></td><td class="indexvalue">Data from a child process event </td></tr>
+  <tr><td class="indexkey"><a class="el" href="struct__Ecore__Exe__Event__Data__Line.html">_Ecore_Exe_Event_Data_Line</a></td><td class="indexvalue">&lt; Lines from a child process </td></tr>
+  <tr><td class="indexkey"><a class="el" href="struct__Ecore__Exe__Event__Del.html">_Ecore_Exe_Event_Del</a></td><td class="indexvalue">Process exit event </td></tr>
+  <tr><td class="indexkey"><a class="el" href="struct__Ecore__Fb__Event__Key__Down.html">_Ecore_Fb_Event_Key_Down</a></td><td class="indexvalue">FB Key Down event </td></tr>
+  <tr><td class="indexkey"><a class="el" href="struct__Ecore__Fb__Event__Key__Up.html">_Ecore_Fb_Event_Key_Up</a></td><td class="indexvalue">FB Key Up event </td></tr>
+  <tr><td class="indexkey"><a class="el" href="struct__Ecore__Fb__Event__Mouse__Button__Down.html">_Ecore_Fb_Event_Mouse_Button_Down</a></td><td class="indexvalue">FB Mouse Down event </td></tr>
+  <tr><td class="indexkey"><a class="el" href="struct__Ecore__Fb__Event__Mouse__Button__Up.html">_Ecore_Fb_Event_Mouse_Button_Up</a></td><td class="indexvalue">FB Mouse Up event </td></tr>
+  <tr><td class="indexkey"><a class="el" href="struct__Ecore__Fb__Event__Mouse__Move.html">_Ecore_Fb_Event_Mouse_Move</a></td><td class="indexvalue">FB Mouse Move event </td></tr>
+  <tr><td class="indexkey"><a class="el" href="struct__Ecore__Fb__Event__Mouse__Wheel.html">_Ecore_Fb_Event_Mouse_Wheel</a></td><td class="indexvalue">FB Mouse Wheel event </td></tr>
+  <tr><td class="indexkey"><a class="el" href="struct__Ecore__Sdl__Event__Key__Down.html">_Ecore_Sdl_Event_Key_Down</a></td><td class="indexvalue">SDL Key Down event </td></tr>
+  <tr><td class="indexkey"><a class="el" href="struct__Ecore__Sdl__Event__Key__Up.html">_Ecore_Sdl_Event_Key_Up</a></td><td class="indexvalue">SDL Key Up event </td></tr>
+  <tr><td class="indexkey"><a class="el" href="struct__Ecore__Sdl__Event__Mouse__Button__Down.html">_Ecore_Sdl_Event_Mouse_Button_Down</a></td><td class="indexvalue">SDL Mouse Down event </td></tr>
+  <tr><td class="indexkey"><a class="el" href="struct__Ecore__Sdl__Event__Mouse__Button__Up.html">_Ecore_Sdl_Event_Mouse_Button_Up</a></td><td class="indexvalue">SDL Mouse Up event </td></tr>
+  <tr><td class="indexkey"><a class="el" href="struct__Ecore__Sdl__Event__Mouse__Move.html">_Ecore_Sdl_Event_Mouse_Move</a></td><td class="indexvalue">SDL Mouse Move event </td></tr>
+  <tr><td class="indexkey"><a class="el" href="struct__Ecore__Sdl__Event__Mouse__Wheel.html">_Ecore_Sdl_Event_Mouse_Wheel</a></td><td class="indexvalue">SDL Mouse Wheel event </td></tr>
+  <tr><td class="indexkey"><a class="el" href="structEcore__Config__Prop.html">Ecore_Config_Prop</a></td><td class="indexvalue">The actual property for storing a key-value pair </td></tr>
+</table>
+</body>
+</html>
diff --git a/doc/html/args__example_8c-example.html b/doc/html/args__example_8c-example.html
new file mode 100644
index 0000000..9089d6b
--- /dev/null
+++ b/doc/html/args__example_8c-example.html
@@ -0,0 +1,32 @@
+<html>
+
+<head>
+
+<title>Ecore: args_example.c</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1>args_example.c</h1>Shows how to set and retrieve the program arguments.<p>
+<div class="fragment"><pre class="fragment"></pre></div> </body>
+</html>
diff --git a/doc/html/classes.html b/doc/html/classes.html
new file mode 100644
index 0000000..4661d88
--- /dev/null
+++ b/doc/html/classes.html
@@ -0,0 +1,42 @@
+<html>
+
+<head>
+
+<title>Ecore: Alphabetical List</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li id="current"><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<div class="tabs">
+  <ul>
+    <li id="current"><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
+    <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
+  </ul></div>
+<h1>Ecore Data Structure Index</h1><p><div class="qindex"><a class="qindex" href="#letter_E">E</a>&nbsp;|&nbsp;<a class="qindex" href="#letter__">_</a></div><p>
+<table align="center" width="95%" border="0" cellspacing="0" cellpadding="0">
+<tr><td><a name="letter_E"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;E&nbsp;&nbsp;</div></td></tr></table>
+</td><td><a class="el" href="struct__Ecore__Exe__Event__Del.html">_Ecore_Exe_Event_Del</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="structEcore__Config__Prop.html">Ecore_Config_Prop</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="struct__Ecore__Fb__Event__Key__Down.html">_Ecore_Fb_Event_Key_Down</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a name="letter__"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;_&nbsp;&nbsp;</div></td></tr></table>
+</td><td><a class="el" href="struct__Ecore__Fb__Event__Key__Up.html">_Ecore_Fb_Event_Key_Up</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="struct__Ecore__DirectFB__Event__Key__Down.html">_Ecore_DirectFB_Event_Key_Down</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="struct__Ecore__Fb__Event__Mouse__Button__Down.html">_Ecore_Fb_Event_Mouse_Button_Down</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="struct__Ecore__DirectFB__Event__Key__Up.html">_Ecore_DirectFB_Event_Key_Up</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="struct__Ecore__Fb__Event__Mouse__Button__Up.html">_Ecore_Fb_Event_Mouse_Button_Up</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="struct__Ecore__Event__Signal__Exit.html">_Ecore_Event_Signal_Exit</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="struct__Ecore__Fb__Event__Mouse__Move.html">_Ecore_Fb_Event_Mouse_Move</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="struct__Ecore__Event__Signal__Hup.html">_Ecore_Event_Signal_Hup</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="struct__Ecore__Fb__Event__Mouse__Wheel.html">_Ecore_Fb_Event_Mouse_Wheel</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="struct__Ecore__Event__Signal__Power.html">_Ecore_Event_Signal_Power</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="struct__Ecore__Sdl__Event__Key__Down.html">_Ecore_Sdl_Event_Key_Down</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="struct__Ecore__Event__Signal__Realtime.html">_Ecore_Event_Signal_Realtime</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="struct__Ecore__Sdl__Event__Key__Up.html">_Ecore_Sdl_Event_Key_Up</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="struct__Ecore__Event__Signal__User.html">_Ecore_Event_Signal_User</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="struct__Ecore__Sdl__Event__Mouse__Button__Down.html">_Ecore_Sdl_Event_Mouse_Button_Down</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="struct__Ecore__Exe__Event__Add.html">_Ecore_Exe_Event_Add</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="struct__Ecore__Sdl__Event__Mouse__Button__Up.html">_Ecore_Sdl_Event_Mouse_Button_Up</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="struct__Ecore__Exe__Event__Data.html">_Ecore_Exe_Event_Data</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="struct__Ecore__Sdl__Event__Mouse__Move.html">_Ecore_Sdl_Event_Mouse_Move</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="struct__Ecore__Exe__Event__Data__Line.html">_Ecore_Exe_Event_Data_Line</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="struct__Ecore__Sdl__Event__Mouse__Wheel.html">_Ecore_Sdl_Event_Mouse_Wheel</a>&nbsp;&nbsp;&nbsp;</td></tr></table><p><div class="qindex"><a class="qindex" href="#letter_E">E</a>&nbsp;|&nbsp;<a class="qindex" href="#letter__">_</a></div><p>
+</body>
+</html>
diff --git a/doc/html/con__client__example_8c-example.html b/doc/html/con__client__example_8c-example.html
new file mode 100644
index 0000000..bcb651e
--- /dev/null
+++ b/doc/html/con__client__example_8c-example.html
@@ -0,0 +1,32 @@
+<html>
+
+<head>
+
+<title>Ecore: con_client_example.c</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1>con_client_example.c</h1>Shows how to write a simple client, that connects to the example server.<p>
+<div class="fragment"><pre class="fragment"></pre></div> </body>
+</html>
diff --git a/doc/html/con__server__example_8c-example.html b/doc/html/con__server__example_8c-example.html
new file mode 100644
index 0000000..695a9e0
--- /dev/null
+++ b/doc/html/con__server__example_8c-example.html
@@ -0,0 +1,32 @@
+<html>
+
+<head>
+
+<title>Ecore: con_server_example.c</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1>con_server_example.c</h1>Shows how to write a simple server using the Ecore_Con library.<p>
+<div class="fragment"><pre class="fragment"></pre></div> </body>
+</html>
diff --git a/doc/html/config__basic__example_8c-example.html b/doc/html/config__basic__example_8c-example.html
new file mode 100644
index 0000000..1bd62a2
--- /dev/null
+++ b/doc/html/config__basic__example_8c-example.html
@@ -0,0 +1,32 @@
+<html>
+
+<head>
+
+<title>Ecore: config_basic_example.c</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1>config_basic_example.c</h1>Provides an example of how to use the basic configuration functions.See the file <a class="el" href="Ecore__Config_8h.html">Ecore_Config.h</a> for the full list of available functions.<p>
+<div class="fragment"><pre class="fragment"></pre></div> </body>
+</html>
diff --git a/doc/html/config__listener__example_8c-example.html b/doc/html/config__listener__example_8c-example.html
new file mode 100644
index 0000000..7964d5e
--- /dev/null
+++ b/doc/html/config__listener__example_8c-example.html
@@ -0,0 +1,32 @@
+<html>
+
+<head>
+
+<title>Ecore: config_listener_example.c</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1>config_listener_example.c</h1>Shows how to set up a listener to listen for configuration changes.<p>
+<div class="fragment"><pre class="fragment"></pre></div> </body>
+</html>
diff --git a/doc/html/doxygen.png b/doc/html/doxygen.png
new file mode 100644
index 0000000..f0a274b
Binary files /dev/null and b/doc/html/doxygen.png differ
diff --git a/doc/ecore.css b/doc/html/ecore.css
similarity index 100%
copy from doc/ecore.css
copy to doc/html/ecore.css
diff --git a/doc/html/event__handler__example_8c-example.html b/doc/html/event__handler__example_8c-example.html
new file mode 100644
index 0000000..8483ff7
--- /dev/null
+++ b/doc/html/event__handler__example_8c-example.html
@@ -0,0 +1,32 @@
+<html>
+
+<head>
+
+<title>Ecore: event_handler_example.c</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1>event_handler_example.c</h1>Shows how to use event handlers.<p>
+<div class="fragment"><pre class="fragment"></pre></div> </body>
+</html>
diff --git a/doc/html/examples.html b/doc/html/examples.html
new file mode 100644
index 0000000..e53993e
--- /dev/null
+++ b/doc/html/examples.html
@@ -0,0 +1,43 @@
+<html>
+
+<head>
+
+<title>Ecore: Examples</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li id="current"><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1>Ecore Examples</h1>Here is a list of all examples:<ul>
+<li><a class="el" href="args__example_8c-example.html">args_example.c</a>
+<li><a class="el" href="con__client__example_8c-example.html">con_client_example.c</a>
+<li><a class="el" href="con__server__example_8c-example.html">con_server_example.c</a>
+<li><a class="el" href="config__basic__example_8c-example.html">config_basic_example.c</a>
+<li><a class="el" href="config__listener__example_8c-example.html">config_listener_example.c</a>
+<li><a class="el" href="event__handler__example_8c-example.html">event_handler_example.c</a>
+<li><a class="el" href="list__destroy__example_8c-example.html">list_destroy_example.c</a>
+<li><a class="el" href="list__example_8c-example.html">list_example.c</a>
+<li><a class="el" href="timer__example_8c-example.html">timer_example.c</a>
+<li><a class="el" href="x__window__example_8c-example.html">x_window_example.c</a>
+</ul>
+</body>
+</html>
diff --git a/doc/html/files.html b/doc/html/files.html
new file mode 100644
index 0000000..e649b00
--- /dev/null
+++ b/doc/html/files.html
@@ -0,0 +1,54 @@
+<html>
+
+<head>
+
+<title>Ecore: File Index</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li id="current"><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<div class="tabs">
+  <ul>
+    <li id="current"><a href="files.html"><span>File&nbsp;List</span></a></li>
+    <li><a href="globals.html"><span>Globals</span></a></li>
+  </ul></div>
+<h1>Ecore File List</h1>Here is a list of all documented files with brief descriptions:<table>
+  <tr><td class="indexkey"><a class="el" href="Ecore_8h.html">Ecore.h</a></td><td class="indexvalue">The file that provides the program utility, main loop and timer functions </td></tr>
+  <tr><td class="indexkey"><a class="el" href="Ecore__Con_8h.html">Ecore_Con.h</a></td><td class="indexvalue">Sockets functions </td></tr>
+  <tr><td class="indexkey"><a class="el" href="Ecore__Config_8h.html">Ecore_Config.h</a></td><td class="indexvalue">Provides the Enlightened Property Library </td></tr>
+  <tr><td class="indexkey"><a class="el" href="Ecore__Data_8h.html">Ecore_Data.h</a></td><td class="indexvalue">Contains threading, list, hash, debugging and tree functions </td></tr>
+  <tr><td class="indexkey"><a class="el" href="Ecore__Desktop_8h.html">Ecore_Desktop.h</a></td><td class="indexvalue">The file that provides the freedesktop.org desktop, icon, and menu functions </td></tr>
+  <tr><td class="indexkey"><a class="el" href="Ecore__Evas_8h.html">Ecore_Evas.h</a></td><td class="indexvalue">Evas wrapper functions </td></tr>
+  <tr><td class="indexkey"><a class="el" href="Ecore__Fb_8h.html">Ecore_Fb.h</a></td><td class="indexvalue">Ecore frame buffer system functions </td></tr>
+  <tr><td class="indexkey"><a class="el" href="Ecore__File_8h.html">Ecore_File.h</a></td><td class="indexvalue">Files utility functions </td></tr>
+  <tr><td class="indexkey"><a class="el" href="Ecore__Ipc_8h.html">Ecore_Ipc.h</a></td><td class="indexvalue">Ecore inter-process communication functions </td></tr>
+  <tr><td class="indexkey"><a class="el" href="Ecore__Job_8h.html">Ecore_Job.h</a></td><td class="indexvalue">Functions for dealing with Ecore jobs </td></tr>
+  <tr><td class="indexkey"><a class="el" href="Ecore__Sdl_8h.html">Ecore_Sdl.h</a></td><td class="indexvalue">Ecore SDL system functions </td></tr>
+  <tr><td class="indexkey"><a class="el" href="Ecore__Str_8h.html">Ecore_Str.h</a></td><td class="indexvalue">Contains useful C string functions </td></tr>
+  <tr><td class="indexkey"><a class="el" href="Ecore__Txt_8h.html">Ecore_Txt.h</a></td><td class="indexvalue">Provides a text encoding conversion function </td></tr>
+  <tr><td class="indexkey"><a class="el" href="Ecore__X_8h.html">Ecore_X.h</a></td><td class="indexvalue">Ecore functions for dealing with the X Windows System </td></tr>
+  <tr><td class="indexkey"><a class="el" href="Ecore__X__Atoms_8h.html">Ecore_X_Atoms.h</a></td><td class="indexvalue">Ecore X atoms </td></tr>
+  <tr><td class="indexkey"><a class="el" href="Ecore__X__Cursor_8h.html">Ecore_X_Cursor.h</a></td><td class="indexvalue">Defines the various cursor types for the X Windows system </td></tr>
+</table>
+</body>
+</html>
diff --git a/doc/html/functions.html b/doc/html/functions.html
new file mode 100644
index 0000000..5f1861b
--- /dev/null
+++ b/doc/html/functions.html
@@ -0,0 +1,190 @@
+<html>
+
+<head>
+
+<title>Ecore: Data Fields</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li id="current"><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<div class="tabs">
+  <ul>
+    <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
+    <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+    <li id="current"><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
+  </ul></div>
+<div class="tabs">
+  <ul>
+    <li id="current"><a href="functions.html"><span>All</span></a></li>
+    <li><a href="functions_vars.html"><span>Variables</span></a></li>
+  </ul>
+</div>
+<div class="tabs">
+  <ul>
+    <li><a href="#index_b"><span>b</span></a></li>
+    <li><a href="#index_d"><span>d</span></a></li>
+    <li><a href="#index_e"><span>e</span></a></li>
+    <li><a href="#index_i"><span>i</span></a></li>
+    <li><a href="#index_k"><span>k</span></a></li>
+    <li><a href="#index_l"><span>l</span></a></li>
+    <li><a href="#index_n"><span>n</span></a></li>
+    <li><a href="#index_p"><span>p</span></a></li>
+    <li><a href="#index_q"><span>q</span></a></li>
+    <li><a href="#index_s"><span>s</span></a></li>
+    <li><a href="#index_t"><span>t</span></a></li>
+    <li><a href="#index_x"><span>x</span></a></li>
+    <li><a href="#index_y"><span>y</span></a></li>
+  </ul>
+</div>
+
+<p>
+Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:
+<p>
+<h3><a class="anchor" name="index_b">- b -</a></h3><ul>
+<li>button
+: <a class="el" href="struct__Ecore__Fb__Event__Mouse__Button__Down.html#b0cdc1e011948fea5eb576552f6caf03">_Ecore_Fb_Event_Mouse_Button_Down</a>
+, <a class="el" href="struct__Ecore__Sdl__Event__Mouse__Button__Up.html#1670698bc32466836caa29411376c897">_Ecore_Sdl_Event_Mouse_Button_Up</a>
+, <a class="el" href="struct__Ecore__Sdl__Event__Mouse__Button__Down.html#68b68e4772d296de3b064f6912ae6deb">_Ecore_Sdl_Event_Mouse_Button_Down</a>
+, <a class="el" href="struct__Ecore__Fb__Event__Mouse__Button__Up.html#696ffd0f14b66137fadc214291924534">_Ecore_Fb_Event_Mouse_Button_Up</a>
+</ul>
+<h3><a class="anchor" name="index_d">- d -</a></h3><ul>
+<li>data
+: <a class="el" href="struct__Ecore__Event__Signal__User.html#0fb7a9de2a4aaaf6cfaa01c8f9af6065">_Ecore_Event_Signal_User</a>
+, <a class="el" href="struct__Ecore__Event__Signal__Hup.html#b851c107982e120e42d8f4e4bc23ae79">_Ecore_Event_Signal_Hup</a>
+, <a class="el" href="struct__Ecore__Event__Signal__Power.html#d9cf5b11412e622bb3662804aeb79433">_Ecore_Event_Signal_Power</a>
+, <a class="el" href="struct__Ecore__Event__Signal__Realtime.html#fa7ec212e5aeb48cc871a3b9364ebb98">_Ecore_Event_Signal_Realtime</a>
+, <a class="el" href="struct__Ecore__Event__Signal__Exit.html#ab4f003d3b402e56e8a1ff957656460e">_Ecore_Event_Signal_Exit</a>
+, <a class="el" href="struct__Ecore__Exe__Event__Del.html#863105c7240a62f296ba64fa016d2dd4">_Ecore_Exe_Event_Del</a>
+, <a class="el" href="struct__Ecore__Exe__Event__Data.html#81848de0f19ad311c27b9e5d480d645f">_Ecore_Exe_Event_Data</a>
+<li>dev
+: <a class="el" href="struct__Ecore__Fb__Event__Key__Up.html#0a3591978e78fed7d28c94b14ce7a677">_Ecore_Fb_Event_Key_Up</a>
+, <a class="el" href="struct__Ecore__Fb__Event__Mouse__Move.html#cfb646cb979f0d28e039a679dfcacf2d">_Ecore_Fb_Event_Mouse_Move</a>
+, <a class="el" href="struct__Ecore__Fb__Event__Key__Down.html#de8cd40893856ad509c6ceb6a0924ce4">_Ecore_Fb_Event_Key_Down</a>
+, <a class="el" href="struct__Ecore__Fb__Event__Mouse__Button__Down.html#924ffe37b33e3d5e78273220fb35963b">_Ecore_Fb_Event_Mouse_Button_Down</a>
+, <a class="el" href="struct__Ecore__Fb__Event__Mouse__Button__Up.html#f976b58da6ca8bcd603d91b443b58cf2">_Ecore_Fb_Event_Mouse_Button_Up</a>
+<li>double_click
+: <a class="el" href="struct__Ecore__Sdl__Event__Mouse__Button__Up.html#4007ceae72a0fa9709dae4bfea936fc0">_Ecore_Sdl_Event_Mouse_Button_Up</a>
+, <a class="el" href="struct__Ecore__Fb__Event__Mouse__Button__Down.html#51ca60b628902fe5195857da6b1efc4b">_Ecore_Fb_Event_Mouse_Button_Down</a>
+, <a class="el" href="struct__Ecore__Sdl__Event__Mouse__Button__Down.html#6ef39ae2ecd591ad7aad93e96ef4fa2a">_Ecore_Sdl_Event_Mouse_Button_Down</a>
+</ul>
+<h3><a class="anchor" name="index_e">- e -</a></h3><ul>
+<li>exe
+: <a class="el" href="struct__Ecore__Exe__Event__Add.html#612b2e2360f7c7bb2e6e62723c2bd0d4">_Ecore_Exe_Event_Add</a>
+, <a class="el" href="struct__Ecore__Exe__Event__Del.html#9de9755df6734d013662952e9f1c9c0d">_Ecore_Exe_Event_Del</a>
+, <a class="el" href="struct__Ecore__Exe__Event__Data.html#caac86d7814c1b2deb56aaca70c778c3">_Ecore_Exe_Event_Data</a>
+<li>exit_code
+: <a class="el" href="struct__Ecore__Exe__Event__Del.html#1714cfb40533b20306abcb5f99b39c28">_Ecore_Exe_Event_Del</a>
+<li>exited
+: <a class="el" href="struct__Ecore__Exe__Event__Del.html#c288b30e7bb0302c6c207db0081fcac0">_Ecore_Exe_Event_Del</a>
+<li>ext_data
+: <a class="el" href="struct__Ecore__Event__Signal__Exit.html#d6a42f483c12d28d686134fa9f617770">_Ecore_Event_Signal_Exit</a>
+, <a class="el" href="struct__Ecore__Exe__Event__Add.html#b2c5c48def951ce71ae37ce6d6a86dba">_Ecore_Exe_Event_Add</a>
+, <a class="el" href="struct__Ecore__Event__Signal__Hup.html#e30cb55771cd193f4e6c131686251bdb">_Ecore_Event_Signal_Hup</a>
+, <a class="el" href="struct__Ecore__Exe__Event__Del.html#ec05ca26630d76bdbf1f55d51f6c25a6">_Ecore_Exe_Event_Del</a>
+, <a class="el" href="struct__Ecore__Event__Signal__User.html#7ebcd3aea69e47f9cafec3f26d51793b">_Ecore_Event_Signal_User</a>
+, <a class="el" href="struct__Ecore__Event__Signal__Power.html#0ba80c3dc513409b131cbfedc705ed1d">_Ecore_Event_Signal_Power</a>
+</ul>
+<h3><a class="anchor" name="index_i">- i -</a></h3><ul>
+<li>interrupt
+: <a class="el" href="struct__Ecore__Event__Signal__Exit.html#da096ee39c2b34d8a5a51c3ed172c248">_Ecore_Event_Signal_Exit</a>
+</ul>
+<h3><a class="anchor" name="index_k">- k -</a></h3><ul>
+<li>key_compose
+: <a class="el" href="struct__Ecore__DirectFB__Event__Key__Down.html#b78eb5c5123bbe633557ff10442d9ddf">_Ecore_DirectFB_Event_Key_Down</a>
+, <a class="el" href="struct__Ecore__DirectFB__Event__Key__Up.html#4bf674bf21999b9037c0be9b8fdcc250">_Ecore_DirectFB_Event_Key_Up</a>
+, <a class="el" href="struct__Ecore__Fb__Event__Key__Up.html#0a4999540e6728096cc4e5dc19b1cd32">_Ecore_Fb_Event_Key_Up</a>
+, <a class="el" href="struct__Ecore__Fb__Event__Key__Down.html#81218ce6e06cc7b4cf4330d644ff75b8">_Ecore_Fb_Event_Key_Down</a>
+<li>keycompose
+: <a class="el" href="struct__Ecore__Sdl__Event__Key__Down.html#3c325283c2eeda4f9b032d37ce806b7b">_Ecore_Sdl_Event_Key_Down</a>
+, <a class="el" href="struct__Ecore__Sdl__Event__Key__Up.html#940e033936b6069a8576c38b9cd260dc">_Ecore_Sdl_Event_Key_Up</a>
+<li>keyname
+: <a class="el" href="struct__Ecore__Sdl__Event__Key__Down.html#d4308c561a400655a547ad48985e82bd">_Ecore_Sdl_Event_Key_Down</a>
+, <a class="el" href="struct__Ecore__Fb__Event__Key__Up.html#ad6b0bc40e8372ecfd87718fec3afc44">_Ecore_Fb_Event_Key_Up</a>
+, <a class="el" href="struct__Ecore__Sdl__Event__Key__Up.html#8d2da547e7ab64e36fa729dc7bf7a93b">_Ecore_Sdl_Event_Key_Up</a>
+, <a class="el" href="struct__Ecore__Fb__Event__Key__Down.html#07a3690c56d2074ae9e89b630fb26bcf">_Ecore_Fb_Event_Key_Down</a>
+<li>keysymbol
+: <a class="el" href="struct__Ecore__Fb__Event__Key__Up.html#ff87f455eb511a538b258edcd661313a">_Ecore_Fb_Event_Key_Up</a>
+, <a class="el" href="struct__Ecore__Fb__Event__Key__Down.html#516c26f9ea6b9fbf3a22f04b662faf1f">_Ecore_Fb_Event_Key_Down</a>
+</ul>
+<h3><a class="anchor" name="index_l">- l -</a></h3><ul>
+<li>lines
+: <a class="el" href="struct__Ecore__Exe__Event__Data.html#1026c19b787b37e94eb93b78575048fb">_Ecore_Exe_Event_Data</a>
+<li>listeners
+: <a class="el" href="structEcore__Config__Prop.html#5c60901e74bc4c97f6928cc079ecf455">Ecore_Config_Prop</a>
+</ul>
+<h3><a class="anchor" name="index_n">- n -</a></h3><ul>
+<li>name
+: <a class="el" href="struct__Ecore__DirectFB__Event__Key__Down.html#b109592a5462d8a841a7034db7544592">_Ecore_DirectFB_Event_Key_Down</a>
+, <a class="el" href="struct__Ecore__DirectFB__Event__Key__Up.html#954b427a704b0db105a5268e28055a94">_Ecore_DirectFB_Event_Key_Up</a>
+<li>num
+: <a class="el" href="struct__Ecore__Event__Signal__Realtime.html#a15d5830363c845ed4084b34e172b999">_Ecore_Event_Signal_Realtime</a>
+<li>number
+: <a class="el" href="struct__Ecore__Event__Signal__User.html#c7d62dfd53db3f29b357ad665836391f">_Ecore_Event_Signal_User</a>
+</ul>
+<h3><a class="anchor" name="index_p">- p -</a></h3><ul>
+<li>parent
+: <a class="el" href="structEcore__Config__Prop.html#7d67015b7bd9f693aaa88f41a89cd7c2">Ecore_Config_Prop</a>
+<li>pid
+: <a class="el" href="struct__Ecore__Exe__Event__Del.html#752762c715f484f2902e52e3ab11a9cc">_Ecore_Exe_Event_Del</a>
+</ul>
+<h3><a class="anchor" name="index_q">- q -</a></h3><ul>
+<li>quit
+: <a class="el" href="struct__Ecore__Event__Signal__Exit.html#1533cb80d95ab13edf4f0fbbb9814056">_Ecore_Event_Signal_Exit</a>
+</ul>
+<h3><a class="anchor" name="index_s">- s -</a></h3><ul>
+<li>signalled
+: <a class="el" href="struct__Ecore__Exe__Event__Del.html#d09e45349e3e8a6f91cd4161eeb8f603">_Ecore_Exe_Event_Del</a>
+<li>size
+: <a class="el" href="struct__Ecore__Exe__Event__Data.html#7d28f61d1dc37d2582ed1028c692c46f">_Ecore_Exe_Event_Data</a>
+<li>string
+: <a class="el" href="struct__Ecore__DirectFB__Event__Key__Down.html#79ae71422df70e3cfc238c4415dd28ba">_Ecore_DirectFB_Event_Key_Down</a>
+, <a class="el" href="struct__Ecore__DirectFB__Event__Key__Up.html#16c1281eeb60d02458061e18f0c22e1b">_Ecore_DirectFB_Event_Key_Up</a>
+</ul>
+<h3><a class="anchor" name="index_t">- t -</a></h3><ul>
+<li>terminate
+: <a class="el" href="struct__Ecore__Event__Signal__Exit.html#d36792c3f6997f294d7f3f1855bb1fc0">_Ecore_Event_Signal_Exit</a>
+<li>triple_click
+: <a class="el" href="struct__Ecore__Sdl__Event__Mouse__Button__Up.html#ca7cc54595cdf03d968af56063f571fd">_Ecore_Sdl_Event_Mouse_Button_Up</a>
+, <a class="el" href="struct__Ecore__Sdl__Event__Mouse__Button__Down.html#947ba33bd503b38ca11231afe950685a">_Ecore_Sdl_Event_Mouse_Button_Down</a>
+, <a class="el" href="struct__Ecore__Fb__Event__Mouse__Button__Down.html#9e84612e78176164d38f79f21b82176d">_Ecore_Fb_Event_Mouse_Button_Down</a>
+</ul>
+<h3><a class="anchor" name="index_x">- x -</a></h3><ul>
+<li>x
+: <a class="el" href="struct__Ecore__Fb__Event__Mouse__Button__Down.html#4f6d29ac41c6f2e35e2476dc76ad2c6f">_Ecore_Fb_Event_Mouse_Button_Down</a>
+, <a class="el" href="struct__Ecore__Sdl__Event__Mouse__Move.html#0c23f32918866bf028e0695aa6033eac">_Ecore_Sdl_Event_Mouse_Move</a>
+, <a class="el" href="struct__Ecore__Sdl__Event__Mouse__Button__Up.html#9ae214328935e2a4dbeed2e31fe4afd9">_Ecore_Sdl_Event_Mouse_Button_Up</a>
+, <a class="el" href="struct__Ecore__Sdl__Event__Mouse__Button__Down.html#b11fde0e2c6c28e1209b4b07bcdc9c93">_Ecore_Sdl_Event_Mouse_Button_Down</a>
+, <a class="el" href="struct__Ecore__Fb__Event__Mouse__Move.html#d19fb0554fe7185a61141ee2a4b54d19">_Ecore_Fb_Event_Mouse_Move</a>
+, <a class="el" href="struct__Ecore__Fb__Event__Mouse__Button__Up.html#fc859234ef86263e348b2195b2a85d39">_Ecore_Fb_Event_Mouse_Button_Up</a>
+</ul>
+<h3><a class="anchor" name="index_y">- y -</a></h3><ul>
+<li>y
+: <a class="el" href="struct__Ecore__Fb__Event__Mouse__Button__Down.html#9418252c8f60d9dc27ae7be931dc48e4">_Ecore_Fb_Event_Mouse_Button_Down</a>
+, <a class="el" href="struct__Ecore__Sdl__Event__Mouse__Move.html#86e0f3cb21d6261881bf950c8ab086d2">_Ecore_Sdl_Event_Mouse_Move</a>
+, <a class="el" href="struct__Ecore__Sdl__Event__Mouse__Button__Up.html#957a0fb1fcdccc726dc1ef6f138deac5">_Ecore_Sdl_Event_Mouse_Button_Up</a>
+, <a class="el" href="struct__Ecore__Sdl__Event__Mouse__Button__Down.html#93f0eb5d924077cb564459cde6f7596e">_Ecore_Sdl_Event_Mouse_Button_Down</a>
+, <a class="el" href="struct__Ecore__Fb__Event__Mouse__Move.html#1f340cb4a4c69a3bafc0deb2a67e7346">_Ecore_Fb_Event_Mouse_Move</a>
+, <a class="el" href="struct__Ecore__Fb__Event__Mouse__Button__Up.html#11d43c80b348ed2d29cb9cf67d85f4be">_Ecore_Fb_Event_Mouse_Button_Up</a>
+</ul>
+</body>
+</html>
diff --git a/doc/html/functions_vars.html b/doc/html/functions_vars.html
new file mode 100644
index 0000000..ec571ec
--- /dev/null
+++ b/doc/html/functions_vars.html
@@ -0,0 +1,190 @@
+<html>
+
+<head>
+
+<title>Ecore: Data Fields - Variables</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li id="current"><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<div class="tabs">
+  <ul>
+    <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
+    <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+    <li id="current"><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
+  </ul></div>
+<div class="tabs">
+  <ul>
+    <li><a href="functions.html"><span>All</span></a></li>
+    <li id="current"><a href="functions_vars.html"><span>Variables</span></a></li>
+  </ul>
+</div>
+<div class="tabs">
+  <ul>
+    <li><a href="#index_b"><span>b</span></a></li>
+    <li><a href="#index_d"><span>d</span></a></li>
+    <li><a href="#index_e"><span>e</span></a></li>
+    <li><a href="#index_i"><span>i</span></a></li>
+    <li><a href="#index_k"><span>k</span></a></li>
+    <li><a href="#index_l"><span>l</span></a></li>
+    <li><a href="#index_n"><span>n</span></a></li>
+    <li><a href="#index_p"><span>p</span></a></li>
+    <li><a href="#index_q"><span>q</span></a></li>
+    <li><a href="#index_s"><span>s</span></a></li>
+    <li><a href="#index_t"><span>t</span></a></li>
+    <li><a href="#index_x"><span>x</span></a></li>
+    <li><a href="#index_y"><span>y</span></a></li>
+  </ul>
+</div>
+
+<p>
+&nbsp;
+<p>
+<h3><a class="anchor" name="index_b">- b -</a></h3><ul>
+<li>button
+: <a class="el" href="struct__Ecore__Fb__Event__Mouse__Button__Down.html#b0cdc1e011948fea5eb576552f6caf03">_Ecore_Fb_Event_Mouse_Button_Down</a>
+, <a class="el" href="struct__Ecore__Sdl__Event__Mouse__Button__Up.html#1670698bc32466836caa29411376c897">_Ecore_Sdl_Event_Mouse_Button_Up</a>
+, <a class="el" href="struct__Ecore__Sdl__Event__Mouse__Button__Down.html#68b68e4772d296de3b064f6912ae6deb">_Ecore_Sdl_Event_Mouse_Button_Down</a>
+, <a class="el" href="struct__Ecore__Fb__Event__Mouse__Button__Up.html#696ffd0f14b66137fadc214291924534">_Ecore_Fb_Event_Mouse_Button_Up</a>
+</ul>
+<h3><a class="anchor" name="index_d">- d -</a></h3><ul>
+<li>data
+: <a class="el" href="struct__Ecore__Event__Signal__User.html#0fb7a9de2a4aaaf6cfaa01c8f9af6065">_Ecore_Event_Signal_User</a>
+, <a class="el" href="struct__Ecore__Event__Signal__Hup.html#b851c107982e120e42d8f4e4bc23ae79">_Ecore_Event_Signal_Hup</a>
+, <a class="el" href="struct__Ecore__Event__Signal__Power.html#d9cf5b11412e622bb3662804aeb79433">_Ecore_Event_Signal_Power</a>
+, <a class="el" href="struct__Ecore__Event__Signal__Realtime.html#fa7ec212e5aeb48cc871a3b9364ebb98">_Ecore_Event_Signal_Realtime</a>
+, <a class="el" href="struct__Ecore__Event__Signal__Exit.html#ab4f003d3b402e56e8a1ff957656460e">_Ecore_Event_Signal_Exit</a>
+, <a class="el" href="struct__Ecore__Exe__Event__Del.html#863105c7240a62f296ba64fa016d2dd4">_Ecore_Exe_Event_Del</a>
+, <a class="el" href="struct__Ecore__Exe__Event__Data.html#81848de0f19ad311c27b9e5d480d645f">_Ecore_Exe_Event_Data</a>
+<li>dev
+: <a class="el" href="struct__Ecore__Fb__Event__Key__Up.html#0a3591978e78fed7d28c94b14ce7a677">_Ecore_Fb_Event_Key_Up</a>
+, <a class="el" href="struct__Ecore__Fb__Event__Mouse__Move.html#cfb646cb979f0d28e039a679dfcacf2d">_Ecore_Fb_Event_Mouse_Move</a>
+, <a class="el" href="struct__Ecore__Fb__Event__Key__Down.html#de8cd40893856ad509c6ceb6a0924ce4">_Ecore_Fb_Event_Key_Down</a>
+, <a class="el" href="struct__Ecore__Fb__Event__Mouse__Button__Down.html#924ffe37b33e3d5e78273220fb35963b">_Ecore_Fb_Event_Mouse_Button_Down</a>
+, <a class="el" href="struct__Ecore__Fb__Event__Mouse__Button__Up.html#f976b58da6ca8bcd603d91b443b58cf2">_Ecore_Fb_Event_Mouse_Button_Up</a>
+<li>double_click
+: <a class="el" href="struct__Ecore__Sdl__Event__Mouse__Button__Up.html#4007ceae72a0fa9709dae4bfea936fc0">_Ecore_Sdl_Event_Mouse_Button_Up</a>
+, <a class="el" href="struct__Ecore__Fb__Event__Mouse__Button__Down.html#51ca60b628902fe5195857da6b1efc4b">_Ecore_Fb_Event_Mouse_Button_Down</a>
+, <a class="el" href="struct__Ecore__Sdl__Event__Mouse__Button__Down.html#6ef39ae2ecd591ad7aad93e96ef4fa2a">_Ecore_Sdl_Event_Mouse_Button_Down</a>
+</ul>
+<h3><a class="anchor" name="index_e">- e -</a></h3><ul>
+<li>exe
+: <a class="el" href="struct__Ecore__Exe__Event__Add.html#612b2e2360f7c7bb2e6e62723c2bd0d4">_Ecore_Exe_Event_Add</a>
+, <a class="el" href="struct__Ecore__Exe__Event__Del.html#9de9755df6734d013662952e9f1c9c0d">_Ecore_Exe_Event_Del</a>
+, <a class="el" href="struct__Ecore__Exe__Event__Data.html#caac86d7814c1b2deb56aaca70c778c3">_Ecore_Exe_Event_Data</a>
+<li>exit_code
+: <a class="el" href="struct__Ecore__Exe__Event__Del.html#1714cfb40533b20306abcb5f99b39c28">_Ecore_Exe_Event_Del</a>
+<li>exited
+: <a class="el" href="struct__Ecore__Exe__Event__Del.html#c288b30e7bb0302c6c207db0081fcac0">_Ecore_Exe_Event_Del</a>
+<li>ext_data
+: <a class="el" href="struct__Ecore__Event__Signal__Exit.html#d6a42f483c12d28d686134fa9f617770">_Ecore_Event_Signal_Exit</a>
+, <a class="el" href="struct__Ecore__Exe__Event__Add.html#b2c5c48def951ce71ae37ce6d6a86dba">_Ecore_Exe_Event_Add</a>
+, <a class="el" href="struct__Ecore__Event__Signal__Hup.html#e30cb55771cd193f4e6c131686251bdb">_Ecore_Event_Signal_Hup</a>
+, <a class="el" href="struct__Ecore__Exe__Event__Del.html#ec05ca26630d76bdbf1f55d51f6c25a6">_Ecore_Exe_Event_Del</a>
+, <a class="el" href="struct__Ecore__Event__Signal__User.html#7ebcd3aea69e47f9cafec3f26d51793b">_Ecore_Event_Signal_User</a>
+, <a class="el" href="struct__Ecore__Event__Signal__Power.html#0ba80c3dc513409b131cbfedc705ed1d">_Ecore_Event_Signal_Power</a>
+</ul>
+<h3><a class="anchor" name="index_i">- i -</a></h3><ul>
+<li>interrupt
+: <a class="el" href="struct__Ecore__Event__Signal__Exit.html#da096ee39c2b34d8a5a51c3ed172c248">_Ecore_Event_Signal_Exit</a>
+</ul>
+<h3><a class="anchor" name="index_k">- k -</a></h3><ul>
+<li>key_compose
+: <a class="el" href="struct__Ecore__DirectFB__Event__Key__Down.html#b78eb5c5123bbe633557ff10442d9ddf">_Ecore_DirectFB_Event_Key_Down</a>
+, <a class="el" href="struct__Ecore__DirectFB__Event__Key__Up.html#4bf674bf21999b9037c0be9b8fdcc250">_Ecore_DirectFB_Event_Key_Up</a>
+, <a class="el" href="struct__Ecore__Fb__Event__Key__Up.html#0a4999540e6728096cc4e5dc19b1cd32">_Ecore_Fb_Event_Key_Up</a>
+, <a class="el" href="struct__Ecore__Fb__Event__Key__Down.html#81218ce6e06cc7b4cf4330d644ff75b8">_Ecore_Fb_Event_Key_Down</a>
+<li>keycompose
+: <a class="el" href="struct__Ecore__Sdl__Event__Key__Down.html#3c325283c2eeda4f9b032d37ce806b7b">_Ecore_Sdl_Event_Key_Down</a>
+, <a class="el" href="struct__Ecore__Sdl__Event__Key__Up.html#940e033936b6069a8576c38b9cd260dc">_Ecore_Sdl_Event_Key_Up</a>
+<li>keyname
+: <a class="el" href="struct__Ecore__Sdl__Event__Key__Down.html#d4308c561a400655a547ad48985e82bd">_Ecore_Sdl_Event_Key_Down</a>
+, <a class="el" href="struct__Ecore__Fb__Event__Key__Up.html#ad6b0bc40e8372ecfd87718fec3afc44">_Ecore_Fb_Event_Key_Up</a>
+, <a class="el" href="struct__Ecore__Sdl__Event__Key__Up.html#8d2da547e7ab64e36fa729dc7bf7a93b">_Ecore_Sdl_Event_Key_Up</a>
+, <a class="el" href="struct__Ecore__Fb__Event__Key__Down.html#07a3690c56d2074ae9e89b630fb26bcf">_Ecore_Fb_Event_Key_Down</a>
+<li>keysymbol
+: <a class="el" href="struct__Ecore__Fb__Event__Key__Up.html#ff87f455eb511a538b258edcd661313a">_Ecore_Fb_Event_Key_Up</a>
+, <a class="el" href="struct__Ecore__Fb__Event__Key__Down.html#516c26f9ea6b9fbf3a22f04b662faf1f">_Ecore_Fb_Event_Key_Down</a>
+</ul>
+<h3><a class="anchor" name="index_l">- l -</a></h3><ul>
+<li>lines
+: <a class="el" href="struct__Ecore__Exe__Event__Data.html#1026c19b787b37e94eb93b78575048fb">_Ecore_Exe_Event_Data</a>
+<li>listeners
+: <a class="el" href="structEcore__Config__Prop.html#5c60901e74bc4c97f6928cc079ecf455">Ecore_Config_Prop</a>
+</ul>
+<h3><a class="anchor" name="index_n">- n -</a></h3><ul>
+<li>name
+: <a class="el" href="struct__Ecore__DirectFB__Event__Key__Down.html#b109592a5462d8a841a7034db7544592">_Ecore_DirectFB_Event_Key_Down</a>
+, <a class="el" href="struct__Ecore__DirectFB__Event__Key__Up.html#954b427a704b0db105a5268e28055a94">_Ecore_DirectFB_Event_Key_Up</a>
+<li>num
+: <a class="el" href="struct__Ecore__Event__Signal__Realtime.html#a15d5830363c845ed4084b34e172b999">_Ecore_Event_Signal_Realtime</a>
+<li>number
+: <a class="el" href="struct__Ecore__Event__Signal__User.html#c7d62dfd53db3f29b357ad665836391f">_Ecore_Event_Signal_User</a>
+</ul>
+<h3><a class="anchor" name="index_p">- p -</a></h3><ul>
+<li>parent
+: <a class="el" href="structEcore__Config__Prop.html#7d67015b7bd9f693aaa88f41a89cd7c2">Ecore_Config_Prop</a>
+<li>pid
+: <a class="el" href="struct__Ecore__Exe__Event__Del.html#752762c715f484f2902e52e3ab11a9cc">_Ecore_Exe_Event_Del</a>
+</ul>
+<h3><a class="anchor" name="index_q">- q -</a></h3><ul>
+<li>quit
+: <a class="el" href="struct__Ecore__Event__Signal__Exit.html#1533cb80d95ab13edf4f0fbbb9814056">_Ecore_Event_Signal_Exit</a>
+</ul>
+<h3><a class="anchor" name="index_s">- s -</a></h3><ul>
+<li>signalled
+: <a class="el" href="struct__Ecore__Exe__Event__Del.html#d09e45349e3e8a6f91cd4161eeb8f603">_Ecore_Exe_Event_Del</a>
+<li>size
+: <a class="el" href="struct__Ecore__Exe__Event__Data.html#7d28f61d1dc37d2582ed1028c692c46f">_Ecore_Exe_Event_Data</a>
+<li>string
+: <a class="el" href="struct__Ecore__DirectFB__Event__Key__Down.html#79ae71422df70e3cfc238c4415dd28ba">_Ecore_DirectFB_Event_Key_Down</a>
+, <a class="el" href="struct__Ecore__DirectFB__Event__Key__Up.html#16c1281eeb60d02458061e18f0c22e1b">_Ecore_DirectFB_Event_Key_Up</a>
+</ul>
+<h3><a class="anchor" name="index_t">- t -</a></h3><ul>
+<li>terminate
+: <a class="el" href="struct__Ecore__Event__Signal__Exit.html#d36792c3f6997f294d7f3f1855bb1fc0">_Ecore_Event_Signal_Exit</a>
+<li>triple_click
+: <a class="el" href="struct__Ecore__Sdl__Event__Mouse__Button__Up.html#ca7cc54595cdf03d968af56063f571fd">_Ecore_Sdl_Event_Mouse_Button_Up</a>
+, <a class="el" href="struct__Ecore__Sdl__Event__Mouse__Button__Down.html#947ba33bd503b38ca11231afe950685a">_Ecore_Sdl_Event_Mouse_Button_Down</a>
+, <a class="el" href="struct__Ecore__Fb__Event__Mouse__Button__Down.html#9e84612e78176164d38f79f21b82176d">_Ecore_Fb_Event_Mouse_Button_Down</a>
+</ul>
+<h3><a class="anchor" name="index_x">- x -</a></h3><ul>
+<li>x
+: <a class="el" href="struct__Ecore__Fb__Event__Mouse__Button__Down.html#4f6d29ac41c6f2e35e2476dc76ad2c6f">_Ecore_Fb_Event_Mouse_Button_Down</a>
+, <a class="el" href="struct__Ecore__Sdl__Event__Mouse__Move.html#0c23f32918866bf028e0695aa6033eac">_Ecore_Sdl_Event_Mouse_Move</a>
+, <a class="el" href="struct__Ecore__Sdl__Event__Mouse__Button__Up.html#9ae214328935e2a4dbeed2e31fe4afd9">_Ecore_Sdl_Event_Mouse_Button_Up</a>
+, <a class="el" href="struct__Ecore__Sdl__Event__Mouse__Button__Down.html#b11fde0e2c6c28e1209b4b07bcdc9c93">_Ecore_Sdl_Event_Mouse_Button_Down</a>
+, <a class="el" href="struct__Ecore__Fb__Event__Mouse__Move.html#d19fb0554fe7185a61141ee2a4b54d19">_Ecore_Fb_Event_Mouse_Move</a>
+, <a class="el" href="struct__Ecore__Fb__Event__Mouse__Button__Up.html#fc859234ef86263e348b2195b2a85d39">_Ecore_Fb_Event_Mouse_Button_Up</a>
+</ul>
+<h3><a class="anchor" name="index_y">- y -</a></h3><ul>
+<li>y
+: <a class="el" href="struct__Ecore__Fb__Event__Mouse__Button__Down.html#9418252c8f60d9dc27ae7be931dc48e4">_Ecore_Fb_Event_Mouse_Button_Down</a>
+, <a class="el" href="struct__Ecore__Sdl__Event__Mouse__Move.html#86e0f3cb21d6261881bf950c8ab086d2">_Ecore_Sdl_Event_Mouse_Move</a>
+, <a class="el" href="struct__Ecore__Sdl__Event__Mouse__Button__Up.html#957a0fb1fcdccc726dc1ef6f138deac5">_Ecore_Sdl_Event_Mouse_Button_Up</a>
+, <a class="el" href="struct__Ecore__Sdl__Event__Mouse__Button__Down.html#93f0eb5d924077cb564459cde6f7596e">_Ecore_Sdl_Event_Mouse_Button_Down</a>
+, <a class="el" href="struct__Ecore__Fb__Event__Mouse__Move.html#1f340cb4a4c69a3bafc0deb2a67e7346">_Ecore_Fb_Event_Mouse_Move</a>
+, <a class="el" href="struct__Ecore__Fb__Event__Mouse__Button__Up.html#11d43c80b348ed2d29cb9cf67d85f4be">_Ecore_Fb_Event_Mouse_Button_Up</a>
+</ul>
+</body>
+</html>
diff --git a/doc/html/globals.html b/doc/html/globals.html
new file mode 100644
index 0000000..62dadfa
--- /dev/null
+++ b/doc/html/globals.html
@@ -0,0 +1,241 @@
+<html>
+
+<head>
+
+<title>Ecore: Data Fields</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li id="current"><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<div class="tabs">
+  <ul>
+    <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+    <li id="current"><a href="globals.html"><span>Globals</span></a></li>
+  </ul></div>
+<div class="tabs">
+  <ul>
+    <li id="current"><a href="globals.html"><span>All</span></a></li>
+    <li><a href="globals_func.html"><span>Functions</span></a></li>
+    <li><a href="globals_vars.html"><span>Variables</span></a></li>
+    <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+    <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+  </ul>
+</div>
+<div class="tabs">
+  <ul>
+    <li><a href="#index__"><span>_</span></a></li>
+    <li><a href="#index_e"><span>e</span></a></li>
+  </ul>
+</div>
+
+<p>
+Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:
+<p>
+<h3><a class="anchor" name="index__">- _ -</a></h3><ul>
+<li>_ecore_ipc_swap_16()
+: <a class="el" href="Ecore__Ipc_8h.html#26e93ea1217d4296d7ed7a84cf5e4577">Ecore_Ipc.h</a>
+</ul>
+<h3><a class="anchor" name="index_e">- e -</a></h3><ul>
+<li>Ecore_Animator
+: <a class="el" href="Ecore_8h.html#9ada227f6aa0096c5c1b3e7b75a61b00">Ecore.h</a>
+<li>Ecore_Con_Client
+: <a class="el" href="Ecore__Con_8h.html#a7126b0163113e6f3f18d9bda2dda423">Ecore_Con.h</a>
+<li>Ecore_Con_Server
+: <a class="el" href="Ecore__Con_8h.html#8254d59597add481f0e2471a845f4231">Ecore_Con.h</a>
+<li>ECORE_CONFIG_BLN
+: <a class="el" href="Ecore__Config_8h.html#05c0a91293b6d64b4bda030e21a94a162116d13362ca9fa5cb269c63c8aaae5b">Ecore_Config.h</a>
+<li>ECORE_CONFIG_FLT
+: <a class="el" href="Ecore__Config_8h.html#05c0a91293b6d64b4bda030e21a94a16941a14df868adc309dae8d850c123e38">Ecore_Config.h</a>
+<li>ECORE_CONFIG_INT
+: <a class="el" href="Ecore__Config_8h.html#05c0a91293b6d64b4bda030e21a94a166bc653e1a23cd40c28461869aeda681b">Ecore_Config.h</a>
+<li>Ecore_Config_Listener
+: <a class="el" href="Ecore__Config_8h.html#57366c1938a04f353bbc64ad6fd231de">Ecore_Config.h</a>
+<li>ECORE_CONFIG_NIL
+: <a class="el" href="Ecore__Config_8h.html#05c0a91293b6d64b4bda030e21a94a16c2237ee005755a649dab9500275e2b5d">Ecore_Config.h</a>
+<li>ECORE_CONFIG_RGB
+: <a class="el" href="Ecore__Config_8h.html#05c0a91293b6d64b4bda030e21a94a16411cdc5bce0d42a387a7a6d91a5c1590">Ecore_Config.h</a>
+<li>ECORE_CONFIG_SCT
+: <a class="el" href="Ecore__Config_8h.html#05c0a91293b6d64b4bda030e21a94a162b6a0c37c507dd18adf604190e8b6e26">Ecore_Config.h</a>
+<li>ECORE_CONFIG_STR
+: <a class="el" href="Ecore__Config_8h.html#05c0a91293b6d64b4bda030e21a94a168916e418b542d3d98a54d24dd05e3e67">Ecore_Config.h</a>
+<li>ECORE_CONFIG_THM
+: <a class="el" href="Ecore__Config_8h.html#05c0a91293b6d64b4bda030e21a94a1606a76d37de9c738e99b2caf0ba504a9d">Ecore_Config.h</a>
+<li>Ecore_Event
+: <a class="el" href="Ecore_8h.html#1022fefefa294c3c6be8d3f1924b4e97">Ecore.h</a>
+<li>Ecore_Event_Filter
+: <a class="el" href="Ecore_8h.html#44e553882342bddffe794345ccb374e8">Ecore.h</a>
+<li>Ecore_Event_Handler
+: <a class="el" href="Ecore_8h.html#bb4df52ad6467371a2b4c53e2a91be65">Ecore.h</a>
+<li>Ecore_Event_Signal_Exit
+: <a class="el" href="Ecore_8h.html#654cd9d55a25e2c858007967085cd2aa">Ecore.h</a>
+<li>Ecore_Event_Signal_Hup
+: <a class="el" href="Ecore_8h.html#f3eaa720e4890961b2cf519ee5cd253d">Ecore.h</a>
+<li>Ecore_Event_Signal_Power
+: <a class="el" href="Ecore_8h.html#99878553b16a3f0c61eef2c4d291d7aa">Ecore.h</a>
+<li>Ecore_Event_Signal_Realtime
+: <a class="el" href="Ecore_8h.html#f4f3d2a3d3f6e525453bccf0d415c49f">Ecore.h</a>
+<li>Ecore_Event_Signal_User
+: <a class="el" href="Ecore_8h.html#02bd65bebca736e324b11d61f4adef45">Ecore.h</a>
+<li>Ecore_Exe
+: <a class="el" href="Ecore_8h.html#5560d4d853db434d387e818c908f394d">Ecore.h</a>
+<li>ECORE_EXE_EVENT_ADD
+: <a class="el" href="Ecore_8h.html#1d5f764613eda9fd965c8c772381c09f">Ecore.h</a>
+<li>Ecore_Exe_Event_Add
+: <a class="el" href="Ecore_8h.html#f37c080c298e92468a3f6972f57dd415">Ecore.h</a>
+<li>Ecore_Exe_Event_Data
+: <a class="el" href="Ecore_8h.html#799793cb0c71d5ab0b6fae33ce71b2ba">Ecore.h</a>
+<li>ECORE_EXE_EVENT_DATA
+: <a class="el" href="Ecore_8h.html#5c071e00f68fca5cbb414d2faad9acb7">Ecore.h</a>
+<li>Ecore_Exe_Event_Data_Line
+: <a class="el" href="Ecore_8h.html#09b894017e3b396266df6ed3dc3e7e81">Ecore.h</a>
+<li>Ecore_Exe_Event_Del
+: <a class="el" href="Ecore_8h.html#5ce66424ac56c676b996ea162482a8e9">Ecore.h</a>
+<li>ECORE_EXE_EVENT_DEL
+: <a class="el" href="Ecore_8h.html#95be6a579ad942b068b064ac6896e92f">Ecore.h</a>
+<li>ECORE_EXE_EVENT_ERROR
+: <a class="el" href="Ecore_8h.html#e52cdfa67c6d91f67266762dff8b5e22">Ecore.h</a>
+<li>ECORE_EXE_PIPE_AUTO
+: <a class="el" href="Ecore_8h.html#6fb12d2a7c21ff1340c0f69447f915996abaaef6ac55c2317bdd23cf71167062">Ecore.h</a>
+<li>ECORE_EXE_PIPE_ERROR
+: <a class="el" href="Ecore_8h.html#6fb12d2a7c21ff1340c0f69447f91599d3f4759d4ba470d6f5504621c903011a">Ecore.h</a>
+<li>ECORE_EXE_PIPE_ERROR_LINE_BUFFERED
+: <a class="el" href="Ecore_8h.html#6fb12d2a7c21ff1340c0f69447f91599a8d2dc2d658ba80c75c4fce0c2045583">Ecore.h</a>
+<li>ECORE_EXE_PIPE_READ
+: <a class="el" href="Ecore_8h.html#6fb12d2a7c21ff1340c0f69447f9159976bc9e447a456727dc2d686b4682b512">Ecore.h</a>
+<li>ECORE_EXE_PIPE_READ_LINE_BUFFERED
+: <a class="el" href="Ecore_8h.html#6fb12d2a7c21ff1340c0f69447f91599e97566413d58b792e92369966ffeece5">Ecore.h</a>
+<li>ECORE_EXE_PIPE_WRITE
+: <a class="el" href="Ecore_8h.html#6fb12d2a7c21ff1340c0f69447f9159983dcb150caa9f5f4ce548eaa4a92c6af">Ecore.h</a>
+<li>ECORE_EXE_RESPAWN
+: <a class="el" href="Ecore_8h.html#6fb12d2a7c21ff1340c0f69447f91599302fabf13b4f24007eba55b9e6041132">Ecore.h</a>
+<li>ECORE_EXE_USE_SH
+: <a class="el" href="Ecore_8h.html#6fb12d2a7c21ff1340c0f69447f915999ddffda12f29c003ebf2c34506779637">Ecore.h</a>
+<li>ECORE_FB_EVENT_KEY_DOWN
+: <a class="el" href="Ecore__Fb_8h.html#8581d038ef5830b5f2231e8150b25043">Ecore_Fb.h</a>
+<li>Ecore_Fb_Event_Key_Down
+: <a class="el" href="Ecore__Fb_8h.html#d97800f473ec95adbaaab2f0cb1aa760">Ecore_Fb.h</a>
+<li>ECORE_FB_EVENT_KEY_UP
+: <a class="el" href="Ecore__Fb_8h.html#32a45df91add9e9108ed2a96c51a0408">Ecore_Fb.h</a>
+<li>Ecore_Fb_Event_Key_Up
+: <a class="el" href="Ecore__Fb_8h.html#0dac522489febdf29a42c2dbfa703124">Ecore_Fb.h</a>
+<li>ECORE_FB_EVENT_MOUSE_BUTTON_DOWN
+: <a class="el" href="Ecore__Fb_8h.html#7cafb3c333844f4d802ebad8d84be0af">Ecore_Fb.h</a>
+<li>Ecore_Fb_Event_Mouse_Button_Down
+: <a class="el" href="Ecore__Fb_8h.html#d6b64edc4897b4819ef18ae46bcfc9b7">Ecore_Fb.h</a>
+<li>ECORE_FB_EVENT_MOUSE_BUTTON_UP
+: <a class="el" href="Ecore__Fb_8h.html#7a3233f10d2491555699a3f0e00de762">Ecore_Fb.h</a>
+<li>Ecore_Fb_Event_Mouse_Button_Up
+: <a class="el" href="Ecore__Fb_8h.html#c956db7b4f84157108426823417b9ee9">Ecore_Fb.h</a>
+<li>ECORE_FB_EVENT_MOUSE_MOVE
+: <a class="el" href="Ecore__Fb_8h.html#84c8fb18e90909fc7c4d75e59da38be3">Ecore_Fb.h</a>
+<li>Ecore_Fb_Event_Mouse_Move
+: <a class="el" href="Ecore__Fb_8h.html#df7e37a1e41ef49d05c12566704a5b21">Ecore_Fb.h</a>
+<li>ECORE_FB_EVENT_MOUSE_WHEEL
+: <a class="el" href="Ecore__Fb_8h.html#ecf7e2bfa4962a9f2e3ce0a1913eb442">Ecore_Fb.h</a>
+<li>Ecore_Fb_Event_Mouse_Wheel
+: <a class="el" href="Ecore__Fb_8h.html#4aab003d38ff77b3b441fc3847fbd377">Ecore_Fb.h</a>
+<li>ECORE_FD_ERROR
+: <a class="el" href="Ecore_8h.html#b5644f471dfa3bd182619601d9b60608829d91235e3ca5eba61330c96a8074de">Ecore.h</a>
+<li>Ecore_Fd_Handler
+: <a class="el" href="Ecore_8h.html#b207e5d7d1cf2f13b1ff93755f695324">Ecore.h</a>
+<li>ECORE_FD_READ
+: <a class="el" href="Ecore_8h.html#b5644f471dfa3bd182619601d9b606081699f804eccf88e7e169a4a20f1d44e7">Ecore.h</a>
+<li>ECORE_FD_WRITE
+: <a class="el" href="Ecore_8h.html#b5644f471dfa3bd182619601d9b60608654f7e6af4875742c5349c2cc55d1bab">Ecore.h</a>
+<li>Ecore_Idle_Enterer
+: <a class="el" href="Ecore_8h.html#6e0b6433dfefa8b89758a98863f38581">Ecore.h</a>
+<li>Ecore_Idle_Exiter
+: <a class="el" href="Ecore_8h.html#c76a20c78002c2cf5249a7e1c86e8095">Ecore.h</a>
+<li>Ecore_Idler
+: <a class="el" href="Ecore_8h.html#2ebd4a41bdad5b1b99cf01a03bbfbf5d">Ecore.h</a>
+<li>Ecore_Ipc_Client
+: <a class="el" href="Ecore__Ipc_8h.html#907f972d57d41ff33fc6eb2a37be9ae8">Ecore_Ipc.h</a>
+<li>Ecore_Ipc_Server
+: <a class="el" href="Ecore__Ipc_8h.html#e7e172a5fc9ae1b60deae8539b802c50">Ecore_Ipc.h</a>
+<li>Ecore_Job
+: <a class="el" href="Ecore__Job_8h.html#11cf21598fca412bd4a8a0a502717c61">Ecore_Job.h</a>
+<li>ECORE_SDL_EVENT_GOT_FOCUS
+: <a class="el" href="Ecore__Sdl_8h.html#8ea0b314987cf424713ac99a72799273">Ecore_Sdl.h</a>
+<li>ECORE_SDL_EVENT_KEY_DOWN
+: <a class="el" href="Ecore__Sdl_8h.html#3317b32b26b36d28bd7e23ee9f22c5b1">Ecore_Sdl.h</a>
+<li>ECORE_SDL_EVENT_KEY_UP
+: <a class="el" href="Ecore__Sdl_8h.html#83c7272ff5093cc31f2a57a83627bc66">Ecore_Sdl.h</a>
+<li>ECORE_SDL_EVENT_LOST_FOCUS
+: <a class="el" href="Ecore__Sdl_8h.html#676583107b33db7ee6de12646f838cd6">Ecore_Sdl.h</a>
+<li>ECORE_SDL_EVENT_MOUSE_BUTTON_DOWN
+: <a class="el" href="Ecore__Sdl_8h.html#935e3d246da4a6ca37e0eac8ab5801b6">Ecore_Sdl.h</a>
+<li>ECORE_SDL_EVENT_MOUSE_BUTTON_UP
+: <a class="el" href="Ecore__Sdl_8h.html#220c432cf1b06bdffa143c7e15929129">Ecore_Sdl.h</a>
+<li>ECORE_SDL_EVENT_MOUSE_MOVE
+: <a class="el" href="Ecore__Sdl_8h.html#8f8427d98df292a3c92f989dd8af73e5">Ecore_Sdl.h</a>
+<li>ECORE_SDL_EVENT_MOUSE_WHEEL
+: <a class="el" href="Ecore__Sdl_8h.html#ecf0d54ef58c7288d7aa9b34923e97a7">Ecore_Sdl.h</a>
+<li>Ecore_Timer
+: <a class="el" href="Ecore_8h.html#92618001317bf801365479da38c6a870">Ecore.h</a>
+<li>ECORE_X_NET_WM_PROTOCOL_PING
+: <a class="el" href="Ecore__X_8h.html#e4166d74a0954bc928706496f677e56d83109c98c3793ec8c0e8ae4f46389b37">Ecore_X.h</a>
+<li>ECORE_X_NET_WM_PROTOCOL_SYNC_REQUEST
+: <a class="el" href="Ecore__X_8h.html#e4166d74a0954bc928706496f677e56d0754156ca8a04567ca0b93721a02a974">Ecore_X.h</a>
+<li>ECORE_X_WINDOW_INPUT_MODE_ACTIVE_GLOBAL
+: <a class="el" href="Ecore__X_8h.html#27ee6c5d6e76016b7fd71a4b003e440d77c3d879970639ed109e51636b1c3caf">Ecore_X.h</a>
+<li>ECORE_X_WINDOW_INPUT_MODE_ACTIVE_LOCAL
+: <a class="el" href="Ecore__X_8h.html#27ee6c5d6e76016b7fd71a4b003e440d70598e73807833dfdde3391011d26c00">Ecore_X.h</a>
+<li>ECORE_X_WINDOW_INPUT_MODE_NONE
+: <a class="el" href="Ecore__X_8h.html#27ee6c5d6e76016b7fd71a4b003e440d61e84f9007e6d49a0a6758378fb900a8">Ecore_X.h</a>
+<li>ECORE_X_WINDOW_INPUT_MODE_PASSIVE
+: <a class="el" href="Ecore__X_8h.html#27ee6c5d6e76016b7fd71a4b003e440d88b82c759d3481c0b52af66d50cde54e">Ecore_X.h</a>
+<li>ECORE_X_WINDOW_STATE_FULLSCREEN
+: <a class="el" href="Ecore__X_8h.html#dc73a7a2011cf1fa610b4100190807f1813f8507385ac350c0c2c6677898a8c9">Ecore_X.h</a>
+<li>ECORE_X_WINDOW_STATE_HIDDEN
+: <a class="el" href="Ecore__X_8h.html#dc73a7a2011cf1fa610b4100190807f194e1956bcc7b817dabf944457f99ed92">Ecore_X.h</a>
+<li>ECORE_X_WINDOW_STATE_HINT_ICONIC
+: <a class="el" href="Ecore__X_8h.html#738ccad8c89247d9cd80e007fab0bf1edb18b35391c2c6ea2f8dafd6577dabac">Ecore_X.h</a>
+<li>ECORE_X_WINDOW_STATE_HINT_NONE
+: <a class="el" href="Ecore__X_8h.html#738ccad8c89247d9cd80e007fab0bf1eab490edafc104803047ef38e3fe37f1f">Ecore_X.h</a>
+<li>ECORE_X_WINDOW_STATE_HINT_NORMAL
+: <a class="el" href="Ecore__X_8h.html#738ccad8c89247d9cd80e007fab0bf1eb5d3bf570112e77f142081df61749f43">Ecore_X.h</a>
+<li>ECORE_X_WINDOW_STATE_HINT_WITHDRAWN
+: <a class="el" href="Ecore__X_8h.html#738ccad8c89247d9cd80e007fab0bf1e2ee8636730f2ccf0f3b29c3919c708eb">Ecore_X.h</a>
+<li>ECORE_X_WINDOW_STATE_ICONIFIED
+: <a class="el" href="Ecore__X_8h.html#dc73a7a2011cf1fa610b4100190807f1b743a8796f78fa31a216f142bd729f38">Ecore_X.h</a>
+<li>ECORE_X_WINDOW_STATE_MAXIMIZED_HORZ
+: <a class="el" href="Ecore__X_8h.html#dc73a7a2011cf1fa610b4100190807f16767bdc87057c70cdd236d6ca158463d">Ecore_X.h</a>
+<li>ECORE_X_WINDOW_STATE_MAXIMIZED_VERT
+: <a class="el" href="Ecore__X_8h.html#dc73a7a2011cf1fa610b4100190807f1bfe7dee8962110c5f9d514bbf6dd658c">Ecore_X.h</a>
+<li>ECORE_X_WINDOW_STATE_MODAL
+: <a class="el" href="Ecore__X_8h.html#dc73a7a2011cf1fa610b4100190807f1913975f3907250af993042729d0eca87">Ecore_X.h</a>
+<li>ECORE_X_WINDOW_STATE_SHADED
+: <a class="el" href="Ecore__X_8h.html#dc73a7a2011cf1fa610b4100190807f1aee9b74696501d60977b3cf682a1caff">Ecore_X.h</a>
+<li>ECORE_X_WINDOW_STATE_SKIP_PAGER
+: <a class="el" href="Ecore__X_8h.html#dc73a7a2011cf1fa610b4100190807f1bd03ef746554d9d66c1458b99fbc7e21">Ecore_X.h</a>
+<li>ECORE_X_WINDOW_STATE_SKIP_TASKBAR
+: <a class="el" href="Ecore__X_8h.html#dc73a7a2011cf1fa610b4100190807f131e3d2047dbf9cfcd7c1ae4cd661a0ff">Ecore_X.h</a>
+<li>ECORE_X_WINDOW_STATE_STICKY
+: <a class="el" href="Ecore__X_8h.html#dc73a7a2011cf1fa610b4100190807f18b758d78e270b3274431d91b02484b30">Ecore_X.h</a>
+<li>ECORE_X_WM_PROTOCOL_DELETE_REQUEST
+: <a class="el" href="Ecore__X_8h.html#e4166d74a0954bc928706496f677e56d27d9e53db2213d3df8051f47b750fdc6">Ecore_X.h</a>
+<li>ECORE_X_WM_PROTOCOL_TAKE_FOCUS
+: <a class="el" href="Ecore__X_8h.html#e4166d74a0954bc928706496f677e56d5657fbc84712eb536f7fc1c13c446245">Ecore_X.h</a>
+</ul>
+</body>
+</html>
diff --git a/doc/html/globals_eval.html b/doc/html/globals_eval.html
new file mode 100644
index 0000000..565982a
--- /dev/null
+++ b/doc/html/globals_eval.html
@@ -0,0 +1,138 @@
+<html>
+
+<head>
+
+<title>Ecore: Data Fields</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li id="current"><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<div class="tabs">
+  <ul>
+    <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+    <li id="current"><a href="globals.html"><span>Globals</span></a></li>
+  </ul></div>
+<div class="tabs">
+  <ul>
+    <li><a href="globals.html"><span>All</span></a></li>
+    <li><a href="globals_func.html"><span>Functions</span></a></li>
+    <li><a href="globals_vars.html"><span>Variables</span></a></li>
+    <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+    <li id="current"><a href="globals_eval.html"><span>Enumerator</span></a></li>
+  </ul>
+</div>
+<div class="tabs">
+  <ul>
+    <li><a href="#index_e"><span>e</span></a></li>
+  </ul>
+</div>
+
+<p>
+&nbsp;
+<p>
+<h3><a class="anchor" name="index_e">- e -</a></h3><ul>
+<li>ECORE_CONFIG_BLN
+: <a class="el" href="Ecore__Config_8h.html#05c0a91293b6d64b4bda030e21a94a162116d13362ca9fa5cb269c63c8aaae5b">Ecore_Config.h</a>
+<li>ECORE_CONFIG_FLT
+: <a class="el" href="Ecore__Config_8h.html#05c0a91293b6d64b4bda030e21a94a16941a14df868adc309dae8d850c123e38">Ecore_Config.h</a>
+<li>ECORE_CONFIG_INT
+: <a class="el" href="Ecore__Config_8h.html#05c0a91293b6d64b4bda030e21a94a166bc653e1a23cd40c28461869aeda681b">Ecore_Config.h</a>
+<li>ECORE_CONFIG_NIL
+: <a class="el" href="Ecore__Config_8h.html#05c0a91293b6d64b4bda030e21a94a16c2237ee005755a649dab9500275e2b5d">Ecore_Config.h</a>
+<li>ECORE_CONFIG_RGB
+: <a class="el" href="Ecore__Config_8h.html#05c0a91293b6d64b4bda030e21a94a16411cdc5bce0d42a387a7a6d91a5c1590">Ecore_Config.h</a>
+<li>ECORE_CONFIG_SCT
+: <a class="el" href="Ecore__Config_8h.html#05c0a91293b6d64b4bda030e21a94a162b6a0c37c507dd18adf604190e8b6e26">Ecore_Config.h</a>
+<li>ECORE_CONFIG_STR
+: <a class="el" href="Ecore__Config_8h.html#05c0a91293b6d64b4bda030e21a94a168916e418b542d3d98a54d24dd05e3e67">Ecore_Config.h</a>
+<li>ECORE_CONFIG_THM
+: <a class="el" href="Ecore__Config_8h.html#05c0a91293b6d64b4bda030e21a94a1606a76d37de9c738e99b2caf0ba504a9d">Ecore_Config.h</a>
+<li>ECORE_EXE_PIPE_AUTO
+: <a class="el" href="Ecore_8h.html#6fb12d2a7c21ff1340c0f69447f915996abaaef6ac55c2317bdd23cf71167062">Ecore.h</a>
+<li>ECORE_EXE_PIPE_ERROR
+: <a class="el" href="Ecore_8h.html#6fb12d2a7c21ff1340c0f69447f91599d3f4759d4ba470d6f5504621c903011a">Ecore.h</a>
+<li>ECORE_EXE_PIPE_ERROR_LINE_BUFFERED
+: <a class="el" href="Ecore_8h.html#6fb12d2a7c21ff1340c0f69447f91599a8d2dc2d658ba80c75c4fce0c2045583">Ecore.h</a>
+<li>ECORE_EXE_PIPE_READ
+: <a class="el" href="Ecore_8h.html#6fb12d2a7c21ff1340c0f69447f9159976bc9e447a456727dc2d686b4682b512">Ecore.h</a>
+<li>ECORE_EXE_PIPE_READ_LINE_BUFFERED
+: <a class="el" href="Ecore_8h.html#6fb12d2a7c21ff1340c0f69447f91599e97566413d58b792e92369966ffeece5">Ecore.h</a>
+<li>ECORE_EXE_PIPE_WRITE
+: <a class="el" href="Ecore_8h.html#6fb12d2a7c21ff1340c0f69447f9159983dcb150caa9f5f4ce548eaa4a92c6af">Ecore.h</a>
+<li>ECORE_EXE_RESPAWN
+: <a class="el" href="Ecore_8h.html#6fb12d2a7c21ff1340c0f69447f91599302fabf13b4f24007eba55b9e6041132">Ecore.h</a>
+<li>ECORE_EXE_USE_SH
+: <a class="el" href="Ecore_8h.html#6fb12d2a7c21ff1340c0f69447f915999ddffda12f29c003ebf2c34506779637">Ecore.h</a>
+<li>ECORE_FD_ERROR
+: <a class="el" href="Ecore_8h.html#b5644f471dfa3bd182619601d9b60608829d91235e3ca5eba61330c96a8074de">Ecore.h</a>
+<li>ECORE_FD_READ
+: <a class="el" href="Ecore_8h.html#b5644f471dfa3bd182619601d9b606081699f804eccf88e7e169a4a20f1d44e7">Ecore.h</a>
+<li>ECORE_FD_WRITE
+: <a class="el" href="Ecore_8h.html#b5644f471dfa3bd182619601d9b60608654f7e6af4875742c5349c2cc55d1bab">Ecore.h</a>
+<li>ECORE_X_NET_WM_PROTOCOL_PING
+: <a class="el" href="Ecore__X_8h.html#e4166d74a0954bc928706496f677e56d83109c98c3793ec8c0e8ae4f46389b37">Ecore_X.h</a>
+<li>ECORE_X_NET_WM_PROTOCOL_SYNC_REQUEST
+: <a class="el" href="Ecore__X_8h.html#e4166d74a0954bc928706496f677e56d0754156ca8a04567ca0b93721a02a974">Ecore_X.h</a>
+<li>ECORE_X_WINDOW_INPUT_MODE_ACTIVE_GLOBAL
+: <a class="el" href="Ecore__X_8h.html#27ee6c5d6e76016b7fd71a4b003e440d77c3d879970639ed109e51636b1c3caf">Ecore_X.h</a>
+<li>ECORE_X_WINDOW_INPUT_MODE_ACTIVE_LOCAL
+: <a class="el" href="Ecore__X_8h.html#27ee6c5d6e76016b7fd71a4b003e440d70598e73807833dfdde3391011d26c00">Ecore_X.h</a>
+<li>ECORE_X_WINDOW_INPUT_MODE_NONE
+: <a class="el" href="Ecore__X_8h.html#27ee6c5d6e76016b7fd71a4b003e440d61e84f9007e6d49a0a6758378fb900a8">Ecore_X.h</a>
+<li>ECORE_X_WINDOW_INPUT_MODE_PASSIVE
+: <a class="el" href="Ecore__X_8h.html#27ee6c5d6e76016b7fd71a4b003e440d88b82c759d3481c0b52af66d50cde54e">Ecore_X.h</a>
+<li>ECORE_X_WINDOW_STATE_FULLSCREEN
+: <a class="el" href="Ecore__X_8h.html#dc73a7a2011cf1fa610b4100190807f1813f8507385ac350c0c2c6677898a8c9">Ecore_X.h</a>
+<li>ECORE_X_WINDOW_STATE_HIDDEN
+: <a class="el" href="Ecore__X_8h.html#dc73a7a2011cf1fa610b4100190807f194e1956bcc7b817dabf944457f99ed92">Ecore_X.h</a>
+<li>ECORE_X_WINDOW_STATE_HINT_ICONIC
+: <a class="el" href="Ecore__X_8h.html#738ccad8c89247d9cd80e007fab0bf1edb18b35391c2c6ea2f8dafd6577dabac">Ecore_X.h</a>
+<li>ECORE_X_WINDOW_STATE_HINT_NONE
+: <a class="el" href="Ecore__X_8h.html#738ccad8c89247d9cd80e007fab0bf1eab490edafc104803047ef38e3fe37f1f">Ecore_X.h</a>
+<li>ECORE_X_WINDOW_STATE_HINT_NORMAL
+: <a class="el" href="Ecore__X_8h.html#738ccad8c89247d9cd80e007fab0bf1eb5d3bf570112e77f142081df61749f43">Ecore_X.h</a>
+<li>ECORE_X_WINDOW_STATE_HINT_WITHDRAWN
+: <a class="el" href="Ecore__X_8h.html#738ccad8c89247d9cd80e007fab0bf1e2ee8636730f2ccf0f3b29c3919c708eb">Ecore_X.h</a>
+<li>ECORE_X_WINDOW_STATE_ICONIFIED
+: <a class="el" href="Ecore__X_8h.html#dc73a7a2011cf1fa610b4100190807f1b743a8796f78fa31a216f142bd729f38">Ecore_X.h</a>
+<li>ECORE_X_WINDOW_STATE_MAXIMIZED_HORZ
+: <a class="el" href="Ecore__X_8h.html#dc73a7a2011cf1fa610b4100190807f16767bdc87057c70cdd236d6ca158463d">Ecore_X.h</a>
+<li>ECORE_X_WINDOW_STATE_MAXIMIZED_VERT
+: <a class="el" href="Ecore__X_8h.html#dc73a7a2011cf1fa610b4100190807f1bfe7dee8962110c5f9d514bbf6dd658c">Ecore_X.h</a>
+<li>ECORE_X_WINDOW_STATE_MODAL
+: <a class="el" href="Ecore__X_8h.html#dc73a7a2011cf1fa610b4100190807f1913975f3907250af993042729d0eca87">Ecore_X.h</a>
+<li>ECORE_X_WINDOW_STATE_SHADED
+: <a class="el" href="Ecore__X_8h.html#dc73a7a2011cf1fa610b4100190807f1aee9b74696501d60977b3cf682a1caff">Ecore_X.h</a>
+<li>ECORE_X_WINDOW_STATE_SKIP_PAGER
+: <a class="el" href="Ecore__X_8h.html#dc73a7a2011cf1fa610b4100190807f1bd03ef746554d9d66c1458b99fbc7e21">Ecore_X.h</a>
+<li>ECORE_X_WINDOW_STATE_SKIP_TASKBAR
+: <a class="el" href="Ecore__X_8h.html#dc73a7a2011cf1fa610b4100190807f131e3d2047dbf9cfcd7c1ae4cd661a0ff">Ecore_X.h</a>
+<li>ECORE_X_WINDOW_STATE_STICKY
+: <a class="el" href="Ecore__X_8h.html#dc73a7a2011cf1fa610b4100190807f18b758d78e270b3274431d91b02484b30">Ecore_X.h</a>
+<li>ECORE_X_WM_PROTOCOL_DELETE_REQUEST
+: <a class="el" href="Ecore__X_8h.html#e4166d74a0954bc928706496f677e56d27d9e53db2213d3df8051f47b750fdc6">Ecore_X.h</a>
+<li>ECORE_X_WM_PROTOCOL_TAKE_FOCUS
+: <a class="el" href="Ecore__X_8h.html#e4166d74a0954bc928706496f677e56d5657fbc84712eb536f7fc1c13c446245">Ecore_X.h</a>
+</ul>
+</body>
+</html>
diff --git a/doc/html/globals_func.html b/doc/html/globals_func.html
new file mode 100644
index 0000000..e822292
--- /dev/null
+++ b/doc/html/globals_func.html
@@ -0,0 +1,51 @@
+<html>
+
+<head>
+
+<title>Ecore: Data Fields</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li id="current"><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<div class="tabs">
+  <ul>
+    <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+    <li id="current"><a href="globals.html"><span>Globals</span></a></li>
+  </ul></div>
+<div class="tabs">
+  <ul>
+    <li><a href="globals.html"><span>All</span></a></li>
+    <li id="current"><a href="globals_func.html"><span>Functions</span></a></li>
+    <li><a href="globals_vars.html"><span>Variables</span></a></li>
+    <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+    <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+  </ul>
+</div>
+&nbsp;
+<p>
+<ul>
+<li>_ecore_ipc_swap_16()
+: <a class="el" href="Ecore__Ipc_8h.html#26e93ea1217d4296d7ed7a84cf5e4577">Ecore_Ipc.h</a>
+</ul>
+</body>
+</html>
diff --git a/doc/html/globals_type.html b/doc/html/globals_type.html
new file mode 100644
index 0000000..d367fbf
--- /dev/null
+++ b/doc/html/globals_type.html
@@ -0,0 +1,118 @@
+<html>
+
+<head>
+
+<title>Ecore: Data Fields</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li id="current"><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<div class="tabs">
+  <ul>
+    <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+    <li id="current"><a href="globals.html"><span>Globals</span></a></li>
+  </ul></div>
+<div class="tabs">
+  <ul>
+    <li><a href="globals.html"><span>All</span></a></li>
+    <li><a href="globals_func.html"><span>Functions</span></a></li>
+    <li><a href="globals_vars.html"><span>Variables</span></a></li>
+    <li id="current"><a href="globals_type.html"><span>Typedefs</span></a></li>
+    <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+  </ul>
+</div>
+<div class="tabs">
+  <ul>
+    <li><a href="#index_e"><span>e</span></a></li>
+  </ul>
+</div>
+
+<p>
+&nbsp;
+<p>
+<h3><a class="anchor" name="index_e">- e -</a></h3><ul>
+<li>Ecore_Animator
+: <a class="el" href="Ecore_8h.html#9ada227f6aa0096c5c1b3e7b75a61b00">Ecore.h</a>
+<li>Ecore_Con_Client
+: <a class="el" href="Ecore__Con_8h.html#a7126b0163113e6f3f18d9bda2dda423">Ecore_Con.h</a>
+<li>Ecore_Con_Server
+: <a class="el" href="Ecore__Con_8h.html#8254d59597add481f0e2471a845f4231">Ecore_Con.h</a>
+<li>Ecore_Config_Listener
+: <a class="el" href="Ecore__Config_8h.html#57366c1938a04f353bbc64ad6fd231de">Ecore_Config.h</a>
+<li>Ecore_Event
+: <a class="el" href="Ecore_8h.html#1022fefefa294c3c6be8d3f1924b4e97">Ecore.h</a>
+<li>Ecore_Event_Filter
+: <a class="el" href="Ecore_8h.html#44e553882342bddffe794345ccb374e8">Ecore.h</a>
+<li>Ecore_Event_Handler
+: <a class="el" href="Ecore_8h.html#bb4df52ad6467371a2b4c53e2a91be65">Ecore.h</a>
+<li>Ecore_Event_Signal_Exit
+: <a class="el" href="Ecore_8h.html#654cd9d55a25e2c858007967085cd2aa">Ecore.h</a>
+<li>Ecore_Event_Signal_Hup
+: <a class="el" href="Ecore_8h.html#f3eaa720e4890961b2cf519ee5cd253d">Ecore.h</a>
+<li>Ecore_Event_Signal_Power
+: <a class="el" href="Ecore_8h.html#99878553b16a3f0c61eef2c4d291d7aa">Ecore.h</a>
+<li>Ecore_Event_Signal_Realtime
+: <a class="el" href="Ecore_8h.html#f4f3d2a3d3f6e525453bccf0d415c49f">Ecore.h</a>
+<li>Ecore_Event_Signal_User
+: <a class="el" href="Ecore_8h.html#02bd65bebca736e324b11d61f4adef45">Ecore.h</a>
+<li>Ecore_Exe
+: <a class="el" href="Ecore_8h.html#5560d4d853db434d387e818c908f394d">Ecore.h</a>
+<li>Ecore_Exe_Event_Add
+: <a class="el" href="Ecore_8h.html#f37c080c298e92468a3f6972f57dd415">Ecore.h</a>
+<li>Ecore_Exe_Event_Data
+: <a class="el" href="Ecore_8h.html#799793cb0c71d5ab0b6fae33ce71b2ba">Ecore.h</a>
+<li>Ecore_Exe_Event_Data_Line
+: <a class="el" href="Ecore_8h.html#09b894017e3b396266df6ed3dc3e7e81">Ecore.h</a>
+<li>Ecore_Exe_Event_Del
+: <a class="el" href="Ecore_8h.html#5ce66424ac56c676b996ea162482a8e9">Ecore.h</a>
+<li>Ecore_Fb_Event_Key_Down
+: <a class="el" href="Ecore__Fb_8h.html#d97800f473ec95adbaaab2f0cb1aa760">Ecore_Fb.h</a>
+<li>Ecore_Fb_Event_Key_Up
+: <a class="el" href="Ecore__Fb_8h.html#0dac522489febdf29a42c2dbfa703124">Ecore_Fb.h</a>
+<li>Ecore_Fb_Event_Mouse_Button_Down
+: <a class="el" href="Ecore__Fb_8h.html#d6b64edc4897b4819ef18ae46bcfc9b7">Ecore_Fb.h</a>
+<li>Ecore_Fb_Event_Mouse_Button_Up
+: <a class="el" href="Ecore__Fb_8h.html#c956db7b4f84157108426823417b9ee9">Ecore_Fb.h</a>
+<li>Ecore_Fb_Event_Mouse_Move
+: <a class="el" href="Ecore__Fb_8h.html#df7e37a1e41ef49d05c12566704a5b21">Ecore_Fb.h</a>
+<li>Ecore_Fb_Event_Mouse_Wheel
+: <a class="el" href="Ecore__Fb_8h.html#4aab003d38ff77b3b441fc3847fbd377">Ecore_Fb.h</a>
+<li>Ecore_Fd_Handler
+: <a class="el" href="Ecore_8h.html#b207e5d7d1cf2f13b1ff93755f695324">Ecore.h</a>
+<li>Ecore_Idle_Enterer
+: <a class="el" href="Ecore_8h.html#6e0b6433dfefa8b89758a98863f38581">Ecore.h</a>
+<li>Ecore_Idle_Exiter
+: <a class="el" href="Ecore_8h.html#c76a20c78002c2cf5249a7e1c86e8095">Ecore.h</a>
+<li>Ecore_Idler
+: <a class="el" href="Ecore_8h.html#2ebd4a41bdad5b1b99cf01a03bbfbf5d">Ecore.h</a>
+<li>Ecore_Ipc_Client
+: <a class="el" href="Ecore__Ipc_8h.html#907f972d57d41ff33fc6eb2a37be9ae8">Ecore_Ipc.h</a>
+<li>Ecore_Ipc_Server
+: <a class="el" href="Ecore__Ipc_8h.html#e7e172a5fc9ae1b60deae8539b802c50">Ecore_Ipc.h</a>
+<li>Ecore_Job
+: <a class="el" href="Ecore__Job_8h.html#11cf21598fca412bd4a8a0a502717c61">Ecore_Job.h</a>
+<li>Ecore_Timer
+: <a class="el" href="Ecore_8h.html#92618001317bf801365479da38c6a870">Ecore.h</a>
+</ul>
+</body>
+</html>
diff --git a/doc/html/globals_vars.html b/doc/html/globals_vars.html
new file mode 100644
index 0000000..9d9687a
--- /dev/null
+++ b/doc/html/globals_vars.html
@@ -0,0 +1,85 @@
+<html>
+
+<head>
+
+<title>Ecore: Data Fields</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li id="current"><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<div class="tabs">
+  <ul>
+    <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+    <li id="current"><a href="globals.html"><span>Globals</span></a></li>
+  </ul></div>
+<div class="tabs">
+  <ul>
+    <li><a href="globals.html"><span>All</span></a></li>
+    <li><a href="globals_func.html"><span>Functions</span></a></li>
+    <li id="current"><a href="globals_vars.html"><span>Variables</span></a></li>
+    <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+    <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+  </ul>
+</div>
+&nbsp;
+<p>
+<ul>
+<li>ECORE_EXE_EVENT_ADD
+: <a class="el" href="Ecore_8h.html#1d5f764613eda9fd965c8c772381c09f">Ecore.h</a>
+<li>ECORE_EXE_EVENT_DATA
+: <a class="el" href="Ecore_8h.html#5c071e00f68fca5cbb414d2faad9acb7">Ecore.h</a>
+<li>ECORE_EXE_EVENT_DEL
+: <a class="el" href="Ecore_8h.html#95be6a579ad942b068b064ac6896e92f">Ecore.h</a>
+<li>ECORE_EXE_EVENT_ERROR
+: <a class="el" href="Ecore_8h.html#e52cdfa67c6d91f67266762dff8b5e22">Ecore.h</a>
+<li>ECORE_FB_EVENT_KEY_DOWN
+: <a class="el" href="Ecore__Fb_8h.html#8581d038ef5830b5f2231e8150b25043">Ecore_Fb.h</a>
+<li>ECORE_FB_EVENT_KEY_UP
+: <a class="el" href="Ecore__Fb_8h.html#32a45df91add9e9108ed2a96c51a0408">Ecore_Fb.h</a>
+<li>ECORE_FB_EVENT_MOUSE_BUTTON_DOWN
+: <a class="el" href="Ecore__Fb_8h.html#7cafb3c333844f4d802ebad8d84be0af">Ecore_Fb.h</a>
+<li>ECORE_FB_EVENT_MOUSE_BUTTON_UP
+: <a class="el" href="Ecore__Fb_8h.html#7a3233f10d2491555699a3f0e00de762">Ecore_Fb.h</a>
+<li>ECORE_FB_EVENT_MOUSE_MOVE
+: <a class="el" href="Ecore__Fb_8h.html#84c8fb18e90909fc7c4d75e59da38be3">Ecore_Fb.h</a>
+<li>ECORE_FB_EVENT_MOUSE_WHEEL
+: <a class="el" href="Ecore__Fb_8h.html#ecf7e2bfa4962a9f2e3ce0a1913eb442">Ecore_Fb.h</a>
+<li>ECORE_SDL_EVENT_GOT_FOCUS
+: <a class="el" href="Ecore__Sdl_8h.html#8ea0b314987cf424713ac99a72799273">Ecore_Sdl.h</a>
+<li>ECORE_SDL_EVENT_KEY_DOWN
+: <a class="el" href="Ecore__Sdl_8h.html#3317b32b26b36d28bd7e23ee9f22c5b1">Ecore_Sdl.h</a>
+<li>ECORE_SDL_EVENT_KEY_UP
+: <a class="el" href="Ecore__Sdl_8h.html#83c7272ff5093cc31f2a57a83627bc66">Ecore_Sdl.h</a>
+<li>ECORE_SDL_EVENT_LOST_FOCUS
+: <a class="el" href="Ecore__Sdl_8h.html#676583107b33db7ee6de12646f838cd6">Ecore_Sdl.h</a>
+<li>ECORE_SDL_EVENT_MOUSE_BUTTON_DOWN
+: <a class="el" href="Ecore__Sdl_8h.html#935e3d246da4a6ca37e0eac8ab5801b6">Ecore_Sdl.h</a>
+<li>ECORE_SDL_EVENT_MOUSE_BUTTON_UP
+: <a class="el" href="Ecore__Sdl_8h.html#220c432cf1b06bdffa143c7e15929129">Ecore_Sdl.h</a>
+<li>ECORE_SDL_EVENT_MOUSE_MOVE
+: <a class="el" href="Ecore__Sdl_8h.html#8f8427d98df292a3c92f989dd8af73e5">Ecore_Sdl.h</a>
+<li>ECORE_SDL_EVENT_MOUSE_WHEEL
+: <a class="el" href="Ecore__Sdl_8h.html#ecf0d54ef58c7288d7aa9b34923e97a7">Ecore_Sdl.h</a>
+</ul>
+</body>
+</html>
diff --git a/doc/html/group__Ecore__Con__Client__Group.html b/doc/html/group__Ecore__Con__Client__Group.html
new file mode 100644
index 0000000..21ea4f8
--- /dev/null
+++ b/doc/html/group__Ecore__Con__Client__Group.html
@@ -0,0 +1,335 @@
+<html>
+
+<head>
+
+<title>Ecore: Ecore Connection Client Functions</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1>Ecore Connection Client Functions</h1>Functions that operate on Ecore connection client objects.  
+<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Con__Client__Group.html#gee84bc7c9239050e9b89a393bfc17dd7">ecore_con_client_send</a> (<a class="el" href="Ecore__Con_8h.html#a7126b0163113e6f3f18d9bda2dda423">Ecore_Con_Client</a> *cl, void *data, int size)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the given data to the given client.  <a href="#gee84bc7c9239050e9b89a393bfc17dd7"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI <a class="el" href="Ecore__Con_8h.html#8254d59597add481f0e2471a845f4231">Ecore_Con_Server</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Con__Client__Group.html#g5d19742ffbfeb987c57d8a4093cce7e6">ecore_con_client_server_get</a> (<a class="el" href="Ecore__Con_8h.html#a7126b0163113e6f3f18d9bda2dda423">Ecore_Con_Client</a> *cl)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the server representing the socket the client has connected to.  <a href="#g5d19742ffbfeb987c57d8a4093cce7e6"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Con__Client__Group.html#g6ceed1117e823d3d3dc0d9a2df825464">ecore_con_client_del</a> (<a class="el" href="Ecore__Con_8h.html#a7126b0163113e6f3f18d9bda2dda423">Ecore_Con_Client</a> *cl)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Closes the connection and frees memory allocated to the given client.  <a href="#g6ceed1117e823d3d3dc0d9a2df825464"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Con__Client__Group.html#g0c81c3b201d7fa6d48b6f5e99a651edc">ecore_con_client_data_set</a> (<a class="el" href="Ecore__Con_8h.html#a7126b0163113e6f3f18d9bda2dda423">Ecore_Con_Client</a> *cl, const void *data)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the data associated with the given client to <code>data</code>.  <a href="#g0c81c3b201d7fa6d48b6f5e99a651edc"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Con__Client__Group.html#ge0ee35b9dcbd7e654504baffe4070488">ecore_con_client_data_get</a> (<a class="el" href="Ecore__Con_8h.html#a7126b0163113e6f3f18d9bda2dda423">Ecore_Con_Client</a> *cl)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the data associated with the given client.  <a href="#ge0ee35b9dcbd7e654504baffe4070488"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Con__Client__Group.html#g18cb123f1d62299bdfc739b2d1124e14">ecore_con_client_ip_get</a> (<a class="el" href="Ecore__Con_8h.html#a7126b0163113e6f3f18d9bda2dda423">Ecore_Con_Client</a> *cl)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the IP address of a cleint that has connected.  <a href="#g18cb123f1d62299bdfc739b2d1124e14"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Con__Client__Group.html#gccf37688bb1ecbedc8791b5b43c1595c">ecore_con_client_flush</a> (<a class="el" href="Ecore__Con_8h.html#a7126b0163113e6f3f18d9bda2dda423">Ecore_Con_Client</a> *cl)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Flushes all pending data to the given client.  <a href="#gccf37688bb1ecbedc8791b5b43c1595c"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Con__Client__Group.html#ga5d2328b414bd5ffb01466b853c45709">ecore_con_ssl_available_get</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns if SSL support is available.  <a href="#ga5d2328b414bd5ffb01466b853c45709"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Con__Client__Group.html#gad8e029c00a1a4a6097f5ff17dec3c2e">ecore_ipc_ssl_available_get</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns if SSL support is available.  <a href="#gad8e029c00a1a4a6097f5ff17dec3c2e"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Functions that operate on Ecore connection client objects. 
+<p>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="ge0ee35b9dcbd7e654504baffe4070488"></a><!-- doxytag: member="ecore_con.c::ecore_con_client_data_get" ref="ge0ee35b9dcbd7e654504baffe4070488" args="(Ecore_Con_Client *cl)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void* ecore_con_client_data_get           </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="Ecore__Con_8h.html#a7126b0163113e6f3f18d9bda2dda423">Ecore_Con_Client</a> *&nbsp;</td>
+          <td class="paramname"> <em>cl</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Retrieves the data associated with the given client. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>cl</em>&nbsp;</td><td>The given client. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The data associated with <code>cl</code>. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g0c81c3b201d7fa6d48b6f5e99a651edc"></a><!-- doxytag: member="ecore_con.c::ecore_con_client_data_set" ref="g0c81c3b201d7fa6d48b6f5e99a651edc" args="(Ecore_Con_Client *cl, const void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_con_client_data_set           </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="Ecore__Con_8h.html#a7126b0163113e6f3f18d9bda2dda423">Ecore_Con_Client</a> *&nbsp;</td>
+          <td class="paramname"> <em>cl</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sets the data associated with the given client to <code>data</code>. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>cl</em>&nbsp;</td><td>The given client. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>What to set the data to. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g6ceed1117e823d3d3dc0d9a2df825464"></a><!-- doxytag: member="ecore_con.c::ecore_con_client_del" ref="g6ceed1117e823d3d3dc0d9a2df825464" args="(Ecore_Con_Client *cl)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void* ecore_con_client_del           </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="Ecore__Con_8h.html#a7126b0163113e6f3f18d9bda2dda423">Ecore_Con_Client</a> *&nbsp;</td>
+          <td class="paramname"> <em>cl</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Closes the connection and frees memory allocated to the given client. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>cl</em>&nbsp;</td><td>The given client. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>Data associated with the client. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="gccf37688bb1ecbedc8791b5b43c1595c"></a><!-- doxytag: member="ecore_con.c::ecore_con_client_flush" ref="gccf37688bb1ecbedc8791b5b43c1595c" args="(Ecore_Con_Client *cl)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_con_client_flush           </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="Ecore__Con_8h.html#a7126b0163113e6f3f18d9bda2dda423">Ecore_Con_Client</a> *&nbsp;</td>
+          <td class="paramname"> <em>cl</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Flushes all pending data to the given client. 
+<p>
+Will return when done.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>cl</em>&nbsp;</td><td>The given client. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g18cb123f1d62299bdfc739b2d1124e14"></a><!-- doxytag: member="ecore_con.c::ecore_con_client_ip_get" ref="g18cb123f1d62299bdfc739b2d1124e14" args="(Ecore_Con_Client *cl)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI char* ecore_con_client_ip_get           </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="Ecore__Con_8h.html#a7126b0163113e6f3f18d9bda2dda423">Ecore_Con_Client</a> *&nbsp;</td>
+          <td class="paramname"> <em>cl</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Gets the IP address of a cleint that has connected. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>cl</em>&nbsp;</td><td>The given client. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>A pointer to an internal string that contains the IP address of the connected client in the form "XXX.YYY.ZZZ.AAA" IP notation. This string should not be modified or trusted to stay valid after deletion for the <code>cl</code> object. If no IP is known NULL is returned. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="gee84bc7c9239050e9b89a393bfc17dd7"></a><!-- doxytag: member="ecore_con.c::ecore_con_client_send" ref="gee84bc7c9239050e9b89a393bfc17dd7" args="(Ecore_Con_Client *cl, void *data, int size)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_con_client_send           </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="Ecore__Con_8h.html#a7126b0163113e6f3f18d9bda2dda423">Ecore_Con_Client</a> *&nbsp;</td>
+          <td class="paramname"> <em>cl</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void *&nbsp;</td>
+          <td class="paramname"> <em>data</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>size</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sends the given data to the given client. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>cl</em>&nbsp;</td><td>The given client. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>The given data. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>size</em>&nbsp;</td><td>Length of the data, in bytes, to send. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The number of bytes sent. <code>0</code> will be returned if there is an error. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g5d19742ffbfeb987c57d8a4093cce7e6"></a><!-- doxytag: member="ecore_con.c::ecore_con_client_server_get" ref="g5d19742ffbfeb987c57d8a4093cce7e6" args="(Ecore_Con_Client *cl)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="Ecore__Con_8h.html#8254d59597add481f0e2471a845f4231">Ecore_Con_Server</a>* ecore_con_client_server_get           </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="Ecore__Con_8h.html#a7126b0163113e6f3f18d9bda2dda423">Ecore_Con_Client</a> *&nbsp;</td>
+          <td class="paramname"> <em>cl</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Retrieves the server representing the socket the client has connected to. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>cl</em>&nbsp;</td><td>The given client. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The server that the client connected to. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="ga5d2328b414bd5ffb01466b853c45709"></a><!-- doxytag: member="ecore_con.c::ecore_con_ssl_available_get" ref="ga5d2328b414bd5ffb01466b853c45709" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_con_ssl_available_get           </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Returns if SSL support is available. 
+<p>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 if SSL is available, 0 if it is not. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="gad8e029c00a1a4a6097f5ff17dec3c2e"></a><!-- doxytag: member="ecore_ipc.c::ecore_ipc_ssl_available_get" ref="gad8e029c00a1a4a6097f5ff17dec3c2e" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_ipc_ssl_available_get           </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Returns if SSL support is available. 
+<p>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 if SSL is available, 0 if it is not. </dd></dl>
+
+</div>
+</div><p>
+</body>
+</html>
diff --git a/doc/html/group__Ecore__Con__Lib__Group.html b/doc/html/group__Ecore__Con__Lib__Group.html
new file mode 100644
index 0000000..5a1a9d8
--- /dev/null
+++ b/doc/html/group__Ecore__Con__Lib__Group.html
@@ -0,0 +1,92 @@
+<html>
+
+<head>
+
+<title>Ecore: Ecore Connection Library Functions</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1>Ecore Connection Library Functions</h1>Utility functions that set up and shut down the Ecore Connection library.  
+<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Con__Lib__Group.html#gcf5ecf42c516bb9c8b6759721e9559bd">ecore_con_init</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initialises the Ecore_Con library.  <a href="#gcf5ecf42c516bb9c8b6759721e9559bd"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Con__Lib__Group.html#gccfd8dd2a1187b71339b5cc39dc83938">ecore_con_shutdown</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Shuts down the Ecore_Con library.  <a href="#gccfd8dd2a1187b71339b5cc39dc83938"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Utility functions that set up and shut down the Ecore Connection library. 
+<p>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="gcf5ecf42c516bb9c8b6759721e9559bd"></a><!-- doxytag: member="ecore_con.c::ecore_con_init" ref="gcf5ecf42c516bb9c8b6759721e9559bd" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_con_init           </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Initialises the Ecore_Con library. 
+<p>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>Number of times the library has been initialised without being shut down. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="gccfd8dd2a1187b71339b5cc39dc83938"></a><!-- doxytag: member="ecore_con.c::ecore_con_shutdown" ref="gccfd8dd2a1187b71339b5cc39dc83938" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_con_shutdown           </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Shuts down the Ecore_Con library. 
+<p>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>Number of times the library has been initialised without being shut down. </dd></dl>
+
+</div>
+</div><p>
+</body>
+</html>
diff --git a/doc/html/group__Ecore__Con__Server__Group.html b/doc/html/group__Ecore__Con__Server__Group.html
new file mode 100644
index 0000000..131c28e
--- /dev/null
+++ b/doc/html/group__Ecore__Con__Server__Group.html
@@ -0,0 +1,442 @@
+<html>
+
+<head>
+
+<title>Ecore: Ecore Connection Server Functions</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1>Ecore Connection Server Functions</h1>Functions that operate on Ecore server objects.  
+<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI <a class="el" href="Ecore__Con_8h.html#8254d59597add481f0e2471a845f4231">Ecore_Con_Server</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Con__Server__Group.html#gce4c9656c7bd6eef0d29621d6dd75dee">ecore_con_server_add</a> (Ecore_Con_Type compl_type, const char *name, int port, const void *data)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a server to listen for connections.  <a href="#gce4c9656c7bd6eef0d29621d6dd75dee"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI <a class="el" href="Ecore__Con_8h.html#8254d59597add481f0e2471a845f4231">Ecore_Con_Server</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Con__Server__Group.html#g2cd832b9d0e592559ac13de24634b316">ecore_con_server_connect</a> (Ecore_Con_Type compl_type, const char *name, int port, const void *data)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a server object to represent the server listening at the given port.  <a href="#g2cd832b9d0e592559ac13de24634b316"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Con__Server__Group.html#gdee2f338f3f815a8cbec0288d21918f6">ecore_con_server_del</a> (<a class="el" href="Ecore__Con_8h.html#8254d59597add481f0e2471a845f4231">Ecore_Con_Server</a> *svr)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Closes the connection and frees the given server.  <a href="#gdee2f338f3f815a8cbec0288d21918f6"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Con__Server__Group.html#ge7a9fe5aeb2cfa880c7d5098010d1291">ecore_con_server_data_get</a> (<a class="el" href="Ecore__Con_8h.html#8254d59597add481f0e2471a845f4231">Ecore_Con_Server</a> *svr)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the data associated with the given server.  <a href="#ge7a9fe5aeb2cfa880c7d5098010d1291"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Con__Server__Group.html#g497d30961f7b9e8e5547ef674564efca">ecore_con_server_connected_get</a> (<a class="el" href="Ecore__Con_8h.html#8254d59597add481f0e2471a845f4231">Ecore_Con_Server</a> *svr)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves whether the given server is currently connected.  <a href="#g497d30961f7b9e8e5547ef674564efca"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_List *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Con__Server__Group.html#ga7a54f1b8537c05aae69dae7d3a2e5ff">ecore_con_server_clients_get</a> (<a class="el" href="Ecore__Con_8h.html#8254d59597add481f0e2471a845f4231">Ecore_Con_Server</a> *svr)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the current list of clients.  <a href="#ga7a54f1b8537c05aae69dae7d3a2e5ff"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Con__Server__Group.html#gdf16abc2d4fc16a8b65709eab2cd8337">ecore_con_server_send</a> (<a class="el" href="Ecore__Con_8h.html#8254d59597add481f0e2471a845f4231">Ecore_Con_Server</a> *svr, const void *data, int size)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the given data to the given server.  <a href="#gdf16abc2d4fc16a8b65709eab2cd8337"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Con__Server__Group.html#gbaef36c991be8922766611c75372ced4">ecore_con_server_client_limit_set</a> (<a class="el" href="Ecore__Con_8h.html#8254d59597add481f0e2471a845f4231">Ecore_Con_Server</a> *svr, int client_limit, char reject_excess_clients)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets a limit on the number of clients that can be handled concurrently by the given server, and a policy on what to do if excess clients try to connect.  <a href="#gbaef36c991be8922766611c75372ced4"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Con__Server__Group.html#gf6d19b6e9dcd751e9a575400f5713b08">ecore_con_server_ip_get</a> (<a class="el" href="Ecore__Con_8h.html#8254d59597add481f0e2471a845f4231">Ecore_Con_Server</a> *svr)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the IP address of a server that has been connected to.  <a href="#gf6d19b6e9dcd751e9a575400f5713b08"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Con__Server__Group.html#g3ddb6c88484b59a1f5a5bacb8b6e60fe">ecore_con_server_flush</a> (<a class="el" href="Ecore__Con_8h.html#8254d59597add481f0e2471a845f4231">Ecore_Con_Server</a> *svr)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Flushes all pending data to the given server.  <a href="#g3ddb6c88484b59a1f5a5bacb8b6e60fe"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Functions that operate on Ecore server objects. 
+<p>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="gce4c9656c7bd6eef0d29621d6dd75dee"></a><!-- doxytag: member="ecore_con.c::ecore_con_server_add" ref="gce4c9656c7bd6eef0d29621d6dd75dee" args="(Ecore_Con_Type compl_type, const char *name, int port, const void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="Ecore__Con_8h.html#8254d59597add481f0e2471a845f4231">Ecore_Con_Server</a>* ecore_con_server_add           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Con_Type&nbsp;</td>
+          <td class="paramname"> <em>compl_type</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>port</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Creates a server to listen for connections. 
+<p>
+The socket on which the server listens depends on the connection type: <ul>
+<li>If <em>compl_type</em> is <code>ECORE_CON_LOCAL_USER</code>, the server will listen on the Unix socket "~/.ecore/[name]/[port]". </li>
+<li>If <em>compl_type</em> is <code>ECORE_CON_LOCAL_SYSTEM</code>, the server will listen on Unix socket "/tmp/.ecore_service|[name]|[port]". </li>
+<li>If <em>compl_type</em> is <code>ECORE_CON_REMOTE_SYSTEM</code>, the server will listen on TCP port <code>port</code>.</li>
+</ul>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>compl_type</em>&nbsp;</td><td>The connection type. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>Name to associate with the socket. It is used when generating the socket name of a Unix socket. Though it is not used for the TCP socket, it still needs to be a valid character array. <code>NULL</code> will not be accepted. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>port</em>&nbsp;</td><td>Number to identify socket. When a Unix socket is used, it becomes part of the socket name. When a TCP socket is used, it is used as the TCP port. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>Data to associate with the created Ecore_Con_Server object. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>A new Ecore_Con_Server. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="gbaef36c991be8922766611c75372ced4"></a><!-- doxytag: member="ecore_con.c::ecore_con_server_client_limit_set" ref="gbaef36c991be8922766611c75372ced4" args="(Ecore_Con_Server *svr, int client_limit, char reject_excess_clients)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_con_server_client_limit_set           </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="Ecore__Con_8h.html#8254d59597add481f0e2471a845f4231">Ecore_Con_Server</a> *&nbsp;</td>
+          <td class="paramname"> <em>svr</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>client_limit</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">char&nbsp;</td>
+          <td class="paramname"> <em>reject_excess_clients</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sets a limit on the number of clients that can be handled concurrently by the given server, and a policy on what to do if excess clients try to connect. 
+<p>
+Beware that if you set this once ecore is already running, you may already have pending CLIENT_ADD events in your event queue. Those clients have already connected and will not be affected by this call. Only clients subsequently trying to connect will be affected. <dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>svr</em>&nbsp;</td><td>The given server. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>client_limit</em>&nbsp;</td><td>The maximum number of clients to handle concurrently. -1 means unlimited (default). 0 effectively disables the server. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>reject_excess_clients</em>&nbsp;</td><td>Set to 1 to automatically disconnect excess clients as soon as they connect if you are already handling client_limit clients. Set to 0 (default) to just hold off on the "accept()" system call until the number of active clients drops. This causes the kernel to queue up to 4096 connections (or your kernel's limit, whichever is lower). </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="ga7a54f1b8537c05aae69dae7d3a2e5ff"></a><!-- doxytag: member="ecore_con.c::ecore_con_server_clients_get" ref="ga7a54f1b8537c05aae69dae7d3a2e5ff" args="(Ecore_Con_Server *svr)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Ecore_List* ecore_con_server_clients_get           </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="Ecore__Con_8h.html#8254d59597add481f0e2471a845f4231">Ecore_Con_Server</a> *&nbsp;</td>
+          <td class="paramname"> <em>svr</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Retrieves the current list of clients. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>svr</em>&nbsp;</td><td>The given server. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The list of clients on this server. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g2cd832b9d0e592559ac13de24634b316"></a><!-- doxytag: member="ecore_con.c::ecore_con_server_connect" ref="g2cd832b9d0e592559ac13de24634b316" args="(Ecore_Con_Type compl_type, const char *name, int port, const void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="Ecore__Con_8h.html#8254d59597add481f0e2471a845f4231">Ecore_Con_Server</a>* ecore_con_server_connect           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Con_Type&nbsp;</td>
+          <td class="paramname"> <em>compl_type</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>port</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Creates a server object to represent the server listening at the given port. 
+<p>
+The socket to which the server connects depends on the connection type: <ul>
+<li>If <em>compl_type</em> is <code>ECORE_CON_LOCAL_USER</code>, the function will connect to the server listening on the Unix socket "~/.ecore/[name]/[port]". </li>
+<li>If <em>compl_type</em> is <code>ECORE_CON_LOCAL_SYSTEM</code>, the function will connect to the server listening on the Unix socket "/tmp/.ecore_service|[name]|[port]". </li>
+<li>If <em>compl_type</em> is <code>ECORE_CON_REMOTE_SYSTEM</code>, the function will connect to the server listening on the TCP port "[name]:[port]".</li>
+</ul>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>compl_type</em>&nbsp;</td><td>The connection type. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>Name used when determining what socket to connect to. It is used to generate the socket name when the socket is a Unix socket. It is used as the hostname when connecting with a TCP socket. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>port</em>&nbsp;</td><td>Number to identify the socket to connect to. Used when generating the socket name for a Unix socket, or as the TCP port when connecting to a TCP socket. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>Data to associate with the created Ecore_Con_Server object. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>A new Ecore_Con_Server. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g497d30961f7b9e8e5547ef674564efca"></a><!-- doxytag: member="ecore_con.c::ecore_con_server_connected_get" ref="g497d30961f7b9e8e5547ef674564efca" args="(Ecore_Con_Server *svr)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_con_server_connected_get           </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="Ecore__Con_8h.html#8254d59597add481f0e2471a845f4231">Ecore_Con_Server</a> *&nbsp;</td>
+          <td class="paramname"> <em>svr</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Retrieves whether the given server is currently connected. 
+<p>
+<dl compact><dt><b><a class="el" href="todo.html#_todo000004">Todo:</a></b></dt><dd>Check that this function does what the documenter believes it does. </dd></dl>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>svr</em>&nbsp;</td><td>The given server. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd><code>1</code> if the server is connected. <code>0</code> otherwise. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="ge7a9fe5aeb2cfa880c7d5098010d1291"></a><!-- doxytag: member="ecore_con.c::ecore_con_server_data_get" ref="ge7a9fe5aeb2cfa880c7d5098010d1291" args="(Ecore_Con_Server *svr)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void* ecore_con_server_data_get           </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="Ecore__Con_8h.html#8254d59597add481f0e2471a845f4231">Ecore_Con_Server</a> *&nbsp;</td>
+          <td class="paramname"> <em>svr</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Retrieves the data associated with the given server. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>svr</em>&nbsp;</td><td>The given server. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The associated data. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="gdee2f338f3f815a8cbec0288d21918f6"></a><!-- doxytag: member="ecore_con.c::ecore_con_server_del" ref="gdee2f338f3f815a8cbec0288d21918f6" args="(Ecore_Con_Server *svr)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void* ecore_con_server_del           </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="Ecore__Con_8h.html#8254d59597add481f0e2471a845f4231">Ecore_Con_Server</a> *&nbsp;</td>
+          <td class="paramname"> <em>svr</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Closes the connection and frees the given server. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>svr</em>&nbsp;</td><td>The given server. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>Data associated with the server when it was created. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g3ddb6c88484b59a1f5a5bacb8b6e60fe"></a><!-- doxytag: member="ecore_con.c::ecore_con_server_flush" ref="g3ddb6c88484b59a1f5a5bacb8b6e60fe" args="(Ecore_Con_Server *svr)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_con_server_flush           </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="Ecore__Con_8h.html#8254d59597add481f0e2471a845f4231">Ecore_Con_Server</a> *&nbsp;</td>
+          <td class="paramname"> <em>svr</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Flushes all pending data to the given server. 
+<p>
+Will return when done.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>svr</em>&nbsp;</td><td>The given server. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="gf6d19b6e9dcd751e9a575400f5713b08"></a><!-- doxytag: member="ecore_con.c::ecore_con_server_ip_get" ref="gf6d19b6e9dcd751e9a575400f5713b08" args="(Ecore_Con_Server *svr)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI char* ecore_con_server_ip_get           </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="Ecore__Con_8h.html#8254d59597add481f0e2471a845f4231">Ecore_Con_Server</a> *&nbsp;</td>
+          <td class="paramname"> <em>svr</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Gets the IP address of a server that has been connected to. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>svr</em>&nbsp;</td><td>The given server. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>A pointer to an internal string that contains the IP address of the connected server in the form "XXX.YYY.ZZZ.AAA" IP notation. This string should not be modified or trusted to stay valid after deletion for the <code>svr</code> object. If no IP is known NULL is returned. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="gdf16abc2d4fc16a8b65709eab2cd8337"></a><!-- doxytag: member="ecore_con.c::ecore_con_server_send" ref="gdf16abc2d4fc16a8b65709eab2cd8337" args="(Ecore_Con_Server *svr, const void *data, int size)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_con_server_send           </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="Ecore__Con_8h.html#8254d59597add481f0e2471a845f4231">Ecore_Con_Server</a> *&nbsp;</td>
+          <td class="paramname"> <em>svr</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>data</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>size</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sends the given data to the given server. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>svr</em>&nbsp;</td><td>The given server. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>The given data. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>size</em>&nbsp;</td><td>Length of the data, in bytes, to send. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The number of bytes sent. <code>0</code> will be returned if there is an error. </dd></dl>
+
+</div>
+</div><p>
+</body>
+</html>
diff --git a/doc/html/group__Ecore__Config__App__Lib__Group.html b/doc/html/group__Ecore__Config__App__Lib__Group.html
new file mode 100644
index 0000000..8cdb322
--- /dev/null
+++ b/doc/html/group__Ecore__Config__App__Lib__Group.html
@@ -0,0 +1,98 @@
+<html>
+
+<head>
+
+<title>Ecore: Ecore Config App Library Functions</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1>Ecore Config App Library Functions</h1>Functions that are used to start up and shutdown the Enlightened Property Library when used directly by an application.  
+<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__App__Lib__Group.html#gfdc677e43c328248e10e08d0599c274e">ecore_config_init</a> (const char *name)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initializes the Enlightened Property Library.  <a href="#gfdc677e43c328248e10e08d0599c274e"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__App__Lib__Group.html#g4b20caf672ca445f8d21a7b09b666d70">ecore_config_shutdown</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Frees memory and shuts down the library for an application.  <a href="#g4b20caf672ca445f8d21a7b09b666d70"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Functions that are used to start up and shutdown the Enlightened Property Library when used directly by an application. 
+<p>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="gfdc677e43c328248e10e08d0599c274e"></a><!-- doxytag: member="ecore_config.c::ecore_config_init" ref="gfdc677e43c328248e10e08d0599c274e" args="(const char *name)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_config_init           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>name</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Initializes the Enlightened Property Library. 
+<p>
+Either this function or <a class="el" href="group__Ecore__Config__Lib__Lib__Group.html#g3cb9d5fd7d8b2693d36ca96173f74d4c">ecore_config_system_init</a> must be run before any other function in the Enlightened Property Library, even if you have run <a class="el" href="Ecore_8h.html#8af98881ecd1d24072b4fabf216754c4">ecore_init</a> . The name given is used to determine the default configuration to load.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>Application name </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd><code>ECORE_CONFIG_ERR_SUCC</code> if the library is successfully set up. <code>ECORE_CONFIG_ERR_FAIL</code> otherwise. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g4b20caf672ca445f8d21a7b09b666d70"></a><!-- doxytag: member="ecore_config.c::ecore_config_shutdown" ref="g4b20caf672ca445f8d21a7b09b666d70" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_config_shutdown           </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Frees memory and shuts down the library for an application. 
+<p>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd><code>ECORE_CONFIG_ERR_IGNORED</code> . </dd></dl>
+
+</div>
+</div><p>
+</body>
+</html>
diff --git a/doc/html/group__Ecore__Config__Create__Group.html b/doc/html/group__Ecore__Config__Create__Group.html
new file mode 100644
index 0000000..c48b525
--- /dev/null
+++ b/doc/html/group__Ecore__Config__Create__Group.html
@@ -0,0 +1,710 @@
+<html>
+
+<head>
+
+<title>Ecore: Ecore Config Create Functions</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1>Ecore Config Create Functions</h1>Convenience functions that set default values, bounds, option values and descriptions in one call.  
+<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Create__Group.html#g14c277a6ad31dbcad672ab61dfa5e4d2">ecore_config_create</a> (const char *key, void *val, char short_opt, char *long_opt, char *desc)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a new property, if it does not already exist, and sets its attributes to those given.  <a href="#g14c277a6ad31dbcad672ab61dfa5e4d2"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Create__Group.html#g72458cbd9bc08ac67a489bedccc9729d">ecore_config_typed_create</a> (const char *key, void *val, int type, char short_opt, char *long_opt, char *desc)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a new property, if it does not already exist, and sets its attributes to those given.  <a href="#g72458cbd9bc08ac67a489bedccc9729d"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Create__Group.html#g3b0938305e64b0237f6e054f9d5f3d36">ecore_config_boolean_create</a> (const char *key, int val, char short_opt, char *long_opt, char *desc)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a new boolean property, if it does not already exist, and sets its attributes to those given.  <a href="#g3b0938305e64b0237f6e054f9d5f3d36"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Create__Group.html#g18cc88e4f1448c1b6c59f1fb81006736">ecore_config_int_create</a> (const char *key, int val, char short_opt, char *long_opt, char *desc)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a new integer property, if it does not already exist, and sets its attributes to those given.  <a href="#g18cc88e4f1448c1b6c59f1fb81006736"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Create__Group.html#g7eac241f83ce610c6da1e7b6f03120da">ecore_config_int_create_bound</a> (const char *key, int val, int low, int high, int step, char short_opt, char *long_opt, char *desc)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a new integer property, if it does not already exist, and sets its attributes to those given.  <a href="#g7eac241f83ce610c6da1e7b6f03120da"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Create__Group.html#g90a2ffd15afc8781dbacdaef880054ed">ecore_config_string_create</a> (const char *key, char *val, char short_opt, char *long_opt, char *desc)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a new string property, if it does not already exist, and sets its attributes to those given.  <a href="#g90a2ffd15afc8781dbacdaef880054ed"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Create__Group.html#g6be6d9eba77ce43bb7a0c88a035696f8">ecore_config_float_create</a> (const char *key, float val, char short_opt, char *long_opt, char *desc)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a new float property, if it does not already exist, and sets its attributes to those given.  <a href="#g6be6d9eba77ce43bb7a0c88a035696f8"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Create__Group.html#g213c338d2b1db6ffe4ed3a5c656c8e74">ecore_config_float_create_bound</a> (const char *key, float val, float low, float high, float step, char short_opt, char *long_opt, char *desc)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a new float property, if it does not already exist, and sets its attributes to those given.  <a href="#g213c338d2b1db6ffe4ed3a5c656c8e74"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Create__Group.html#g982a19b90c5b9ba219ed9d6a0208c0f4">ecore_config_argb_create</a> (const char *key, char *val, char short_opt, char *long_opt, char *desc)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a new color property, if it does not already exist, and sets its attributes to those given.  <a href="#g982a19b90c5b9ba219ed9d6a0208c0f4"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Create__Group.html#g121905447a18020e3e6c52ad6e41faa5">ecore_config_theme_create</a> (const char *key, char *val, char short_opt, char *long_opt, char *desc)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a new theme property, if it does not already exist, and sets its attributes to those given.  <a href="#g121905447a18020e3e6c52ad6e41faa5"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Convenience functions that set default values, bounds, option values and descriptions in one call. 
+<p>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="g982a19b90c5b9ba219ed9d6a0208c0f4"></a><!-- doxytag: member="ecore_config_extra.c::ecore_config_argb_create" ref="g982a19b90c5b9ba219ed9d6a0208c0f4" args="(const char *key, char *val, char short_opt, char *long_opt, char *desc)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int ecore_config_argb_create           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>key</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">char *&nbsp;</td>
+          <td class="paramname"> <em>val</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">char&nbsp;</td>
+          <td class="paramname"> <em>short_opt</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">char *&nbsp;</td>
+          <td class="paramname"> <em>long_opt</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">char *&nbsp;</td>
+          <td class="paramname"> <em>desc</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Creates a new color property, if it does not already exist, and sets its attributes to those given. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>The property key. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>val</em>&nbsp;</td><td>Default color value of key, as a hexadecimal string. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>short_opt</em>&nbsp;</td><td>Short option used to set the property from command line. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>long_opt</em>&nbsp;</td><td>Long option used to set the property from command line. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>desc</em>&nbsp;</td><td>String description of property. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd><code>ECORE_CONFIG_ERR_SUCC</code> on success. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g3b0938305e64b0237f6e054f9d5f3d36"></a><!-- doxytag: member="ecore_config_extra.c::ecore_config_boolean_create" ref="g3b0938305e64b0237f6e054f9d5f3d36" args="(const char *key, int val, char short_opt, char *long_opt, char *desc)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int ecore_config_boolean_create           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>key</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>val</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">char&nbsp;</td>
+          <td class="paramname"> <em>short_opt</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">char *&nbsp;</td>
+          <td class="paramname"> <em>long_opt</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">char *&nbsp;</td>
+          <td class="paramname"> <em>desc</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Creates a new boolean property, if it does not already exist, and sets its attributes to those given. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>The property key. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>val</em>&nbsp;</td><td>Default boolean value of key. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>short_opt</em>&nbsp;</td><td>Short option used to set the property from command line. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>long_opt</em>&nbsp;</td><td>Long option used to set the property from command line. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>desc</em>&nbsp;</td><td>String description of property. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd><code>ECORE_CONFIG_ERR_SUCC</code> on success. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g14c277a6ad31dbcad672ab61dfa5e4d2"></a><!-- doxytag: member="ecore_config_extra.c::ecore_config_create" ref="g14c277a6ad31dbcad672ab61dfa5e4d2" args="(const char *key, void *val, char short_opt, char *long_opt, char *desc)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int ecore_config_create           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>key</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void *&nbsp;</td>
+          <td class="paramname"> <em>val</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">char&nbsp;</td>
+          <td class="paramname"> <em>short_opt</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">char *&nbsp;</td>
+          <td class="paramname"> <em>long_opt</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">char *&nbsp;</td>
+          <td class="paramname"> <em>desc</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Creates a new property, if it does not already exist, and sets its attributes to those given. 
+<p>
+The type of the property is guessed from the key and the value given.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>The property key. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>val</em>&nbsp;</td><td>Pointer to default value of key. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>short_opt</em>&nbsp;</td><td>Short option used to set the property from command line. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>long_opt</em>&nbsp;</td><td>Long option used to set the property from command line. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>desc</em>&nbsp;</td><td>String description of property. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd><code>ECORE_CONFIG_ERR_SUCC</code> on success. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g6be6d9eba77ce43bb7a0c88a035696f8"></a><!-- doxytag: member="ecore_config_extra.c::ecore_config_float_create" ref="g6be6d9eba77ce43bb7a0c88a035696f8" args="(const char *key, float val, char short_opt, char *long_opt, char *desc)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int ecore_config_float_create           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>key</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float&nbsp;</td>
+          <td class="paramname"> <em>val</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">char&nbsp;</td>
+          <td class="paramname"> <em>short_opt</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">char *&nbsp;</td>
+          <td class="paramname"> <em>long_opt</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">char *&nbsp;</td>
+          <td class="paramname"> <em>desc</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Creates a new float property, if it does not already exist, and sets its attributes to those given. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>The property key. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>val</em>&nbsp;</td><td>Default float value of key. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>short_opt</em>&nbsp;</td><td>Short option used to set the property from command line. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>long_opt</em>&nbsp;</td><td>Long option used to set the property from command line. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>desc</em>&nbsp;</td><td>String description of property. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd><code>ECORE_CONFIG_ERR_SUCC</code> on success. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g213c338d2b1db6ffe4ed3a5c656c8e74"></a><!-- doxytag: member="ecore_config_extra.c::ecore_config_float_create_bound" ref="g213c338d2b1db6ffe4ed3a5c656c8e74" args="(const char *key, float val, float low, float high, float step, char short_opt, char *long_opt, char *desc)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int ecore_config_float_create_bound           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>key</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float&nbsp;</td>
+          <td class="paramname"> <em>val</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float&nbsp;</td>
+          <td class="paramname"> <em>low</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float&nbsp;</td>
+          <td class="paramname"> <em>high</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float&nbsp;</td>
+          <td class="paramname"> <em>step</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">char&nbsp;</td>
+          <td class="paramname"> <em>short_opt</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">char *&nbsp;</td>
+          <td class="paramname"> <em>long_opt</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">char *&nbsp;</td>
+          <td class="paramname"> <em>desc</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Creates a new float property, if it does not already exist, and sets its attributes to those given. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>The property key. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>val</em>&nbsp;</td><td>Default float value of key. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>low</em>&nbsp;</td><td>Lowest valid float value for the property. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>high</em>&nbsp;</td><td>Highest valid float value for the property. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>step</em>&nbsp;</td><td>Increment value for the property. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>short_opt</em>&nbsp;</td><td>Short option used to set the property from command line. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>long_opt</em>&nbsp;</td><td>Long option used to set the property from command line. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>desc</em>&nbsp;</td><td>String description of property. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd><code>ECORE_CONFIG_ERR_SUCC</code> on success. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g18cc88e4f1448c1b6c59f1fb81006736"></a><!-- doxytag: member="ecore_config_extra.c::ecore_config_int_create" ref="g18cc88e4f1448c1b6c59f1fb81006736" args="(const char *key, int val, char short_opt, char *long_opt, char *desc)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int ecore_config_int_create           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>key</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>val</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">char&nbsp;</td>
+          <td class="paramname"> <em>short_opt</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">char *&nbsp;</td>
+          <td class="paramname"> <em>long_opt</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">char *&nbsp;</td>
+          <td class="paramname"> <em>desc</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Creates a new integer property, if it does not already exist, and sets its attributes to those given. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>The property key. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>val</em>&nbsp;</td><td>Default integer value of key. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>short_opt</em>&nbsp;</td><td>Short option used to set the property from command line. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>long_opt</em>&nbsp;</td><td>Long option used to set the property from command line. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>desc</em>&nbsp;</td><td>String description of property. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd><code>ECORE_CONFIG_ERR_SUCC</code> on success. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g7eac241f83ce610c6da1e7b6f03120da"></a><!-- doxytag: member="ecore_config_extra.c::ecore_config_int_create_bound" ref="g7eac241f83ce610c6da1e7b6f03120da" args="(const char *key, int val, int low, int high, int step, char short_opt, char *long_opt, char *desc)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int ecore_config_int_create_bound           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>key</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>val</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>low</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>high</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>step</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">char&nbsp;</td>
+          <td class="paramname"> <em>short_opt</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">char *&nbsp;</td>
+          <td class="paramname"> <em>long_opt</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">char *&nbsp;</td>
+          <td class="paramname"> <em>desc</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Creates a new integer property, if it does not already exist, and sets its attributes to those given. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>The property key. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>val</em>&nbsp;</td><td>Default integer value of key. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>low</em>&nbsp;</td><td>Lowest valid integer value for the property. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>high</em>&nbsp;</td><td>Highest valid integer value for the property. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>step</em>&nbsp;</td><td>Increment value for the property. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>short_opt</em>&nbsp;</td><td>Short option used to set the property from command line. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>long_opt</em>&nbsp;</td><td>Long option used to set the property from command line. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>desc</em>&nbsp;</td><td>String description of property. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd><code>ECORE_CONFIG_ERR_SUCC</code> on success. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g90a2ffd15afc8781dbacdaef880054ed"></a><!-- doxytag: member="ecore_config_extra.c::ecore_config_string_create" ref="g90a2ffd15afc8781dbacdaef880054ed" args="(const char *key, char *val, char short_opt, char *long_opt, char *desc)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int ecore_config_string_create           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>key</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">char *&nbsp;</td>
+          <td class="paramname"> <em>val</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">char&nbsp;</td>
+          <td class="paramname"> <em>short_opt</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">char *&nbsp;</td>
+          <td class="paramname"> <em>long_opt</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">char *&nbsp;</td>
+          <td class="paramname"> <em>desc</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Creates a new string property, if it does not already exist, and sets its attributes to those given. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>The property key. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>val</em>&nbsp;</td><td>Default value of key. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>short_opt</em>&nbsp;</td><td>Short option used to set the property from command line. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>long_opt</em>&nbsp;</td><td>Long option used to set the property from command line. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>desc</em>&nbsp;</td><td>String description of property. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd><code>ECORE_CONFIG_ERR_SUCC</code> on success. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g121905447a18020e3e6c52ad6e41faa5"></a><!-- doxytag: member="ecore_config_extra.c::ecore_config_theme_create" ref="g121905447a18020e3e6c52ad6e41faa5" args="(const char *key, char *val, char short_opt, char *long_opt, char *desc)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int ecore_config_theme_create           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>key</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">char *&nbsp;</td>
+          <td class="paramname"> <em>val</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">char&nbsp;</td>
+          <td class="paramname"> <em>short_opt</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">char *&nbsp;</td>
+          <td class="paramname"> <em>long_opt</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">char *&nbsp;</td>
+          <td class="paramname"> <em>desc</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Creates a new theme property, if it does not already exist, and sets its attributes to those given. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>The property key. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>val</em>&nbsp;</td><td>Default theme name for the property. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>short_opt</em>&nbsp;</td><td>Short option used to set the property from command line. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>long_opt</em>&nbsp;</td><td>Long option used to set the property from command line. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>desc</em>&nbsp;</td><td>String description of property. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd><code>ECORE_CONFIG_ERR_SUCC</code> on success. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g72458cbd9bc08ac67a489bedccc9729d"></a><!-- doxytag: member="ecore_config_extra.c::ecore_config_typed_create" ref="g72458cbd9bc08ac67a489bedccc9729d" args="(const char *key, void *val, int type, char short_opt, char *long_opt, char *desc)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int ecore_config_typed_create           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>key</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void *&nbsp;</td>
+          <td class="paramname"> <em>val</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>type</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">char&nbsp;</td>
+          <td class="paramname"> <em>short_opt</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">char *&nbsp;</td>
+          <td class="paramname"> <em>long_opt</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">char *&nbsp;</td>
+          <td class="paramname"> <em>desc</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Creates a new property, if it does not already exist, and sets its attributes to those given. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>The property key. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>val</em>&nbsp;</td><td>Pointer to default value of key. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>type</em>&nbsp;</td><td>Type of the property. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>short_opt</em>&nbsp;</td><td>Short option used to set the property from command line. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>long_opt</em>&nbsp;</td><td>Long option used to set the property from command line. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>desc</em>&nbsp;</td><td>String description of property. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd><code>ECORE_CONFIG_ERR_SUCC</code> on success. </dd></dl>
+
+</div>
+</div><p>
+</body>
+</html>
diff --git a/doc/html/group__Ecore__Config__Default__Group.html b/doc/html/group__Ecore__Config__Default__Group.html
new file mode 100644
index 0000000..139f210
--- /dev/null
+++ b/doc/html/group__Ecore__Config__Default__Group.html
@@ -0,0 +1,578 @@
+<html>
+
+<head>
+
+<title>Ecore: Ecore Config Defaults</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1>Ecore Config Defaults</h1>Functions that are used to set the default values of properties.  
+<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Default__Group.html#g93615990523f103af30ec67759063045">ecore_config_default</a> (const char *key, const char *val, float lo, float hi, float step)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the indicated property if it has not already been set or loaded.  <a href="#g93615990523f103af30ec67759063045"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Default__Group.html#gb975ecfba269108f3d33061b8a04c7ca">ecore_config_boolean_default</a> (const char *key, int val)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the indicated property to the given boolean if the property has not yet been set.  <a href="#gb975ecfba269108f3d33061b8a04c7ca"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Default__Group.html#g0ea9a5280c2c263769fede02cf83b223">ecore_config_int_default</a> (const char *key, int val)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the indicated property to the given integer if the property has not yet been set.  <a href="#g0ea9a5280c2c263769fede02cf83b223"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Default__Group.html#gf041320b27afd2d25382a186e525844d">ecore_config_int_default_bound</a> (const char *key, int val, int low, int high, int step)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the indicated property to the given integer if the property has not yet been set.  <a href="#gf041320b27afd2d25382a186e525844d"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Default__Group.html#g85aa8ecad2a747ac3ee4b1f9b476db64">ecore_config_string_default</a> (const char *key, const char *val)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the indicated property to the given string if the property has not yet been set.  <a href="#g85aa8ecad2a747ac3ee4b1f9b476db64"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Default__Group.html#g38f3626bd1d59e69e513b04e3a7908ee">ecore_config_float_default</a> (const char *key, float val)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the indicated property to the given float if the property has not yet been set.  <a href="#g38f3626bd1d59e69e513b04e3a7908ee"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Default__Group.html#ga62d8a4d3499f6552dc9bd694084af75">ecore_config_float_default_bound</a> (const char *key, float val, float low, float high, float step)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the indicated property to the given float if the property has not yet been set.  <a href="#ga62d8a4d3499f6552dc9bd694084af75"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Default__Group.html#g7e05038c1f325bac01f85ce4d479d8ba">ecore_config_argb_default</a> (const char *key, int a, int r, int g, int b)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the indicated property to a color value if the property has not yet been set.  <a href="#g7e05038c1f325bac01f85ce4d479d8ba"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Default__Group.html#gac44186cc54f3f31c406813c0f44cf57">ecore_config_argbint_default</a> (const char *key, long argb)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the indicated property to a color value if the property has not yet been set.  <a href="#gac44186cc54f3f31c406813c0f44cf57"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Default__Group.html#gfc2fc6ce01297b0bcfcd0ebdfca5c2f1">ecore_config_argbstr_default</a> (const char *key, const char *val)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the indicated property to a color value if the property has not yet been set.  <a href="#gfc2fc6ce01297b0bcfcd0ebdfca5c2f1"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Default__Group.html#gd0beb2c67b2b8d6fd5976665e4a6dc44">ecore_config_theme_default</a> (const char *key, const char *val)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the indicated property to a theme name if the property has not yet been set.  <a href="#gd0beb2c67b2b8d6fd5976665e4a6dc44"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Functions that are used to set the default values of properties. 
+<p>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="g7e05038c1f325bac01f85ce4d479d8ba"></a><!-- doxytag: member="ecore_config.c::ecore_config_argb_default" ref="g7e05038c1f325bac01f85ce4d479d8ba" args="(const char *key, int a, int r, int g, int b)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_config_argb_default           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>key</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>a</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>r</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>g</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>b</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sets the indicated property to a color value if the property has not yet been set. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>The property key. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>a</em>&nbsp;</td><td>integer 0..255 </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>r</em>&nbsp;</td><td>integer 0..255 </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>g</em>&nbsp;</td><td>integer 0..255 </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>b</em>&nbsp;</td><td>integer 0..255 </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd><code>ECORE_CONFIG_ERR_SUCC</code> if there are no problems. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="gac44186cc54f3f31c406813c0f44cf57"></a><!-- doxytag: member="ecore_config.c::ecore_config_argbint_default" ref="gac44186cc54f3f31c406813c0f44cf57" args="(const char *key, long argb)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_config_argbint_default           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>key</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">long&nbsp;</td>
+          <td class="paramname"> <em>argb</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sets the indicated property to a color value if the property has not yet been set. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>The property key. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>argb</em>&nbsp;</td><td>ARGB data as long </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd><code>ECORE_CONFIG_ERR_SUCC</code> if there are no problems. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="gfc2fc6ce01297b0bcfcd0ebdfca5c2f1"></a><!-- doxytag: member="ecore_config.c::ecore_config_argbstr_default" ref="gfc2fc6ce01297b0bcfcd0ebdfca5c2f1" args="(const char *key, const char *val)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_config_argbstr_default           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>key</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>val</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sets the indicated property to a color value if the property has not yet been set. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>The property key. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>val</em>&nbsp;</td><td>Color value in ARGB format. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd><code>ECORE_CONFIG_ERR_SUCC</code> if there are no problems. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="gb975ecfba269108f3d33061b8a04c7ca"></a><!-- doxytag: member="ecore_config.c::ecore_config_boolean_default" ref="gb975ecfba269108f3d33061b8a04c7ca" args="(const char *key, int val)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_config_boolean_default           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>key</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>val</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sets the indicated property to the given boolean if the property has not yet been set. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>The property key. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>val</em>&nbsp;</td><td>Boolean Integer to set the value to. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd><code>ECORE_CONFIG_ERR_SUCC</code> if there are no problems. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g93615990523f103af30ec67759063045"></a><!-- doxytag: member="ecore_config.c::ecore_config_default" ref="g93615990523f103af30ec67759063045" args="(const char *key, const char *val, float lo, float hi, float step)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_config_default           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>key</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>val</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float&nbsp;</td>
+          <td class="paramname"> <em>lo</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float&nbsp;</td>
+          <td class="paramname"> <em>hi</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float&nbsp;</td>
+          <td class="paramname"> <em>step</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sets the indicated property if it has not already been set or loaded. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>The property key. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>val</em>&nbsp;</td><td>Default value of the key. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>lo</em>&nbsp;</td><td>Lowest valid value for the key. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>hi</em>&nbsp;</td><td>Highest valid value for the key. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>step</em>&nbsp;</td><td>Used by integer and float values. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd><code>ECORE_CONFIG_ERR_SUCC</code> if there are no errors. </dd></dl>
+<dl class="note" compact><dt><b>Note:</b></dt><dd>The <code>lo</code>, <code>hi</code> and <code>step</code> parameters are only used when storing integer and float properties. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g38f3626bd1d59e69e513b04e3a7908ee"></a><!-- doxytag: member="ecore_config.c::ecore_config_float_default" ref="g38f3626bd1d59e69e513b04e3a7908ee" args="(const char *key, float val)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_config_float_default           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>key</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float&nbsp;</td>
+          <td class="paramname"> <em>val</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sets the indicated property to the given float if the property has not yet been set. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>The property key. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>val</em>&nbsp;</td><td>Float to set the property to. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd><code>ECORE_CONFIG_ERR_SUCC</code> if there were no problems. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="ga62d8a4d3499f6552dc9bd694084af75"></a><!-- doxytag: member="ecore_config.c::ecore_config_float_default_bound" ref="ga62d8a4d3499f6552dc9bd694084af75" args="(const char *key, float val, float low, float high, float step)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_config_float_default_bound           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>key</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float&nbsp;</td>
+          <td class="paramname"> <em>val</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float&nbsp;</td>
+          <td class="paramname"> <em>low</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float&nbsp;</td>
+          <td class="paramname"> <em>high</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float&nbsp;</td>
+          <td class="paramname"> <em>step</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sets the indicated property to the given float if the property has not yet been set. 
+<p>
+The bounds and step values are set regardless.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>The property key. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>val</em>&nbsp;</td><td>Float to set the property to. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>low</em>&nbsp;</td><td>Lowest valid integer value for the property. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>high</em>&nbsp;</td><td>Highest valid float value for the property. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>step</em>&nbsp;</td><td>Increment value for the property. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd><code>ECORE_CONFIG_ERR_SUCC</code> if there were no problems. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g0ea9a5280c2c263769fede02cf83b223"></a><!-- doxytag: member="ecore_config.c::ecore_config_int_default" ref="g0ea9a5280c2c263769fede02cf83b223" args="(const char *key, int val)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_config_int_default           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>key</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>val</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sets the indicated property to the given integer if the property has not yet been set. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>The property key. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>val</em>&nbsp;</td><td>Integer to set the value to. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd><code>ECORE_CONFIG_ERR_SUCC</code> if there are no problems. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="gf041320b27afd2d25382a186e525844d"></a><!-- doxytag: member="ecore_config.c::ecore_config_int_default_bound" ref="gf041320b27afd2d25382a186e525844d" args="(const char *key, int val, int low, int high, int step)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_config_int_default_bound           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>key</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>val</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>low</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>high</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>step</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sets the indicated property to the given integer if the property has not yet been set. 
+<p>
+The bounds and step values are set regardless.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>The property key. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>val</em>&nbsp;</td><td>Integer to set the property to. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>low</em>&nbsp;</td><td>Lowest valid integer value for the property. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>high</em>&nbsp;</td><td>Highest valid integer value for the property. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>step</em>&nbsp;</td><td>Increment value for the property. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd><code>ECORE_CONFIG_ERR_SUCC</code> if there were no problems. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g85aa8ecad2a747ac3ee4b1f9b476db64"></a><!-- doxytag: member="ecore_config.c::ecore_config_string_default" ref="g85aa8ecad2a747ac3ee4b1f9b476db64" args="(const char *key, const char *val)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_config_string_default           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>key</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>val</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sets the indicated property to the given string if the property has not yet been set. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>The property key. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>val</em>&nbsp;</td><td>String to set the property to. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd><code>ECORE_CONFIG_ERR_SUCC</code> if there were no problems. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="gd0beb2c67b2b8d6fd5976665e4a6dc44"></a><!-- doxytag: member="ecore_config.c::ecore_config_theme_default" ref="gd0beb2c67b2b8d6fd5976665e4a6dc44" args="(const char *key, const char *val)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_config_theme_default           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>key</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>val</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sets the indicated property to a theme name if the property has not yet been set. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>The property key. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>val</em>&nbsp;</td><td>String giving the name of the theme. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd><code>ECORE_CONFIG_ERR_SUCC</code> if the property is set successfully. </dd></dl>
+
+</div>
+</div><p>
+</body>
+</html>
diff --git a/doc/html/group__Ecore__Config__File__Group.html b/doc/html/group__Ecore__Config__File__Group.html
new file mode 100644
index 0000000..8cbec5c
--- /dev/null
+++ b/doc/html/group__Ecore__Config__File__Group.html
@@ -0,0 +1,154 @@
+<html>
+
+<head>
+
+<title>Ecore: Ecore Config File Functions</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1>Ecore Config File Functions</h1>Functions that are used to load and save properties from and to files.  
+<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__File__Group.html#g8e064585346f2234620dbbeb034d406b">ecore_config_load</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Loads the default configuration.  <a href="#g8e064585346f2234620dbbeb034d406b"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__File__Group.html#g94318c18d7c19ea2980552edddb88899">ecore_config_save</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Saves the current configuration to the default file.  <a href="#g94318c18d7c19ea2980552edddb88899"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__File__Group.html#gfcaee9b135bc412ac41b87fdf72bc289">ecore_config_file_load</a> (const char *file)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Load the given configuration file to the local configuration.  <a href="#gfcaee9b135bc412ac41b87fdf72bc289"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__File__Group.html#gf9b8be68224f804946e7409084ad967e">ecore_config_file_save</a> (const char *file)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Saves the local configuration to the given file.  <a href="#gf9b8be68224f804946e7409084ad967e"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Functions that are used to load and save properties from and to files. 
+<p>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="gfcaee9b135bc412ac41b87fdf72bc289"></a><!-- doxytag: member="ecore_config_storage.c::ecore_config_file_load" ref="gfcaee9b135bc412ac41b87fdf72bc289" args="(const char *file)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_config_file_load           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>file</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Load the given configuration file to the local configuration. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>file</em>&nbsp;</td><td>Name of the file to load. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd><code>ECORE_CONFIG_ERR_SUCC</code> on success. <code>ECORE_CONFIG_ERR_NODATA</code> is returned if the file cannot be loaded. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="gf9b8be68224f804946e7409084ad967e"></a><!-- doxytag: member="ecore_config_storage.c::ecore_config_file_save" ref="gf9b8be68224f804946e7409084ad967e" args="(const char *file)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_config_file_save           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>file</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Saves the local configuration to the given file. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>file</em>&nbsp;</td><td>Name of the file to save to. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd><code>ECORE_CONFIG_ERR_SUCC</code> is returned on success. <code>ECORE_CONFIG_ERR_FAIL</code> is returned if the data cannot be saved. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g8e064585346f2234620dbbeb034d406b"></a><!-- doxytag: member="ecore_config_storage.c::ecore_config_load" ref="g8e064585346f2234620dbbeb034d406b" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_config_load           </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Loads the default configuration. 
+<p>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd><code>ECORE_CONFIG_ERR_SUCC</code> on success. <code>ECORE_CONFIG_ERR_NODATA</code> is returned if the file cannot be loaded. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g94318c18d7c19ea2980552edddb88899"></a><!-- doxytag: member="ecore_config_storage.c::ecore_config_save" ref="g94318c18d7c19ea2980552edddb88899" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_config_save           </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Saves the current configuration to the default file. 
+<p>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd><code>ECORE_CONFIG_ERR_SUCC</code> is returned on success. <code>ECORE_CONFIG_ERR_FAIL</code> is returned if the data cannot be saved. </dd></dl>
+
+</div>
+</div><p>
+</body>
+</html>
diff --git a/doc/html/group__Ecore__Config__Get__Group.html b/doc/html/group__Ecore__Config__Get__Group.html
new file mode 100644
index 0000000..2667f5c
--- /dev/null
+++ b/doc/html/group__Ecore__Config__Get__Group.html
@@ -0,0 +1,381 @@
+<html>
+
+<head>
+
+<title>Ecore: Configuration Retrieve Functions</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1>Configuration Retrieve Functions</h1>Functions that retrieve configuration values, based on type.  
+<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI <a class="el" href="structEcore__Config__Prop.html">Ecore_Config_Prop</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Get__Group.html#g8453b6c6d12816fc67bc528c890767ea">ecore_config_get</a> (const char *key)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the property with the given key.  <a href="#g8453b6c6d12816fc67bc528c890767ea"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Get__Group.html#g65c1ae4aad5f8cfe9a049895ca8214fe">ecore_config_string_get</a> (const char *key)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the specified property as a string.  <a href="#g65c1ae4aad5f8cfe9a049895ca8214fe"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Get__Group.html#g83dc5cc9f1cf931994333c5886c22827">ecore_config_boolean_get</a> (const char *key)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the specified property as an integer.  <a href="#g83dc5cc9f1cf931994333c5886c22827"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Get__Group.html#g30e915e424e93cb60fbfb5159f5f7ee8">ecore_config_int_get</a> (const char *key)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the specified property as a long integer.  <a href="#g30e915e424e93cb60fbfb5159f5f7ee8"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Get__Group.html#geea46377d8255d0216d5639ead8d92ff">ecore_config_float_get</a> (const char *key)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the specified property as a float.  <a href="#geea46377d8255d0216d5639ead8d92ff"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Get__Group.html#g20de581cdf7397b54b6126362a56418a">ecore_config_argb_get</a> (const char *key, int *a, int *r, int *g, int *b)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Finds the alpha, red, green and blue values of a color property.  <a href="#g20de581cdf7397b54b6126362a56418a"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Get__Group.html#gf7f2ea069a615cdce15fb103108d610d">ecore_config_argbint_get</a> (const char *key)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a color property as a long.  <a href="#gf7f2ea069a615cdce15fb103108d610d"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Get__Group.html#g5c7821152165c73dcb5c5d6ada024305">ecore_config_argbstr_get</a> (const char *key)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a color property as a string of hexadecimal characters.  <a href="#g5c7821152165c73dcb5c5d6ada024305"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Get__Group.html#g7ecf05eef12f00801301ca2fc07b5bb5">ecore_config_theme_get</a> (const char *key)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a theme property.  <a href="#g7ecf05eef12f00801301ca2fc07b5bb5"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Get__Group.html#gc9a15f02dd6b027ff52aa8d8ea4ab095">ecore_config_as_string_get</a> (const char *key)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the key as a string.  <a href="#gc9a15f02dd6b027ff52aa8d8ea4ab095"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Functions that retrieve configuration values, based on type. 
+<p>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="g20de581cdf7397b54b6126362a56418a"></a><!-- doxytag: member="ecore_config.c::ecore_config_argb_get" ref="g20de581cdf7397b54b6126362a56418a" args="(const char *key, int *a, int *r, int *g, int *b)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_config_argb_get           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>key</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>a</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>r</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>g</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>b</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Finds the alpha, red, green and blue values of a color property. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>The property key. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>a</em>&nbsp;</td><td>A pointer to an integer to store the alpha value into. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>r</em>&nbsp;</td><td>A pointer to an integer to store the red value into. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>g</em>&nbsp;</td><td>A pointer to an integer to store the green value into. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>b</em>&nbsp;</td><td>A pointer to an integer to store the blue value into. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd><code>ECORE_CONFIG_ERR_SUCC</code> on success. <code>ECORE_CONFIG_ERR_FAIL</code> otherwise. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="gf7f2ea069a615cdce15fb103108d610d"></a><!-- doxytag: member="ecore_config.c::ecore_config_argbint_get" ref="gf7f2ea069a615cdce15fb103108d610d" args="(const char *key)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI long ecore_config_argbint_get           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>key</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Returns a color property as a long. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>The property key. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>ARGB data as long </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g5c7821152165c73dcb5c5d6ada024305"></a><!-- doxytag: member="ecore_config.c::ecore_config_argbstr_get" ref="g5c7821152165c73dcb5c5d6ada024305" args="(const char *key)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI char* ecore_config_argbstr_get           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>key</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Returns a color property as a string of hexadecimal characters. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>The property key. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>A string of hexadecimal characters in the format aarrggbb. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="gc9a15f02dd6b027ff52aa8d8ea4ab095"></a><!-- doxytag: member="ecore_config.c::ecore_config_as_string_get" ref="gc9a15f02dd6b027ff52aa8d8ea4ab095" args="(const char *key)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI char* ecore_config_as_string_get           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>key</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Retrieves the key as a string. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>The property key. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns a character array in the form of 'key:type=value'. <code>NULL</code> is returned if the property does not exist. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g83dc5cc9f1cf931994333c5886c22827"></a><!-- doxytag: member="ecore_config.c::ecore_config_boolean_get" ref="g83dc5cc9f1cf931994333c5886c22827" args="(const char *key)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_config_boolean_get           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>key</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Returns the specified property as an integer. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>The property key. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The value of the property. The function returns -1 if the property is not an integer or is not set. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="geea46377d8255d0216d5639ead8d92ff"></a><!-- doxytag: member="ecore_config.c::ecore_config_float_get" ref="geea46377d8255d0216d5639ead8d92ff" args="(const char *key)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI float ecore_config_float_get           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>key</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Returns the specified property as a float. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>The property key. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The float value of the property. The function returns 0.0 if the property is not a float or is not set. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g8453b6c6d12816fc67bc528c890767ea"></a><!-- doxytag: member="ecore_config.c::ecore_config_get" ref="g8453b6c6d12816fc67bc528c890767ea" args="(const char *key)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="structEcore__Config__Prop.html">Ecore_Config_Prop</a>* ecore_config_get           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>key</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Returns the property with the given key. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>The unique name of the wanted property. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The property that corresponds to the given key. <code>NULL</code> if the key could not be found. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g30e915e424e93cb60fbfb5159f5f7ee8"></a><!-- doxytag: member="ecore_config.c::ecore_config_int_get" ref="g30e915e424e93cb60fbfb5159f5f7ee8" args="(const char *key)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI long ecore_config_int_get           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>key</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Returns the specified property as a long integer. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>The property key. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The integer value of the property. The function returns 0 if the property is not an integer or is not set. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g65c1ae4aad5f8cfe9a049895ca8214fe"></a><!-- doxytag: member="ecore_config.c::ecore_config_string_get" ref="g65c1ae4aad5f8cfe9a049895ca8214fe" args="(const char *key)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI char* ecore_config_string_get           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>key</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Returns the specified property as a string. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>The property key. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The string value of the property. The function returns <code>NULL</code> if the property is not a string or is not set. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g7ecf05eef12f00801301ca2fc07b5bb5"></a><!-- doxytag: member="ecore_config.c::ecore_config_theme_get" ref="g7ecf05eef12f00801301ca2fc07b5bb5" args="(const char *key)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI char* ecore_config_theme_get           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>key</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Returns a theme property. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>The property key. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The name of the theme the property refers to. The function returns <code>NULL</code> if the property is not a theme or is not set. </dd></dl>
+
+</div>
+</div><p>
+</body>
+</html>
diff --git a/doc/html/group__Ecore__Config__Lib__Lib__Group.html b/doc/html/group__Ecore__Config__Lib__Lib__Group.html
new file mode 100644
index 0000000..0c1316d
--- /dev/null
+++ b/doc/html/group__Ecore__Config__Lib__Lib__Group.html
@@ -0,0 +1,94 @@
+<html>
+
+<head>
+
+<title>Ecore: Ecore Config Library Functions</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1>Ecore Config Library Functions</h1>Functions that are used to start up and shutdown the Enlightened Property Library when used directly by an application.  
+<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Lib__Lib__Group.html#g3cb9d5fd7d8b2693d36ca96173f74d4c">ecore_config_system_init</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initializes the Enlightened Property Library.  <a href="#g3cb9d5fd7d8b2693d36ca96173f74d4c"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Lib__Lib__Group.html#g925ea8694077c1fc013bb313908d1148">ecore_config_system_shutdown</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Frees memory and shuts down the library for other programming libraries.  <a href="#g925ea8694077c1fc013bb313908d1148"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Functions that are used to start up and shutdown the Enlightened Property Library when used directly by an application. 
+<p>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="g3cb9d5fd7d8b2693d36ca96173f74d4c"></a><!-- doxytag: member="ecore_config.c::ecore_config_system_init" ref="g3cb9d5fd7d8b2693d36ca96173f74d4c" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_config_system_init           </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Initializes the Enlightened Property Library. 
+<p>
+This function is meant to be run from other programming libraries. It should not be called from applications.<p>
+This function (or <a class="el" href="group__Ecore__Config__App__Lib__Group.html#gfdc677e43c328248e10e08d0599c274e">ecore_config_init</a> ) must be run before any other function in the Enlightened Property Library, even if you have run <a class="el" href="Ecore_8h.html#8af98881ecd1d24072b4fabf216754c4">ecore_init</a> .<p>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd><code>ECORE_CONFIG_ERR_SUCC</code> if the library is successfully set up. <code>ECORE_CONFIG_ERR_FAIL</code> otherwise. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g925ea8694077c1fc013bb313908d1148"></a><!-- doxytag: member="ecore_config.c::ecore_config_system_shutdown" ref="g925ea8694077c1fc013bb313908d1148" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_config_system_shutdown           </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Frees memory and shuts down the library for other programming libraries. 
+<p>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd><code>ECORE_CONFIG_ERR_IGNORED</code> </dd></dl>
+
+</div>
+</div><p>
+</body>
+</html>
diff --git a/doc/html/group__Ecore__Config__Listeners__Group.html b/doc/html/group__Ecore__Config__Listeners__Group.html
new file mode 100644
index 0000000..8d7404a
--- /dev/null
+++ b/doc/html/group__Ecore__Config__Listeners__Group.html
@@ -0,0 +1,150 @@
+<html>
+
+<head>
+
+<title>Ecore: Ecore Config Listeners</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1>Ecore Config Listeners</h1>Functions that set and unset property listener callbacks.  
+<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Listeners__Group.html#g50ffd2d9a28c501bbd6f512648b7e593">ecore_config_listen</a> (const char *name, const char *key, <a class="el" href="Ecore__Config_8h.html#57366c1938a04f353bbc64ad6fd231de">Ecore_Config_Listener</a> listener, int tag, void *data)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Adds a callback function to the list of functions called when a property changes.  <a href="#g50ffd2d9a28c501bbd6f512648b7e593"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Listeners__Group.html#g9ff2e49dde18e0f4a039c225512b3a2d">ecore_config_deaf</a> (const char *name, const char *key, <a class="el" href="Ecore__Config_8h.html#57366c1938a04f353bbc64ad6fd231de">Ecore_Config_Listener</a> listener)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Removes a listener callback.  <a href="#g9ff2e49dde18e0f4a039c225512b3a2d"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Functions that set and unset property listener callbacks. 
+<p>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="g9ff2e49dde18e0f4a039c225512b3a2d"></a><!-- doxytag: member="ecore_config.c::ecore_config_deaf" ref="g9ff2e49dde18e0f4a039c225512b3a2d" args="(const char *name, const char *key, Ecore_Config_Listener listener)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_config_deaf           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>key</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="Ecore__Config_8h.html#57366c1938a04f353bbc64ad6fd231de">Ecore_Config_Listener</a>&nbsp;</td>
+          <td class="paramname"> <em>listener</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Removes a listener callback. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>Name of the callback to remove. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>The property key the callback is listening to. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>listener</em>&nbsp;</td><td>The callback function to remove. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd><code>ECORE_CONFIG_ERR_SUCC</code> if successful in removing the callback. If no callback matches the given parameters, then <code>ECORE_CONFIG_ERR_NOTFOUND</code> is returned. If <code>NULL</code> is passed for the key pointer, <code>ECORE_CONFIG_ERR_NODATA</code> is returned. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g50ffd2d9a28c501bbd6f512648b7e593"></a><!-- doxytag: member="ecore_config.c::ecore_config_listen" ref="g50ffd2d9a28c501bbd6f512648b7e593" args="(const char *name, const char *key, Ecore_Config_Listener listener, int tag, void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_config_listen           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>key</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="Ecore__Config_8h.html#57366c1938a04f353bbc64ad6fd231de">Ecore_Config_Listener</a>&nbsp;</td>
+          <td class="paramname"> <em>listener</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>tag</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Adds a callback function to the list of functions called when a property changes. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>Name of the callback. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>The key of the property to listen to. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>listener</em>&nbsp;</td><td>Listener callback function. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>tag</em>&nbsp;</td><td>Tag to pass to <code>listener</code> when it is called. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>Data to pass to <code>listener</code> when it is called. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd><code>ECORE_CONFIG_ERR_SUCC</code> if successful in setting up the callback. </dd></dl>
+
+</div>
+</div><p>
+</body>
+</html>
diff --git a/doc/html/group__Ecore__Config__Property__Group.html b/doc/html/group__Ecore__Config__Property__Group.html
new file mode 100644
index 0000000..dd75d36
--- /dev/null
+++ b/doc/html/group__Ecore__Config__Property__Group.html
@@ -0,0 +1,273 @@
+<html>
+
+<head>
+
+<title>Ecore: Ecore Config Property Functions</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1>Ecore Config Property Functions</h1>Functions that retrieve or set the attributes relating to a property.  
+<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI <a class="el" href="structEcore__Config__Prop.html">Ecore_Config_Prop</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Property__Group.html#g038aaaaaf88a144f52139712f2e17360">ecore_config_dst</a> (<a class="el" href="structEcore__Config__Prop.html">Ecore_Config_Prop</a> *e)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Removes the given property from the local configuration and destroys it.  <a href="#g038aaaaaf88a144f52139712f2e17360"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Property__Group.html#g04c58473e83ba85d2c382c9d10bc56f9">ecore_config_type_get</a> (const <a class="el" href="structEcore__Config__Prop.html">Ecore_Config_Prop</a> *e)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the type of the property.  <a href="#g04c58473e83ba85d2c382c9d10bc56f9"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Property__Group.html#gb4e20b407d32a502dc3689c1b0bcf60a">ecore_config_describe</a> (const char *key, const char *desc)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the description field of the indicated property.  <a href="#gb4e20b407d32a502dc3689c1b0bcf60a"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Property__Group.html#g2684926ce5ad5582e974333db15ba978">ecore_config_short_opt_set</a> (const char *key, char short_opt)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the short option character of a property.  <a href="#g2684926ce5ad5582e974333db15ba978"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Property__Group.html#g969ade806f926802e37d14639dc24f75">ecore_config_long_opt_set</a> (const char *key, const char *long_opt)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the long option string of the property.  <a href="#g969ade806f926802e37d14639dc24f75"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Property__Group.html#gf1d734bd9aeb5ff8a1094b6d0921cf1b">ecore_config_typed_set</a> (const char *key, const void *val, int type)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the indicated property to the given value and type.  <a href="#gf1d734bd9aeb5ff8a1094b6d0921cf1b"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Functions that retrieve or set the attributes relating to a property. 
+<p>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="gb4e20b407d32a502dc3689c1b0bcf60a"></a><!-- doxytag: member="ecore_config.c::ecore_config_describe" ref="gb4e20b407d32a502dc3689c1b0bcf60a" args="(const char *key, const char *desc)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_config_describe           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>key</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>desc</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sets the description field of the indicated property. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>The property key. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>desc</em>&nbsp;</td><td>Description string. </td></tr>
+  </table>
+</dl>
+<dl class="note" compact><dt><b>Note:</b></dt><dd>The description string is copied for the property's use. You can free <code>desc</code> once this function is called. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g038aaaaaf88a144f52139712f2e17360"></a><!-- doxytag: member="ecore_config.c::ecore_config_dst" ref="g038aaaaaf88a144f52139712f2e17360" args="(Ecore_Config_Prop *e)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="structEcore__Config__Prop.html">Ecore_Config_Prop</a>* ecore_config_dst           </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="structEcore__Config__Prop.html">Ecore_Config_Prop</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Removes the given property from the local configuration and destroys it. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>Property to destroy. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd><code>NULL</code> </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g969ade806f926802e37d14639dc24f75"></a><!-- doxytag: member="ecore_config.c::ecore_config_long_opt_set" ref="g969ade806f926802e37d14639dc24f75" args="(const char *key, const char *long_opt)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_config_long_opt_set           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>key</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>long_opt</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set the long option string of the property. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>The property key. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>long_opt</em>&nbsp;</td><td>String used to indicate the value of a property given on the command line. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd><code>ECORE_CONFIG_ERR_SUCC</code> on success. <code>ECORE_CONFIG_ERR_NODATA</code> is returned if the property does not exist. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g2684926ce5ad5582e974333db15ba978"></a><!-- doxytag: member="ecore_config.c::ecore_config_short_opt_set" ref="g2684926ce5ad5582e974333db15ba978" args="(const char *key, char short_opt)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_config_short_opt_set           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>key</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">char&nbsp;</td>
+          <td class="paramname"> <em>short_opt</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set the short option character of a property. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>The property key. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>short_opt</em>&nbsp;</td><td>Character used to indicate the value of a property given on the command line. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd><code>ECORE_CONFIG_ERR_SUCC</code> on success. <code>ECORE_CONFIG_ERR_NODATA</code> is returned if the property does not exist. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g04c58473e83ba85d2c382c9d10bc56f9"></a><!-- doxytag: member="ecore_config.c::ecore_config_type_get" ref="g04c58473e83ba85d2c382c9d10bc56f9" args="(const Ecore_Config_Prop *e)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI const char* ecore_config_type_get           </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="structEcore__Config__Prop.html">Ecore_Config_Prop</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Returns the type of the property. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>Property to get the type of. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The type of the property. If the property is invalid, then the string "not found" is returned. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="gf1d734bd9aeb5ff8a1094b6d0921cf1b"></a><!-- doxytag: member="ecore_config.c::ecore_config_typed_set" ref="gf1d734bd9aeb5ff8a1094b6d0921cf1b" args="(const char *key, const void *val, int type)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_config_typed_set           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>key</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>val</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>type</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sets the indicated property to the given value and type. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>The property key. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>val</em>&nbsp;</td><td>A pointer to the value to set the property to. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>type</em>&nbsp;</td><td>The type of the property. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd><code>ECORE_CONFIG_ERR_SUCC</code> if the property is set successfully. </dd></dl>
+
+</div>
+</div><p>
+</body>
+</html>
diff --git a/doc/html/group__Ecore__Config__Set__Group.html b/doc/html/group__Ecore__Config__Set__Group.html
new file mode 100644
index 0000000..6695817
--- /dev/null
+++ b/doc/html/group__Ecore__Config__Set__Group.html
@@ -0,0 +1,512 @@
+<html>
+
+<head>
+
+<title>Ecore: Ecore Config Setters</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1>Ecore Config Setters</h1>Functions that set the value of a property.  
+<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Set__Group.html#ge147ffba6c49474298bcfb1461f593c9">ecore_config_set</a> (const char *key, const char *val)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the indicated property to the value indicated by <em>val</em>.  <a href="#ge147ffba6c49474298bcfb1461f593c9"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Set__Group.html#gfab691d111ef16fdd486add2fed4b8bd">ecore_config_as_string_set</a> (const char *key, const char *val)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the indicated property to the value given in the string.  <a href="#gfab691d111ef16fdd486add2fed4b8bd"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Set__Group.html#g6fbad3ecd7dce0d8ace0e0b5118cc2a6">ecore_config_boolean_set</a> (const char *key, int val)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the indicated property to the given boolean.  <a href="#g6fbad3ecd7dce0d8ace0e0b5118cc2a6"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Set__Group.html#g541dcb58df81de9197ce5533863c4085">ecore_config_int_set</a> (const char *key, int val)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the indicated property to the given integer.  <a href="#g541dcb58df81de9197ce5533863c4085"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Set__Group.html#g5445639f28f4e46611e5fe2ba1f46364">ecore_config_string_set</a> (const char *key, const char *val)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the indicated property to the given string.  <a href="#g5445639f28f4e46611e5fe2ba1f46364"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Set__Group.html#gaec767dd5034671bdb8ffab8f4edb4dc">ecore_config_float_set</a> (const char *key, float val)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the indicated property to the given float value.  <a href="#gaec767dd5034671bdb8ffab8f4edb4dc"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Set__Group.html#g0166bb9b3a099bfac7f1c5d58d9d9431">ecore_config_argb_set</a> (const char *key, int a, int r, int g, int b)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the indicated property to a color value.  <a href="#g0166bb9b3a099bfac7f1c5d58d9d9431"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Set__Group.html#gfee1c65f82dfb80959fb05a390ce4141">ecore_config_argbint_set</a> (const char *key, long argb)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the indicated property to a color value.  <a href="#gfee1c65f82dfb80959fb05a390ce4141"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Set__Group.html#g7b7b74438c9b0f9651332b3867b5b131">ecore_config_argbstr_set</a> (const char *key, const char *val)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the indicated property to a color value.  <a href="#g7b7b74438c9b0f9651332b3867b5b131"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Set__Group.html#g804199f5e845eb07ca6057a7bdfb1b1f">ecore_config_theme_set</a> (const char *key, const char *val)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the indicated property to a theme name.  <a href="#g804199f5e845eb07ca6057a7bdfb1b1f"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Set__Group.html#g6e5aa9c33a4d0c42a35a77ba2c48b8e2">ecore_config_theme_preview_group_set</a> (const char *key, const char *group)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the theme preview group of an indicated property.  <a href="#g6e5aa9c33a4d0c42a35a77ba2c48b8e2"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Functions that set the value of a property. 
+<p>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="g0166bb9b3a099bfac7f1c5d58d9d9431"></a><!-- doxytag: member="ecore_config.c::ecore_config_argb_set" ref="g0166bb9b3a099bfac7f1c5d58d9d9431" args="(const char *key, int a, int r, int g, int b)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_config_argb_set           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>key</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>a</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>r</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>g</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>b</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sets the indicated property to a color value. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>The property key </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>a</em>&nbsp;</td><td>integer 0..255 </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>r</em>&nbsp;</td><td>integer 0..255 </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>g</em>&nbsp;</td><td>integer 0..255 </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>b</em>&nbsp;</td><td>integer 0..255 </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd><code>ECORE_CONFIG_ERR_SUCC</code> if the property is set successfully. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="gfee1c65f82dfb80959fb05a390ce4141"></a><!-- doxytag: member="ecore_config.c::ecore_config_argbint_set" ref="gfee1c65f82dfb80959fb05a390ce4141" args="(const char *key, long argb)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_config_argbint_set           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>key</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">long&nbsp;</td>
+          <td class="paramname"> <em>argb</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sets the indicated property to a color value. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>The property key </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>argb</em>&nbsp;</td><td>ARGB data as long </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd><code>ECORE_CONFIG_ERR_SUCC</code> if the property is set successfully. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g7b7b74438c9b0f9651332b3867b5b131"></a><!-- doxytag: member="ecore_config.c::ecore_config_argbstr_set" ref="g7b7b74438c9b0f9651332b3867b5b131" args="(const char *key, const char *val)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_config_argbstr_set           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>key</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>val</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sets the indicated property to a color value. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>The property key </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>val</em>&nbsp;</td><td>Color value in ARGB format. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd><code>ECORE_CONFIG_ERR_SUCC</code> if the property is set successfully. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="gfab691d111ef16fdd486add2fed4b8bd"></a><!-- doxytag: member="ecore_config.c::ecore_config_as_string_set" ref="gfab691d111ef16fdd486add2fed4b8bd" args="(const char *key, const char *val)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_config_as_string_set           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>key</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>val</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sets the indicated property to the value given in the string. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>The property key. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>val</em>&nbsp;</td><td>String representation of the value. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd><code>ECORE_CONFIG_ERR_SUCC</code> if the property is set successfully. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g6fbad3ecd7dce0d8ace0e0b5118cc2a6"></a><!-- doxytag: member="ecore_config.c::ecore_config_boolean_set" ref="g6fbad3ecd7dce0d8ace0e0b5118cc2a6" args="(const char *key, int val)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_config_boolean_set           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>key</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>val</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sets the indicated property to the given boolean. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>The property key. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>val</em>&nbsp;</td><td>Boolean integer to set the property to. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd><code>ECORE_CONFIG_ERR_SUCC</code> if the property is set successfully. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="gaec767dd5034671bdb8ffab8f4edb4dc"></a><!-- doxytag: member="ecore_config.c::ecore_config_float_set" ref="gaec767dd5034671bdb8ffab8f4edb4dc" args="(const char *key, float val)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_config_float_set           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>key</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float&nbsp;</td>
+          <td class="paramname"> <em>val</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sets the indicated property to the given float value. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>The property key. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>val</em>&nbsp;</td><td>Float to set the property to. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd><code>ECORE_CONFIG_ERR_SUCC</code> if the property is set successfully. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g541dcb58df81de9197ce5533863c4085"></a><!-- doxytag: member="ecore_config.c::ecore_config_int_set" ref="g541dcb58df81de9197ce5533863c4085" args="(const char *key, int val)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_config_int_set           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>key</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>val</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sets the indicated property to the given integer. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>The property key. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>val</em>&nbsp;</td><td>Integer to set the property to. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd><code>ECORE_CONFIG_ERR_SUCC</code> if the property is set successfully. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="ge147ffba6c49474298bcfb1461f593c9"></a><!-- doxytag: member="ecore_config.c::ecore_config_set" ref="ge147ffba6c49474298bcfb1461f593c9" args="(const char *key, const char *val)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_config_set           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>key</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>val</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sets the indicated property to the value indicated by <em>val</em>. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>The property key. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>val</em>&nbsp;</td><td>String representation of value to set. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd><code>ECORE_CONFIG_ERR_SUCC</code> if the property is set successfully. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g5445639f28f4e46611e5fe2ba1f46364"></a><!-- doxytag: member="ecore_config.c::ecore_config_string_set" ref="g5445639f28f4e46611e5fe2ba1f46364" args="(const char *key, const char *val)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_config_string_set           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>key</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>val</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sets the indicated property to the given string. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>The property key. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>val</em>&nbsp;</td><td>String to set the property to. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd><code>ECORE_CONFIG_ERR_SUCC</code> if the property is set successfully. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g6e5aa9c33a4d0c42a35a77ba2c48b8e2"></a><!-- doxytag: member="ecore_config.c::ecore_config_theme_preview_group_set" ref="g6e5aa9c33a4d0c42a35a77ba2c48b8e2" args="(const char *key, const char *group)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_config_theme_preview_group_set           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>key</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>group</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sets the theme preview group of an indicated property. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>The property key. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>group</em>&nbsp;</td><td>The group name. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd><code>ECORE_CONFIG_ERR_SUCC</code> on success. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g804199f5e845eb07ca6057a7bdfb1b1f"></a><!-- doxytag: member="ecore_config.c::ecore_config_theme_set" ref="g804199f5e845eb07ca6057a7bdfb1b1f" args="(const char *key, const char *val)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_config_theme_set           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>key</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>val</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sets the indicated property to a theme name. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>The property key. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>val</em>&nbsp;</td><td>String giving the name of the theme. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd><code>ECORE_CONFIG_ERR_SUCC</code> if the property is set successfully. </dd></dl>
+
+</div>
+</div><p>
+</body>
+</html>
diff --git a/doc/html/group__Ecore__Config__Struct__Group.html b/doc/html/group__Ecore__Config__Struct__Group.html
new file mode 100644
index 0000000..5d59abd
--- /dev/null
+++ b/doc/html/group__Ecore__Config__Struct__Group.html
@@ -0,0 +1,421 @@
+<html>
+
+<head>
+
+<title>Ecore: Ecore Config Structures</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1>Ecore Config Structures</h1>Functions that are used to create structures of properties.  
+<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Struct__Group.html#gcbae1417d6074d82211ec1c69991ca28">ecore_config_struct_create</a> (const char *key)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the indicated property to a structure if the property has not yet been set.  <a href="#gcbae1417d6074d82211ec1c69991ca28"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Struct__Group.html#g481f406528ecacdb0f91ecb8e8f9bf42">ecore_config_struct_int_add</a> (const char *key, const char *name, int val)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add an int property to the named structure.  <a href="#g481f406528ecacdb0f91ecb8e8f9bf42"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Struct__Group.html#gcdee07879a9f89c333448923c008cd39">ecore_config_struct_float_add</a> (const char *key, const char *name, float val)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a float property to the named structure.  <a href="#gcdee07879a9f89c333448923c008cd39"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Struct__Group.html#g2a2d784a5325e3497daee85b9399531a">ecore_config_struct_string_add</a> (const char *key, const char *name, const char *val)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a string property to the named structure.  <a href="#g2a2d784a5325e3497daee85b9399531a"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Struct__Group.html#g666575a0d011b5d88f527a9d85358dc6">ecore_config_struct_argb_add</a> (const char *key, const char *name, int a, int r, int g, int b)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add an argb property to the named structure.  <a href="#g666575a0d011b5d88f527a9d85358dc6"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Struct__Group.html#g8a996d734081bafcf1b1c58d9cf6ef7d">ecore_config_struct_theme_add</a> (const char *key, const char *name, const char *val)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a theme property to the named structure.  <a href="#g8a996d734081bafcf1b1c58d9cf6ef7d"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Struct__Group.html#g7f070dc50cb60ea8d1d9f0b390c2b35d">ecore_config_struct_boolean_add</a> (const char *key, const char *name, int val)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a boolean property to the named structure.  <a href="#g7f070dc50cb60ea8d1d9f0b390c2b35d"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Config__Struct__Group.html#g6da0b9663d592bc1333f59d83941d703">ecore_config_struct_get</a> (const char *key, void *data)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the contents of a defined structure property and load it into the passed C struct.  <a href="#g6da0b9663d592bc1333f59d83941d703"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Functions that are used to create structures of properties. 
+<p>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="g666575a0d011b5d88f527a9d85358dc6"></a><!-- doxytag: member="ecore_config.c::ecore_config_struct_argb_add" ref="g666575a0d011b5d88f527a9d85358dc6" args="(const char *key, const char *name, int a, int r, int g, int b)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_config_struct_argb_add           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>key</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>a</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>r</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>g</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>b</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Add an argb property to the named structure. 
+<p>
+The property is set if it has not yet been set. <dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>The key of the structure to add to. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>The name of the item to add - this will be appended to the key </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>a</em>&nbsp;</td><td>The alpha to default to </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>r</em>&nbsp;</td><td>The red to default to </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>g</em>&nbsp;</td><td>The green to default to </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>b</em>&nbsp;</td><td>The blue to default to </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd><code>ECORE_CONFIG_ERR_SUCC</code> if the property is set successfully. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g7f070dc50cb60ea8d1d9f0b390c2b35d"></a><!-- doxytag: member="ecore_config.c::ecore_config_struct_boolean_add" ref="g7f070dc50cb60ea8d1d9f0b390c2b35d" args="(const char *key, const char *name, int val)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_config_struct_boolean_add           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>key</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>val</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Add a boolean property to the named structure. 
+<p>
+The property is set if it has not yet been set. <dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>The key of the structure to add to. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>The name of the item to add - this will be appended to the key </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>val</em>&nbsp;</td><td>The boolean to default to </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd><code>ECORE_CONFIG_ERR_SUCC</code> if the property is set successfully. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="gcbae1417d6074d82211ec1c69991ca28"></a><!-- doxytag: member="ecore_config.c::ecore_config_struct_create" ref="gcbae1417d6074d82211ec1c69991ca28" args="(const char *key)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_config_struct_create           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>key</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sets the indicated property to a structure if the property has not yet been set. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>The property key. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd><code>ECORE_CONFIG_ERR_SUCC</code> if the property is set successfully. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="gcdee07879a9f89c333448923c008cd39"></a><!-- doxytag: member="ecore_config.c::ecore_config_struct_float_add" ref="gcdee07879a9f89c333448923c008cd39" args="(const char *key, const char *name, float val)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_config_struct_float_add           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>key</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float&nbsp;</td>
+          <td class="paramname"> <em>val</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Add a float property to the named structure. 
+<p>
+The property is set if it has not yet been set. <dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>The key of the structure to add to. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>The name of the item to add - this will be appended to the key </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>val</em>&nbsp;</td><td>The float to default to </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd><code>ECORE_CONFIG_ERR_SUCC</code> if the property is set successfully. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g6da0b9663d592bc1333f59d83941d703"></a><!-- doxytag: member="ecore_config.c::ecore_config_struct_get" ref="g6da0b9663d592bc1333f59d83941d703" args="(const char *key, void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_config_struct_get           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>key</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Get the contents of a defined structure property and load it into the passed C struct. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>The name of the structure property to look up. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>The struct to write into. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd><code>ECORE_CONFIG_ERR_SUCC</code> if the structure is written successfully. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g481f406528ecacdb0f91ecb8e8f9bf42"></a><!-- doxytag: member="ecore_config.c::ecore_config_struct_int_add" ref="g481f406528ecacdb0f91ecb8e8f9bf42" args="(const char *key, const char *name, int val)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_config_struct_int_add           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>key</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>val</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Add an int property to the named structure. 
+<p>
+The property is set if it has not yet been set. <dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>The key of the structure to add to. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>The name of the item to add - this will be appended to the key </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>val</em>&nbsp;</td><td>the int to default to </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd><code>ECORE_CONFIG_ERR_SUCC</code> if the property is set successfully. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g2a2d784a5325e3497daee85b9399531a"></a><!-- doxytag: member="ecore_config.c::ecore_config_struct_string_add" ref="g2a2d784a5325e3497daee85b9399531a" args="(const char *key, const char *name, const char *val)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_config_struct_string_add           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>key</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>val</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Add a string property to the named structure. 
+<p>
+The property is set if it has not yet been set. <dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>The key of the structure to add to. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>The name of the item to add - this will be appended to the key </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>val</em>&nbsp;</td><td>The string to default to </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd><code>ECORE_CONFIG_ERR_SUCC</code> if the property is set successfully. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g8a996d734081bafcf1b1c58d9cf6ef7d"></a><!-- doxytag: member="ecore_config.c::ecore_config_struct_theme_add" ref="g8a996d734081bafcf1b1c58d9cf6ef7d" args="(const char *key, const char *name, const char *val)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_config_struct_theme_add           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>key</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>val</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Add a theme property to the named structure. 
+<p>
+The property is set if it has not yet been set. <dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>The key of the structure to add to. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>The name of the item to add - this will be appended to the key </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>val</em>&nbsp;</td><td>The theme name to default to </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd><code>ECORE_CONFIG_ERR_SUCC</code> if the property is set successfully. </dd></dl>
+
+</div>
+</div><p>
+</body>
+</html>
diff --git a/doc/html/group__Ecore__Data__DList__Add__Item__Group.html b/doc/html/group__Ecore__Data__DList__Add__Item__Group.html
new file mode 100644
index 0000000..c6dd6a9
--- /dev/null
+++ b/doc/html/group__Ecore__Data__DList__Add__Item__Group.html
@@ -0,0 +1,245 @@
+<html>
+
+<head>
+
+<title>Ecore: Doubly Linked List Adding Functions</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1>Doubly Linked List Adding Functions</h1>Functions that are used to add nodes to an Ecore_DList.  
+<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Data__DList__Add__Item__Group.html#gb9ecd4d6c0b462afd43b6703497952dc">ecore_dlist_append</a> (Ecore_DList *list, void *data)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Appends data to the given doubly linked list.  <a href="#gb9ecd4d6c0b462afd43b6703497952dc"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Data__DList__Add__Item__Group.html#g95c60034d74c2200bce2f8cb1e1fd952">ecore_dlist_prepend</a> (Ecore_DList *list, void *data)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Adds data to the very beginning of the given doubly linked list.  <a href="#g95c60034d74c2200bce2f8cb1e1fd952"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Data__DList__Add__Item__Group.html#g222f069fec04411a84c8b874f01c66a3">ecore_dlist_insert</a> (Ecore_DList *list, void *data)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Inserts data at the current point in the given doubly linked list.  <a href="#g222f069fec04411a84c8b874f01c66a3"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Data__DList__Add__Item__Group.html#g04436a308abfaf767d15579d6b7f92d9">ecore_dlist_append_list</a> (Ecore_DList *list, Ecore_DList *append)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Appends a list to the given doubly linked list.  <a href="#g04436a308abfaf767d15579d6b7f92d9"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Data__DList__Add__Item__Group.html#g220fcae29f75447ebaa00aa204852db1">ecore_dlist_prepend_list</a> (Ecore_DList *list, Ecore_DList *prepend)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Adds a list to the very beginning of the given doubly linked list.  <a href="#g220fcae29f75447ebaa00aa204852db1"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Functions that are used to add nodes to an Ecore_DList. 
+<p>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="gb9ecd4d6c0b462afd43b6703497952dc"></a><!-- doxytag: member="ecore_list.c::ecore_dlist_append" ref="gb9ecd4d6c0b462afd43b6703497952dc" args="(Ecore_DList *list, void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_dlist_append           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_DList *&nbsp;</td>
+          <td class="paramname"> <em>list</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Appends data to the given doubly linked list. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>The given doubly linked list. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>The data to append. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd><code>TRUE</code> if the data is successfully appended, <code>FALSE</code> otherwise. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g04436a308abfaf767d15579d6b7f92d9"></a><!-- doxytag: member="ecore_list.c::ecore_dlist_append_list" ref="g04436a308abfaf767d15579d6b7f92d9" args="(Ecore_DList *list, Ecore_DList *append)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_dlist_append_list           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_DList *&nbsp;</td>
+          <td class="paramname"> <em>list</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_DList *&nbsp;</td>
+          <td class="paramname"> <em>append</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Appends a list to the given doubly linked list. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>The given doubly linked list. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>append</em>&nbsp;</td><td>The list to append. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd><code>TRUE</code> if the data is successfully appended, <code>FALSE</code> otherwise. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g222f069fec04411a84c8b874f01c66a3"></a><!-- doxytag: member="ecore_list.c::ecore_dlist_insert" ref="g222f069fec04411a84c8b874f01c66a3" args="(Ecore_DList *list, void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_dlist_insert           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_DList *&nbsp;</td>
+          <td class="paramname"> <em>list</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Inserts data at the current point in the given doubly linked list. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>The given doubly linked list. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>The data to be inserted. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd><code>TRUE</code> on success, <code>FALSE</code> otherwise. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g95c60034d74c2200bce2f8cb1e1fd952"></a><!-- doxytag: member="ecore_list.c::ecore_dlist_prepend" ref="g95c60034d74c2200bce2f8cb1e1fd952" args="(Ecore_DList *list, void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_dlist_prepend           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_DList *&nbsp;</td>
+          <td class="paramname"> <em>list</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Adds data to the very beginning of the given doubly linked list. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>The given doubly linked list. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>The data to prepend. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd><code>TRUE</code> if the data is successfully prepended, <code>FALSE</code> otherwise. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g220fcae29f75447ebaa00aa204852db1"></a><!-- doxytag: member="ecore_list.c::ecore_dlist_prepend_list" ref="g220fcae29f75447ebaa00aa204852db1" args="(Ecore_DList *list, Ecore_DList *prepend)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_dlist_prepend_list           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_DList *&nbsp;</td>
+          <td class="paramname"> <em>list</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_DList *&nbsp;</td>
+          <td class="paramname"> <em>prepend</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Adds a list to the very beginning of the given doubly linked list. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>The given doubly linked list. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>prepend</em>&nbsp;</td><td>The list to prepend. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd><code>TRUE</code> if the data is successfully prepended, <code>FALSE</code> otherwise. </dd></dl>
+
+</div>
+</div><p>
+</body>
+</html>
diff --git a/doc/html/group__Ecore__Data__DList__Creation__Group.html b/doc/html/group__Ecore__Data__DList__Creation__Group.html
new file mode 100644
index 0000000..20dc3b5
--- /dev/null
+++ b/doc/html/group__Ecore__Data__DList__Creation__Group.html
@@ -0,0 +1,168 @@
+<html>
+
+<head>
+
+<title>Ecore: Doubly Linked List Creation/Destruction Functions</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1>Doubly Linked List Creation/Destruction Functions</h1>Functions used to create, initialize and destroy <code>Ecore_DLists</code>.  
+<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_DList *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Data__DList__Creation__Group.html#g6b10331356b28504aedbe6fb5f483a21">ecore_dlist_new</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates and initialises a new doubly linked list.  <a href="#g6b10331356b28504aedbe6fb5f483a21"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Data__DList__Creation__Group.html#g7958d0f1de2e465f521456f12fad103c">ecore_dlist_init</a> (Ecore_DList *list)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initialises a list to some sane starting values.  <a href="#g7958d0f1de2e465f521456f12fad103c"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Data__DList__Creation__Group.html#g838f7287130783e63b6ccf9ebbd6d7b2">ecore_dlist_destroy</a> (Ecore_DList *list)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Frees a doubly linked list and all of its nodes.  <a href="#g838f7287130783e63b6ccf9ebbd6d7b2"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Data__DList__Creation__Group.html#gda3e2854278324fcf135e4831aadce71">ecore_dlist_free_cb_set</a> (Ecore_DList *list, Ecore_Free_Cb free_func)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the function used for freeing data stored in a doubly linked list.  <a href="#gda3e2854278324fcf135e4831aadce71"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Functions used to create, initialize and destroy <code>Ecore_DLists</code>. 
+<p>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="g838f7287130783e63b6ccf9ebbd6d7b2"></a><!-- doxytag: member="ecore_list.c::ecore_dlist_destroy" ref="g838f7287130783e63b6ccf9ebbd6d7b2" args="(Ecore_DList *list)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_dlist_destroy           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_DList *&nbsp;</td>
+          <td class="paramname"> <em>list</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Frees a doubly linked list and all of its nodes. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>The doubly linked list to be freed. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="gda3e2854278324fcf135e4831aadce71"></a><!-- doxytag: member="ecore_list.c::ecore_dlist_free_cb_set" ref="gda3e2854278324fcf135e4831aadce71" args="(Ecore_DList *list, Ecore_Free_Cb free_func)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_dlist_free_cb_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_DList *&nbsp;</td>
+          <td class="paramname"> <em>list</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_Free_Cb&nbsp;</td>
+          <td class="paramname"> <em>free_func</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sets the function used for freeing data stored in a doubly linked list. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>The doubly linked list that will use this function when nodes are destroyed. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>free_func</em>&nbsp;</td><td>The function that will free the key data </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd><code>TRUE</code> on success, <code>FALSE</code> on failure. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g7958d0f1de2e465f521456f12fad103c"></a><!-- doxytag: member="ecore_list.c::ecore_dlist_init" ref="g7958d0f1de2e465f521456f12fad103c" args="(Ecore_DList *list)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_dlist_init           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_DList *&nbsp;</td>
+          <td class="paramname"> <em>list</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Initialises a list to some sane starting values. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>The doubly linked list to initialise. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd><code>TRUE</code> if successful, <code>FALSE</code> if an error occurs. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g6b10331356b28504aedbe6fb5f483a21"></a><!-- doxytag: member="ecore_list.c::ecore_dlist_new" ref="g6b10331356b28504aedbe6fb5f483a21" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Ecore_DList* ecore_dlist_new           </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Creates and initialises a new doubly linked list. 
+<p>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>A new initialised doubly linked list on success, <code>NULL</code> on failure. </dd></dl>
+
+</div>
+</div><p>
+</body>
+</html>
diff --git a/doc/html/group__Ecore__Data__DList__Remove__Item__Group.html b/doc/html/group__Ecore__Data__DList__Remove__Item__Group.html
new file mode 100644
index 0000000..4e640f7
--- /dev/null
+++ b/doc/html/group__Ecore__Data__DList__Remove__Item__Group.html
@@ -0,0 +1,164 @@
+<html>
+
+<head>
+
+<title>Ecore: Doubly Linked List Removing Functions</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1>Doubly Linked List Removing Functions</h1>Functions that remove nodes from an <code>Ecore_DList</code>.  
+<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Data__DList__Remove__Item__Group.html#g57c91ac510db4da827353d0f034a6fb8">ecore_dlist_remove</a> (Ecore_DList *list)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Removes the current item from the given doubly linked list.  <a href="#g57c91ac510db4da827353d0f034a6fb8"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Data__DList__Remove__Item__Group.html#g6df23f69806e4a65bde1a4031170ef2c">ecore_dlist_first_remove</a> (Ecore_DList *list)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Removes the first item from the given doubly linked list.  <a href="#g6df23f69806e4a65bde1a4031170ef2c"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Data__DList__Remove__Item__Group.html#gd98f5e6976e2da0fcabe4a22a4f704f7">ecore_dlist_remove_destroy</a> (Ecore_DList *list)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Removes and frees the data at the current position in the given doubly linked list.  <a href="#gd98f5e6976e2da0fcabe4a22a4f704f7"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Data__DList__Remove__Item__Group.html#ga8104f45ce30a4d8df091d58c0c56d00">ecore_dlist_last_remove</a> (Ecore_DList *list)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Removes the last item from the given doubly linked list.  <a href="#ga8104f45ce30a4d8df091d58c0c56d00"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Functions that remove nodes from an <code>Ecore_DList</code>. 
+<p>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="g6df23f69806e4a65bde1a4031170ef2c"></a><!-- doxytag: member="ecore_list.c::ecore_dlist_first_remove" ref="g6df23f69806e4a65bde1a4031170ef2c" args="(Ecore_DList *list)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void* ecore_dlist_first_remove           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_DList *&nbsp;</td>
+          <td class="paramname"> <em>list</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Removes the first item from the given doubly linked list. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>The given doubly linked list. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>A pointer to the removed data on success, <code>NULL</code> on failure. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="ga8104f45ce30a4d8df091d58c0c56d00"></a><!-- doxytag: member="ecore_list.c::ecore_dlist_last_remove" ref="ga8104f45ce30a4d8df091d58c0c56d00" args="(Ecore_DList *list)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void* ecore_dlist_last_remove           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_DList *&nbsp;</td>
+          <td class="paramname"> <em>list</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Removes the last item from the given doubly linked list. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>The given doubly linked list. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>A pointer to the removed data on success, <code>NULL</code> otherwise. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g57c91ac510db4da827353d0f034a6fb8"></a><!-- doxytag: member="ecore_list.c::ecore_dlist_remove" ref="g57c91ac510db4da827353d0f034a6fb8" args="(Ecore_DList *list)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void* ecore_dlist_remove           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_DList *&nbsp;</td>
+          <td class="paramname"> <em>list</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Removes the current item from the given doubly linked list. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>The given doubly linked list. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>A pointer to the removed data on success, <code>NULL</code> otherwise. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="gd98f5e6976e2da0fcabe4a22a4f704f7"></a><!-- doxytag: member="ecore_list.c::ecore_dlist_remove_destroy" ref="gd98f5e6976e2da0fcabe4a22a4f704f7" args="(Ecore_DList *list)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_dlist_remove_destroy           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_DList *&nbsp;</td>
+          <td class="paramname"> <em>list</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Removes and frees the data at the current position in the given doubly linked list. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>The given doubly linked list. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd><code>TRUE</code> on success, <code>FALSE</code> otherwise. </dd></dl>
+
+</div>
+</div><p>
+</body>
+</html>
diff --git a/doc/html/group__Ecore__Data__Hash__ADT__Creation__Group.html b/doc/html/group__Ecore__Data__Hash__ADT__Creation__Group.html
new file mode 100644
index 0000000..c6b3dd0
--- /dev/null
+++ b/doc/html/group__Ecore__Data__Hash__ADT__Creation__Group.html
@@ -0,0 +1,129 @@
+<html>
+
+<head>
+
+<title>Ecore: Hash Creation Functions</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1>Hash Creation Functions</h1>Functions that create hash tables.  
+<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_Hash *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Data__Hash__ADT__Creation__Group.html#g5de992790f5cc11571b5739299a1f472">ecore_hash_new</a> (Ecore_Hash_Cb hash_func, Ecore_Compare_Cb compare)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates and initializes a new hash.  <a href="#g5de992790f5cc11571b5739299a1f472"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Data__Hash__ADT__Creation__Group.html#gce3bbd88a3fc2bcc391da07fce9cf1a7">ecore_hash_init</a> (Ecore_Hash *hash, Ecore_Hash_Cb hash_func, Ecore_Compare_Cb compare)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initializes the given hash.  <a href="#gce3bbd88a3fc2bcc391da07fce9cf1a7"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Functions that create hash tables. 
+<p>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="gce3bbd88a3fc2bcc391da07fce9cf1a7"></a><!-- doxytag: member="ecore_hash.c::ecore_hash_init" ref="gce3bbd88a3fc2bcc391da07fce9cf1a7" args="(Ecore_Hash *hash, Ecore_Hash_Cb hash_func, Ecore_Compare_Cb compare)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_hash_init           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Hash *&nbsp;</td>
+          <td class="paramname"> <em>hash</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_Hash_Cb&nbsp;</td>
+          <td class="paramname"> <em>hash_func</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_Compare_Cb&nbsp;</td>
+          <td class="paramname"> <em>compare</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Initializes the given hash. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>hash</em>&nbsp;</td><td>The given hash. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>hash_func</em>&nbsp;</td><td>The function used for hashing node keys. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>compare</em>&nbsp;</td><td>The function used for comparing node keys. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd><code>TRUE</code> on success, <code>FALSE</code> on an error. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g5de992790f5cc11571b5739299a1f472"></a><!-- doxytag: member="ecore_hash.c::ecore_hash_new" ref="g5de992790f5cc11571b5739299a1f472" args="(Ecore_Hash_Cb hash_func, Ecore_Compare_Cb compare)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Ecore_Hash* ecore_hash_new           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Hash_Cb&nbsp;</td>
+          <td class="paramname"> <em>hash_func</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_Compare_Cb&nbsp;</td>
+          <td class="paramname"> <em>compare</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Creates and initializes a new hash. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>hash_func</em>&nbsp;</td><td>The function for determining hash position. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>compare</em>&nbsp;</td><td>The function for comparing node keys. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd><code>NULL</code> on error, a new hash on success. </dd></dl>
+
+</div>
+</div><p>
+</body>
+</html>
diff --git a/doc/html/group__Ecore__Data__Hash__ADT__Data__Group.html b/doc/html/group__Ecore__Data__Hash__ADT__Data__Group.html
new file mode 100644
index 0000000..926f279
--- /dev/null
+++ b/doc/html/group__Ecore__Data__Hash__ADT__Data__Group.html
@@ -0,0 +1,258 @@
+<html>
+
+<head>
+
+<title>Ecore: Hash Data Functions</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1>Hash Data Functions</h1>Functions that set, access and delete values from the hash tables.  
+<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Data__Hash__ADT__Data__Group.html#gbac7868d1b39556c7499dc2786ca1fe5">ecore_hash_set</a> (Ecore_Hash *hash, void *key, void *value)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets a key-value pair in the given hash table.  <a href="#gbac7868d1b39556c7499dc2786ca1fe5"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Data__Hash__ADT__Data__Group.html#g64262a142e203f74778cff91bdc46e1e">ecore_hash_hash_set</a> (Ecore_Hash *hash, Ecore_Hash *set)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets all key-value pairs from set in the given hash table.  <a href="#g64262a142e203f74778cff91bdc46e1e"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Data__Hash__ADT__Data__Group.html#g90c2fcaadceee751422bce089bff22e9">ecore_hash_get</a> (Ecore_Hash *hash, const void *key)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the value associated with the given key from the given hash table.  <a href="#g90c2fcaadceee751422bce089bff22e9"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Data__Hash__ADT__Data__Group.html#g1f69d26d118beb108e260bf92f764b77">ecore_hash_remove</a> (Ecore_Hash *hash, const void *key)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Removes the value associated with the given key in the given hash table.  <a href="#g1f69d26d118beb108e260bf92f764b77"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Data__Hash__ADT__Data__Group.html#g9c2c0764302ec227472c3b643864c745">ecore_hash_find</a> (Ecore_Hash *hash, Ecore_Compare_Cb compare, const void *value)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the first value that matches table.  <a href="#g9c2c0764302ec227472c3b643864c745"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Functions that set, access and delete values from the hash tables. 
+<p>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="g9c2c0764302ec227472c3b643864c745"></a><!-- doxytag: member="ecore_hash.c::ecore_hash_find" ref="g9c2c0764302ec227472c3b643864c745" args="(Ecore_Hash *hash, Ecore_Compare_Cb compare, const void *value)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void* ecore_hash_find           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Hash *&nbsp;</td>
+          <td class="paramname"> <em>hash</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_Compare_Cb&nbsp;</td>
+          <td class="paramname"> <em>compare</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>value</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Retrieves the first value that matches table. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>hash</em>&nbsp;</td><td>The given hash table. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>The key to search for. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The value corresponding to key on success, <code>NULL</code> otherwise. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g90c2fcaadceee751422bce089bff22e9"></a><!-- doxytag: member="ecore_hash.c::ecore_hash_get" ref="g90c2fcaadceee751422bce089bff22e9" args="(Ecore_Hash *hash, const void *key)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void* ecore_hash_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Hash *&nbsp;</td>
+          <td class="paramname"> <em>hash</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>key</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Retrieves the value associated with the given key from the given hash table. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>hash</em>&nbsp;</td><td>The given hash table. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>The key to search for. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The value corresponding to key on success, <code>NULL</code> otherwise. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g64262a142e203f74778cff91bdc46e1e"></a><!-- doxytag: member="ecore_hash.c::ecore_hash_hash_set" ref="g64262a142e203f74778cff91bdc46e1e" args="(Ecore_Hash *hash, Ecore_Hash *set)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_hash_hash_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Hash *&nbsp;</td>
+          <td class="paramname"> <em>hash</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_Hash *&nbsp;</td>
+          <td class="paramname"> <em>set</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sets all key-value pairs from set in the given hash table. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>hash</em>&nbsp;</td><td>The given hash table. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>set</em>&nbsp;</td><td>The hash table to import. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd><code>TRUE</code> if successful, <code>FALSE</code> if not. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g1f69d26d118beb108e260bf92f764b77"></a><!-- doxytag: member="ecore_hash.c::ecore_hash_remove" ref="g1f69d26d118beb108e260bf92f764b77" args="(Ecore_Hash *hash, const void *key)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void* ecore_hash_remove           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Hash *&nbsp;</td>
+          <td class="paramname"> <em>hash</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>key</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Removes the value associated with the given key in the given hash table. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>hash</em>&nbsp;</td><td>The given hash table. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>The key to search for. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The value corresponding to the key on success. <code>NULL</code> is returned if there is an error. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="gbac7868d1b39556c7499dc2786ca1fe5"></a><!-- doxytag: member="ecore_hash.c::ecore_hash_set" ref="gbac7868d1b39556c7499dc2786ca1fe5" args="(Ecore_Hash *hash, void *key, void *value)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_hash_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Hash *&nbsp;</td>
+          <td class="paramname"> <em>hash</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void *&nbsp;</td>
+          <td class="paramname"> <em>key</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void *&nbsp;</td>
+          <td class="paramname"> <em>value</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sets a key-value pair in the given hash table. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>hash</em>&nbsp;</td><td>The given hash table. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>The key. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>value</em>&nbsp;</td><td>The value. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd><code>TRUE</code> if successful, <code>FALSE</code> if not. </dd></dl>
+
+</div>
+</div><p>
+</body>
+</html>
diff --git a/doc/html/group__Ecore__Data__Hash__ADT__Destruction__Group.html b/doc/html/group__Ecore__Data__Hash__ADT__Destruction__Group.html
new file mode 100644
index 0000000..3fa850b
--- /dev/null
+++ b/doc/html/group__Ecore__Data__Hash__ADT__Destruction__Group.html
@@ -0,0 +1,184 @@
+<html>
+
+<head>
+
+<title>Ecore: Hash Destruction Functions</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1>Hash Destruction Functions</h1>Functions that destroy hash tables and their contents.  
+<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Data__Hash__ADT__Destruction__Group.html#g3f98af9e6362e243a1da0252f93fb540">ecore_hash_free_key_cb_set</a> (Ecore_Hash *hash, Ecore_Free_Cb function)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the function to destroy the keys of the given hash.  <a href="#g3f98af9e6362e243a1da0252f93fb540"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Data__Hash__ADT__Destruction__Group.html#g0f0a17ac35a89cb7dac73fea23564ddd">ecore_hash_free_value_cb_set</a> (Ecore_Hash *hash, Ecore_Free_Cb function)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the function to destroy the values in the given hash.  <a href="#g0f0a17ac35a89cb7dac73fea23564ddd"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Data__Hash__ADT__Destruction__Group.html#g105c167609936be76f83bcae7ceef598">ecore_hash_destroy</a> (Ecore_Hash *hash)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Frees the hash table and the data contained inside it.  <a href="#g105c167609936be76f83bcae7ceef598"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Data__Hash__ADT__Destruction__Group.html#g2f4df7c58d507297d465395bcd2f57c6">ecore_hash_count</a> (Ecore_Hash *hash)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Counts the number of nodes in a hash table.  <a href="#g2f4df7c58d507297d465395bcd2f57c6"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Functions that destroy hash tables and their contents. 
+<p>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="g2f4df7c58d507297d465395bcd2f57c6"></a><!-- doxytag: member="ecore_hash.c::ecore_hash_count" ref="g2f4df7c58d507297d465395bcd2f57c6" args="(Ecore_Hash *hash)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_hash_count           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Hash *&nbsp;</td>
+          <td class="paramname"> <em>hash</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Counts the number of nodes in a hash table. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>hash</em>&nbsp;</td><td>The hash table to count current nodes. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The number of nodes in the hash. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g105c167609936be76f83bcae7ceef598"></a><!-- doxytag: member="ecore_hash.c::ecore_hash_destroy" ref="g105c167609936be76f83bcae7ceef598" args="(Ecore_Hash *hash)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_hash_destroy           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Hash *&nbsp;</td>
+          <td class="paramname"> <em>hash</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Frees the hash table and the data contained inside it. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>hash</em>&nbsp;</td><td>The hash table to destroy. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd><code>TRUE</code> on success, <code>FALSE</code> on error. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g3f98af9e6362e243a1da0252f93fb540"></a><!-- doxytag: member="ecore_hash.c::ecore_hash_free_key_cb_set" ref="g3f98af9e6362e243a1da0252f93fb540" args="(Ecore_Hash *hash, Ecore_Free_Cb function)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_hash_free_key_cb_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Hash *&nbsp;</td>
+          <td class="paramname"> <em>hash</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_Free_Cb&nbsp;</td>
+          <td class="paramname"> <em>function</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sets the function to destroy the keys of the given hash. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>hash</em>&nbsp;</td><td>The given hash. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>function</em>&nbsp;</td><td>The function used to free the node keys. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd><code>TRUE</code> on success, <code>FALSE</code> on error. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g0f0a17ac35a89cb7dac73fea23564ddd"></a><!-- doxytag: member="ecore_hash.c::ecore_hash_free_value_cb_set" ref="g0f0a17ac35a89cb7dac73fea23564ddd" args="(Ecore_Hash *hash, Ecore_Free_Cb function)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_hash_free_value_cb_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Hash *&nbsp;</td>
+          <td class="paramname"> <em>hash</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_Free_Cb&nbsp;</td>
+          <td class="paramname"> <em>function</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sets the function to destroy the values in the given hash. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>hash</em>&nbsp;</td><td>The given hash. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>function</em>&nbsp;</td><td>The function that will free the node values. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd><code>TRUE</code> on success, <code>FALSE</code> on error </dd></dl>
+
+</div>
+</div><p>
+</body>
+</html>
diff --git a/doc/html/group__Ecore__Data__Hash__ADT__Traverse__Group.html b/doc/html/group__Ecore__Data__Hash__ADT__Traverse__Group.html
new file mode 100644
index 0000000..03838c8
--- /dev/null
+++ b/doc/html/group__Ecore__Data__Hash__ADT__Traverse__Group.html
@@ -0,0 +1,119 @@
+<html>
+
+<head>
+
+<title>Ecore: Hash Traverse Functions</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1>Hash Traverse Functions</h1>Functions that iterate through hash tables.  
+<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Data__Hash__ADT__Traverse__Group.html#g2c2ae04b3ce693d317e52e510d0b6e52">ecore_hash_for_each_node</a> (Ecore_Hash *hash, Ecore_For_Each for_each_func, void *user_data)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Runs the <code>for_each_func</code> function on each entry in the given hash.  <a href="#g2c2ae04b3ce693d317e52e510d0b6e52"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_List *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Data__Hash__ADT__Traverse__Group.html#geb61f09759a6325a34f797438f1bdce0">ecore_hash_keys</a> (Ecore_Hash *hash)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves an ecore_list of all keys in the given hash.  <a href="#geb61f09759a6325a34f797438f1bdce0"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Functions that iterate through hash tables. 
+<p>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="g2c2ae04b3ce693d317e52e510d0b6e52"></a><!-- doxytag: member="ecore_hash.c::ecore_hash_for_each_node" ref="g2c2ae04b3ce693d317e52e510d0b6e52" args="(Ecore_Hash *hash, Ecore_For_Each for_each_func, void *user_data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_hash_for_each_node           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Hash *&nbsp;</td>
+          <td class="paramname"> <em>hash</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_For_Each&nbsp;</td>
+          <td class="paramname"> <em>for_each_func</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void *&nbsp;</td>
+          <td class="paramname"> <em>user_data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Runs the <code>for_each_func</code> function on each entry in the given hash. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>hash</em>&nbsp;</td><td>The given hash. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>for_each_func</em>&nbsp;</td><td>The function that each entry is passed to. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>user_data</em>&nbsp;</td><td>a pointer passed to calls of for_each_func </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>TRUE on success, FALSE otherwise. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="geb61f09759a6325a34f797438f1bdce0"></a><!-- doxytag: member="ecore_hash.c::ecore_hash_keys" ref="geb61f09759a6325a34f797438f1bdce0" args="(Ecore_Hash *hash)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Ecore_List* ecore_hash_keys           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Hash *&nbsp;</td>
+          <td class="paramname"> <em>hash</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Retrieves an ecore_list of all keys in the given hash. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>hash</em>&nbsp;</td><td>The given hash. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>new ecore_list on success, NULL otherwise </dd></dl>
+
+</div>
+</div><p>
+</body>
+</html>
diff --git a/doc/html/group__Ecore__Data__List__Add__Item__Group.html b/doc/html/group__Ecore__Data__List__Add__Item__Group.html
new file mode 100644
index 0000000..a9af8fb
--- /dev/null
+++ b/doc/html/group__Ecore__Data__List__Add__Item__Group.html
@@ -0,0 +1,245 @@
+<html>
+
+<head>
+
+<title>Ecore: List Item Adding Functions</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1>List Item Adding Functions</h1>Functions that are used to add nodes to an Ecore_List.  
+<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Data__List__Add__Item__Group.html#gb211707773975890b6406d9282cfcbf5">ecore_list_append</a> (Ecore_List *list, void *data)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Append data to the list.  <a href="#gb211707773975890b6406d9282cfcbf5"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Data__List__Add__Item__Group.html#g6b7c6361881c17430313cb1a214c9df6">ecore_list_prepend</a> (Ecore_List *list, void *data)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Prepend data to the beginning of the list.  <a href="#g6b7c6361881c17430313cb1a214c9df6"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Data__List__Add__Item__Group.html#g5ba15c63f0b4e3c4bf45870d086a3ac9">ecore_list_insert</a> (Ecore_List *list, void *data)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Insert data in front of the current point in the list.  <a href="#g5ba15c63f0b4e3c4bf45870d086a3ac9"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Data__List__Add__Item__Group.html#g87f46b1ee4fa7ca39c676539bf09d3cc">ecore_list_append_list</a> (Ecore_List *list, Ecore_List *append)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Append a list to the list.  <a href="#g87f46b1ee4fa7ca39c676539bf09d3cc"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Data__List__Add__Item__Group.html#g1622d5b1973ee9b40e1b228d414cd26d">ecore_list_prepend_list</a> (Ecore_List *list, Ecore_List *prepend)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Prepend a list to the beginning of the list.  <a href="#g1622d5b1973ee9b40e1b228d414cd26d"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Functions that are used to add nodes to an Ecore_List. 
+<p>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="gb211707773975890b6406d9282cfcbf5"></a><!-- doxytag: member="ecore_list.c::ecore_list_append" ref="gb211707773975890b6406d9282cfcbf5" args="(Ecore_List *list, void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_list_append           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_List *&nbsp;</td>
+          <td class="paramname"> <em>list</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"><code> [inline]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Append data to the list. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>The list. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>The data to append. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd><code>FALSE</code> if an error occurs, <code>TRUE</code> if appended successfully </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g87f46b1ee4fa7ca39c676539bf09d3cc"></a><!-- doxytag: member="ecore_list.c::ecore_list_append_list" ref="g87f46b1ee4fa7ca39c676539bf09d3cc" args="(Ecore_List *list, Ecore_List *append)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_list_append_list           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_List *&nbsp;</td>
+          <td class="paramname"> <em>list</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_List *&nbsp;</td>
+          <td class="paramname"> <em>append</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Append a list to the list. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>The list. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>append</em>&nbsp;</td><td>The list to append. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd><code>FALSE</code> if an error occurs, <code>TRUE</code> if appended successfully </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g5ba15c63f0b4e3c4bf45870d086a3ac9"></a><!-- doxytag: member="ecore_list.c::ecore_list_insert" ref="g5ba15c63f0b4e3c4bf45870d086a3ac9" args="(Ecore_List *list, void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_list_insert           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_List *&nbsp;</td>
+          <td class="paramname"> <em>list</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"><code> [inline]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Insert data in front of the current point in the list. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>The list to hold the inserted <code>data</code>. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>The data to insert into <code>list</code>. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd><code>FALSE</code> if there is an error, <code>TRUE</code> on success </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g6b7c6361881c17430313cb1a214c9df6"></a><!-- doxytag: member="ecore_list.c::ecore_list_prepend" ref="g6b7c6361881c17430313cb1a214c9df6" args="(Ecore_List *list, void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_list_prepend           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_List *&nbsp;</td>
+          <td class="paramname"> <em>list</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"><code> [inline]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Prepend data to the beginning of the list. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>The list. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>The data to prepend. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd><code>FALSE</code> if an error occurs, <code>TRUE</code> if prepended successfully. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g1622d5b1973ee9b40e1b228d414cd26d"></a><!-- doxytag: member="ecore_list.c::ecore_list_prepend_list" ref="g1622d5b1973ee9b40e1b228d414cd26d" args="(Ecore_List *list, Ecore_List *prepend)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_list_prepend_list           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_List *&nbsp;</td>
+          <td class="paramname"> <em>list</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_List *&nbsp;</td>
+          <td class="paramname"> <em>prepend</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Prepend a list to the beginning of the list. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>The list. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>prepend</em>&nbsp;</td><td>The list to prepend. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd><code>FALSE</code> if an error occurs, <code>TRUE</code> if prepended successfully. </dd></dl>
+
+</div>
+</div><p>
+</body>
+</html>
diff --git a/doc/html/group__Ecore__Data__List__Creation__Group.html b/doc/html/group__Ecore__Data__List__Creation__Group.html
new file mode 100644
index 0000000..a0998f9
--- /dev/null
+++ b/doc/html/group__Ecore__Data__List__Creation__Group.html
@@ -0,0 +1,127 @@
+<html>
+
+<head>
+
+<title>Ecore: List Creation/Destruction Functions</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1>List Creation/Destruction Functions</h1>Functions that create, initialize and destroy Ecore_Lists.  
+<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_List *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Data__List__Creation__Group.html#g80ada4d782322648df8889e9d7d18ad6">ecore_list_new</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create and initialize a new list.  <a href="#g80ada4d782322648df8889e9d7d18ad6"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Data__List__Creation__Group.html#g06c059777db36f8ecd699d992e148120">ecore_list_init</a> (Ecore_List *list)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initialize a list to some sane starting values.  <a href="#g06c059777db36f8ecd699d992e148120"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Data__List__Creation__Group.html#g15e19a128b9926c96b999212f2d5b793">ecore_list_destroy</a> (Ecore_List *list)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Free a list and all of it's nodes.  <a href="#g15e19a128b9926c96b999212f2d5b793"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Functions that create, initialize and destroy Ecore_Lists. 
+<p>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="g15e19a128b9926c96b999212f2d5b793"></a><!-- doxytag: member="ecore_list.c::ecore_list_destroy" ref="g15e19a128b9926c96b999212f2d5b793" args="(Ecore_List *list)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_list_destroy           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_List *&nbsp;</td>
+          <td class="paramname"> <em>list</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Free a list and all of it's nodes. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>The list to be freed. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g06c059777db36f8ecd699d992e148120"></a><!-- doxytag: member="ecore_list.c::ecore_list_init" ref="g06c059777db36f8ecd699d992e148120" args="(Ecore_List *list)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_list_init           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_List *&nbsp;</td>
+          <td class="paramname"> <em>list</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Initialize a list to some sane starting values. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>The list to initialize. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd><code>TRUE</code> if successful, <code>FALSE</code> if an error occurs. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g80ada4d782322648df8889e9d7d18ad6"></a><!-- doxytag: member="ecore_list.c::ecore_list_new" ref="g80ada4d782322648df8889e9d7d18ad6" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Ecore_List* ecore_list_new           </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Create and initialize a new list. 
+<p>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>A new initialized list on success, <code>NULL</code> on failure. </dd></dl>
+
+</div>
+</div><p>
+</body>
+</html>
diff --git a/doc/html/group__Ecore__Data__List__Node__Group.html b/doc/html/group__Ecore__Data__List__Node__Group.html
new file mode 100644
index 0000000..7c283d4
--- /dev/null
+++ b/doc/html/group__Ecore__Data__List__Node__Group.html
@@ -0,0 +1,107 @@
+<html>
+
+<head>
+
+<title>Ecore: List Node Functions</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1>List Node Functions</h1>Functions that are used in the creation, maintenance and destruction of Ecore_List nodes.  
+<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_List_Node *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Data__List__Node__Group.html#gaecc02845c38719dfe67b32c00cf5248">ecore_list_node_new</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Allocates and initializes a new list node.  <a href="#gaecc02845c38719dfe67b32c00cf5248"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Data__List__Node__Group.html#g1cda1cfa085463a8b833034c1ab47730">ecore_list_node_destroy</a> (Ecore_List_Node *node, Ecore_Free_Cb free_func)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calls the function to free the data and the node.  <a href="#g1cda1cfa085463a8b833034c1ab47730"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Functions that are used in the creation, maintenance and destruction of Ecore_List nodes. 
+<p>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="g1cda1cfa085463a8b833034c1ab47730"></a><!-- doxytag: member="ecore_list.c::ecore_list_node_destroy" ref="g1cda1cfa085463a8b833034c1ab47730" args="(Ecore_List_Node *node, Ecore_Free_Cb free_func)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_list_node_destroy           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_List_Node *&nbsp;</td>
+          <td class="paramname"> <em>node</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_Free_Cb&nbsp;</td>
+          <td class="paramname"> <em>free_func</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Calls the function to free the data and the node. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>node</em>&nbsp;</td><td>Node to destroy. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>free_func</em>&nbsp;</td><td>Function to call if <code>node</code> points to data to free. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd><code>TRUE</code>. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="gaecc02845c38719dfe67b32c00cf5248"></a><!-- doxytag: member="ecore_list.c::ecore_list_node_new" ref="gaecc02845c38719dfe67b32c00cf5248" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Ecore_List_Node* ecore_list_node_new           </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Allocates and initializes a new list node. 
+<p>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>A new Ecore_List_Node on success, <code>NULL</code> otherwise. </dd></dl>
+
+</div>
+</div><p>
+</body>
+</html>
diff --git a/doc/html/group__Ecore__Data__List__Remove__Item__Group.html b/doc/html/group__Ecore__Data__List__Remove__Item__Group.html
new file mode 100644
index 0000000..3efd4f0
--- /dev/null
+++ b/doc/html/group__Ecore__Data__List__Remove__Item__Group.html
@@ -0,0 +1,164 @@
+<html>
+
+<head>
+
+<title>Ecore: List Item Removing Functions</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1>List Item Removing Functions</h1>Functions that remove nodes from an Ecore_List.  
+<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Data__List__Remove__Item__Group.html#ga1ef518d46ab426978383037d0401486">ecore_list_remove</a> (Ecore_List *list)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove the current item from the list.  <a href="#ga1ef518d46ab426978383037d0401486"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Data__List__Remove__Item__Group.html#gf0b1bc4dd9841fe85f195e3be77353fa">ecore_list_remove_destroy</a> (Ecore_List *list)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove and free the data in lists current position.  <a href="#gf0b1bc4dd9841fe85f195e3be77353fa"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Data__List__Remove__Item__Group.html#g759db54fb9a6a45dc98c83f44f9b7959">ecore_list_first_remove</a> (Ecore_List *list)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove the first item from the list.  <a href="#g759db54fb9a6a45dc98c83f44f9b7959"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Data__List__Remove__Item__Group.html#g6ab71587df43b0a27359fc0359b85a74">ecore_list_last_remove</a> (Ecore_List *list)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove the last item from the list.  <a href="#g6ab71587df43b0a27359fc0359b85a74"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Functions that remove nodes from an Ecore_List. 
+<p>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="g759db54fb9a6a45dc98c83f44f9b7959"></a><!-- doxytag: member="ecore_list.c::ecore_list_first_remove" ref="g759db54fb9a6a45dc98c83f44f9b7959" args="(Ecore_List *list)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void* ecore_list_first_remove           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_List *&nbsp;</td>
+          <td class="paramname"> <em>list</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"><code> [inline]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Remove the first item from the list. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>The list to remove the current item </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns a pointer to the removed data on success, <code>NULL</code> on failure. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g6ab71587df43b0a27359fc0359b85a74"></a><!-- doxytag: member="ecore_list.c::ecore_list_last_remove" ref="g6ab71587df43b0a27359fc0359b85a74" args="(Ecore_List *list)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void* ecore_list_last_remove           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_List *&nbsp;</td>
+          <td class="paramname"> <em>list</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"><code> [inline]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Remove the last item from the list. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>The list to remove the last node from </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>A pointer to the removed data on success, <code>NULL</code> on failure. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="ga1ef518d46ab426978383037d0401486"></a><!-- doxytag: member="ecore_list.c::ecore_list_remove" ref="ga1ef518d46ab426978383037d0401486" args="(Ecore_List *list)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void* ecore_list_remove           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_List *&nbsp;</td>
+          <td class="paramname"> <em>list</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"><code> [inline]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Remove the current item from the list. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>The list to remove the current item </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>A pointer to the removed data on success, <code>NULL</code> on failure. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="gf0b1bc4dd9841fe85f195e3be77353fa"></a><!-- doxytag: member="ecore_list.c::ecore_list_remove_destroy" ref="gf0b1bc4dd9841fe85f195e3be77353fa" args="(Ecore_List *list)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_list_remove_destroy           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_List *&nbsp;</td>
+          <td class="paramname"> <em>list</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Remove and free the data in lists current position. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>The list to remove and free the current item. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd><code>TRUE</code> on success, <code>FALSE</code> on error </dd></dl>
+
+</div>
+</div><p>
+</body>
+</html>
diff --git a/doc/html/group__Ecore__Data__List__Traverse__Group.html b/doc/html/group__Ecore__Data__List__Traverse__Group.html
new file mode 100644
index 0000000..a58268d
--- /dev/null
+++ b/doc/html/group__Ecore__Data__List__Traverse__Group.html
@@ -0,0 +1,231 @@
+<html>
+
+<head>
+
+<title>Ecore: List Traversal Functions</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1>List Traversal Functions</h1>Functions that can be used to traverse an Ecore_List.  
+<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Data__List__Traverse__Group.html#gb900744acb5d2cf35b71d9a4b99d3260">ecore_list_index_goto</a> (Ecore_List *list, int index)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Make the current item the item with the given index number.  <a href="#gb900744acb5d2cf35b71d9a4b99d3260"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Data__List__Traverse__Group.html#g2c072ae18b640ea104d5a583c28aa0e9">ecore_list_goto</a> (Ecore_List *list, const void *data)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Make the current item the node that contains <code>data</code>.  <a href="#g2c072ae18b640ea104d5a583c28aa0e9"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Data__List__Traverse__Group.html#g0ed72f2fafabf21761391a93fe1e6196">ecore_list_first_goto</a> (Ecore_List *list)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Make the current item the first item in the list.  <a href="#g0ed72f2fafabf21761391a93fe1e6196"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Data__List__Traverse__Group.html#g7bfec15801e3d4a12730352b62364478">ecore_list_last_goto</a> (Ecore_List *list)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Make the current item the last item in the list.  <a href="#g7bfec15801e3d4a12730352b62364478"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Data__List__Traverse__Group.html#gd981fd3e42031c62e344ec42da2dccb3">ecore_list_for_each</a> (Ecore_List *list, Ecore_For_Each function, void *user_data)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Execute function for each node in <code>list</code>.  <a href="#gd981fd3e42031c62e344ec42da2dccb3"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Functions that can be used to traverse an Ecore_List. 
+<p>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="g0ed72f2fafabf21761391a93fe1e6196"></a><!-- doxytag: member="ecore_list.c::ecore_list_first_goto" ref="g0ed72f2fafabf21761391a93fe1e6196" args="(Ecore_List *list)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void* ecore_list_first_goto           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_List *&nbsp;</td>
+          <td class="paramname"> <em>list</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"><code> [inline]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Make the current item the first item in the list. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>The list. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>A pointer to the first item on success, <code>NULL</code> on failure </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="gd981fd3e42031c62e344ec42da2dccb3"></a><!-- doxytag: member="ecore_list.c::ecore_list_for_each" ref="gd981fd3e42031c62e344ec42da2dccb3" args="(Ecore_List *list, Ecore_For_Each function, void *user_data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_list_for_each           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_List *&nbsp;</td>
+          <td class="paramname"> <em>list</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_For_Each&nbsp;</td>
+          <td class="paramname"> <em>function</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void *&nbsp;</td>
+          <td class="paramname"> <em>user_data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Execute function for each node in <code>list</code>. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>The list. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>function</em>&nbsp;</td><td>The function to pass each node from <code>list</code> to. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns <code>TRUE</code> on success, <code>FALSE</code> on failure. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g2c072ae18b640ea104d5a583c28aa0e9"></a><!-- doxytag: member="ecore_list.c::ecore_list_goto" ref="g2c072ae18b640ea104d5a583c28aa0e9" args="(Ecore_List *list, const void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void* ecore_list_goto           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_List *&nbsp;</td>
+          <td class="paramname"> <em>list</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"><code> [inline]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Make the current item the node that contains <code>data</code>. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>The list. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>The data to find. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>A pointer to <code>data</code> on success, <code>NULL</code> on failure. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="gb900744acb5d2cf35b71d9a4b99d3260"></a><!-- doxytag: member="ecore_list.c::ecore_list_index_goto" ref="gb900744acb5d2cf35b71d9a4b99d3260" args="(Ecore_List *list, int index)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void* ecore_list_index_goto           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_List *&nbsp;</td>
+          <td class="paramname"> <em>list</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>index</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"><code> [inline]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Make the current item the item with the given index number. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>The list. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>index</em>&nbsp;</td><td>The position to move the current item. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>A pointer to new current item on success, <code>NULL</code> on failure. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g7bfec15801e3d4a12730352b62364478"></a><!-- doxytag: member="ecore_list.c::ecore_list_last_goto" ref="g7bfec15801e3d4a12730352b62364478" args="(Ecore_List *list)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void* ecore_list_last_goto           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_List *&nbsp;</td>
+          <td class="paramname"> <em>list</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"><code> [inline]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Make the current item the last item in the list. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>The list. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>A pointer to the last item on success, <code>NULL</code> on failure. </dd></dl>
+
+</div>
+</div><p>
+</body>
+</html>
diff --git a/doc/html/group__Ecore__Desktop__Icon__Group.html b/doc/html/group__Ecore__Desktop__Icon__Group.html
new file mode 100644
index 0000000..a2babaf
--- /dev/null
+++ b/doc/html/group__Ecore__Desktop__Icon__Group.html
@@ -0,0 +1,214 @@
+<html>
+
+<head>
+
+<title>Ecore: icon theme Functions</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1>icon theme Functions</h1>Functions that deal with freedesktop.org icon themes.  
+<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Desktop__Icon__Group.html#g60c2a21d6b52143cafcbbbd312fd932c">ecore_desktop_icon_find</a> (const char *icon, const char *icon_size, const char *icon_theme)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Find the path to an icon.  <a href="#g60c2a21d6b52143cafcbbbd312fd932c"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Desktop__Icon__Group.html#g8eb4511d3b31e25472198335154653db">ecore_desktop_icon_init</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Setup what ever needs to be setup to support ecore_desktop_icon.  <a href="#g8eb4511d3b31e25472198335154653db"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Desktop__Icon__Group.html#g87efafddfda52dfb70ff56d721be7ec2">ecore_desktop_icon_shutdown</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Tear down what ever needs to be torn down to support ecore_desktop_ycon.  <a href="#g87efafddfda52dfb70ff56d721be7ec2"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">Ecore_Desktop_Icon_Theme *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Desktop__Icon__Group.html#g83ae0014a874d264d836b29c3b27227f">ecore_desktop_icon_theme_get</a> (const char *icon_theme, const char *lang __UNUSED__)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the contents of an index.theme file.  <a href="#g83ae0014a874d264d836b29c3b27227f"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Desktop__Icon__Group.html#g73a8ff071454e48b4be88eeedd4a89d1">ecore_desktop_icon_theme_destroy</a> (Ecore_Desktop_Icon_Theme *icon_theme)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Free whatever resources are used by an Ecore_Desktop_Icon_Theme.  <a href="#g73a8ff071454e48b4be88eeedd4a89d1"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Functions that deal with freedesktop.org icon themes. 
+<p>
+This conforms with the freedesktop.org XDG Icon Theme Specification version 0.11 <hr><h2>Function Documentation</h2>
+<a class="anchor" name="g60c2a21d6b52143cafcbbbd312fd932c"></a><!-- doxytag: member="ecore_desktop_icon.c::ecore_desktop_icon_find" ref="g60c2a21d6b52143cafcbbbd312fd932c" args="(const char *icon, const char *icon_size, const char *icon_theme)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI char* ecore_desktop_icon_find           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>icon</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>icon_size</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>icon_theme</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Find the path to an icon. 
+<p>
+Using the search algorithm specified by freedesktop.org, search for an icon in the currently installed set of icon themes.<p>
+The returned string needs to be freed eventually.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>icon</em>&nbsp;</td><td>The name of the required icon. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>icon_size</em>&nbsp;</td><td>The size of the required icon. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>icon_theme</em>&nbsp;</td><td>The theme of the required icon. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The full path to an icon file, or NULL. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g8eb4511d3b31e25472198335154653db"></a><!-- doxytag: member="ecore_desktop_icon.c::ecore_desktop_icon_init" ref="g8eb4511d3b31e25472198335154653db" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_desktop_icon_init           </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Setup what ever needs to be setup to support ecore_desktop_icon. 
+<p>
+There are internal structures that are needed for ecore_desktop_icon functions to operate, this sets them up. 
+</div>
+</div><p>
+<a class="anchor" name="g87efafddfda52dfb70ff56d721be7ec2"></a><!-- doxytag: member="ecore_desktop_icon.c::ecore_desktop_icon_shutdown" ref="g87efafddfda52dfb70ff56d721be7ec2" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_desktop_icon_shutdown           </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Tear down what ever needs to be torn down to support ecore_desktop_ycon. 
+<p>
+There are internal structures that are needed for ecore_desktop_icon functions to operate, this tears them down. 
+</div>
+</div><p>
+<a class="anchor" name="g73a8ff071454e48b4be88eeedd4a89d1"></a><!-- doxytag: member="ecore_desktop_icon.c::ecore_desktop_icon_theme_destroy" ref="g73a8ff071454e48b4be88eeedd4a89d1" args="(Ecore_Desktop_Icon_Theme *icon_theme)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void ecore_desktop_icon_theme_destroy           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Desktop_Icon_Theme *&nbsp;</td>
+          <td class="paramname"> <em>icon_theme</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Free whatever resources are used by an Ecore_Desktop_Icon_Theme. 
+<p>
+There are internal resources used by each Ecore_Desktop_Icon_Theme This releases those resources.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>icon_theme</em>&nbsp;</td><td>An Ecore_Desktop_Icon_Theme. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g83ae0014a874d264d836b29c3b27227f"></a><!-- doxytag: member="ecore_desktop_icon.c::ecore_desktop_icon_theme_get" ref="g83ae0014a874d264d836b29c3b27227f" args="(const char *icon_theme, const char *lang __UNUSED__)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Ecore_Desktop_Icon_Theme* ecore_desktop_icon_theme_get           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>icon_theme</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *lang&nbsp;</td>
+          <td class="paramname"> <em>__UNUSED__</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Get the contents of an index.theme file. 
+<p>
+Everything that is in the index.theme file is returned in the data member of the Ecore_Desktop_Icon_Theme structure, it's an Ecore_Hash as returned by <a class="el" href="group__Ecore__Desktop__Main__Group.html#g771417e482733a68b8853c142ae2ab7e">ecore_desktop_ini_get()</a>. Some of the data in the index.theme file is decoded into specific members of the returned structure.<p>
+Use <a class="el" href="group__Ecore__Desktop__Icon__Group.html#g73a8ff071454e48b4be88eeedd4a89d1">ecore_desktop_icon_theme_destroy()</a> to free this structure.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>icon_theme</em>&nbsp;</td><td>Name of the icon theme, or full path to the index.theme file. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>lang</em>&nbsp;</td><td>Language to use, or NULL for default. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>An Ecore_Desktop_Icon_Theme containing the files contents. </dd></dl>
+
+</div>
+</div><p>
+</body>
+</html>
diff --git a/doc/html/group__Ecore__Desktop__Main__Group.html b/doc/html/group__Ecore__Desktop__Main__Group.html
new file mode 100644
index 0000000..d15ed01
--- /dev/null
+++ b/doc/html/group__Ecore__Desktop__Main__Group.html
@@ -0,0 +1,222 @@
+<html>
+
+<head>
+
+<title>Ecore: .desktop file Functions</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1>.desktop file Functions</h1>Functions that deal with freedesktop.org desktop files.  
+<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">Ecore_Hash *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Desktop__Main__Group.html#g771417e482733a68b8853c142ae2ab7e">ecore_desktop_ini_get</a> (const char *file)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the contents of a .ini style file.  <a href="#g771417e482733a68b8853c142ae2ab7e"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">Ecore_Desktop *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Desktop__Main__Group.html#g954f3b1b0a81250a072844e8b51e2bf8">ecore_desktop_get</a> (const char *file, const char *lang)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the contents of a .desktop file.  <a href="#g954f3b1b0a81250a072844e8b51e2bf8"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Desktop__Main__Group.html#gcbc8e90e58b724aa9bf71662245f0d3b">ecore_desktop_init</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Setup what ever needs to be setup to support Ecore_Desktop.  <a href="#gcbc8e90e58b724aa9bf71662245f0d3b"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Desktop__Main__Group.html#gb7c84f7f35197af1367adcf1c391d8b0">ecore_desktop_shutdown</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Tear down what ever needs to be torn down to support Ecore_Desktop.  <a href="#gb7c84f7f35197af1367adcf1c391d8b0"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Desktop__Main__Group.html#g61bac27920d4b04e21882a79d2610219">ecore_desktop_destroy</a> (Ecore_Desktop *desktop)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Free whatever resources are used by an Ecore_Desktop.  <a href="#g61bac27920d4b04e21882a79d2610219"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Desktop__Main__Group.html#g391bcf733c23f74642356c08ba58d549">ecore_desktop_home_get</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get and massage the users home directory.  <a href="#g391bcf733c23f74642356c08ba58d549"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Functions that deal with freedesktop.org desktop files. 
+<p>
+This conforms with the freedesktop.org XDG Desktop Entry Specification version 0.9.4 <hr><h2>Function Documentation</h2>
+<a class="anchor" name="g61bac27920d4b04e21882a79d2610219"></a><!-- doxytag: member="ecore_desktop.c::ecore_desktop_destroy" ref="g61bac27920d4b04e21882a79d2610219" args="(Ecore_Desktop *desktop)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void ecore_desktop_destroy           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Desktop *&nbsp;</td>
+          <td class="paramname"> <em>desktop</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Free whatever resources are used by an Ecore_Desktop. 
+<p>
+There are internal resources used by each Ecore_Desktop This releases those resources.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>desktop</em>&nbsp;</td><td>An Ecore_Desktop that was previously returned by <a class="el" href="group__Ecore__Desktop__Main__Group.html#g954f3b1b0a81250a072844e8b51e2bf8">ecore_desktop_get()</a>. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g954f3b1b0a81250a072844e8b51e2bf8"></a><!-- doxytag: member="ecore_desktop.c::ecore_desktop_get" ref="g954f3b1b0a81250a072844e8b51e2bf8" args="(const char *file, const char *lang)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Ecore_Desktop* ecore_desktop_get           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>file</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>lang</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Get the contents of a .desktop file. 
+<p>
+Use <a class="el" href="group__Ecore__Desktop__Main__Group.html#g61bac27920d4b04e21882a79d2610219">ecore_desktop_destroy()</a> to free this structure.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>file</em>&nbsp;</td><td>Full path to the .desktop file. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>lang</em>&nbsp;</td><td>Language to use, or NULL for default. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>An Ecore_Desktop containing the files contents. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g391bcf733c23f74642356c08ba58d549"></a><!-- doxytag: member="ecore_desktop.c::ecore_desktop_home_get" ref="g391bcf733c23f74642356c08ba58d549" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">char* ecore_desktop_home_get           </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Get and massage the users home directory. 
+<p>
+This is an internal function that may be useful elsewhere.<p>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The users howe directory. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g771417e482733a68b8853c142ae2ab7e"></a><!-- doxytag: member="ecore_desktop.c::ecore_desktop_ini_get" ref="g771417e482733a68b8853c142ae2ab7e" args="(const char *file)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Ecore_Hash* ecore_desktop_ini_get           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>file</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Get the contents of a .ini style file. 
+<p>
+The Ecore_Hash returned is a two level hash, the first level is the groups in the file, one per group, keyed by the name of that group. The value of each of those first level hashes is the second level Ecore_Hash, the contents of each group.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>file</em>&nbsp;</td><td>Full path to the .ini style file. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>An Ecore_Hash of the files contents. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="gcbc8e90e58b724aa9bf71662245f0d3b"></a><!-- doxytag: member="ecore_desktop.c::ecore_desktop_init" ref="gcbc8e90e58b724aa9bf71662245f0d3b" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_desktop_init           </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Setup what ever needs to be setup to support Ecore_Desktop. 
+<p>
+There are internal structures that are needed for Ecore_Desktop functions to operate, this sets them up. 
+</div>
+</div><p>
+<a class="anchor" name="gb7c84f7f35197af1367adcf1c391d8b0"></a><!-- doxytag: member="ecore_desktop.c::ecore_desktop_shutdown" ref="gb7c84f7f35197af1367adcf1c391d8b0" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_desktop_shutdown           </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Tear down what ever needs to be torn down to support Ecore_Desktop. 
+<p>
+There are internal structures that are needed for Ecore_Desktop functions to operate, this tears them down. 
+</div>
+</div><p>
+</body>
+</html>
diff --git a/doc/html/group__Ecore__Desktop__Menu__Group.html b/doc/html/group__Ecore__Desktop__Menu__Group.html
new file mode 100644
index 0000000..7afc6dc
--- /dev/null
+++ b/doc/html/group__Ecore__Desktop__Menu__Group.html
@@ -0,0 +1,72 @@
+<html>
+
+<head>
+
+<title>Ecore: menu Functions</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1>menu Functions</h1>Functions that deal with freedesktop.org menus.  
+<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">Ecore_Desktop_Tree *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Desktop__Menu__Group.html#g479a22ac6910dbb6e991278243bfd7cd">ecore_desktop_menu_get</a> (char *file)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Decode a freedesktop.org menu XML jungle.  <a href="#g479a22ac6910dbb6e991278243bfd7cd"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Functions that deal with freedesktop.org menus. 
+<p>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="g479a22ac6910dbb6e991278243bfd7cd"></a><!-- doxytag: member="ecore_desktop_menu.c::ecore_desktop_menu_get" ref="g479a22ac6910dbb6e991278243bfd7cd" args="(char *file)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Ecore_Desktop_Tree* ecore_desktop_menu_get           </td>
+          <td>(</td>
+          <td class="paramtype">char *&nbsp;</td>
+          <td class="paramname"> <em>file</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Decode a freedesktop.org menu XML jungle. 
+<p>
+Using the algorithm specified by freedesktop.org, fully decode a menu based on an initial menu file.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>file</em>&nbsp;</td><td>The base file for the menu. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The resulting menu tree. </dd></dl>
+
+</div>
+</div><p>
+</body>
+</html>
diff --git a/doc/html/group__Ecore__Exe__Basic__Group.html b/doc/html/group__Ecore__Exe__Basic__Group.html
new file mode 100644
index 0000000..56c6090
--- /dev/null
+++ b/doc/html/group__Ecore__Exe__Basic__Group.html
@@ -0,0 +1,540 @@
+<html>
+
+<head>
+
+<title>Ecore: Process Spawning Functions</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1>Process Spawning Functions</h1>Functions that deal with spawned processes.  
+<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI <a class="el" href="Ecore_8h.html#5560d4d853db434d387e818c908f394d">Ecore_Exe</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Exe__Basic__Group.html#g7ee5b2a9c3b1458395ff60287d368faa">ecore_exe_run</a> (const char *exe_cmd, const void *data)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Spawns a child process.  <a href="#g7ee5b2a9c3b1458395ff60287d368faa"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI <a class="el" href="Ecore_8h.html#5560d4d853db434d387e818c908f394d">Ecore_Exe</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Exe__Basic__Group.html#g769740ce38413683fb40ddf725ac54b7">ecore_exe_pipe_run</a> (const char *exe_cmd, Ecore_Exe_Flags flags, const void *data)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Spawns a child process with its stdin/out available for communication.  <a href="#g769740ce38413683fb40ddf725ac54b7"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Exe__Basic__Group.html#gcf1dfcfd5c4a7f57a85ac2369123e47e">ecore_exe_send</a> (<a class="el" href="Ecore_8h.html#5560d4d853db434d387e818c908f394d">Ecore_Exe</a> *exe, void *data, int size)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends data to the given child process which it recieves on stdin.  <a href="#gcf1dfcfd5c4a7f57a85ac2369123e47e"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Exe__Basic__Group.html#gf5b870a7a134744ecbe9accb57bb8730">ecore_exe_close_stdin</a> (<a class="el" href="Ecore_8h.html#5560d4d853db434d387e818c908f394d">Ecore_Exe</a> *exe)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The stdin of the given child process will close when the write buffer is empty.  <a href="#gf5b870a7a134744ecbe9accb57bb8730"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Exe__Basic__Group.html#g2ab04470c77bedbaad1ff8e23277e375">ecore_exe_auto_limits_set</a> (<a class="el" href="Ecore_8h.html#5560d4d853db434d387e818c908f394d">Ecore_Exe</a> *exe, int start_bytes, int end_bytes, int start_lines, int end_lines)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the auto pipe limits for the given process handle.  <a href="#g2ab04470c77bedbaad1ff8e23277e375"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI <a class="el" href="struct__Ecore__Exe__Event__Data.html">Ecore_Exe_Event_Data</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Exe__Basic__Group.html#gce51fedd2709f26c6c82cd0135aa6dbe">ecore_exe_event_data_get</a> (<a class="el" href="Ecore_8h.html#5560d4d853db434d387e818c908f394d">Ecore_Exe</a> *exe, Ecore_Exe_Flags flags)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the auto pipe data for the given process handle.  <a href="#gce51fedd2709f26c6c82cd0135aa6dbe"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Exe__Basic__Group.html#g68245a929e914cbe4fb64c287ef3f5ae">ecore_exe_tag_set</a> (<a class="el" href="Ecore_8h.html#5560d4d853db434d387e818c908f394d">Ecore_Exe</a> *exe, const char *tag)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the string tag for the given process handle.  <a href="#g68245a929e914cbe4fb64c287ef3f5ae"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Exe__Basic__Group.html#g934ea965265b697840a44f860ac4f907">ecore_exe_tag_get</a> (<a class="el" href="Ecore_8h.html#5560d4d853db434d387e818c908f394d">Ecore_Exe</a> *exe)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the tag attached to the given process handle.  <a href="#g934ea965265b697840a44f860ac4f907"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Exe__Basic__Group.html#g07ef2b7bd313988a0d1691d7e3edcddb">ecore_exe_free</a> (<a class="el" href="Ecore_8h.html#5560d4d853db434d387e818c908f394d">Ecore_Exe</a> *exe)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Frees the given process handle.  <a href="#g07ef2b7bd313988a0d1691d7e3edcddb"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Exe__Basic__Group.html#g5a0737cb4881d4c4374697335e62336b">ecore_exe_event_data_free</a> (<a class="el" href="struct__Ecore__Exe__Event__Data.html">Ecore_Exe_Event_Data</a> *e)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Frees the given event data.  <a href="#g5a0737cb4881d4c4374697335e62336b"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI pid_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Exe__Basic__Group.html#g2677aa0958df5744ca31b1276a58ac5f">ecore_exe_pid_get</a> (<a class="el" href="Ecore_8h.html#5560d4d853db434d387e818c908f394d">Ecore_Exe</a> *exe)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the process ID of the given spawned process.  <a href="#g2677aa0958df5744ca31b1276a58ac5f"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Exe__Basic__Group.html#g21241b1825e413a04a1b4455e17bfb7d">ecore_exe_cmd_get</a> (<a class="el" href="Ecore_8h.html#5560d4d853db434d387e818c908f394d">Ecore_Exe</a> *exe)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the command of the given spawned process.  <a href="#g21241b1825e413a04a1b4455e17bfb7d"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Exe__Basic__Group.html#ge83b4ac303698d508d56953f153bd767">ecore_exe_data_get</a> (<a class="el" href="Ecore_8h.html#5560d4d853db434d387e818c908f394d">Ecore_Exe</a> *exe)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the data attached to the given process handle.  <a href="#ge83b4ac303698d508d56953f153bd767"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Functions that deal with spawned processes. 
+<p>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="g2ab04470c77bedbaad1ff8e23277e375"></a><!-- doxytag: member="ecore_exe.c::ecore_exe_auto_limits_set" ref="g2ab04470c77bedbaad1ff8e23277e375" args="(Ecore_Exe *exe, int start_bytes, int end_bytes, int start_lines, int end_lines)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_exe_auto_limits_set           </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="Ecore_8h.html#5560d4d853db434d387e818c908f394d">Ecore_Exe</a> *&nbsp;</td>
+          <td class="paramname"> <em>exe</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>start_bytes</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>end_bytes</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>start_lines</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>end_lines</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sets the auto pipe limits for the given process handle. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>exe</em>&nbsp;</td><td>The given process handle. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>start_bytes</em>&nbsp;</td><td>limit of bytes at start of output to buffer. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>end_bytes</em>&nbsp;</td><td>limit of bytes at end of output to buffer. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>start_lines</em>&nbsp;</td><td>limit of lines at start of output to buffer. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>end_lines</em>&nbsp;</td><td>limit of lines at end of output to buffer. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="gf5b870a7a134744ecbe9accb57bb8730"></a><!-- doxytag: member="ecore_exe.c::ecore_exe_close_stdin" ref="gf5b870a7a134744ecbe9accb57bb8730" args="(Ecore_Exe *exe)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_exe_close_stdin           </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="Ecore_8h.html#5560d4d853db434d387e818c908f394d">Ecore_Exe</a> *&nbsp;</td>
+          <td class="paramname"> <em>exe</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+The stdin of the given child process will close when the write buffer is empty. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>exe</em>&nbsp;</td><td>The child process </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g21241b1825e413a04a1b4455e17bfb7d"></a><!-- doxytag: member="ecore_exe.c::ecore_exe_cmd_get" ref="g21241b1825e413a04a1b4455e17bfb7d" args="(Ecore_Exe *exe)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI char* ecore_exe_cmd_get           </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="Ecore_8h.html#5560d4d853db434d387e818c908f394d">Ecore_Exe</a> *&nbsp;</td>
+          <td class="paramname"> <em>exe</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Retrieves the command of the given spawned process. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>exe</em>&nbsp;</td><td>Handle to the given spawned process. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The command on success. NULL otherwise. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="ge83b4ac303698d508d56953f153bd767"></a><!-- doxytag: member="ecore_exe.c::ecore_exe_data_get" ref="ge83b4ac303698d508d56953f153bd767" args="(Ecore_Exe *exe)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void* ecore_exe_data_get           </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="Ecore_8h.html#5560d4d853db434d387e818c908f394d">Ecore_Exe</a> *&nbsp;</td>
+          <td class="paramname"> <em>exe</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Retrieves the data attached to the given process handle. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>exe</em>&nbsp;</td><td>The given process handle. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The data pointer attached to <code>exe</code>. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g5a0737cb4881d4c4374697335e62336b"></a><!-- doxytag: member="ecore_exe.c::ecore_exe_event_data_free" ref="g5a0737cb4881d4c4374697335e62336b" args="(Ecore_Exe_Event_Data *e)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_exe_event_data_free           </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="struct__Ecore__Exe__Event__Data.html">Ecore_Exe_Event_Data</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Frees the given event data. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The given event data. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="gce51fedd2709f26c6c82cd0135aa6dbe"></a><!-- doxytag: member="ecore_exe.c::ecore_exe_event_data_get" ref="gce51fedd2709f26c6c82cd0135aa6dbe" args="(Ecore_Exe *exe, Ecore_Exe_Flags flags)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="struct__Ecore__Exe__Event__Data.html">Ecore_Exe_Event_Data</a>* ecore_exe_event_data_get           </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="Ecore_8h.html#5560d4d853db434d387e818c908f394d">Ecore_Exe</a> *&nbsp;</td>
+          <td class="paramname"> <em>exe</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_Exe_Flags&nbsp;</td>
+          <td class="paramname"> <em>flags</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Gets the auto pipe data for the given process handle. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>exe</em>&nbsp;</td><td>The given process handle. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>flags</em>&nbsp;</td><td>Is this a ECORE_EXE_PIPE_READ or ECORE_EXE_PIPE_ERROR? </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g07ef2b7bd313988a0d1691d7e3edcddb"></a><!-- doxytag: member="ecore_exe.c::ecore_exe_free" ref="g07ef2b7bd313988a0d1691d7e3edcddb" args="(Ecore_Exe *exe)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void* ecore_exe_free           </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="Ecore_8h.html#5560d4d853db434d387e818c908f394d">Ecore_Exe</a> *&nbsp;</td>
+          <td class="paramname"> <em>exe</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Frees the given process handle. 
+<p>
+Note that the process that the handle represents is unaffected by this function.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>exe</em>&nbsp;</td><td>The given process handle. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The data attached to the handle when <a class="el" href="group__Ecore__Exe__Basic__Group.html#g7ee5b2a9c3b1458395ff60287d368faa">ecore_exe_run</a> was called. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g2677aa0958df5744ca31b1276a58ac5f"></a><!-- doxytag: member="ecore_exe.c::ecore_exe_pid_get" ref="g2677aa0958df5744ca31b1276a58ac5f" args="(Ecore_Exe *exe)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI pid_t ecore_exe_pid_get           </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="Ecore_8h.html#5560d4d853db434d387e818c908f394d">Ecore_Exe</a> *&nbsp;</td>
+          <td class="paramname"> <em>exe</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Retrieves the process ID of the given spawned process. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>exe</em>&nbsp;</td><td>Handle to the given spawned process. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The process ID on success. <code>-1</code> otherwise. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g769740ce38413683fb40ddf725ac54b7"></a><!-- doxytag: member="ecore_exe.c::ecore_exe_pipe_run" ref="g769740ce38413683fb40ddf725ac54b7" args="(const char *exe_cmd, Ecore_Exe_Flags flags, const void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="Ecore_8h.html#5560d4d853db434d387e818c908f394d">Ecore_Exe</a>* ecore_exe_pipe_run           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>exe_cmd</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_Exe_Flags&nbsp;</td>
+          <td class="paramname"> <em>flags</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Spawns a child process with its stdin/out available for communication. 
+<p>
+This function forks and runs the given command using <code>/bin/sh</code>.<p>
+Note that the process handle is only valid until a child process terminated event is received. After all handlers for the child process terminated event have been called, the handle will be freed by Ecore.<p>
+This function does the same thing as <a class="el" href="group__Ecore__Exe__Basic__Group.html#g7ee5b2a9c3b1458395ff60287d368faa">ecore_exe_run()</a>, but also makes the standard in and/or out as wel las stderr from the child process available for reading or writing. To write use <a class="el" href="group__Ecore__Exe__Basic__Group.html#gcf1dfcfd5c4a7f57a85ac2369123e47e">ecore_exe_send()</a>. To read listen to ECORE_EXE_EVENT_DATA or ECORE_EXE_EVENT_ERROR events (set up handlers). Ecore may buffer read and error data until a newline character if asked for with the <code>flags</code>. All data will be included in the events (newlines will be replaced with NULLS if line buffered). ECORE_EXE_EVENT_DATA events will only happen if the process is run with ECORE_EXE_PIPE_READ enabled in the flags. The same with the error version. Writing will only be allowed with ECORE_EXE_PIPE_WRITE enabled in the flags.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>exe_cmd</em>&nbsp;</td><td>The command to run with <code>/bin/sh</code>. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>flags</em>&nbsp;</td><td>The flag parameters for how to deal with inter-process I/O </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>Data to attach to the returned process handle. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>A process handle to the spawned process. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g7ee5b2a9c3b1458395ff60287d368faa"></a><!-- doxytag: member="ecore_exe.c::ecore_exe_run" ref="g7ee5b2a9c3b1458395ff60287d368faa" args="(const char *exe_cmd, const void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="Ecore_8h.html#5560d4d853db434d387e818c908f394d">Ecore_Exe</a>* ecore_exe_run           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>exe_cmd</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Spawns a child process. 
+<p>
+This is now just a thin wrapper around <a class="el" href="group__Ecore__Exe__Basic__Group.html#g769740ce38413683fb40ddf725ac54b7">ecore_exe_pipe_run()</a><p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>exe_cmd</em>&nbsp;</td><td>The command to run with <code>/bin/sh</code>. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>Data to attach to the returned process handle. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>A process handle to the spawned process. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="gcf1dfcfd5c4a7f57a85ac2369123e47e"></a><!-- doxytag: member="ecore_exe.c::ecore_exe_send" ref="gcf1dfcfd5c4a7f57a85ac2369123e47e" args="(Ecore_Exe *exe, void *data, int size)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_exe_send           </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="Ecore_8h.html#5560d4d853db434d387e818c908f394d">Ecore_Exe</a> *&nbsp;</td>
+          <td class="paramname"> <em>exe</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void *&nbsp;</td>
+          <td class="paramname"> <em>data</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>size</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sends data to the given child process which it recieves on stdin. 
+<p>
+This function writes to a child processes standard in, with unlimited buffering. This call will never block. It may fail if the system runs out of memory.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>exe</em>&nbsp;</td><td>The child process to send to </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>The data to send </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>size</em>&nbsp;</td><td>The size of the data to send, in bytes </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 if successful, 0 on failure. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g934ea965265b697840a44f860ac4f907"></a><!-- doxytag: member="ecore_exe.c::ecore_exe_tag_get" ref="g934ea965265b697840a44f860ac4f907" args="(Ecore_Exe *exe)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI char* ecore_exe_tag_get           </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="Ecore_8h.html#5560d4d853db434d387e818c908f394d">Ecore_Exe</a> *&nbsp;</td>
+          <td class="paramname"> <em>exe</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Retrieves the tag attached to the given process handle. 
+<p>
+There is no need to free it as it just returns the internal pointer value. This value is only valid as long as the <code>exe</code> is valid or until the tag is set to something else on this <code>exe</code>.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>exe</em>&nbsp;</td><td>The given process handle. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The string attached to <code>exe</code>. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g68245a929e914cbe4fb64c287ef3f5ae"></a><!-- doxytag: member="ecore_exe.c::ecore_exe_tag_set" ref="g68245a929e914cbe4fb64c287ef3f5ae" args="(Ecore_Exe *exe, const char *tag)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_exe_tag_set           </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="Ecore_8h.html#5560d4d853db434d387e818c908f394d">Ecore_Exe</a> *&nbsp;</td>
+          <td class="paramname"> <em>exe</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>tag</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sets the string tag for the given process handle. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>exe</em>&nbsp;</td><td>The given process handle. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>tag</em>&nbsp;</td><td>The string tag to set on the process handle. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+</body>
+</html>
diff --git a/doc/html/group__Ecore__Exe__Signal__Group.html b/doc/html/group__Ecore__Exe__Signal__Group.html
new file mode 100644
index 0000000..13deb4a
--- /dev/null
+++ b/doc/html/group__Ecore__Exe__Signal__Group.html
@@ -0,0 +1,230 @@
+<html>
+
+<head>
+
+<title>Ecore: Spawned Process Signal Functions</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1>Spawned Process Signal Functions</h1>Functions that send signals to spawned processes.  
+<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Exe__Signal__Group.html#g390ff3fbd834c483cb3b52701061b224">ecore_exe_pause</a> (<a class="el" href="Ecore_8h.html#5560d4d853db434d387e818c908f394d">Ecore_Exe</a> *exe)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Pauses the given process by sending it a <code>SIGSTOP</code> signal.  <a href="#g390ff3fbd834c483cb3b52701061b224"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Exe__Signal__Group.html#gb2a1c0e6b97362a08b043a53bb2167e9">ecore_exe_continue</a> (<a class="el" href="Ecore_8h.html#5560d4d853db434d387e818c908f394d">Ecore_Exe</a> *exe)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Continues the given paused process by sending it a <code>SIGCONT</code> signal.  <a href="#gb2a1c0e6b97362a08b043a53bb2167e9"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Exe__Signal__Group.html#g181cf5546257df38243b82164317450d">ecore_exe_terminate</a> (<a class="el" href="Ecore_8h.html#5560d4d853db434d387e818c908f394d">Ecore_Exe</a> *exe)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the given spawned process a terminate (<code>SIGTERM</code>) signal.  <a href="#g181cf5546257df38243b82164317450d"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Exe__Signal__Group.html#ga1f87cd678eacacd8742a49703f94128">ecore_exe_kill</a> (<a class="el" href="Ecore_8h.html#5560d4d853db434d387e818c908f394d">Ecore_Exe</a> *exe)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Kills the given spawned process by sending it a <code>SIGKILL</code> signal.  <a href="#ga1f87cd678eacacd8742a49703f94128"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Exe__Signal__Group.html#g293b5baa7703e113e7444f21855f7b95">ecore_exe_signal</a> (<a class="el" href="Ecore_8h.html#5560d4d853db434d387e818c908f394d">Ecore_Exe</a> *exe, int num)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends a <code>SIGUSR</code> signal to the given spawned process.  <a href="#g293b5baa7703e113e7444f21855f7b95"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Exe__Signal__Group.html#ge50008a47cf6d717a8d2266b8b7fae57">ecore_exe_hup</a> (<a class="el" href="Ecore_8h.html#5560d4d853db434d387e818c908f394d">Ecore_Exe</a> *exe)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends a <code>SIGHUP</code> signal to the given spawned process.  <a href="#ge50008a47cf6d717a8d2266b8b7fae57"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Functions that send signals to spawned processes. 
+<p>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="gb2a1c0e6b97362a08b043a53bb2167e9"></a><!-- doxytag: member="ecore_exe.c::ecore_exe_continue" ref="gb2a1c0e6b97362a08b043a53bb2167e9" args="(Ecore_Exe *exe)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_exe_continue           </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="Ecore_8h.html#5560d4d853db434d387e818c908f394d">Ecore_Exe</a> *&nbsp;</td>
+          <td class="paramname"> <em>exe</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Continues the given paused process by sending it a <code>SIGCONT</code> signal. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>exe</em>&nbsp;</td><td>Process handle to the given process. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="ge50008a47cf6d717a8d2266b8b7fae57"></a><!-- doxytag: member="ecore_exe.c::ecore_exe_hup" ref="ge50008a47cf6d717a8d2266b8b7fae57" args="(Ecore_Exe *exe)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_exe_hup           </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="Ecore_8h.html#5560d4d853db434d387e818c908f394d">Ecore_Exe</a> *&nbsp;</td>
+          <td class="paramname"> <em>exe</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sends a <code>SIGHUP</code> signal to the given spawned process. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>exe</em>&nbsp;</td><td>Process handle to the given process. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="ga1f87cd678eacacd8742a49703f94128"></a><!-- doxytag: member="ecore_exe.c::ecore_exe_kill" ref="ga1f87cd678eacacd8742a49703f94128" args="(Ecore_Exe *exe)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_exe_kill           </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="Ecore_8h.html#5560d4d853db434d387e818c908f394d">Ecore_Exe</a> *&nbsp;</td>
+          <td class="paramname"> <em>exe</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Kills the given spawned process by sending it a <code>SIGKILL</code> signal. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>exe</em>&nbsp;</td><td>Process handle to the given process. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g390ff3fbd834c483cb3b52701061b224"></a><!-- doxytag: member="ecore_exe.c::ecore_exe_pause" ref="g390ff3fbd834c483cb3b52701061b224" args="(Ecore_Exe *exe)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_exe_pause           </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="Ecore_8h.html#5560d4d853db434d387e818c908f394d">Ecore_Exe</a> *&nbsp;</td>
+          <td class="paramname"> <em>exe</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Pauses the given process by sending it a <code>SIGSTOP</code> signal. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>exe</em>&nbsp;</td><td>Process handle to the given process. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g293b5baa7703e113e7444f21855f7b95"></a><!-- doxytag: member="ecore_exe.c::ecore_exe_signal" ref="g293b5baa7703e113e7444f21855f7b95" args="(Ecore_Exe *exe, int num)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_exe_signal           </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="Ecore_8h.html#5560d4d853db434d387e818c908f394d">Ecore_Exe</a> *&nbsp;</td>
+          <td class="paramname"> <em>exe</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>num</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sends a <code>SIGUSR</code> signal to the given spawned process. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>exe</em>&nbsp;</td><td>Process handle to the given process. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>num</em>&nbsp;</td><td>The number user signal to send. Must be either 1 or 2, or the signal will be ignored. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g181cf5546257df38243b82164317450d"></a><!-- doxytag: member="ecore_exe.c::ecore_exe_terminate" ref="g181cf5546257df38243b82164317450d" args="(Ecore_Exe *exe)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_exe_terminate           </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="Ecore_8h.html#5560d4d853db434d387e818c908f394d">Ecore_Exe</a> *&nbsp;</td>
+          <td class="paramname"> <em>exe</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sends the given spawned process a terminate (<code>SIGTERM</code>) signal. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>exe</em>&nbsp;</td><td>Process handle to the given process. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+</body>
+</html>
diff --git a/doc/html/group__Ecore__FB__Backlight__Group.html b/doc/html/group__Ecore__FB__Backlight__Group.html
new file mode 100644
index 0000000..e7b20df
--- /dev/null
+++ b/doc/html/group__Ecore__FB__Backlight__Group.html
@@ -0,0 +1,152 @@
+<html>
+
+<head>
+
+<title>Ecore: Framebuffer Backlight Functions</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1>Framebuffer Backlight Functions</h1>Functions that deal with the backlight of a framebuffer's screen.  
+<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__FB__Backlight__Group.html#gad15d906ed652847b0e5e69e60b62c5d">ecore_fb_backlight_set</a> (int on)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Turns on or off the backlight.  <a href="#gad15d906ed652847b0e5e69e60b62c5d"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__FB__Backlight__Group.html#g9acaeb66b4c2c6066d7617a35f7d7480">ecore_fb_backlight_get</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the backlight state.  <a href="#g9acaeb66b4c2c6066d7617a35f7d7480"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__FB__Backlight__Group.html#gd7bd9a8f6e346d38763558a2d12677f5">ecore_fb_backlight_brightness_set</a> (double br)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the backlight brightness.  <a href="#gd7bd9a8f6e346d38763558a2d12677f5"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__FB__Backlight__Group.html#g2404499370f041dd192aebf3dbb774b9">ecore_fb_backlight_brightness_get</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the backlight brightness.  <a href="#g2404499370f041dd192aebf3dbb774b9"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Functions that deal with the backlight of a framebuffer's screen. 
+<p>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="g2404499370f041dd192aebf3dbb774b9"></a><!-- doxytag: member="ecore_fb_ts.c::ecore_fb_backlight_brightness_get" ref="g2404499370f041dd192aebf3dbb774b9" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI double ecore_fb_backlight_brightness_get           </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Retrieves the backlight brightness. 
+<p>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The current backlight brigntess, where 0.0 is the darkest and 1.0 is the brightest. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="gd7bd9a8f6e346d38763558a2d12677f5"></a><!-- doxytag: member="ecore_fb_ts.c::ecore_fb_backlight_brightness_set" ref="gd7bd9a8f6e346d38763558a2d12677f5" args="(double br)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_fb_backlight_brightness_set           </td>
+          <td>(</td>
+          <td class="paramtype">double&nbsp;</td>
+          <td class="paramname"> <em>br</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sets the backlight brightness. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>br</em>&nbsp;</td><td>Brightness between 0.0 to 1.0, where 0.0 is darkest and 1.0 is brightest. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g9acaeb66b4c2c6066d7617a35f7d7480"></a><!-- doxytag: member="ecore_fb_ts.c::ecore_fb_backlight_get" ref="g9acaeb66b4c2c6066d7617a35f7d7480" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_fb_backlight_get           </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Retrieves the backlight state. 
+<p>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>Whether the backlight is on. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="gad15d906ed652847b0e5e69e60b62c5d"></a><!-- doxytag: member="ecore_fb_ts.c::ecore_fb_backlight_set" ref="gad15d906ed652847b0e5e69e60b62c5d" args="(int on)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_fb_backlight_set           </td>
+          <td>(</td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>on</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Turns on or off the backlight. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>on</em>&nbsp;</td><td><code>1</code> to turn the backlight on. <code>0</code> to turn it off. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+</body>
+</html>
diff --git a/doc/html/group__Ecore__FB__Calibrate__Group.html b/doc/html/group__Ecore__FB__Calibrate__Group.html
new file mode 100644
index 0000000..2e55354
--- /dev/null
+++ b/doc/html/group__Ecore__FB__Calibrate__Group.html
@@ -0,0 +1,162 @@
+<html>
+
+<head>
+
+<title>Ecore: Framebuffer Calibration Functions</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1>Framebuffer Calibration Functions</h1>Functions that calibrate the screen.  
+<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__FB__Calibrate__Group.html#g9d9fcdece8e69f7e3798a5ddea7f9403">ecore_fb_touch_screen_calibrate_set</a> (int xscale, int xtrans, int yscale, int ytrans, int xyswap)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calibrates the touschreen using the given parameters.  <a href="#g9d9fcdece8e69f7e3798a5ddea7f9403"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__FB__Calibrate__Group.html#ge4aa44af19bec4dcc5c7e66c81e31fef">ecore_fb_touch_screen_calibrate_get</a> (int *xscale, int *xtrans, int *yscale, int *ytrans, int *xyswap)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the calibration parameters of the touchscreen.  <a href="#ge4aa44af19bec4dcc5c7e66c81e31fef"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Functions that calibrate the screen. 
+<p>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="ge4aa44af19bec4dcc5c7e66c81e31fef"></a><!-- doxytag: member="ecore_fb_ts.c::ecore_fb_touch_screen_calibrate_get" ref="ge4aa44af19bec4dcc5c7e66c81e31fef" args="(int *xscale, int *xtrans, int *yscale, int *ytrans, int *xyswap)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_fb_touch_screen_calibrate_get           </td>
+          <td>(</td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>xscale</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>xtrans</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>yscale</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>ytrans</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>xyswap</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Retrieves the calibration parameters of the touchscreen. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>xscale</em>&nbsp;</td><td>Pointer to an integer in which to store the X scaling. Note that 256 = 1.0. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>xtrans</em>&nbsp;</td><td>Pointer to an integer in which to store the X translation. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>yscale</em>&nbsp;</td><td>Pointer to an integer in which to store the Y scaling. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>ytrans</em>&nbsp;</td><td>Pointer to an integer in which to store the Y translation. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>xyswap</em>&nbsp;</td><td>Pointer to an integer in which to store the Swap X &amp; Y flag. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g9d9fcdece8e69f7e3798a5ddea7f9403"></a><!-- doxytag: member="ecore_fb_ts.c::ecore_fb_touch_screen_calibrate_set" ref="g9d9fcdece8e69f7e3798a5ddea7f9403" args="(int xscale, int xtrans, int yscale, int ytrans, int xyswap)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_fb_touch_screen_calibrate_set           </td>
+          <td>(</td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>xscale</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>xtrans</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>yscale</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>ytrans</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>xyswap</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Calibrates the touschreen using the given parameters. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>xscale</em>&nbsp;</td><td>X scaling, where 256 = 1.0 </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>xtrans</em>&nbsp;</td><td>X translation. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>yscale</em>&nbsp;</td><td>Y scaling. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>ytrans</em>&nbsp;</td><td>Y translation. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>xyswap</em>&nbsp;</td><td>Swap X &amp; Y flag. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+</body>
+</html>
diff --git a/doc/html/group__Ecore__FB__Click__Group.html b/doc/html/group__Ecore__FB__Click__Group.html
new file mode 100644
index 0000000..13154b8
--- /dev/null
+++ b/doc/html/group__Ecore__FB__Click__Group.html
@@ -0,0 +1,98 @@
+<html>
+
+<head>
+
+<title>Ecore: Framebuffer Double Click Functions</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1>Framebuffer Double Click Functions</h1>Functions that deal with the double click time of the framebuffer.  
+<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__FB__Click__Group.html#gc029af471622f928bd1a98df9de56fa1">ecore_fb_double_click_time_set</a> (double t)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the timeout for a double and triple clicks to be flagged.  <a href="#gc029af471622f928bd1a98df9de56fa1"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__FB__Click__Group.html#g0b27ae79d19271988f7451171ab0b086">ecore_fb_double_click_time_get</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the double and triple click flag timeout.  <a href="#g0b27ae79d19271988f7451171ab0b086"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Functions that deal with the double click time of the framebuffer. 
+<p>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="g0b27ae79d19271988f7451171ab0b086"></a><!-- doxytag: member="ecore_fb_ps2.c::ecore_fb_double_click_time_get" ref="g0b27ae79d19271988f7451171ab0b086" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI double ecore_fb_double_click_time_get           </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Retrieves the double and triple click flag timeout. 
+<p>
+See <a class="el" href="group__Ecore__Xcb__Display__Attr__Group.html#gfc0ad83fd20e71ffdd8d706323778f67">ecore_x_double_click_time_set</a> for more information.<p>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The timeout for double clicks in seconds. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="gc029af471622f928bd1a98df9de56fa1"></a><!-- doxytag: member="ecore_fb_ps2.c::ecore_fb_double_click_time_set" ref="gc029af471622f928bd1a98df9de56fa1" args="(double t)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_fb_double_click_time_set           </td>
+          <td>(</td>
+          <td class="paramtype">double&nbsp;</td>
+          <td class="paramname"> <em>t</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sets the timeout for a double and triple clicks to be flagged. 
+<p>
+This sets the time between clicks before the double_click flag is set in a button down event. If 3 clicks occur within double this time, the triple_click flag is also set.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>t</em>&nbsp;</td><td>The time in seconds </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+</body>
+</html>
diff --git a/doc/html/group__Ecore__FB__Contrast__Group.html b/doc/html/group__Ecore__FB__Contrast__Group.html
new file mode 100644
index 0000000..2041f47
--- /dev/null
+++ b/doc/html/group__Ecore__FB__Contrast__Group.html
@@ -0,0 +1,96 @@
+<html>
+
+<head>
+
+<title>Ecore: Framebuffer Contrast Functions</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1>Framebuffer Contrast Functions</h1>Values that set and retrieve the contrast of a framebuffer screen.  
+<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__FB__Contrast__Group.html#g641cafa7e17741cc7488deea7cf72329">ecore_fb_contrast_set</a> (double cr)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the contrast used by the framebuffer screen.  <a href="#g641cafa7e17741cc7488deea7cf72329"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__FB__Contrast__Group.html#gc0d0b7a530c5cfc4b94b94e56e3b35be">ecore_fb_contrast_get</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the contrast currently being used by the framebuffer screen.  <a href="#gc0d0b7a530c5cfc4b94b94e56e3b35be"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Values that set and retrieve the contrast of a framebuffer screen. 
+<p>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="gc0d0b7a530c5cfc4b94b94e56e3b35be"></a><!-- doxytag: member="ecore_fb_ts.c::ecore_fb_contrast_get" ref="gc0d0b7a530c5cfc4b94b94e56e3b35be" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI double ecore_fb_contrast_get           </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Retrieves the contrast currently being used by the framebuffer screen. 
+<p>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>A value between 0 and 1 that represents the current contrast of the screen. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g641cafa7e17741cc7488deea7cf72329"></a><!-- doxytag: member="ecore_fb_ts.c::ecore_fb_contrast_set" ref="g641cafa7e17741cc7488deea7cf72329" args="(double cr)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_fb_contrast_set           </td>
+          <td>(</td>
+          <td class="paramtype">double&nbsp;</td>
+          <td class="paramname"> <em>cr</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sets the contrast used by the framebuffer screen. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>cr</em>&nbsp;</td><td>Value between 0 and 1 that gives the new contrast of the screen. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+</body>
+</html>
diff --git a/doc/html/group__Ecore__FB__LED__Group.html b/doc/html/group__Ecore__FB__LED__Group.html
new file mode 100644
index 0000000..c8e1e0f
--- /dev/null
+++ b/doc/html/group__Ecore__FB__LED__Group.html
@@ -0,0 +1,101 @@
+<html>
+
+<head>
+
+<title>Ecore: Framebuffer LED Functions</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1>Framebuffer LED Functions</h1>Functions that deal with the light emitting diode connected to the current framebuffer.  
+<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__FB__LED__Group.html#g5a7b6c0b741c81b1a8e0626f7fe686c4">ecore_fb_led_set</a> (int on)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets whether the current framebuffer's LED to the given state.  <a href="#g5a7b6c0b741c81b1a8e0626f7fe686c4"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__FB__LED__Group.html#g3c3ae8419c3368d844770b616efdb360">ecore_fb_led_blink_set</a> (double speed)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Makes the LED of the current framebuffer blink.  <a href="#g3c3ae8419c3368d844770b616efdb360"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Functions that deal with the light emitting diode connected to the current framebuffer. 
+<p>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="g3c3ae8419c3368d844770b616efdb360"></a><!-- doxytag: member="ecore_fb_ts.c::ecore_fb_led_blink_set" ref="g3c3ae8419c3368d844770b616efdb360" args="(double speed)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_fb_led_blink_set           </td>
+          <td>(</td>
+          <td class="paramtype">double&nbsp;</td>
+          <td class="paramname"> <em>speed</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Makes the LED of the current framebuffer blink. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>speed</em>&nbsp;</td><td>Number to give the speed on the blink.</td></tr>
+  </table>
+</dl>
+<dl compact><dt><b><a class="el" href="todo.html#_todo000005">Todo:</a></b></dt><dd>Documentation: Work out what speed the units are in. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g5a7b6c0b741c81b1a8e0626f7fe686c4"></a><!-- doxytag: member="ecore_fb_ts.c::ecore_fb_led_set" ref="g5a7b6c0b741c81b1a8e0626f7fe686c4" args="(int on)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_fb_led_set           </td>
+          <td>(</td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>on</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sets whether the current framebuffer's LED to the given state. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>on</em>&nbsp;</td><td><code>1</code> to indicate the LED should be on, <code>0</code> if it should be off. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+</body>
+</html>
diff --git a/doc/html/group__Ecore__FB__Library__Group.html b/doc/html/group__Ecore__FB__Library__Group.html
new file mode 100644
index 0000000..33a8201
--- /dev/null
+++ b/doc/html/group__Ecore__FB__Library__Group.html
@@ -0,0 +1,97 @@
+<html>
+
+<head>
+
+<title>Ecore: Framebuffer Library Functions</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1>Framebuffer Library Functions</h1>Functions used to set up and shut down the Ecore_Framebuffer functions.  
+<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__FB__Library__Group.html#ge945032cdb59b1a1c7f7bdc6385189e2">ecore_fb_init</a> (const char *name __UNUSED__)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets up the Ecore_Fb library.  <a href="#ge945032cdb59b1a1c7f7bdc6385189e2"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__FB__Library__Group.html#gefa9ae93cf6163379747349bb8cc82f7">ecore_fb_shutdown</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Shuts down the Ecore_Fb library.  <a href="#gefa9ae93cf6163379747349bb8cc82f7"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Functions used to set up and shut down the Ecore_Framebuffer functions. 
+<p>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="ge945032cdb59b1a1c7f7bdc6385189e2"></a><!-- doxytag: member="ecore_fb.c::ecore_fb_init" ref="ge945032cdb59b1a1c7f7bdc6385189e2" args="(const char *name __UNUSED__)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_fb_init           </td>
+          <td>(</td>
+          <td class="paramtype">const char *name&nbsp;</td>
+          <td class="paramname"> <em>__UNUSED__</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sets up the Ecore_Fb library. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>device target name </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd><code>0</code> on failure. Otherwise, the number of times the library has been initialised without being shut down. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="gefa9ae93cf6163379747349bb8cc82f7"></a><!-- doxytag: member="ecore_fb.c::ecore_fb_shutdown" ref="gefa9ae93cf6163379747349bb8cc82f7" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_fb_shutdown           </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Shuts down the Ecore_Fb library. 
+<p>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd><code>The</code> number of times the system has been initialised without being shut down. </dd></dl>
+
+</div>
+</div><p>
+</body>
+</html>
diff --git a/doc/html/group__Ecore__FD__Handler__Group.html b/doc/html/group__Ecore__FD__Handler__Group.html
new file mode 100644
index 0000000..91e5de9
--- /dev/null
+++ b/doc/html/group__Ecore__FD__Handler__Group.html
@@ -0,0 +1,255 @@
+<html>
+
+<head>
+
+<title>Ecore: File Event Handling Functions</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1>File Event Handling Functions</h1>Functions that deal with file descriptor handlers.  
+<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI <a class="el" href="Ecore_8h.html#b207e5d7d1cf2f13b1ff93755f695324">Ecore_Fd_Handler</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__FD__Handler__Group.html#g6c0a9974e998e5b17c88b74e7eb4e852">ecore_main_fd_handler_add</a> (int fd, Ecore_Fd_Handler_Flags flags, int(*func)(void *data, <a class="el" href="Ecore_8h.html#b207e5d7d1cf2f13b1ff93755f695324">Ecore_Fd_Handler</a> *fd_handler), const void *data, int(*buf_func)(void *buf_data, <a class="el" href="Ecore_8h.html#b207e5d7d1cf2f13b1ff93755f695324">Ecore_Fd_Handler</a> *fd_handler), const void *buf_data)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Adds a callback for activity on the given file descriptor.  <a href="#g6c0a9974e998e5b17c88b74e7eb4e852"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__FD__Handler__Group.html#gd3f12bb7aa3b4240f001dcb27319eec2">ecore_main_fd_handler_del</a> (<a class="el" href="Ecore_8h.html#b207e5d7d1cf2f13b1ff93755f695324">Ecore_Fd_Handler</a> *fd_handler)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Deletes the given FD handler.  <a href="#gd3f12bb7aa3b4240f001dcb27319eec2"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__FD__Handler__Group.html#gbc14e9f2f670e1b1334949e142f858b6">ecore_main_fd_handler_fd_get</a> (<a class="el" href="Ecore_8h.html#b207e5d7d1cf2f13b1ff93755f695324">Ecore_Fd_Handler</a> *fd_handler)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the file descriptor that the given handler is handling.  <a href="#gbc14e9f2f670e1b1334949e142f858b6"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__FD__Handler__Group.html#g23b775f4dd6d59c83b1066139ddaeb57">ecore_main_fd_handler_active_get</a> (<a class="el" href="Ecore_8h.html#b207e5d7d1cf2f13b1ff93755f695324">Ecore_Fd_Handler</a> *fd_handler, Ecore_Fd_Handler_Flags flags)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return if read, write or error, or a combination thereof, is active on the file descriptor of the given FD handler.  <a href="#g23b775f4dd6d59c83b1066139ddaeb57"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__FD__Handler__Group.html#g8e1cecdf75529a274b28df1544e9aec0">ecore_main_fd_handler_active_set</a> (<a class="el" href="Ecore_8h.html#b207e5d7d1cf2f13b1ff93755f695324">Ecore_Fd_Handler</a> *fd_handler, Ecore_Fd_Handler_Flags flags)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set what active streams the given FD handler should be monitoring.  <a href="#g8e1cecdf75529a274b28df1544e9aec0"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Functions that deal with file descriptor handlers. 
+<p>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="g23b775f4dd6d59c83b1066139ddaeb57"></a><!-- doxytag: member="ecore_main.c::ecore_main_fd_handler_active_get" ref="g23b775f4dd6d59c83b1066139ddaeb57" args="(Ecore_Fd_Handler *fd_handler, Ecore_Fd_Handler_Flags flags)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_main_fd_handler_active_get           </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="Ecore_8h.html#b207e5d7d1cf2f13b1ff93755f695324">Ecore_Fd_Handler</a> *&nbsp;</td>
+          <td class="paramname"> <em>fd_handler</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_Fd_Handler_Flags&nbsp;</td>
+          <td class="paramname"> <em>flags</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Return if read, write or error, or a combination thereof, is active on the file descriptor of the given FD handler. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>fd_handler</em>&nbsp;</td><td>The given FD handler. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>flags</em>&nbsp;</td><td>The flags, <code>ECORE_FD_READ</code>, <code>ECORE_FD_WRITE</code> or <code>ECORE_FD_ERROR</code> to query. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd><code>1</code> if any of the given flags are active. <code>0</code> otherwise. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g8e1cecdf75529a274b28df1544e9aec0"></a><!-- doxytag: member="ecore_main.c::ecore_main_fd_handler_active_set" ref="g8e1cecdf75529a274b28df1544e9aec0" args="(Ecore_Fd_Handler *fd_handler, Ecore_Fd_Handler_Flags flags)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_main_fd_handler_active_set           </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="Ecore_8h.html#b207e5d7d1cf2f13b1ff93755f695324">Ecore_Fd_Handler</a> *&nbsp;</td>
+          <td class="paramname"> <em>fd_handler</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_Fd_Handler_Flags&nbsp;</td>
+          <td class="paramname"> <em>flags</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set what active streams the given FD handler should be monitoring. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>fd_handler</em>&nbsp;</td><td>The given FD handler. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>flags</em>&nbsp;</td><td>The flags to be watching. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g6c0a9974e998e5b17c88b74e7eb4e852"></a><!-- doxytag: member="ecore_main.c::ecore_main_fd_handler_add" ref="g6c0a9974e998e5b17c88b74e7eb4e852" args="(int fd, Ecore_Fd_Handler_Flags flags, int(*func)(void *data, Ecore_Fd_Handler *fd_handler), const void *data, int(*buf_func)(void *buf_data, Ecore_Fd_Handler *fd_handler), const void *buf_data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="Ecore_8h.html#b207e5d7d1cf2f13b1ff93755f695324">Ecore_Fd_Handler</a>* ecore_main_fd_handler_add           </td>
+          <td>(</td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>fd</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_Fd_Handler_Flags&nbsp;</td>
+          <td class="paramname"> <em>flags</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int(*)(void *data, <a class="el" href="Ecore_8h.html#b207e5d7d1cf2f13b1ff93755f695324">Ecore_Fd_Handler</a> *fd_handler)&nbsp;</td>
+          <td class="paramname"> <em>func</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>data</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int(*)(void *buf_data, <a class="el" href="Ecore_8h.html#b207e5d7d1cf2f13b1ff93755f695324">Ecore_Fd_Handler</a> *fd_handler)&nbsp;</td>
+          <td class="paramname"> <em>buf_func</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>buf_data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Adds a callback for activity on the given file descriptor. 
+<p>
+<code>func</code> will be called during the execution of <a class="el" href="group__Ecore__Main__Loop__Group.html#g04daa7648a9d027bed25d27c150fdda7">ecore_main_loop_begin</a> when the file descriptor is available for reading, or writing, or both.<p>
+Normally the return value from the <code>func</code> is "zero means this handler is finished and can be deleted" as is usual for handler callbacks. However, if the <code>buf_func</code> is supplied, then the return value from the <code>func</code> is "non zero means the handler should be called again in a tight loop".<p>
+<code>buf_func</code> is called during event loop handling to check if data that has been read from the file descriptor is in a buffer and is available to read. Some systems (notably xlib) handle their own buffering, and would otherwise not work with select(). These systems should use a <code>buf_func</code>. This is a most annoying hack, only ecore_x uses it, so refer to that for an example. NOTE - <code>func</code> should probably return "one" always if <code>buf_func</code> is used, to avoid confusion with the other return walue semantics.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>fd</em>&nbsp;</td><td>The file descriptor to watch. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>flags</em>&nbsp;</td><td>To watch it for read (<code>ECORE_FD_READ</code>) and/or (<code>ECORE_FD_WRITE</code>) write ability. <code>ECORE_FD_ERROR</code> </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>func</em>&nbsp;</td><td>The callback function. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>The data to pass to the callback. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>buf_func</em>&nbsp;</td><td>The function to call to check if any data has been buffered and already read from the fd. Can be <code>NULL</code>. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>buf_data</em>&nbsp;</td><td>The data to pass to the <code>buf_func</code> function. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>A fd handler handle if successful. <code>NULL</code> otherwise. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="gd3f12bb7aa3b4240f001dcb27319eec2"></a><!-- doxytag: member="ecore_main.c::ecore_main_fd_handler_del" ref="gd3f12bb7aa3b4240f001dcb27319eec2" args="(Ecore_Fd_Handler *fd_handler)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void* ecore_main_fd_handler_del           </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="Ecore_8h.html#b207e5d7d1cf2f13b1ff93755f695324">Ecore_Fd_Handler</a> *&nbsp;</td>
+          <td class="paramname"> <em>fd_handler</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Deletes the given FD handler. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>fd_handler</em>&nbsp;</td><td>The given FD handler. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The data pointer set using <a class="el" href="group__Ecore__FD__Handler__Group.html#g6c0a9974e998e5b17c88b74e7eb4e852">ecore_main_fd_handler_add</a>, for <code>fd_handler</code> on success. <code>NULL</code> otherwise. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="gbc14e9f2f670e1b1334949e142f858b6"></a><!-- doxytag: member="ecore_main.c::ecore_main_fd_handler_fd_get" ref="gbc14e9f2f670e1b1334949e142f858b6" args="(Ecore_Fd_Handler *fd_handler)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_main_fd_handler_fd_get           </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="Ecore_8h.html#b207e5d7d1cf2f13b1ff93755f695324">Ecore_Fd_Handler</a> *&nbsp;</td>
+          <td class="paramname"> <em>fd_handler</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Retrieves the file descriptor that the given handler is handling. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>fd_handler</em>&nbsp;</td><td>The given FD handler. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The file descriptor the handler is watching. </dd></dl>
+
+</div>
+</div><p>
+</body>
+</html>
diff --git a/doc/html/group__Ecore__IPC__Client__Group.html b/doc/html/group__Ecore__IPC__Client__Group.html
new file mode 100644
index 0000000..96cc36d
--- /dev/null
+++ b/doc/html/group__Ecore__IPC__Client__Group.html
@@ -0,0 +1,258 @@
+<html>
+
+<head>
+
+<title>Ecore: IPC Client Functions</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1>IPC Client Functions</h1>Functions that deal with IPC client objects.  
+<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__IPC__Client__Group.html#gd401b95b95c998bcf7749ffe876de812">ecore_ipc_client_send</a> (<a class="el" href="Ecore__Ipc_8h.html#907f972d57d41ff33fc6eb2a37be9ae8">Ecore_Ipc_Client</a> *cl, int major, int minor, int ref, int ref_to, int response, void *data, int size)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends a message to the given IPC client.  <a href="#gd401b95b95c998bcf7749ffe876de812"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI <a class="el" href="Ecore__Ipc_8h.html#e7e172a5fc9ae1b60deae8539b802c50">Ecore_Ipc_Server</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__IPC__Client__Group.html#g6fef6153dc1ed497d78265103518feed">ecore_ipc_client_server_get</a> (<a class="el" href="Ecore__Ipc_8h.html#907f972d57d41ff33fc6eb2a37be9ae8">Ecore_Ipc_Client</a> *cl)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the IPC server that the given IPC client is connected to.  <a href="#g6fef6153dc1ed497d78265103518feed"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__IPC__Client__Group.html#g33d563f3d055c9dbec3d3200cce36913">ecore_ipc_client_del</a> (<a class="el" href="Ecore__Ipc_8h.html#907f972d57d41ff33fc6eb2a37be9ae8">Ecore_Ipc_Client</a> *cl)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Closes the connection and frees memory allocated to the given IPC client.  <a href="#g33d563f3d055c9dbec3d3200cce36913"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__IPC__Client__Group.html#g7cdfcf0051c9d1bcc7e72aac33a0acd7">ecore_ipc_client_data_set</a> (<a class="el" href="Ecore__Ipc_8h.html#907f972d57d41ff33fc6eb2a37be9ae8">Ecore_Ipc_Client</a> *cl, const void *data)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the IPC data associated with the given IPC client to <code>data</code>.  <a href="#g7cdfcf0051c9d1bcc7e72aac33a0acd7"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__IPC__Client__Group.html#gb3285d8275d0662676c55f612dbaa49f">ecore_ipc_client_data_get</a> (<a class="el" href="Ecore__Ipc_8h.html#907f972d57d41ff33fc6eb2a37be9ae8">Ecore_Ipc_Client</a> *cl)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the data that has been associated with the given IPC client.  <a href="#gb3285d8275d0662676c55f612dbaa49f"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Functions that deal with IPC client objects. 
+<p>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="gb3285d8275d0662676c55f612dbaa49f"></a><!-- doxytag: member="ecore_ipc.c::ecore_ipc_client_data_get" ref="gb3285d8275d0662676c55f612dbaa49f" args="(Ecore_Ipc_Client *cl)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void* ecore_ipc_client_data_get           </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="Ecore__Ipc_8h.html#907f972d57d41ff33fc6eb2a37be9ae8">Ecore_Ipc_Client</a> *&nbsp;</td>
+          <td class="paramname"> <em>cl</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Retrieves the data that has been associated with the given IPC client. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>cl</em>&nbsp;</td><td>The given client. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The data associated with the IPC client. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g7cdfcf0051c9d1bcc7e72aac33a0acd7"></a><!-- doxytag: member="ecore_ipc.c::ecore_ipc_client_data_set" ref="g7cdfcf0051c9d1bcc7e72aac33a0acd7" args="(Ecore_Ipc_Client *cl, const void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_ipc_client_data_set           </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="Ecore__Ipc_8h.html#907f972d57d41ff33fc6eb2a37be9ae8">Ecore_Ipc_Client</a> *&nbsp;</td>
+          <td class="paramname"> <em>cl</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sets the IPC data associated with the given IPC client to <code>data</code>. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>cl</em>&nbsp;</td><td>The given IPC client. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>The data to associate with the IPC client. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g33d563f3d055c9dbec3d3200cce36913"></a><!-- doxytag: member="ecore_ipc.c::ecore_ipc_client_del" ref="g33d563f3d055c9dbec3d3200cce36913" args="(Ecore_Ipc_Client *cl)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void* ecore_ipc_client_del           </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="Ecore__Ipc_8h.html#907f972d57d41ff33fc6eb2a37be9ae8">Ecore_Ipc_Client</a> *&nbsp;</td>
+          <td class="paramname"> <em>cl</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Closes the connection and frees memory allocated to the given IPC client. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>cl</em>&nbsp;</td><td>The given client. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>Data associated with the client. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="gd401b95b95c998bcf7749ffe876de812"></a><!-- doxytag: member="ecore_ipc.c::ecore_ipc_client_send" ref="gd401b95b95c998bcf7749ffe876de812" args="(Ecore_Ipc_Client *cl, int major, int minor, int ref, int ref_to, int response, void *data, int size)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_ipc_client_send           </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="Ecore__Ipc_8h.html#907f972d57d41ff33fc6eb2a37be9ae8">Ecore_Ipc_Client</a> *&nbsp;</td>
+          <td class="paramname"> <em>cl</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>major</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>minor</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>ref</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>ref_to</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>response</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void *&nbsp;</td>
+          <td class="paramname"> <em>data</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>size</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sends a message to the given IPC client. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>cl</em>&nbsp;</td><td>The given IPC client. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>major</em>&nbsp;</td><td>Major opcode of the message. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>minor</em>&nbsp;</td><td>Minor opcode of the message. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>ref</em>&nbsp;</td><td>Reference number of the message. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>ref_to</em>&nbsp;</td><td>Reference number of the message this message refers to. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>response</em>&nbsp;</td><td>Requires response. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>The data to send as part of the message. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>size</em>&nbsp;</td><td>Length of the data, in bytes, to send. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The number of bytes sent. <code>0</code> will be returned if there is an error.</dd></dl>
+<dl compact><dt><b><a class="el" href="todo.html#_todo000012">Todo:</a></b></dt><dd>This function needs to become an IPC message. </dd></dl>
+<dl compact><dt><b><a class="el" href="todo.html#_todo000012">Todo:</a></b></dt><dd>Make sure ref_to and response parameters are described correctly. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g6fef6153dc1ed497d78265103518feed"></a><!-- doxytag: member="ecore_ipc.c::ecore_ipc_client_server_get" ref="g6fef6153dc1ed497d78265103518feed" args="(Ecore_Ipc_Client *cl)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="Ecore__Ipc_8h.html#e7e172a5fc9ae1b60deae8539b802c50">Ecore_Ipc_Server</a>* ecore_ipc_client_server_get           </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="Ecore__Ipc_8h.html#907f972d57d41ff33fc6eb2a37be9ae8">Ecore_Ipc_Client</a> *&nbsp;</td>
+          <td class="paramname"> <em>cl</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Retrieves the IPC server that the given IPC client is connected to. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>cl</em>&nbsp;</td><td>The given IPC client. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The IPC server the IPC client is connected to. </dd></dl>
+
+</div>
+</div><p>
+</body>
+</html>
diff --git a/doc/html/group__Ecore__IPC__Library__Group.html b/doc/html/group__Ecore__IPC__Library__Group.html
new file mode 100644
index 0000000..c5fea03
--- /dev/null
+++ b/doc/html/group__Ecore__IPC__Library__Group.html
@@ -0,0 +1,92 @@
+<html>
+
+<head>
+
+<title>Ecore: IPC Library Functions</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1>IPC Library Functions</h1>Functions that set up and shut down the Ecore IPC Library.  
+<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__IPC__Library__Group.html#gde1baa6a3e79dd7c9bd6244dad0e6571">ecore_ipc_init</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initialises the Ecore IPC library.  <a href="#gde1baa6a3e79dd7c9bd6244dad0e6571"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__IPC__Library__Group.html#g48e9b9ace36dd75ade7ffa90fa9a093c">ecore_ipc_shutdown</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Shuts down the Ecore IPC library.  <a href="#g48e9b9ace36dd75ade7ffa90fa9a093c"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Functions that set up and shut down the Ecore IPC Library. 
+<p>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="gde1baa6a3e79dd7c9bd6244dad0e6571"></a><!-- doxytag: member="ecore_ipc.c::ecore_ipc_init" ref="gde1baa6a3e79dd7c9bd6244dad0e6571" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_ipc_init           </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Initialises the Ecore IPC library. 
+<p>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>Number of times the library has been initialised without being shut down. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g48e9b9ace36dd75ade7ffa90fa9a093c"></a><!-- doxytag: member="ecore_ipc.c::ecore_ipc_shutdown" ref="g48e9b9ace36dd75ade7ffa90fa9a093c" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_ipc_shutdown           </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Shuts down the Ecore IPC library. 
+<p>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>Number of times the library has been initialised without being shut down. </dd></dl>
+
+</div>
+</div><p>
+</body>
+</html>
diff --git a/doc/html/group__Ecore__IPC__Server__Group.html b/doc/html/group__Ecore__IPC__Server__Group.html
new file mode 100644
index 0000000..31d445a
--- /dev/null
+++ b/doc/html/group__Ecore__IPC__Server__Group.html
@@ -0,0 +1,364 @@
+<html>
+
+<head>
+
+<title>Ecore: IPC Server Functions</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1>IPC Server Functions</h1>Functions the deal with IPC server objects.  
+<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI <a class="el" href="Ecore__Ipc_8h.html#e7e172a5fc9ae1b60deae8539b802c50">Ecore_Ipc_Server</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__IPC__Server__Group.html#geba705e14ef79c1f824fcc1c184ddadb">ecore_ipc_server_add</a> (Ecore_Ipc_Type compl_type, const char *name, int port, const void *data)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates an IPC server that listens for connections.  <a href="#geba705e14ef79c1f824fcc1c184ddadb"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI <a class="el" href="Ecore__Ipc_8h.html#e7e172a5fc9ae1b60deae8539b802c50">Ecore_Ipc_Server</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__IPC__Server__Group.html#gfe02c81940d4e5a464cb32e125887f7e">ecore_ipc_server_connect</a> (Ecore_Ipc_Type compl_type, char *name, int port, const void *data)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates an IPC server object to represent the IPC server listening on the given port.  <a href="#gfe02c81940d4e5a464cb32e125887f7e"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__IPC__Server__Group.html#g04148eb8454432091e29b185c68a3eb2">ecore_ipc_server_del</a> (<a class="el" href="Ecore__Ipc_8h.html#e7e172a5fc9ae1b60deae8539b802c50">Ecore_Ipc_Server</a> *svr)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Closes the connection and frees the given IPC server.  <a href="#g04148eb8454432091e29b185c68a3eb2"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__IPC__Server__Group.html#gc32fe6a6757a54e6714fb080472f8901">ecore_ipc_server_data_get</a> (<a class="el" href="Ecore__Ipc_8h.html#e7e172a5fc9ae1b60deae8539b802c50">Ecore_Ipc_Server</a> *svr)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the data associated with the given IPC server.  <a href="#gc32fe6a6757a54e6714fb080472f8901"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__IPC__Server__Group.html#gc585ae7ee881855af1f0322eaa5c5108">ecore_ipc_server_connected_get</a> (<a class="el" href="Ecore__Ipc_8h.html#e7e172a5fc9ae1b60deae8539b802c50">Ecore_Ipc_Server</a> *svr)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves whether the given IPC server is currently connected.  <a href="#gc585ae7ee881855af1f0322eaa5c5108"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_List *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__IPC__Server__Group.html#gc67d22ab84194a71ff9c4c51e718112a">ecore_ipc_server_clients_get</a> (<a class="el" href="Ecore__Ipc_8h.html#e7e172a5fc9ae1b60deae8539b802c50">Ecore_Ipc_Server</a> *svr)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the list of clients for this server.  <a href="#gc67d22ab84194a71ff9c4c51e718112a"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__IPC__Server__Group.html#ge192e84cfa5893c798662adfaed9dd57">ecore_ipc_server_send</a> (<a class="el" href="Ecore__Ipc_8h.html#e7e172a5fc9ae1b60deae8539b802c50">Ecore_Ipc_Server</a> *svr, int major, int minor, int ref, int ref_to, int response, void *data, int size)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends a message to the given IPC server.  <a href="#ge192e84cfa5893c798662adfaed9dd57"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Functions the deal with IPC server objects. 
+<p>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="geba705e14ef79c1f824fcc1c184ddadb"></a><!-- doxytag: member="ecore_ipc.c::ecore_ipc_server_add" ref="geba705e14ef79c1f824fcc1c184ddadb" args="(Ecore_Ipc_Type compl_type, const char *name, int port, const void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="Ecore__Ipc_8h.html#e7e172a5fc9ae1b60deae8539b802c50">Ecore_Ipc_Server</a>* ecore_ipc_server_add           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Ipc_Type&nbsp;</td>
+          <td class="paramname"> <em>compl_type</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>port</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Creates an IPC server that listens for connections. 
+<p>
+For more details about the <code>compl_type</code>, <code>name</code> and <code>port</code> parameters, see the <a class="el" href="group__Ecore__Con__Server__Group.html#gce4c9656c7bd6eef0d29621d6dd75dee">ecore_con_server_add</a> documentation.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>compl_type</em>&nbsp;</td><td>The connection type. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>Name to associate with the socket used for connection. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>port</em>&nbsp;</td><td>Number to identify with socket used for connection. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>Data to associate with the IPC server. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>New IPC server. If there is an error, <code>NULL</code> is returned.</dd></dl>
+<dl compact><dt><b><a class="el" href="todo.html#_todo000008">Todo:</a></b></dt><dd>Need to add protocol type parameter to this function. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="gc67d22ab84194a71ff9c4c51e718112a"></a><!-- doxytag: member="ecore_ipc.c::ecore_ipc_server_clients_get" ref="gc67d22ab84194a71ff9c4c51e718112a" args="(Ecore_Ipc_Server *svr)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Ecore_List* ecore_ipc_server_clients_get           </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="Ecore__Ipc_8h.html#e7e172a5fc9ae1b60deae8539b802c50">Ecore_Ipc_Server</a> *&nbsp;</td>
+          <td class="paramname"> <em>svr</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Retrieves the list of clients for this server. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>svr</em>&nbsp;</td><td>The given IPC server. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>An Ecore_List with the clients. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="gfe02c81940d4e5a464cb32e125887f7e"></a><!-- doxytag: member="ecore_ipc.c::ecore_ipc_server_connect" ref="gfe02c81940d4e5a464cb32e125887f7e" args="(Ecore_Ipc_Type compl_type, char *name, int port, const void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="Ecore__Ipc_8h.html#e7e172a5fc9ae1b60deae8539b802c50">Ecore_Ipc_Server</a>* ecore_ipc_server_connect           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Ipc_Type&nbsp;</td>
+          <td class="paramname"> <em>compl_type</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">char *&nbsp;</td>
+          <td class="paramname"> <em>name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>port</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Creates an IPC server object to represent the IPC server listening on the given port. 
+<p>
+For more details about the <code>compl_type</code>, <code>name</code> and <code>port</code> parameters, see the <a class="el" href="group__Ecore__Con__Server__Group.html#g2cd832b9d0e592559ac13de24634b316">ecore_con_server_connect</a> documentation.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>compl_type</em>&nbsp;</td><td>The IPC connection type. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>Name used to determine which socket to use for the IPC connection. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>port</em>&nbsp;</td><td>Number used to identify the socket to use for the IPC connection. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>Data to associate with the server. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>A new IPC server. <code>NULL</code> is returned on error.</dd></dl>
+<dl compact><dt><b><a class="el" href="todo.html#_todo000009">Todo:</a></b></dt><dd>Need to add protocol type parameter. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="gc585ae7ee881855af1f0322eaa5c5108"></a><!-- doxytag: member="ecore_ipc.c::ecore_ipc_server_connected_get" ref="gc585ae7ee881855af1f0322eaa5c5108" args="(Ecore_Ipc_Server *svr)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_ipc_server_connected_get           </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="Ecore__Ipc_8h.html#e7e172a5fc9ae1b60deae8539b802c50">Ecore_Ipc_Server</a> *&nbsp;</td>
+          <td class="paramname"> <em>svr</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Retrieves whether the given IPC server is currently connected. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>svr</em>&nbsp;</td><td>The given IPC server. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd><code>1</code> if the server is connected. <code>0</code> otherwise. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="gc32fe6a6757a54e6714fb080472f8901"></a><!-- doxytag: member="ecore_ipc.c::ecore_ipc_server_data_get" ref="gc32fe6a6757a54e6714fb080472f8901" args="(Ecore_Ipc_Server *svr)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void* ecore_ipc_server_data_get           </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="Ecore__Ipc_8h.html#e7e172a5fc9ae1b60deae8539b802c50">Ecore_Ipc_Server</a> *&nbsp;</td>
+          <td class="paramname"> <em>svr</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Retrieves the data associated with the given IPC server. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>svr</em>&nbsp;</td><td>The given IPC server. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The associated data. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g04148eb8454432091e29b185c68a3eb2"></a><!-- doxytag: member="ecore_ipc.c::ecore_ipc_server_del" ref="g04148eb8454432091e29b185c68a3eb2" args="(Ecore_Ipc_Server *svr)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void* ecore_ipc_server_del           </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="Ecore__Ipc_8h.html#e7e172a5fc9ae1b60deae8539b802c50">Ecore_Ipc_Server</a> *&nbsp;</td>
+          <td class="paramname"> <em>svr</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Closes the connection and frees the given IPC server. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>svr</em>&nbsp;</td><td>The given IPC server. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The data associated with the server when it was created. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="ge192e84cfa5893c798662adfaed9dd57"></a><!-- doxytag: member="ecore_ipc.c::ecore_ipc_server_send" ref="ge192e84cfa5893c798662adfaed9dd57" args="(Ecore_Ipc_Server *svr, int major, int minor, int ref, int ref_to, int response, void *data, int size)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_ipc_server_send           </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="Ecore__Ipc_8h.html#e7e172a5fc9ae1b60deae8539b802c50">Ecore_Ipc_Server</a> *&nbsp;</td>
+          <td class="paramname"> <em>svr</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>major</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>minor</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>ref</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>ref_to</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>response</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void *&nbsp;</td>
+          <td class="paramname"> <em>data</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>size</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sends a message to the given IPC server. 
+<p>
+The content of the parameters, excluding the <code>svr</code> paramter, is up to the client.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>svr</em>&nbsp;</td><td>The given IPC server. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>major</em>&nbsp;</td><td>Major opcode of the message. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>minor</em>&nbsp;</td><td>Minor opcode of the message. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>ref</em>&nbsp;</td><td>Message reference number. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>ref_to</em>&nbsp;</td><td>Reference number of the message this message refers to. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>response</em>&nbsp;</td><td>Requires response. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>The data to send as part of the message. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>size</em>&nbsp;</td><td>Length of the data, in bytes, to send. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>Number of bytes sent. <code>0</code> is returned if there is an error.</dd></dl>
+<dl compact><dt><b><a class="el" href="todo.html#_todo000010">Todo:</a></b></dt><dd>This function needs to become an IPC message. </dd></dl>
+<dl compact><dt><b><a class="el" href="todo.html#_todo000010">Todo:</a></b></dt><dd>Fix up the documentation: Make sure what ref_to and response are. </dd></dl>
+
+</div>
+</div><p>
+</body>
+</html>
diff --git a/doc/html/group__Ecore__Job__Group.html b/doc/html/group__Ecore__Job__Group.html
new file mode 100644
index 0000000..1564d8d
--- /dev/null
+++ b/doc/html/group__Ecore__Job__Group.html
@@ -0,0 +1,113 @@
+<html>
+
+<head>
+
+<title>Ecore: Ecore Jobs</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1>Ecore Jobs</h1>You can queue jobs that are to be done by the main loop when the current event is dealt with.  
+<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI <a class="el" href="Ecore__Job_8h.html#11cf21598fca412bd4a8a0a502717c61">Ecore_Job</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Job__Group.html#g9bb4655e3e4c06d78cd07aa0ac055956">ecore_job_add</a> (void(*func)(void *data), const void *data)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a job to the event queue.  <a href="#g9bb4655e3e4c06d78cd07aa0ac055956"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Job__Group.html#ge64c687b8d34b255cf9ab62175e62859">ecore_job_del</a> (<a class="el" href="Ecore__Job_8h.html#11cf21598fca412bd4a8a0a502717c61">Ecore_Job</a> *job)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Delete a queued job that has not yet been executed.  <a href="#ge64c687b8d34b255cf9ab62175e62859"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+You can queue jobs that are to be done by the main loop when the current event is dealt with. 
+<p>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="g9bb4655e3e4c06d78cd07aa0ac055956"></a><!-- doxytag: member="ecore_job.c::ecore_job_add" ref="g9bb4655e3e4c06d78cd07aa0ac055956" args="(void(*func)(void *data), const void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="Ecore__Job_8h.html#11cf21598fca412bd4a8a0a502717c61">Ecore_Job</a>* ecore_job_add           </td>
+          <td>(</td>
+          <td class="paramtype">void(*)(void *data)&nbsp;</td>
+          <td class="paramname"> <em>func</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Add a job to the event queue. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>func</em>&nbsp;</td><td>The function to call when the job gets handled. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>Data pointer to be passed to the job function when the job is handled. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The handle of the job. <code>NULL</code> is returned if the job could not be added to the queue.</dd></dl>
+<dl class="note" compact><dt><b>Note:</b></dt><dd>Once the job has been executed, the job handle is invalid. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="ge64c687b8d34b255cf9ab62175e62859"></a><!-- doxytag: member="ecore_job.c::ecore_job_del" ref="ge64c687b8d34b255cf9ab62175e62859" args="(Ecore_Job *job)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void* ecore_job_del           </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="Ecore__Job_8h.html#11cf21598fca412bd4a8a0a502717c61">Ecore_Job</a> *&nbsp;</td>
+          <td class="paramname"> <em>job</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Delete a queued job that has not yet been executed. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>job</em>&nbsp;</td><td>Handle of the job to delete. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The data pointer that was to be passed to the job. </dd></dl>
+
+</div>
+</div><p>
+</body>
+</html>
diff --git a/doc/html/group__Ecore__Main__Loop__Group.html b/doc/html/group__Ecore__Main__Loop__Group.html
new file mode 100644
index 0000000..22e5cc5
--- /dev/null
+++ b/doc/html/group__Ecore__Main__Loop__Group.html
@@ -0,0 +1,79 @@
+<html>
+
+<head>
+
+<title>Ecore: Main Loop Functions</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1>Main Loop Functions</h1>These functions control the Ecore event handling loop.  
+<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g7f5463c1d4f3f020968ed06d6e5816cb"></a><!-- doxytag: member="Ecore_Main_Loop_Group::ecore_main_loop_iterate" ref="g7f5463c1d4f3f020968ed06d6e5816cb" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Main__Loop__Group.html#g7f5463c1d4f3f020968ed06d6e5816cb">ecore_main_loop_iterate</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Runs a single iteration of the main loop to process everything on the queue. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Main__Loop__Group.html#g04daa7648a9d027bed25d27c150fdda7">ecore_main_loop_begin</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Runs the application main loop.  <a href="#g04daa7648a9d027bed25d27c150fdda7"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g329898ea4b32333c12c34cfde48326fd"></a><!-- doxytag: member="Ecore_Main_Loop_Group::ecore_main_loop_quit" ref="g329898ea4b32333c12c34cfde48326fd" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Main__Loop__Group.html#g329898ea4b32333c12c34cfde48326fd">ecore_main_loop_quit</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Quits the main loop once all the events currently on the queue have been processed. <br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+These functions control the Ecore event handling loop. 
+<p>
+This loop is designed to work on embedded systems all the way to large and powerful mutli-cpu workstations.<p>
+It serialises all system signals and events into a single event queue, that can be easily processed without needing to worry about concurrency. A properly written, event-driven program using this kind of programming does not need threads. It makes the program very robust and easy to follow.<p>
+Here is an example of simple program and its basic event loop flow: <div align="center">
+<img src="prog_flow.png" alt="prog_flow.png">
+</div>
+<p>
+For examples of setting up and using a main loop, see <a class="el" href="event__handler__example_8c-example.html">event_handler_example::c</a> and <a class="el" href="timer__example_8c-example.html">timer_example::c</a>. <hr><h2>Function Documentation</h2>
+<a class="anchor" name="g04daa7648a9d027bed25d27c150fdda7"></a><!-- doxytag: member="ecore_main.c::ecore_main_loop_begin" ref="g04daa7648a9d027bed25d27c150fdda7" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_main_loop_begin           </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Runs the application main loop. 
+<p>
+This function will not return until <a class="el" href="group__Ecore__Main__Loop__Group.html#g329898ea4b32333c12c34cfde48326fd">ecore_main_loop_quit</a> is called. 
+</div>
+</div><p>
+</body>
+</html>
diff --git a/doc/html/group__Ecore__Path__Group.html b/doc/html/group__Ecore__Path__Group.html
new file mode 100644
index 0000000..8978899
--- /dev/null
+++ b/doc/html/group__Ecore__Path__Group.html
@@ -0,0 +1,254 @@
+<html>
+
+<head>
+
+<title>Ecore: Path Group Functions</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1>Path Group Functions</h1>Functions that make it easier to find a file in a set of search paths.  
+<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Path__Group.html#g473c0199a5051f156c5f90620379aa5f">ecore_path_group_new</a> (char *group_name)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a new path group.  <a href="#g473c0199a5051f156c5f90620379aa5f"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Path__Group.html#gab5e4ad6a1bbd4d8f9981428008f8e7d">ecore_path_group_del</a> (int group_id)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destroys a previously created path group.  <a href="#gab5e4ad6a1bbd4d8f9981428008f8e7d"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Path__Group.html#g68a0408334b4a5917cd15f03eed96ba0">ecore_path_group_add</a> (int group_id, char *path)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Adds a directory to be searched for files.  <a href="#g68a0408334b4a5917cd15f03eed96ba0"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Path__Group.html#gfeca230cd94ad8a5616170c9d015efdb">ecore_path_group_remove</a> (int group_id, char *path)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Removes the given directory from the given group.  <a href="#gfeca230cd94ad8a5616170c9d015efdb"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Path__Group.html#g12f3c1df8f9ef551561409b36377621d">ecore_path_group_find</a> (int group_id, char *name)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Finds a file in a group of paths.  <a href="#g12f3c1df8f9ef551561409b36377621d"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_List *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Path__Group.html#g9f45c0a8e744b56b2b14d1cce60907be">ecore_path_group_available</a> (int group_id)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves a list of all available files in the given path.  <a href="#g9f45c0a8e744b56b2b14d1cce60907be"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Functions that make it easier to find a file in a set of search paths. 
+<p>
+<dl compact><dt><b><a class="el" href="todo.html#_todo000003">Todo:</a></b></dt><dd>Give this a better description. </dd></dl>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="g68a0408334b4a5917cd15f03eed96ba0"></a><!-- doxytag: member="ecore_path.c::ecore_path_group_add" ref="g68a0408334b4a5917cd15f03eed96ba0" args="(int group_id, char *path)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_path_group_add           </td>
+          <td>(</td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>group_id</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">char *&nbsp;</td>
+          <td class="paramname"> <em>path</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Adds a directory to be searched for files. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>group_id</em>&nbsp;</td><td>The unique identifier for the group to add the path. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>path</em>&nbsp;</td><td>The new path to be added to the group. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g9f45c0a8e744b56b2b14d1cce60907be"></a><!-- doxytag: member="ecore_path.c::ecore_path_group_available" ref="g9f45c0a8e744b56b2b14d1cce60907be" args="(int group_id)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Ecore_List* ecore_path_group_available           </td>
+          <td>(</td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>group_id</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Retrieves a list of all available files in the given path. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>group_id</em>&nbsp;</td><td>The identifier for the given path. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>A pointer to a newly allocated list of all files found in the paths identified by <code>group_id</code>. <code>NULL</code> otherwise. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="gab5e4ad6a1bbd4d8f9981428008f8e7d"></a><!-- doxytag: member="ecore_path.c::ecore_path_group_del" ref="gab5e4ad6a1bbd4d8f9981428008f8e7d" args="(int group_id)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_path_group_del           </td>
+          <td>(</td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>group_id</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Destroys a previously created path group. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>group_id</em>&nbsp;</td><td>The unique identifier for the group. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g12f3c1df8f9ef551561409b36377621d"></a><!-- doxytag: member="ecore_path.c::ecore_path_group_find" ref="g12f3c1df8f9ef551561409b36377621d" args="(int group_id, char *name)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI char* ecore_path_group_find           </td>
+          <td>(</td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>group_id</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">char *&nbsp;</td>
+          <td class="paramname"> <em>name</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Finds a file in a group of paths. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>group_id</em>&nbsp;</td><td>The path group id to search. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>The name of the file to find. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>A pointer to a newly allocated path location of the found file on success. <code>NULL</code> on failure. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g473c0199a5051f156c5f90620379aa5f"></a><!-- doxytag: member="ecore_path.c::ecore_path_group_new" ref="g473c0199a5051f156c5f90620379aa5f" args="(char *group_name)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_path_group_new           </td>
+          <td>(</td>
+          <td class="paramtype">char *&nbsp;</td>
+          <td class="paramname"> <em>group_name</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Creates a new path group. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>group_name</em>&nbsp;</td><td>The name of the new group. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd><code>0</code> on error, the integer id of the new group on success. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="gfeca230cd94ad8a5616170c9d015efdb"></a><!-- doxytag: member="ecore_path.c::ecore_path_group_remove" ref="gfeca230cd94ad8a5616170c9d015efdb" args="(int group_id, char *path)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_path_group_remove           </td>
+          <td>(</td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>group_id</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">char *&nbsp;</td>
+          <td class="paramname"> <em>path</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Removes the given directory from the given group. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>group_id</em>&nbsp;</td><td>The identifier for the given group. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>path</em>&nbsp;</td><td>The path of the directory to be removed. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+</body>
+</html>
diff --git a/doc/html/group__Ecore__Plugin.html b/doc/html/group__Ecore__Plugin.html
new file mode 100644
index 0000000..0157eb9
--- /dev/null
+++ b/doc/html/group__Ecore__Plugin.html
@@ -0,0 +1,111 @@
+<html>
+
+<head>
+
+<title>Ecore: Plugin Functions</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1>Plugin Functions</h1>Functions that load modules of compiled code into memory.  
+<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_Plugin *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Plugin.html#gd18ad5feab33494fe59e666995f5e50d">ecore_plugin_load</a> (int group_id, const char *plugin_name)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Loads the specified plugin from the specified path group.  <a href="#gd18ad5feab33494fe59e666995f5e50d"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Plugin.html#gcffe2e8b05e697882026a4ab2a8e6a96">ecore_plugin_unload</a> (Ecore_Plugin *plugin)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Unloads the given plugin from memory.  <a href="#gcffe2e8b05e697882026a4ab2a8e6a96"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Functions that load modules of compiled code into memory. 
+<p>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="gd18ad5feab33494fe59e666995f5e50d"></a><!-- doxytag: member="ecore_plugin.c::ecore_plugin_load" ref="gd18ad5feab33494fe59e666995f5e50d" args="(int group_id, const char *plugin_name)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Ecore_Plugin* ecore_plugin_load           </td>
+          <td>(</td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>group_id</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>plugin_name</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Loads the specified plugin from the specified path group. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>group_id</em>&nbsp;</td><td>The path group to search for the plugin to load </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>plugin_name</em>&nbsp;</td><td>The name of the plugin to load. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>A pointer to the newly loaded plugin on success, <code>NULL</code> on failure. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="gcffe2e8b05e697882026a4ab2a8e6a96"></a><!-- doxytag: member="ecore_plugin.c::ecore_plugin_unload" ref="gcffe2e8b05e697882026a4ab2a8e6a96" args="(Ecore_Plugin *plugin)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_plugin_unload           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_Plugin *&nbsp;</td>
+          <td class="paramname"> <em>plugin</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Unloads the given plugin from memory. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>plugin</em>&nbsp;</td><td>The given plugin. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+</body>
+</html>
diff --git a/doc/html/group__Ecore__Sdl__Library__Group.html b/doc/html/group__Ecore__Sdl__Library__Group.html
new file mode 100644
index 0000000..4102d0a
--- /dev/null
+++ b/doc/html/group__Ecore__Sdl__Library__Group.html
@@ -0,0 +1,35 @@
+<html>
+
+<head>
+
+<title>Ecore: Framebuffer Library Functions</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1>Framebuffer Library Functions</h1>Functions used to set up and shut down the Ecore_Framebuffer functions.  
+<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+</table>
+</body>
+</html>
diff --git a/doc/html/group__Ecore__String__Group.html b/doc/html/group__Ecore__String__Group.html
new file mode 100644
index 0000000..a99fc58
--- /dev/null
+++ b/doc/html/group__Ecore__String__Group.html
@@ -0,0 +1,103 @@
+<html>
+
+<head>
+
+<title>Ecore: String Instance Functions</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1>String Instance Functions</h1>These functions allow you to store one copy of a string, and use it throughout your program.  
+<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__String__Group.html#g30c9f103f58a9d2e9b3e31acc99978d8">ecore_string_instance</a> (const char *string)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves an instance of a string for use in an ecore program.  <a href="#g30c9f103f58a9d2e9b3e31acc99978d8"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__String__Group.html#gd551844a4defc87dd4623d0b4ad19588">ecore_string_release</a> (const char *string)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Notes that the given string has lost an instance.  <a href="#gd551844a4defc87dd4623d0b4ad19588"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+These functions allow you to store one copy of a string, and use it throughout your program. 
+<p>
+This is a method to reduce the number of duplicated strings kept in memory. It's pretty common for the same strings to be dynamically allocated repeatedly between applications and libraries, especially in circumstances where you could have multiple copies of a structure that allocates the string. So rather than duplicating and freeing these strings, you request a read-only pointer to an existing string and only incur the overhead of a hash lookup.<p>
+It sounds like micro-optimizing, but profiling has shown this can have a significant impact as you scale the number of copies up. It improves string creation/destruction speed, reduces memory use and decreases memory fragmentation, so a win all-around. <hr><h2>Function Documentation</h2>
+<a class="anchor" name="g30c9f103f58a9d2e9b3e31acc99978d8"></a><!-- doxytag: member="ecore_strings.c::ecore_string_instance" ref="g30c9f103f58a9d2e9b3e31acc99978d8" args="(const char *string)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI const char* ecore_string_instance           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>string</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Retrieves an instance of a string for use in an ecore program. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>string</em>&nbsp;</td><td>The string to retrieve an instance of. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>A pointer to an instance of the string on success. <code>NULL</code> on failure. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="gd551844a4defc87dd4623d0b4ad19588"></a><!-- doxytag: member="ecore_strings.c::ecore_string_release" ref="gd551844a4defc87dd4623d0b4ad19588" args="(const char *string)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_string_release           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>string</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Notes that the given string has lost an instance. 
+<p>
+It will free the string if no other instances are left.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>string</em>&nbsp;</td><td>The given string. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+</body>
+</html>
diff --git a/doc/html/group__Ecore__Time__Group.html b/doc/html/group__Ecore__Time__Group.html
new file mode 100644
index 0000000..d4b11ec
--- /dev/null
+++ b/doc/html/group__Ecore__Time__Group.html
@@ -0,0 +1,187 @@
+<html>
+
+<head>
+
+<title>Ecore: Ecore Time Functions</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1>Ecore Time Functions</h1>Functions that deal with time.  
+<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Time__Group.html#g43846b079394bb4d098abf5c16dfc544">ecore_time_get</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the current system time as a floating point value in seconds.  <a href="#g43846b079394bb4d098abf5c16dfc544"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI <a class="el" href="Ecore_8h.html#92618001317bf801365479da38c6a870">Ecore_Timer</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Time__Group.html#g8b8fb1c64bf42bc5be09d2f05df51813">ecore_timer_add</a> (double in, int(*func)(void *data), const void *data)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a timer to call the given function in the given period of time.  <a href="#g8b8fb1c64bf42bc5be09d2f05df51813"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Time__Group.html#gb182e4c0e65b5b7241f7249de1b1039c">ecore_timer_del</a> (<a class="el" href="Ecore_8h.html#92618001317bf801365479da38c6a870">Ecore_Timer</a> *timer)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Delete the specified timer from the timer list.  <a href="#gb182e4c0e65b5b7241f7249de1b1039c"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Time__Group.html#g7e3453623b90b1e182df46976c11d1e3">ecore_timer_interval_set</a> (<a class="el" href="Ecore_8h.html#92618001317bf801365479da38c6a870">Ecore_Timer</a> *timer, double in)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Change the interval the timer ticks of.  <a href="#g7e3453623b90b1e182df46976c11d1e3"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Functions that deal with time. 
+<p>
+These functions include those that simply retrieve it in a given format, and those that create events based on it. <hr><h2>Function Documentation</h2>
+<a class="anchor" name="g43846b079394bb4d098abf5c16dfc544"></a><!-- doxytag: member="ecore_time.c::ecore_time_get" ref="g43846b079394bb4d098abf5c16dfc544" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI double ecore_time_get           </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Retrieves the current system time as a floating point value in seconds. 
+<p>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The number of seconds since 12.00AM 1st January 1970. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g8b8fb1c64bf42bc5be09d2f05df51813"></a><!-- doxytag: member="ecore_timer.c::ecore_timer_add" ref="g8b8fb1c64bf42bc5be09d2f05df51813" args="(double in, int(*func)(void *data), const void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="Ecore_8h.html#92618001317bf801365479da38c6a870">Ecore_Timer</a>* ecore_timer_add           </td>
+          <td>(</td>
+          <td class="paramtype">double&nbsp;</td>
+          <td class="paramname"> <em>in</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int(*)(void *data)&nbsp;</td>
+          <td class="paramname"> <em>func</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Creates a timer to call the given function in the given period of time. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>in</em>&nbsp;</td><td>The interval in seconds. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>func</em>&nbsp;</td><td>The given function. If <code>func</code> returns 1, the timer is rescheduled for the next interval <code>in</code>. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>Data to pass to <code>func</code> when it is called. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>A timer object on success. <code>NULL</code> on failure.</dd></dl>
+This function adds a timer and returns its handle on success and NULL on failure. The function <code>func</code> will be called every @ seconds. The function will be passed the <code>data</code> pointer as its parameter.<p>
+When the timer <code>func</code> is called, it must return a value of either 1 or 0. If it returns 1, it will be called again at the next tick, or if it returns 0 it will be deleted automatically making any references/handles for it invalid. 
+</div>
+</div><p>
+<a class="anchor" name="gb182e4c0e65b5b7241f7249de1b1039c"></a><!-- doxytag: member="ecore_timer.c::ecore_timer_del" ref="gb182e4c0e65b5b7241f7249de1b1039c" args="(Ecore_Timer *timer)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void* ecore_timer_del           </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="Ecore_8h.html#92618001317bf801365479da38c6a870">Ecore_Timer</a> *&nbsp;</td>
+          <td class="paramname"> <em>timer</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Delete the specified timer from the timer list. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>timer</em>&nbsp;</td><td>The timer to delete. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The data pointer set for the timer when <a class="el" href="group__Ecore__Time__Group.html#g8b8fb1c64bf42bc5be09d2f05df51813">ecore_timer_add</a> was called. <code>NULL</code> is returned if the function is unsuccessful.</dd></dl>
+Note: <code>timer</code> must be a valid handle. If the timer function has already returned 0, the handle is no longer valid (and does not need to be delete). 
+</div>
+</div><p>
+<a class="anchor" name="g7e3453623b90b1e182df46976c11d1e3"></a><!-- doxytag: member="ecore_timer.c::ecore_timer_interval_set" ref="g7e3453623b90b1e182df46976c11d1e3" args="(Ecore_Timer *timer, double in)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_timer_interval_set           </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="Ecore_8h.html#92618001317bf801365479da38c6a870">Ecore_Timer</a> *&nbsp;</td>
+          <td class="paramname"> <em>timer</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double&nbsp;</td>
+          <td class="paramname"> <em>in</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Change the interval the timer ticks of. 
+<p>
+If set during a timer call, this will affect the next interval.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>timer</em>&nbsp;</td><td>The timer to change. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>in</em>&nbsp;</td><td>The interval in seconds. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+</body>
+</html>
diff --git a/doc/html/group__Ecore__Timer__Group.html b/doc/html/group__Ecore__Timer__Group.html
new file mode 100644
index 0000000..1af12dc
--- /dev/null
+++ b/doc/html/group__Ecore__Timer__Group.html
@@ -0,0 +1,35 @@
+<html>
+
+<head>
+
+<title>Ecore: Ecore Timer</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1>Ecore Timer</h1>The timer allows callbacks to be called at specific intervals.  
+<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+</table>
+</body>
+</html>
diff --git a/doc/html/group__Ecore__X__Atom__Group.html b/doc/html/group__Ecore__X__Atom__Group.html
new file mode 100644
index 0000000..3cd4329
--- /dev/null
+++ b/doc/html/group__Ecore__X__Atom__Group.html
@@ -0,0 +1,106 @@
+<html>
+
+<head>
+
+<title>Ecore: XCB Atom Functions</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1>XCB Atom Functions</h1>Functions that operate on atoms.  
+<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Atom__Group.html#g4c6beeb04b4a0e23895a34c38c615125">ecore_x_atom_get_prefetch</a> (const char *name)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the InternAtom request.  <a href="#g4c6beeb04b4a0e23895a34c38c615125"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g74cd977810f7decf26961d1277544952"></a><!-- doxytag: member="Ecore_X_Atom_Group::ecore_x_atom_get_fetch" ref="g74cd977810f7decf26961d1277544952" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Atom__Group.html#g74cd977810f7decf26961d1277544952">ecore_x_atom_get_fetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the reply of the InternAtom request sent by <a class="el" href="group__Ecore__X__Atom__Group.html#g4c6beeb04b4a0e23895a34c38c615125">ecore_x_atom_get_prefetch()</a>. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_X_Atom&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Atom__Group.html#g620b716ab9d058022c9070dfc929993f">ecore_x_atom_get</a> (const char *name __UNUSED__)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the atom value associated to a name.  <a href="#g620b716ab9d058022c9070dfc929993f"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Functions that operate on atoms. 
+<p>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="g620b716ab9d058022c9070dfc929993f"></a><!-- doxytag: member="ecore_xcb_atom.c::ecore_x_atom_get" ref="g620b716ab9d058022c9070dfc929993f" args="(const char *name __UNUSED__)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Ecore_X_Atom ecore_x_atom_get           </td>
+          <td>(</td>
+          <td class="paramtype">const char *name&nbsp;</td>
+          <td class="paramname"> <em>__UNUSED__</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Retrieves the atom value associated to a name. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>Unused. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>Associated atom value.</dd></dl>
+Retrieves the atom value associated to a name. The reply is the returned value of the function ecore_xcb_intern_atom_reply(). If <code>reply</code> is <code>NULL</code>, the NULL atom is returned. Otherwise, the atom associated to the name is returned.<p>
+To use this function, you must call before, and in order, <a class="el" href="group__Ecore__X__Atom__Group.html#g4c6beeb04b4a0e23895a34c38c615125">ecore_x_atom_get_prefetch()</a>, which sends the InternAtom request, then <a class="el" href="group__Ecore__X__Atom__Group.html#g74cd977810f7decf26961d1277544952">ecore_x_atom_get_fetch()</a>, which gets the reply. 
+</div>
+</div><p>
+<a class="anchor" name="g4c6beeb04b4a0e23895a34c38c615125"></a><!-- doxytag: member="ecore_xcb_atom.c::ecore_x_atom_get_prefetch" ref="g4c6beeb04b4a0e23895a34c38c615125" args="(const char *name)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_atom_get_prefetch           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>name</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sends the InternAtom request. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>Name of the requested atom. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+</body>
+</html>
diff --git a/doc/html/group__Ecore__X__DPMS__Group.html b/doc/html/group__Ecore__X__DPMS__Group.html
new file mode 100644
index 0000000..c91028f
--- /dev/null
+++ b/doc/html/group__Ecore__X__DPMS__Group.html
@@ -0,0 +1,460 @@
+<html>
+
+<head>
+
+<title>Ecore: X DPMS Extension Functions</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1>X DPMS Extension Functions</h1>Functions related to the X DPMS extension.  
+<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__DPMS__Group.html#g032ee4fb13efffefc4f6a472ecd8fdc6">ecore_x_dpms_query</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks if the DPMS extension is available or not.  <a href="#g032ee4fb13efffefc4f6a472ecd8fdc6"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__DPMS__Group.html#gcc046dd0ff301db75a220b44165d70d7">ecore_x_dpms_capable_get</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks if the X server is capable of DPMS.  <a href="#gcc046dd0ff301db75a220b44165d70d7"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__DPMS__Group.html#g41784bf96145cddc7a9a3d3b7022bb7a">ecore_x_dpms_enabled_get</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks the DPMS state of the display.  <a href="#g41784bf96145cddc7a9a3d3b7022bb7a"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__DPMS__Group.html#gbad51cbf45115e47e5b79370cb0262f1">ecore_x_dpms_enabled_set</a> (int enabled)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the DPMS state of the display.  <a href="#gbad51cbf45115e47e5b79370cb0262f1"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__DPMS__Group.html#g7b648c34d84859af30563fff3ed1a9f4">ecore_x_dpms_timeouts_get</a> (unsigned int *standby, unsigned int *suspend, unsigned int *off)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the timeouts.  <a href="#g7b648c34d84859af30563fff3ed1a9f4"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__DPMS__Group.html#gdcb653306d26c1677a7fff274dda5a51">ecore_x_dpms_timeouts_set</a> (unsigned int standby, unsigned int suspend, unsigned int off)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the timeouts.  <a href="#gdcb653306d26c1677a7fff274dda5a51"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__DPMS__Group.html#g6e4a68ec1147d2fdc87c6a215aafd9ef">ecore_x_dpms_timeout_standby_get</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the amount of time of inactivity before standby mode is invoked.  <a href="#g6e4a68ec1147d2fdc87c6a215aafd9ef"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__DPMS__Group.html#g373fc80d403f3226a4ad65690eb8255a">ecore_x_dpms_timeout_suspend_get</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the amount of time of inactivity before the second level of power saving is invoked.  <a href="#g373fc80d403f3226a4ad65690eb8255a"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__DPMS__Group.html#gc8e40bb33ca0a50aacc59c82a68d5a02">ecore_x_dpms_timeout_off_get</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the amount of time of inactivity before the third and final level of power saving is invoked.  <a href="#gc8e40bb33ca0a50aacc59c82a68d5a02"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__DPMS__Group.html#g8137436224fc8e92f24b2eaad590d659">ecore_x_dpms_timeout_standby_set</a> (unsigned int new_timeout)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the standby timeout (in unit of seconds).  <a href="#g8137436224fc8e92f24b2eaad590d659"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__DPMS__Group.html#gb9acd7327a664d9a53b766e5c24c935e">ecore_x_dpms_timeout_suspend_set</a> (unsigned int new_timeout)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the suspend timeout (in unit of seconds).  <a href="#gb9acd7327a664d9a53b766e5c24c935e"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__DPMS__Group.html#g937f645a05628761889bf0d3815de851">ecore_x_dpms_timeout_off_set</a> (unsigned int new_timeout)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the off timeout (in unit of seconds).  <a href="#g937f645a05628761889bf0d3815de851"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g57c4b53ec3e7398959703e86e08b2edc"></a><!-- doxytag: member="Ecore_X_DPMS_Group::ecore_x_dpms_capable_get_prefetch" ref="g57c4b53ec3e7398959703e86e08b2edc" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__DPMS__Group.html#g57c4b53ec3e7398959703e86e08b2edc">ecore_x_dpms_capable_get_prefetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the DPMSCapable request. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g30d1afa503d86e43aaf1e91452ee5cec"></a><!-- doxytag: member="Ecore_X_DPMS_Group::ecore_x_dpms_capable_get_fetch" ref="g30d1afa503d86e43aaf1e91452ee5cec" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__DPMS__Group.html#g30d1afa503d86e43aaf1e91452ee5cec">ecore_x_dpms_capable_get_fetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the reply of the DPMSCapable request sent by <a class="el" href="group__Ecore__X__DPMS__Group.html#g57c4b53ec3e7398959703e86e08b2edc">ecore_x_dpms_capable_get_prefetch()</a>. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g3acf2e4676f0c4e7d15dd55d895a664f"></a><!-- doxytag: member="Ecore_X_DPMS_Group::ecore_x_dpms_enable_get_prefetch" ref="g3acf2e4676f0c4e7d15dd55d895a664f" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__DPMS__Group.html#g3acf2e4676f0c4e7d15dd55d895a664f">ecore_x_dpms_enable_get_prefetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the DPMSInfo request. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gd135ecdd36d61f718bcde127dda01ae0"></a><!-- doxytag: member="Ecore_X_DPMS_Group::ecore_x_dpms_enable_get_fetch" ref="gd135ecdd36d61f718bcde127dda01ae0" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__DPMS__Group.html#gd135ecdd36d61f718bcde127dda01ae0">ecore_x_dpms_enable_get_fetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the reply of the DPMSInfo request sent by <a class="el" href="group__Ecore__X__DPMS__Group.html#g3acf2e4676f0c4e7d15dd55d895a664f">ecore_x_dpms_enable_get_prefetch()</a>. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__DPMS__Group.html#g0a009a4d693a661b093e24c45f0fcf47">ecore_x_dpms_enable_get</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks the DPMS state of the display.  <a href="#g0a009a4d693a661b093e24c45f0fcf47"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g1f7c26484063ed488792590ef83a25af"></a><!-- doxytag: member="Ecore_X_DPMS_Group::ecore_x_dpms_timeouts_get_prefetch" ref="g1f7c26484063ed488792590ef83a25af" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__DPMS__Group.html#g1f7c26484063ed488792590ef83a25af">ecore_x_dpms_timeouts_get_prefetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the DPMSGetTimeouts request. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gb45150258267e7390235b42b9597ddfd"></a><!-- doxytag: member="Ecore_X_DPMS_Group::ecore_x_dpms_timeouts_get_fetch" ref="gb45150258267e7390235b42b9597ddfd" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__DPMS__Group.html#gb45150258267e7390235b42b9597ddfd">ecore_x_dpms_timeouts_get_fetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the reply of the DPMSGetTimeouts request sent by <a class="el" href="group__Ecore__X__DPMS__Group.html#g1f7c26484063ed488792590ef83a25af">ecore_x_dpms_timeouts_get_prefetch()</a>. <br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Functions related to the X DPMS extension. 
+<p>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="gcc046dd0ff301db75a220b44165d70d7"></a><!-- doxytag: member="ecore_x_dpms.c::ecore_x_dpms_capable_get" ref="gcc046dd0ff301db75a220b44165d70d7" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_x_dpms_capable_get           </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Checks if the X server is capable of DPMS. 
+<p>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd><code>1</code> if the X server is capable of DPMS, <code>0</code> otherwise. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g0a009a4d693a661b093e24c45f0fcf47"></a><!-- doxytag: member="ecore_xcb_dpms.c::ecore_x_dpms_enable_get" ref="g0a009a4d693a661b093e24c45f0fcf47" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_x_dpms_enable_get           </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Checks the DPMS state of the display. 
+<p>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd><code>1</code> if DPMS is enabled, <code>0</code> otherwise.</dd></dl>
+To use this function, you must call before, and in order, ecore_x_dpms_enapable_get_prefetch(), which sends the DPMSInfo request, then ecore_x_dpms_enapable_get_fetch(), which gets the reply. 
+</div>
+</div><p>
+<a class="anchor" name="g41784bf96145cddc7a9a3d3b7022bb7a"></a><!-- doxytag: member="ecore_x_dpms.c::ecore_x_dpms_enabled_get" ref="g41784bf96145cddc7a9a3d3b7022bb7a" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_x_dpms_enabled_get           </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Checks the DPMS state of the display. 
+<p>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd><code>1</code> if DPMS is enabled, <code>0</code> otherwise. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="gbad51cbf45115e47e5b79370cb0262f1"></a><!-- doxytag: member="ecore_x_dpms.c::ecore_x_dpms_enabled_set" ref="gbad51cbf45115e47e5b79370cb0262f1" args="(int enabled)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_dpms_enabled_set           </td>
+          <td>(</td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>enabled</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sets the DPMS state of the display. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>enabled</em>&nbsp;</td><td><code>0</code> to disable DPMS characteristics of the server, enable it otherwise. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g032ee4fb13efffefc4f6a472ecd8fdc6"></a><!-- doxytag: member="ecore_x_dpms.c::ecore_x_dpms_query" ref="g032ee4fb13efffefc4f6a472ecd8fdc6" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_x_dpms_query           </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Checks if the DPMS extension is available or not. 
+<p>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd><code>1</code> if the X DPMS extension is available, <code>0</code> otherwise. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="gc8e40bb33ca0a50aacc59c82a68d5a02"></a><!-- doxytag: member="ecore_x_dpms.c::ecore_x_dpms_timeout_off_get" ref="gc8e40bb33ca0a50aacc59c82a68d5a02" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI unsigned int ecore_x_dpms_timeout_off_get           </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Returns the amount of time of inactivity before the third and final level of power saving is invoked. 
+<p>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The off timeout value. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g937f645a05628761889bf0d3815de851"></a><!-- doxytag: member="ecore_x_dpms.c::ecore_x_dpms_timeout_off_set" ref="g937f645a05628761889bf0d3815de851" args="(unsigned int new_timeout)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_dpms_timeout_off_set           </td>
+          <td>(</td>
+          <td class="paramtype">unsigned int&nbsp;</td>
+          <td class="paramname"> <em>new_off</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sets the off timeout (in unit of seconds). 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>off</em>&nbsp;</td><td>Amount of time of inactivity before the monitor is shut off. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g6e4a68ec1147d2fdc87c6a215aafd9ef"></a><!-- doxytag: member="ecore_x_dpms.c::ecore_x_dpms_timeout_standby_get" ref="g6e4a68ec1147d2fdc87c6a215aafd9ef" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI unsigned int ecore_x_dpms_timeout_standby_get           </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Returns the amount of time of inactivity before standby mode is invoked. 
+<p>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The standby timeout value. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g8137436224fc8e92f24b2eaad590d659"></a><!-- doxytag: member="ecore_x_dpms.c::ecore_x_dpms_timeout_standby_set" ref="g8137436224fc8e92f24b2eaad590d659" args="(unsigned int new_timeout)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_dpms_timeout_standby_set           </td>
+          <td>(</td>
+          <td class="paramtype">unsigned int&nbsp;</td>
+          <td class="paramname"> <em>new_standby</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sets the standby timeout (in unit of seconds). 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>new_standby</em>&nbsp;</td><td>Amount of time of inactivity before standby mode will be invoked. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g373fc80d403f3226a4ad65690eb8255a"></a><!-- doxytag: member="ecore_x_dpms.c::ecore_x_dpms_timeout_suspend_get" ref="g373fc80d403f3226a4ad65690eb8255a" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI unsigned int ecore_x_dpms_timeout_suspend_get           </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Returns the amount of time of inactivity before the second level of power saving is invoked. 
+<p>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The suspend timeout value. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="gb9acd7327a664d9a53b766e5c24c935e"></a><!-- doxytag: member="ecore_x_dpms.c::ecore_x_dpms_timeout_suspend_set" ref="gb9acd7327a664d9a53b766e5c24c935e" args="(unsigned int new_timeout)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_dpms_timeout_suspend_set           </td>
+          <td>(</td>
+          <td class="paramtype">unsigned int&nbsp;</td>
+          <td class="paramname"> <em>new_suspend</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sets the suspend timeout (in unit of seconds). 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>suspend</em>&nbsp;</td><td>Amount of time of inactivity before the screen is placed into suspend mode. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g7b648c34d84859af30563fff3ed1a9f4"></a><!-- doxytag: member="ecore_x_dpms.c::ecore_x_dpms_timeouts_get" ref="g7b648c34d84859af30563fff3ed1a9f4" args="(unsigned int *standby, unsigned int *suspend, unsigned int *off)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_dpms_timeouts_get           </td>
+          <td>(</td>
+          <td class="paramtype">unsigned int *&nbsp;</td>
+          <td class="paramname"> <em>standby</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">unsigned int *&nbsp;</td>
+          <td class="paramname"> <em>suspend</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">unsigned int *&nbsp;</td>
+          <td class="paramname"> <em>off</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Gets the timeouts. 
+<p>
+The values are in unit of seconds. <dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>standby</em>&nbsp;</td><td>Amount of time of inactivity before standby mode will be invoked. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>suspend</em>&nbsp;</td><td>Amount of time of inactivity before the screen is placed into suspend mode. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>off</em>&nbsp;</td><td>Amount of time of inactivity before the monitor is shut off. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="gdcb653306d26c1677a7fff274dda5a51"></a><!-- doxytag: member="ecore_x_dpms.c::ecore_x_dpms_timeouts_set" ref="gdcb653306d26c1677a7fff274dda5a51" args="(unsigned int standby, unsigned int suspend, unsigned int off)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_x_dpms_timeouts_set           </td>
+          <td>(</td>
+          <td class="paramtype">unsigned int&nbsp;</td>
+          <td class="paramname"> <em>standby</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">unsigned int&nbsp;</td>
+          <td class="paramname"> <em>suspend</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">unsigned int&nbsp;</td>
+          <td class="paramname"> <em>off</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sets the timeouts. 
+<p>
+The values are in unit of seconds. <dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>standby</em>&nbsp;</td><td>Amount of time of inactivity before standby mode will be invoked. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>suspend</em>&nbsp;</td><td>Amount of time of inactivity before the screen is placed into suspend mode. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>off</em>&nbsp;</td><td>Amount of time of inactivity before the monitor is shut off. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+</body>
+</html>
diff --git a/doc/html/group__Ecore__X__Damage__Group.html b/doc/html/group__Ecore__X__Damage__Group.html
new file mode 100644
index 0000000..0ac52a3
--- /dev/null
+++ b/doc/html/group__Ecore__X__Damage__Group.html
@@ -0,0 +1,184 @@
+<html>
+
+<head>
+
+<title>Ecore: X Damage Extension Functions</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1>X Damage Extension Functions</h1>Functions related to the X Damage extension.  
+<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Damage__Group.html#g6bf9f36736d2a3326d7a8c49cdc17815">ecore_x_damage_query</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return whether the Damage Extension is available.  <a href="#g6bf9f36736d2a3326d7a8c49cdc17815"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_X_Damage&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Damage__Group.html#gdc985407bfd0756db858552e478005d5">ecore_x_damage_new</a> (Ecore_X_Drawable drawable, Ecore_X_Damage_Report_Level level)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a damage object.  <a href="#gdc985407bfd0756db858552e478005d5"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Damage__Group.html#g1641eb19e8543a763e2c3c2754e9f285">ecore_x_damage_del</a> (Ecore_X_Damage damage)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destroys a damage object.  <a href="#g1641eb19e8543a763e2c3c2754e9f285"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Damage__Group.html#gede48cd79919238d061c78a28f3d4610">ecore_x_damage_subtract</a> (Ecore_X_Damage damage, Ecore_X_Region repair, Ecore_X_Region parts)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Synchronously modifies the region.  <a href="#gede48cd79919238d061c78a28f3d4610"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Functions related to the X Damage extension. 
+<p>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="g1641eb19e8543a763e2c3c2754e9f285"></a><!-- doxytag: member="ecore_xcb_damage.c::ecore_x_damage_del" ref="g1641eb19e8543a763e2c3c2754e9f285" args="(Ecore_X_Damage damage)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_damage_del           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Damage&nbsp;</td>
+          <td class="paramname"> <em>damage</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Destroys a damage object. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>damage</em>&nbsp;</td><td>The damage object to destroy.</td></tr>
+  </table>
+</dl>
+Destroys the damage object <code>damage</code>. 
+</div>
+</div><p>
+<a class="anchor" name="gdc985407bfd0756db858552e478005d5"></a><!-- doxytag: member="ecore_xcb_damage.c::ecore_x_damage_new" ref="gdc985407bfd0756db858552e478005d5" args="(Ecore_X_Drawable drawable, Ecore_X_Damage_Report_Level level)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Ecore_X_Damage ecore_x_damage_new           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Drawable&nbsp;</td>
+          <td class="paramname"> <em>drawable</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Damage_Report_Level&nbsp;</td>
+          <td class="paramname"> <em>level</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Creates a damage object. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>drawable</em>&nbsp;</td><td>The drawable to monotor. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>level</em>&nbsp;</td><td>The level of the damage report. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The damage object.</dd></dl>
+Creates a damage object to monitor changes to <code>drawable</code>, with the level <code>level</code>. 
+</div>
+</div><p>
+<a class="anchor" name="g6bf9f36736d2a3326d7a8c49cdc17815"></a><!-- doxytag: member="ecore_xcb_damage.c::ecore_x_damage_query" ref="g6bf9f36736d2a3326d7a8c49cdc17815" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_x_damage_query           </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Return whether the Damage Extension is available. 
+<p>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 if the Damage Extension is available, 0 if not.</dd></dl>
+Return 1 if the X server supports the Damage Extension version 1.0, 0 otherwise. 
+</div>
+</div><p>
+<a class="anchor" name="gede48cd79919238d061c78a28f3d4610"></a><!-- doxytag: member="ecore_xcb_damage.c::ecore_x_damage_subtract" ref="gede48cd79919238d061c78a28f3d4610" args="(Ecore_X_Damage damage, Ecore_X_Region repair, Ecore_X_Region parts)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_damage_subtract           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Damage&nbsp;</td>
+          <td class="paramname"> <em>damage</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Region&nbsp;</td>
+          <td class="paramname"> <em>repair</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Region&nbsp;</td>
+          <td class="paramname"> <em>parts</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Synchronously modifies the region. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>damage</em>&nbsp;</td><td>The damage object to destroy. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>repair</em>&nbsp;</td><td>The repair region. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>parts</em>&nbsp;</td><td>The parts region.</td></tr>
+  </table>
+</dl>
+Synchronously modifies the regions in the following manner: If <code>repair</code> is <code>XCB_NONE:</code> 1) parts = damage 2) damage = &lt;empty&gt; Otherwise: 1) parts = damage INTERSECT repair 2) damage = damage - parts 3) Generate DamageNotify for remaining damage areas 
+</div>
+</div><p>
+</body>
+</html>
diff --git a/doc/html/group__Ecore__X__Display__Attr__Group.html b/doc/html/group__Ecore__X__Display__Attr__Group.html
new file mode 100644
index 0000000..c66b75f
--- /dev/null
+++ b/doc/html/group__Ecore__X__Display__Attr__Group.html
@@ -0,0 +1,150 @@
+<html>
+
+<head>
+
+<title>Ecore: X Display Attributes</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1>X Display Attributes</h1>Functions that set and retrieve X display attributes.  
+<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_X_Display *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Display__Attr__Group.html#g19e90a6e5305432577d984a11e45cb16">ecore_x_display_get</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the Ecore_X_Display handle used for the current X connection.  <a href="#g19e90a6e5305432577d984a11e45cb16"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Display__Attr__Group.html#g6d11859fd7a822cbde4236be67a8df24">ecore_x_fd_get</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the X display file descriptor.  <a href="#g6d11859fd7a822cbde4236be67a8df24"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Display__Attr__Group.html#gfc0ad83fd20e71ffdd8d706323778f67">ecore_x_double_click_time_set</a> (double t)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the timeout for a double and triple clicks to be flagged.  <a href="#gfc0ad83fd20e71ffdd8d706323778f67"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Display__Attr__Group.html#g0595a462bd4ffe0450ba45658624eb7e">ecore_x_double_click_time_get</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the double and triple click flag timeout.  <a href="#g0595a462bd4ffe0450ba45658624eb7e"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Functions that set and retrieve X display attributes. 
+<p>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="g19e90a6e5305432577d984a11e45cb16"></a><!-- doxytag: member="ecore_x.c::ecore_x_display_get" ref="g19e90a6e5305432577d984a11e45cb16" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Ecore_X_Display* ecore_x_display_get           </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Retrieves the Ecore_X_Display handle used for the current X connection. 
+<p>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The current X display. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g0595a462bd4ffe0450ba45658624eb7e"></a><!-- doxytag: member="ecore_x.c::ecore_x_double_click_time_get" ref="g0595a462bd4ffe0450ba45658624eb7e" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI double ecore_x_double_click_time_get           </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Retrieves the double and triple click flag timeout. 
+<p>
+See <a class="el" href="group__Ecore__Xcb__Display__Attr__Group.html#gfc0ad83fd20e71ffdd8d706323778f67">ecore_x_double_click_time_set</a> for more information.<p>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The timeout for double clicks in seconds. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="gfc0ad83fd20e71ffdd8d706323778f67"></a><!-- doxytag: member="ecore_x.c::ecore_x_double_click_time_set" ref="gfc0ad83fd20e71ffdd8d706323778f67" args="(double t)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_double_click_time_set           </td>
+          <td>(</td>
+          <td class="paramtype">double&nbsp;</td>
+          <td class="paramname"> <em>t</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sets the timeout for a double and triple clicks to be flagged. 
+<p>
+This sets the time between clicks before the double_click flag is set in a button down event. If 3 clicks occur within double this time, the triple_click flag is also set.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>t</em>&nbsp;</td><td>The time in seconds </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g6d11859fd7a822cbde4236be67a8df24"></a><!-- doxytag: member="ecore_x.c::ecore_x_fd_get" ref="g6d11859fd7a822cbde4236be67a8df24" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_x_fd_get           </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Retrieves the X display file descriptor. 
+<p>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The current X display file descriptor. </dd></dl>
+
+</div>
+</div><p>
+</body>
+</html>
diff --git a/doc/html/group__Ecore__X__Drawable__Group.html b/doc/html/group__Ecore__X__Drawable__Group.html
new file mode 100644
index 0000000..bb51bfb
--- /dev/null
+++ b/doc/html/group__Ecore__X__Drawable__Group.html
@@ -0,0 +1,320 @@
+<html>
+
+<head>
+
+<title>Ecore: X Drawable Functions</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1>X Drawable Functions</h1>Functions that operate on drawables.  
+<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Drawable__Group.html#g59de54a283d18070c5f3c0d52b87e2b7">ecore_x_drawable_geometry_get</a> (Ecore_X_Drawable d, int *x, int *y, int *w, int *h)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the geometry of the given drawable.  <a href="#g59de54a283d18070c5f3c0d52b87e2b7"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Drawable__Group.html#g218285639dcb306d4211544a480bf1ba">ecore_x_drawable_border_width_get</a> (Ecore_X_Drawable d)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the width of the border of the given drawable.  <a href="#g218285639dcb306d4211544a480bf1ba"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Drawable__Group.html#g1ce2cba70a5a86636cc79c886abc3c55">ecore_x_drawable_depth_get</a> (Ecore_X_Drawable d)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the depth of the given drawable.  <a href="#g1ce2cba70a5a86636cc79c886abc3c55"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Drawable__Group.html#g3fa895ad27d43041247767eeff1e234f">ecore_x_drawable_geometry_get_prefetch</a> (Ecore_X_Drawable drawable)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the GetGeometry request.  <a href="#g3fa895ad27d43041247767eeff1e234f"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gcd12f290bc7db9241e683da4855c27e4"></a><!-- doxytag: member="Ecore_X_Drawable_Group::ecore_x_drawable_geometry_get_fetch" ref="gcd12f290bc7db9241e683da4855c27e4" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Drawable__Group.html#gcd12f290bc7db9241e683da4855c27e4">ecore_x_drawable_geometry_get_fetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the reply of the GetGeometry request sent by <a class="el" href="group__Ecore__X__Atom__Group.html#g4c6beeb04b4a0e23895a34c38c615125">ecore_x_atom_get_prefetch()</a>. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Drawable__Group.html#g12f93ad96f567d8fa830d98d704a3c4b">ecore_x_drawable_geometry_get</a> (Ecore_X_Drawable drawable __UNUSED__, int *x, int *y, int *width, int *height)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the geometry of the given drawable.  <a href="#g12f93ad96f567d8fa830d98d704a3c4b"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Drawable__Group.html#ga859aea64efd638ef622bdfbac00f410">ecore_x_drawable_border_width_get</a> (Ecore_X_Drawable drawable __UNUSED__)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the width of the border of the given drawable.  <a href="#ga859aea64efd638ef622bdfbac00f410"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Drawable__Group.html#g411dda6bef956063f3874d2feb9f3016">ecore_x_drawable_depth_get</a> (Ecore_X_Drawable drawable __UNUSED__)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the depth of the given drawable.  <a href="#g411dda6bef956063f3874d2feb9f3016"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Functions that operate on drawables. 
+<p>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="ga859aea64efd638ef622bdfbac00f410"></a><!-- doxytag: member="ecore_xcb_drawable.c::ecore_x_drawable_border_width_get" ref="ga859aea64efd638ef622bdfbac00f410" args="(Ecore_X_Drawable drawable __UNUSED__)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_x_drawable_border_width_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Drawable drawable&nbsp;</td>
+          <td class="paramname"> <em>__UNUSED__</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Retrieves the width of the border of the given drawable. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>drawable</em>&nbsp;</td><td>Unused. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The border width of the given drawable.</dd></dl>
+To use this function, you must call before, and in order, <a class="el" href="group__Ecore__X__Drawable__Group.html#g3fa895ad27d43041247767eeff1e234f">ecore_x_drawable_geometry_get_prefetch()</a>, which sends the GetGeometry request, then <a class="el" href="group__Ecore__X__Drawable__Group.html#gcd12f290bc7db9241e683da4855c27e4">ecore_x_drawable_geometry_get_fetch()</a>, which gets the reply. 
+</div>
+</div><p>
+<a class="anchor" name="g218285639dcb306d4211544a480bf1ba"></a><!-- doxytag: member="ecore_x_drawable.c::ecore_x_drawable_border_width_get" ref="g218285639dcb306d4211544a480bf1ba" args="(Ecore_X_Drawable d)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_x_drawable_border_width_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Drawable&nbsp;</td>
+          <td class="paramname"> <em>d</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Retrieves the width of the border of the given drawable. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>d</em>&nbsp;</td><td>The given drawable. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The border width of the given drawable. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g411dda6bef956063f3874d2feb9f3016"></a><!-- doxytag: member="ecore_xcb_drawable.c::ecore_x_drawable_depth_get" ref="g411dda6bef956063f3874d2feb9f3016" args="(Ecore_X_Drawable drawable __UNUSED__)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_x_drawable_depth_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Drawable drawable&nbsp;</td>
+          <td class="paramname"> <em>__UNUSED__</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Retrieves the depth of the given drawable. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>drawable</em>&nbsp;</td><td>Unused. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The depth of the given drawable.</dd></dl>
+To use this function, you must call before, and in order, <a class="el" href="group__Ecore__X__Drawable__Group.html#g3fa895ad27d43041247767eeff1e234f">ecore_x_drawable_geometry_get_prefetch()</a>, which sends the GetGeometry request, then <a class="el" href="group__Ecore__X__Drawable__Group.html#gcd12f290bc7db9241e683da4855c27e4">ecore_x_drawable_geometry_get_fetch()</a>, which gets the reply. 
+</div>
+</div><p>
+<a class="anchor" name="g1ce2cba70a5a86636cc79c886abc3c55"></a><!-- doxytag: member="ecore_x_drawable.c::ecore_x_drawable_depth_get" ref="g1ce2cba70a5a86636cc79c886abc3c55" args="(Ecore_X_Drawable d)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_x_drawable_depth_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Drawable&nbsp;</td>
+          <td class="paramname"> <em>d</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Retrieves the depth of the given drawable. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>d</em>&nbsp;</td><td>The given drawable. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The depth of the given drawable. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g12f93ad96f567d8fa830d98d704a3c4b"></a><!-- doxytag: member="ecore_xcb_drawable.c::ecore_x_drawable_geometry_get" ref="g12f93ad96f567d8fa830d98d704a3c4b" args="(Ecore_X_Drawable drawable __UNUSED__, int *x, int *y, int *width, int *height)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_drawable_geometry_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Drawable drawable&nbsp;</td>
+          <td class="paramname"> <em>__UNUSED__</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>width</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>height</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Retrieves the geometry of the given drawable. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>drawable</em>&nbsp;</td><td>Unused. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>Pointer to an integer into which the X position is to be stored. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</td><td>Pointer to an integer into which the Y position is to be stored. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>width</em>&nbsp;</td><td>Pointer to an integer into which the width is to be stored. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>height</em>&nbsp;</td><td>Pointer to an integer into which the height is to be stored.</td></tr>
+  </table>
+</dl>
+To use this function, you must call before, and in order, <a class="el" href="group__Ecore__X__Drawable__Group.html#g3fa895ad27d43041247767eeff1e234f">ecore_x_drawable_geometry_get_prefetch()</a>, which sends the GetGeometry request, then <a class="el" href="group__Ecore__X__Drawable__Group.html#gcd12f290bc7db9241e683da4855c27e4">ecore_x_drawable_geometry_get_fetch()</a>, which gets the reply. 
+</div>
+</div><p>
+<a class="anchor" name="g59de54a283d18070c5f3c0d52b87e2b7"></a><!-- doxytag: member="ecore_x_drawable.c::ecore_x_drawable_geometry_get" ref="g59de54a283d18070c5f3c0d52b87e2b7" args="(Ecore_X_Drawable d, int *x, int *y, int *w, int *h)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_drawable_geometry_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Drawable&nbsp;</td>
+          <td class="paramname"> <em>d</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>w</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>h</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Retrieves the geometry of the given drawable. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>d</em>&nbsp;</td><td>The given drawable. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>Pointer to an integer into which the X position is to be stored. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</td><td>Pointer to an integer into which the Y position is to be stored. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>w</em>&nbsp;</td><td>Pointer to an integer into which the width is to be stored. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>h</em>&nbsp;</td><td>Pointer to an integer into which the height is to be stored. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g3fa895ad27d43041247767eeff1e234f"></a><!-- doxytag: member="ecore_xcb_drawable.c::ecore_x_drawable_geometry_get_prefetch" ref="g3fa895ad27d43041247767eeff1e234f" args="(Ecore_X_Drawable drawable)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_drawable_geometry_get_prefetch           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Drawable&nbsp;</td>
+          <td class="paramname"> <em>drawable</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sends the GetGeometry request. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>drawable</em>&nbsp;</td><td>Drawable whose characteristics are sought. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+</body>
+</html>
diff --git a/doc/html/group__Ecore__X__Fixes__Group.html b/doc/html/group__Ecore__X__Fixes__Group.html
new file mode 100644
index 0000000..5409f77
--- /dev/null
+++ b/doc/html/group__Ecore__X__Fixes__Group.html
@@ -0,0 +1,953 @@
+<html>
+
+<head>
+
+<title>Ecore: X Fixes Extension Functions</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1>X Fixes Extension Functions</h1>Functions related to the X Fixes extension.  
+<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Fixes__Group.html#g6ac073275cd435c8ecc4c63e621c08aa">ecore_x_xfixes_query</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return whether the X server supports the Fixes Extension.  <a href="#g6ac073275cd435c8ecc4c63e621c08aa"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_X_Region&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Fixes__Group.html#g6a076823964f40a64c4b0e2c2137c7dd">ecore_x_region_new</a> (Ecore_X_Rectangle *rects, int num)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a region from rectangles.  <a href="#g6a076823964f40a64c4b0e2c2137c7dd"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_X_Region&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Fixes__Group.html#g2bd12d26d3e8ef4530818e55420cdead">ecore_x_region_new_from_bitmap</a> (Ecore_X_Pixmap bitmap)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a region from a pixmap.  <a href="#g2bd12d26d3e8ef4530818e55420cdead"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_X_Region&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Fixes__Group.html#gdfb1063da9ff8530bcdb418c58e4a125">ecore_x_region_new_from_window</a> (Ecore_X_Window window, Ecore_X_Region_Type type)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a region from a window.  <a href="#gdfb1063da9ff8530bcdb418c58e4a125"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_X_Region&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Fixes__Group.html#gc1dce8dab49024cad065feedee473383">ecore_x_region_new_from_gc</a> (Ecore_X_GC gc)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a region from a graphic context.  <a href="#gc1dce8dab49024cad065feedee473383"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_X_Region&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Fixes__Group.html#ga46367f4d333b9d4ef4d74dcec6635a5">ecore_x_region_new_from_picture</a> (Ecore_X_Picture picture)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a region from a picture.  <a href="#ga46367f4d333b9d4ef4d74dcec6635a5"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Fixes__Group.html#g823fca3ac6edf2b3cd19d1454432dbb3">ecore_x_region_del</a> (Ecore_X_Region region)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destroy a region.  <a href="#g823fca3ac6edf2b3cd19d1454432dbb3"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Fixes__Group.html#g11e45abe4f74c5556e3007f2a477b750">ecore_x_region_set</a> (Ecore_X_Region region, Ecore_X_Rectangle *rects, int num)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the content of a region.  <a href="#g11e45abe4f74c5556e3007f2a477b750"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Fixes__Group.html#g751219ea6491c157b464a06934cb794c">ecore_x_region_copy</a> (Ecore_X_Region dest, Ecore_X_Region source)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy the content of a region.  <a href="#g751219ea6491c157b464a06934cb794c"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Fixes__Group.html#g8c11c110bf6f674a30a1e854efd79fc5">ecore_x_region_combine</a> (Ecore_X_Region dest, Ecore_X_Region source1, Ecore_X_Region source2)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Make the union of two regions.  <a href="#g8c11c110bf6f674a30a1e854efd79fc5"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Fixes__Group.html#gca61e974a3e085dcf875a92228cf37d9">ecore_x_region_intersect</a> (Ecore_X_Region dest, Ecore_X_Region source1, Ecore_X_Region source2)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Make the intersection of two regions.  <a href="#gca61e974a3e085dcf875a92228cf37d9"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Fixes__Group.html#g3a4882c9f8fd172fc411bd6917c948c8">ecore_x_region_subtract</a> (Ecore_X_Region dest, Ecore_X_Region source1, Ecore_X_Region source2)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Make the substraction of two regions.  <a href="#g3a4882c9f8fd172fc411bd6917c948c8"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Fixes__Group.html#gfb593f8755c960955f82619a4c8d2b46">ecore_x_region_invert</a> (Ecore_X_Region dest, Ecore_X_Rectangle *bounds, Ecore_X_Region source)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Make the substraction of regions by bounds.  <a href="#gfb593f8755c960955f82619a4c8d2b46"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Fixes__Group.html#g57215689f69b1c76a2ab4f2a6d5266d2">ecore_x_region_translate</a> (Ecore_X_Region region, int dx, int dy)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Translate a region.  <a href="#g57215689f69b1c76a2ab4f2a6d5266d2"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Fixes__Group.html#gec43b244400f78625b5df28892a36354">ecore_x_region_extents</a> (Ecore_X_Region dest, Ecore_X_Region source)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Extent a region.  <a href="#gec43b244400f78625b5df28892a36354"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Fixes__Group.html#g7f88bc47da4734a82821eaa361bf351d">ecore_x_region_fetch_prefetch</a> (Ecore_X_Region region)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the XFixesFetchRegion request.  <a href="#g7f88bc47da4734a82821eaa361bf351d"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gef7d7d47ff0775c9ece020afd59151ea"></a><!-- doxytag: member="Ecore_X_Fixes_Group::ecore_x_region_fetch_fetch" ref="gef7d7d47ff0775c9ece020afd59151ea" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Fixes__Group.html#gef7d7d47ff0775c9ece020afd59151ea">ecore_x_region_fetch_fetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the reply of the XFixesFetchRegion request sent by ecore_xcb_region_fetch_prefetch(). <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_X_Rectangle *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Fixes__Group.html#g804cb633957daba47eb54b51d3bf9b2d">ecore_x_region_fetch</a> (Ecore_X_Region region __UNUSED__, int *num, Ecore_X_Rectangle *bounds)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the rectangles that compose a region.  <a href="#g804cb633957daba47eb54b51d3bf9b2d"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Fixes__Group.html#g46c6d13c8e7a0fdaad6e8729321405fa">ecore_x_region_expand</a> (Ecore_X_Region dest, Ecore_X_Region source, unsigned int left, unsigned int right, unsigned int top, unsigned int bottom)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Expand a region.  <a href="#g46c6d13c8e7a0fdaad6e8729321405fa"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Fixes__Group.html#g30ede720135e613b6425b75ba13f0adc">ecore_x_region_gc_clip_set</a> (Ecore_X_Region region, Ecore_X_GC gc, int x_origin, int y_origin)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Change clip-mask in a graphic context to the specified region.  <a href="#g30ede720135e613b6425b75ba13f0adc"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Fixes__Group.html#g2d162c226f1168c0f3b1bc9dc3c0a045">ecore_x_region_window_shape_set</a> (Ecore_X_Region region, Ecore_X_Window dest, Ecore_X_Shape_Type type, int x_offset, int y_offset)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Change the shape extension of a window.  <a href="#g2d162c226f1168c0f3b1bc9dc3c0a045"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Fixes__Group.html#g713590858dc8851b45acdbd0348e5093">ecore_x_region_picture_clip_set</a> (Ecore_X_Region region, Ecore_X_Picture picture, int x_origin, int y_origin)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Change clip-mask in picture to the specified region.  <a href="#g713590858dc8851b45acdbd0348e5093"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Functions related to the X Fixes extension. 
+<p>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="g8c11c110bf6f674a30a1e854efd79fc5"></a><!-- doxytag: member="ecore_xcb_fixes.c::ecore_x_region_combine" ref="g8c11c110bf6f674a30a1e854efd79fc5" args="(Ecore_X_Region dest, Ecore_X_Region source1, Ecore_X_Region source2)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_region_combine           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Region&nbsp;</td>
+          <td class="paramname"> <em>dest</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Region&nbsp;</td>
+          <td class="paramname"> <em>source1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Region&nbsp;</td>
+          <td class="paramname"> <em>source2</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Make the union of two regions. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>dest</em>&nbsp;</td><td>The destination region. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>source1</em>&nbsp;</td><td>The first source region. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>source2</em>&nbsp;</td><td>The second source region.</td></tr>
+  </table>
+</dl>
+Replace the contents of <code>dest</code> with the union of <code>source1</code> and <code>source2</code>. 
+</div>
+</div><p>
+<a class="anchor" name="g751219ea6491c157b464a06934cb794c"></a><!-- doxytag: member="ecore_xcb_fixes.c::ecore_x_region_copy" ref="g751219ea6491c157b464a06934cb794c" args="(Ecore_X_Region dest, Ecore_X_Region source)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_region_copy           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Region&nbsp;</td>
+          <td class="paramname"> <em>dest</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Region&nbsp;</td>
+          <td class="paramname"> <em>source</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Copy the content of a region. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>dest</em>&nbsp;</td><td>The destination region. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>source</em>&nbsp;</td><td>The source region.</td></tr>
+  </table>
+</dl>
+Replace the contents of <code>dest</code> with the contents of <code>source</code>. 
+</div>
+</div><p>
+<a class="anchor" name="g823fca3ac6edf2b3cd19d1454432dbb3"></a><!-- doxytag: member="ecore_xcb_fixes.c::ecore_x_region_del" ref="g823fca3ac6edf2b3cd19d1454432dbb3" args="(Ecore_X_Region region)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_region_del           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Region&nbsp;</td>
+          <td class="paramname"> <em>region</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Destroy a region. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>region</em>&nbsp;</td><td>The region to destroy.</td></tr>
+  </table>
+</dl>
+Destroy the specified <code>region</code>. 
+</div>
+</div><p>
+<a class="anchor" name="g46c6d13c8e7a0fdaad6e8729321405fa"></a><!-- doxytag: member="ecore_xcb_fixes.c::ecore_x_region_expand" ref="g46c6d13c8e7a0fdaad6e8729321405fa" args="(Ecore_X_Region dest, Ecore_X_Region source, unsigned int left, unsigned int right, unsigned int top, unsigned int bottom)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_region_expand           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Region&nbsp;</td>
+          <td class="paramname"> <em>dest</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Region&nbsp;</td>
+          <td class="paramname"> <em>source</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">unsigned int&nbsp;</td>
+          <td class="paramname"> <em>left</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">unsigned int&nbsp;</td>
+          <td class="paramname"> <em>right</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">unsigned int&nbsp;</td>
+          <td class="paramname"> <em>top</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">unsigned int&nbsp;</td>
+          <td class="paramname"> <em>bottom</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Expand a region. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>dest</em>&nbsp;</td><td>The destination region. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>source</em>&nbsp;</td><td>The source region. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>left</em>&nbsp;</td><td>The number of pixels to add on the left. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>right</em>&nbsp;</td><td>The number of pixels to add on the right. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>top</em>&nbsp;</td><td>The number of pixels to add at the top. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>bottom</em>&nbsp;</td><td>The number of pixels to add at the bottom.</td></tr>
+  </table>
+</dl>
+Put in <code>dest</code> the area specified by expanding each rectangle in the <code>source</code> region by the specified number of pixels to the <code>left</code>, <code>right</code>, <code>top</code> and <code>bottom</code>. 
+</div>
+</div><p>
+<a class="anchor" name="gec43b244400f78625b5df28892a36354"></a><!-- doxytag: member="ecore_xcb_fixes.c::ecore_x_region_extents" ref="gec43b244400f78625b5df28892a36354" args="(Ecore_X_Region dest, Ecore_X_Region source)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_region_extents           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Region&nbsp;</td>
+          <td class="paramname"> <em>dest</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Region&nbsp;</td>
+          <td class="paramname"> <em>source</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Extent a region. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>dest</em>&nbsp;</td><td>The destination region. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>source</em>&nbsp;</td><td>The source region.</td></tr>
+  </table>
+</dl>
+The extents of the <code>source</code> region are placed in <code>dest</code>. 
+</div>
+</div><p>
+<a class="anchor" name="g804cb633957daba47eb54b51d3bf9b2d"></a><!-- doxytag: member="ecore_xcb_fixes.c::ecore_x_region_fetch" ref="g804cb633957daba47eb54b51d3bf9b2d" args="(Ecore_X_Region region __UNUSED__, int *num, Ecore_X_Rectangle *bounds)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Ecore_X_Rectangle* ecore_x_region_fetch           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Region region&nbsp;</td>
+          <td class="paramname"> <em>__UNUSED__</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>num</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Rectangle *&nbsp;</td>
+          <td class="paramname"> <em>bounds</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Return the rectangles that compose a region. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>region</em>&nbsp;</td><td>The region (Unused). </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>num</em>&nbsp;</td><td>The number of returned rectangles. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>bounds</em>&nbsp;</td><td>The returned bounds of the region. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The returned rectangles.</dd></dl>
+The <code>region</code> passed to ecore_xcb_region_fetch_prefetch() is returned as a list of rectagles in XY-banded order.<p>
+To use this function, you must call before, and in order, ecore_xcb_region_fetch_prefetch(), which sends the XFixesFetchRegion request, then ecore_xcb_region_fetch_fetch(), which gets the reply. 
+</div>
+</div><p>
+<a class="anchor" name="g7f88bc47da4734a82821eaa361bf351d"></a><!-- doxytag: member="ecore_xcb_fixes.c::ecore_x_region_fetch_prefetch" ref="g7f88bc47da4734a82821eaa361bf351d" args="(Ecore_X_Region region)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_region_fetch_prefetch           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Region&nbsp;</td>
+          <td class="paramname"> <em>region</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sends the XFixesFetchRegion request. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>region</em>&nbsp;</td><td>Requested region. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g30ede720135e613b6425b75ba13f0adc"></a><!-- doxytag: member="ecore_xcb_fixes.c::ecore_x_region_gc_clip_set" ref="g30ede720135e613b6425b75ba13f0adc" args="(Ecore_X_Region region, Ecore_X_GC gc, int x_origin, int y_origin)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_region_gc_clip_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Region&nbsp;</td>
+          <td class="paramname"> <em>region</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_GC&nbsp;</td>
+          <td class="paramname"> <em>gc</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>x_origin</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>y_origin</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Change clip-mask in a graphic context to the specified region. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>region</em>&nbsp;</td><td>The region to change. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>gc</em>&nbsp;</td><td>The clip-mask graphic context. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>x_origin</em>&nbsp;</td><td>The horizontal translation. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>y_origin</em>&nbsp;</td><td>The vertical translation.</td></tr>
+  </table>
+</dl>
+Changes clip-mask in <code>gc</code> to the specified <code>region</code> and sets the clip origin with the values of <code>x_origin</code> and <code>y_origin</code>. Output will be clippped to remain contained within the region. The clip origin is interpreted relative to the origin of whatever destination drawable is specified in a graphics request. The region is interpreted relative to the clip origin. Future changes to region have no effect on the gc clip-mask. 
+</div>
+</div><p>
+<a class="anchor" name="gca61e974a3e085dcf875a92228cf37d9"></a><!-- doxytag: member="ecore_xcb_fixes.c::ecore_x_region_intersect" ref="gca61e974a3e085dcf875a92228cf37d9" args="(Ecore_X_Region dest, Ecore_X_Region source1, Ecore_X_Region source2)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_region_intersect           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Region&nbsp;</td>
+          <td class="paramname"> <em>dest</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Region&nbsp;</td>
+          <td class="paramname"> <em>source1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Region&nbsp;</td>
+          <td class="paramname"> <em>source2</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Make the intersection of two regions. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>dest</em>&nbsp;</td><td>The destination region. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>source1</em>&nbsp;</td><td>The first source region. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>source2</em>&nbsp;</td><td>The second source region.</td></tr>
+  </table>
+</dl>
+Replace the contents of <code>dest</code> with the intersection of <code>source1</code> and <code>source2</code>. 
+</div>
+</div><p>
+<a class="anchor" name="gfb593f8755c960955f82619a4c8d2b46"></a><!-- doxytag: member="ecore_xcb_fixes.c::ecore_x_region_invert" ref="gfb593f8755c960955f82619a4c8d2b46" args="(Ecore_X_Region dest, Ecore_X_Rectangle *bounds, Ecore_X_Region source)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_region_invert           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Region&nbsp;</td>
+          <td class="paramname"> <em>dest</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Rectangle *&nbsp;</td>
+          <td class="paramname"> <em>bounds</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Region&nbsp;</td>
+          <td class="paramname"> <em>source</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Make the substraction of regions by bounds. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>dest</em>&nbsp;</td><td>The destination region. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>bounds</em>&nbsp;</td><td>The bounds. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>source</em>&nbsp;</td><td>The source region.</td></tr>
+  </table>
+</dl>
+The <code>source</code> region is subtracted from the region specified by <code>bounds</code>. The result is placed in <code>dest</code>, replacing its contents. 
+</div>
+</div><p>
+<a class="anchor" name="g6a076823964f40a64c4b0e2c2137c7dd"></a><!-- doxytag: member="ecore_xcb_fixes.c::ecore_x_region_new" ref="g6a076823964f40a64c4b0e2c2137c7dd" args="(Ecore_X_Rectangle *rects, int num)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Ecore_X_Region ecore_x_region_new           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Rectangle *&nbsp;</td>
+          <td class="paramname"> <em>rects</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>num</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Create a region from rectangles. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>rects</em>&nbsp;</td><td>The rectangles used to initialize the region. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>num</em>&nbsp;</td><td>The number of rectangles. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The newly created region.</dd></dl>
+Create a region initialized to the specified list of rectangles <code>rects</code>. The rectangles may be specified in any order, their union becomes the region. 
+</div>
+</div><p>
+<a class="anchor" name="g2bd12d26d3e8ef4530818e55420cdead"></a><!-- doxytag: member="ecore_xcb_fixes.c::ecore_x_region_new_from_bitmap" ref="g2bd12d26d3e8ef4530818e55420cdead" args="(Ecore_X_Pixmap bitmap)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Ecore_X_Region ecore_x_region_new_from_bitmap           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Pixmap&nbsp;</td>
+          <td class="paramname"> <em>bitmap</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Create a region from a pixmap. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>bitmap</em>&nbsp;</td><td>The bitmap used to initialize the region. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The newly created region.</dd></dl>
+Creates a region initialized to the set of 'one' pixels in <code>bitmap</code> (which must be of depth 1, else Match error). 
+</div>
+</div><p>
+<a class="anchor" name="gc1dce8dab49024cad065feedee473383"></a><!-- doxytag: member="ecore_xcb_fixes.c::ecore_x_region_new_from_gc" ref="gc1dce8dab49024cad065feedee473383" args="(Ecore_X_GC gc)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Ecore_X_Region ecore_x_region_new_from_gc           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_GC&nbsp;</td>
+          <td class="paramname"> <em>gc</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Create a region from a graphic context. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>gc</em>&nbsp;</td><td>The graphic context used to initialize the region. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The newly created region.</dd></dl>
+Creates a region initialized from the clip list of <code>gc</code>. 
+</div>
+</div><p>
+<a class="anchor" name="ga46367f4d333b9d4ef4d74dcec6635a5"></a><!-- doxytag: member="ecore_xcb_fixes.c::ecore_x_region_new_from_picture" ref="ga46367f4d333b9d4ef4d74dcec6635a5" args="(Ecore_X_Picture picture)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Ecore_X_Region ecore_x_region_new_from_picture           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Picture&nbsp;</td>
+          <td class="paramname"> <em>picture</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Create a region from a picture. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>picture</em>&nbsp;</td><td>The picture used to initialize the region. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The newly created region.</dd></dl>
+Creates a region initialized from the clip list of <code>picture</code>. 
+</div>
+</div><p>
+<a class="anchor" name="gdfb1063da9ff8530bcdb418c58e4a125"></a><!-- doxytag: member="ecore_xcb_fixes.c::ecore_x_region_new_from_window" ref="gdfb1063da9ff8530bcdb418c58e4a125" args="(Ecore_X_Window window, Ecore_X_Region_Type type)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Ecore_X_Region ecore_x_region_new_from_window           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Region_Type&nbsp;</td>
+          <td class="paramname"> <em>type</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Create a region from a window. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window used to initialize the region. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>type</em>&nbsp;</td><td>The type of the region. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The newly created region.</dd></dl>
+Creates a region initialized to the specified <code>window</code> region. See the Shape extension for the definition of Bounding and Clip regions. 
+</div>
+</div><p>
+<a class="anchor" name="g713590858dc8851b45acdbd0348e5093"></a><!-- doxytag: member="ecore_xcb_fixes.c::ecore_x_region_picture_clip_set" ref="g713590858dc8851b45acdbd0348e5093" args="(Ecore_X_Region region, Ecore_X_Picture picture, int x_origin, int y_origin)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_region_picture_clip_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Region&nbsp;</td>
+          <td class="paramname"> <em>region</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Picture&nbsp;</td>
+          <td class="paramname"> <em>picture</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>x_origin</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>y_origin</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Change clip-mask in picture to the specified region. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>region</em>&nbsp;</td><td>The region. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>picture</em>&nbsp;</td><td>The picture. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>x_origin</em>&nbsp;</td><td>The X coordinate of the origin. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>y_origin</em>&nbsp;</td><td>The Y coordinate of the origin.</td></tr>
+  </table>
+</dl>
+Changes clip-mask in picture to the specified <code>region</code> and sets the clip origin. Input and output will be clipped to remain contained within the region. The clip origin is interpreted relative to the origin of the drawable associated with <code>picture</code>. The region is interpreted relative to the clip origin. Future changes to region have no effect on the picture clip-mask. 
+</div>
+</div><p>
+<a class="anchor" name="g11e45abe4f74c5556e3007f2a477b750"></a><!-- doxytag: member="ecore_xcb_fixes.c::ecore_x_region_set" ref="g11e45abe4f74c5556e3007f2a477b750" args="(Ecore_X_Region region, Ecore_X_Rectangle *rects, int num)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_region_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Region&nbsp;</td>
+          <td class="paramname"> <em>region</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Rectangle *&nbsp;</td>
+          <td class="paramname"> <em>rects</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>num</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set the content of a region. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>region</em>&nbsp;</td><td>The region to destroy. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>rects</em>&nbsp;</td><td>The rectangles used to set the region. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>num</em>&nbsp;</td><td>The number of rectangles.</td></tr>
+  </table>
+</dl>
+Replace the current contents of <code>region</code> with the region formed by the union of the rectangles <code>rects</code>. 
+</div>
+</div><p>
+<a class="anchor" name="g3a4882c9f8fd172fc411bd6917c948c8"></a><!-- doxytag: member="ecore_xcb_fixes.c::ecore_x_region_subtract" ref="g3a4882c9f8fd172fc411bd6917c948c8" args="(Ecore_X_Region dest, Ecore_X_Region source1, Ecore_X_Region source2)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_region_subtract           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Region&nbsp;</td>
+          <td class="paramname"> <em>dest</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Region&nbsp;</td>
+          <td class="paramname"> <em>source1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Region&nbsp;</td>
+          <td class="paramname"> <em>source2</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Make the substraction of two regions. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>dest</em>&nbsp;</td><td>The destination region. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>source1</em>&nbsp;</td><td>The first source region. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>source2</em>&nbsp;</td><td>The second source region.</td></tr>
+  </table>
+</dl>
+Replace the contents of <code>dest</code> with the substraction of <code>source1</code> by <code>source2</code>. 
+</div>
+</div><p>
+<a class="anchor" name="g57215689f69b1c76a2ab4f2a6d5266d2"></a><!-- doxytag: member="ecore_xcb_fixes.c::ecore_x_region_translate" ref="g57215689f69b1c76a2ab4f2a6d5266d2" args="(Ecore_X_Region region, int dx, int dy)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_region_translate           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Region&nbsp;</td>
+          <td class="paramname"> <em>region</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>dx</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>dy</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Translate a region. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>region</em>&nbsp;</td><td>The region to translate. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>dx</em>&nbsp;</td><td>The horizontal translation. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>dy</em>&nbsp;</td><td>The vertical translation.</td></tr>
+  </table>
+</dl>
+The <code>region</code> is translated by <code>dx</code> and <code>dy</code> in place. 
+</div>
+</div><p>
+<a class="anchor" name="g2d162c226f1168c0f3b1bc9dc3c0a045"></a><!-- doxytag: member="ecore_xcb_fixes.c::ecore_x_region_window_shape_set" ref="g2d162c226f1168c0f3b1bc9dc3c0a045" args="(Ecore_X_Region region, Ecore_X_Window dest, Ecore_X_Shape_Type type, int x_offset, int y_offset)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_region_window_shape_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Region&nbsp;</td>
+          <td class="paramname"> <em>region</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>dest</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Shape_Type&nbsp;</td>
+          <td class="paramname"> <em>type</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>x_offset</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>y_offset</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Change the shape extension of a window. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>region</em>&nbsp;</td><td>The region. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>dest</em>&nbsp;</td><td>The window whose shape is changed. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>type</em>&nbsp;</td><td>The kind of shape. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>x_offset</em>&nbsp;</td><td>The horizontal offset. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>y_offset</em>&nbsp;</td><td>The vertical offset.</td></tr>
+  </table>
+</dl>
+Set the specified Shape extension region of <code>window</code> to <code>region</code>, offset by <code>x_offset</code> and <code>y_offset</code>. Future changes to region have no effect on the window shape. 
+</div>
+</div><p>
+<a class="anchor" name="g6ac073275cd435c8ecc4c63e621c08aa"></a><!-- doxytag: member="ecore_xcb_fixes.c::ecore_x_xfixes_query" ref="g6ac073275cd435c8ecc4c63e621c08aa" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_x_xfixes_query           </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Return whether the X server supports the Fixes Extension. 
+<p>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 if the X Fixes Extension is available, 0 otherwise.</dd></dl>
+Return 1 if the X server supports the Fixes Extension version 3.0, 0 otherwise. 
+</div>
+</div><p>
+</body>
+</html>
diff --git a/doc/html/group__Ecore__X__Flush__Group.html b/doc/html/group__Ecore__X__Flush__Group.html
new file mode 100644
index 0000000..9fc4a8b
--- /dev/null
+++ b/doc/html/group__Ecore__X__Flush__Group.html
@@ -0,0 +1,47 @@
+<html>
+
+<head>
+
+<title>Ecore: X Synchronization Functions</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1>X Synchronization Functions</h1>Functions that ensure that all commands that have been issued by the Ecore X library have been sent to the server.  
+<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g86a37de4b106942e1b33f88455f5a00f"></a><!-- doxytag: member="Ecore_X_Flush_Group::ecore_x_flush" ref="g86a37de4b106942e1b33f88455f5a00f" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Flush__Group.html#g86a37de4b106942e1b33f88455f5a00f">ecore_x_flush</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends all X commands in the X Display buffer. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g515363b1157ae3b2e3d1d9d3eec448af"></a><!-- doxytag: member="Ecore_X_Flush_Group::ecore_x_sync" ref="g515363b1157ae3b2e3d1d9d3eec448af" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Flush__Group.html#g515363b1157ae3b2e3d1d9d3eec448af">ecore_x_sync</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Flushes the command buffer and waits until all requests have been processed by the server. <br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Functions that ensure that all commands that have been issued by the Ecore X library have been sent to the server. 
+<p>
+</body>
+</html>
diff --git a/doc/html/group__Ecore__X__ICCCM__Group.html b/doc/html/group__Ecore__X__ICCCM__Group.html
new file mode 100644
index 0000000..635e208
--- /dev/null
+++ b/doc/html/group__Ecore__X__ICCCM__Group.html
@@ -0,0 +1,1578 @@
+<html>
+
+<head>
+
+<title>Ecore: ICCCM related functions.</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1>ICCCM related functions.</h1>Functions related to ICCCM.  
+<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__ICCCM__Group.html#g0a220ec75c0ae400e86df862dbdb2dc5">ecore_x_icccm_state_set</a> (Ecore_X_Window window, Ecore_X_Window_State_Hint state)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the state of a window.  <a href="#g0a220ec75c0ae400e86df862dbdb2dc5"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_X_Window_State_Hint&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__ICCCM__Group.html#g2b532b93957c1a9c3f75563813420e07">ecore_x_icccm_state_get</a> (Ecore_X_Window window __UNUSED__)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the state of a window.  <a href="#g2b532b93957c1a9c3f75563813420e07"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__ICCCM__Group.html#ga67d73e5f8090306f2e06bdc64707647">ecore_x_icccm_delete_window_send</a> (Ecore_X_Window window, Ecore_X_Time time)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the ClientMessage event with the DeleteWindow property.  <a href="#ga67d73e5f8090306f2e06bdc64707647"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__ICCCM__Group.html#gf60b2291525790e80630319143a8b95c">ecore_x_icccm_take_focus_send</a> (Ecore_X_Window window, Ecore_X_Time time)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the ClientMessage event with the TakeFocus property.  <a href="#gf60b2291525790e80630319143a8b95c"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__ICCCM__Group.html#gb990b493f1ebdace041b374f980b1a13">ecore_x_icccm_save_yourself_send</a> (Ecore_X_Window window, Ecore_X_Time time)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the ClientMessage event with the SaveYourself property.  <a href="#gb990b493f1ebdace041b374f980b1a13"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__ICCCM__Group.html#g23b492239d9aba2058fcbdcf43ae5214">ecore_x_icccm_move_resize_send</a> (Ecore_X_Window window, int x, int y, int width, int height)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the ConfigureNotify event with the StructureNotify property.  <a href="#g23b492239d9aba2058fcbdcf43ae5214"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__ICCCM__Group.html#g0883a37205de291ac4063c809a9d2756">ecore_x_icccm_hints_set</a> (Ecore_X_Window window, int accepts_focus, Ecore_X_Window_State_Hint initial_state, Ecore_X_Pixmap icon_pixmap, Ecore_X_Pixmap icon_mask, Ecore_X_Window icon_window, Ecore_X_Window window_group, int is_urgent)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the hints of a window.  <a href="#g0883a37205de291ac4063c809a9d2756"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__ICCCM__Group.html#ga9596be63f47ab56e5527eb4d35a63c4">ecore_x_icccm_hints_get</a> (Ecore_X_Window window __UNUSED__, int *accepts_focus, Ecore_X_Window_State_Hint *initial_state, Ecore_X_Pixmap *icon_pixmap, Ecore_X_Pixmap *icon_mask, Ecore_X_Window *icon_window, Ecore_X_Window *window_group, int *is_urgent)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the hints of a window.  <a href="#ga9596be63f47ab56e5527eb4d35a63c4"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__ICCCM__Group.html#g4afb7a2cedcc90581cb29bdca6ccf4c2">ecore_x_icccm_size_pos_hints_set</a> (Ecore_X_Window window, int request_pos, Ecore_X_Gravity gravity, int min_w, int min_h, int max_w, int max_h, int base_w, int base_h, int step_x, int step_y, double min_aspect, double max_aspect)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the hints of a window.  <a href="#g4afb7a2cedcc90581cb29bdca6ccf4c2"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__ICCCM__Group.html#g641f88b4bc78b66d8fd22d470cc49399">ecore_x_icccm_size_pos_hints_get</a> (Ecore_X_Window window __UNUSED__, int *request_pos, Ecore_X_Gravity *gravity, int *min_w, int *min_h, int *max_w, int *max_h, int *base_w, int *base_h, int *step_x, int *step_y, double *min_aspect, double *max_aspect)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the hints of a window.  <a href="#g641f88b4bc78b66d8fd22d470cc49399"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__ICCCM__Group.html#g2f89bf0f24cc88e3f347eb7821b009be">ecore_x_icccm_title_set</a> (Ecore_X_Window window, const char *title)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the title of a window.  <a href="#g2f89bf0f24cc88e3f347eb7821b009be"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__ICCCM__Group.html#g3743ea7e0d05085927fd26f50bf76792">ecore_x_icccm_title_get</a> (Ecore_X_Window window __UNUSED__)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the title of a window.  <a href="#g3743ea7e0d05085927fd26f50bf76792"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__ICCCM__Group.html#gb01748645049a956dbbf9335c5bf31b7">ecore_x_icccm_protocol_set</a> (Ecore_X_Window window, Ecore_X_WM_Protocol protocol, int on)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set or unset a wm protocol property.  <a href="#gb01748645049a956dbbf9335c5bf31b7"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__ICCCM__Group.html#g9e16372c8451cf246a8348066901120e">ecore_x_icccm_protocol_isset</a> (Ecore_X_Window window __UNUSED__, Ecore_X_WM_Protocol protocol)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Determines whether a protocol is set for a window.  <a href="#g9e16372c8451cf246a8348066901120e"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__ICCCM__Group.html#g907ec62bfeb82ff4184850633b505c98">ecore_x_icccm_name_class_set</a> (Ecore_X_Window window, const char *name, const char *class)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set a window name &amp; class.  <a href="#g907ec62bfeb82ff4184850633b505c98"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__ICCCM__Group.html#g9e7ed3281186310fc84aa69039eadddf">ecore_x_icccm_name_class_get</a> (Ecore_X_Window window __UNUSED__, char **name, char **class)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a window name and class.  <a href="#g9e7ed3281186310fc84aa69039eadddf"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__ICCCM__Group.html#g459aa76f7d59d934feea0eadfb4394db">ecore_x_icccm_client_machine_get</a> (Ecore_X_Window window)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a window client machine string.  <a href="#g459aa76f7d59d934feea0eadfb4394db"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__ICCCM__Group.html#g2de04d312f9b06f449291a49f6714756">ecore_x_icccm_command_set</a> (Ecore_X_Window window, int argc, char **argv)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the WM_COMMAND property for <em>win</em>.  <a href="#g2de04d312f9b06f449291a49f6714756"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__ICCCM__Group.html#g481c72766319bb5e34ddae89c595a3f1">ecore_x_icccm_command_get</a> (Ecore_X_Window window __UNUSED__, int *argc, char ***argv)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the WM_COMMAND property for a window.  <a href="#g481c72766319bb5e34ddae89c595a3f1"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__ICCCM__Group.html#gb148da036055d0dbd2a2c84db924e24d">ecore_x_icccm_icon_name_set</a> (Ecore_X_Window window, const char *title)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set a window icon name.  <a href="#gb148da036055d0dbd2a2c84db924e24d"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__ICCCM__Group.html#g44f96024f9b026adaca766eeb3be644c">ecore_x_icccm_icon_name_get</a> (Ecore_X_Window window __UNUSED__)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a window icon name.  <a href="#g44f96024f9b026adaca766eeb3be644c"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__ICCCM__Group.html#g203a710c05607f9abcd0d3020496585e">ecore_x_icccm_colormap_window_set</a> (Ecore_X_Window window, Ecore_X_Window sub_window)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a subwindow to the list of windows that need a different colormap installed.  <a href="#g203a710c05607f9abcd0d3020496585e"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__ICCCM__Group.html#g3e47c45b85caf21e88600c7286de3729">ecore_x_icccm_colormap_window_unset</a> (Ecore_X_Window window, Ecore_X_Window sub_window)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove a window from the list of colormap windows.  <a href="#g3e47c45b85caf21e88600c7286de3729"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__ICCCM__Group.html#g170ce1c92e295437cc077d0111364936">ecore_x_icccm_transient_for_set</a> (Ecore_X_Window window, Ecore_X_Window forwindow)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Specify that a window is transient for another top-level window and should be handled accordingly.  <a href="#g170ce1c92e295437cc077d0111364936"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__ICCCM__Group.html#g259feec5f4b85523573f08820ecb358e">ecore_x_icccm_transient_for_unset</a> (Ecore_X_Window window)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove the transient_for setting from a window.  <a href="#g259feec5f4b85523573f08820ecb358e"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_X_Window&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__ICCCM__Group.html#ga4ddc87534e243e3c204f04ec9c236ed">ecore_x_icccm_transient_for_get</a> (Ecore_X_Window window __UNUSED__)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the window this window is transient for, if any.  <a href="#ga4ddc87534e243e3c204f04ec9c236ed"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__ICCCM__Group.html#g3dd8959d662584671c3992e2c83dfefc">ecore_x_icccm_window_role_set</a> (Ecore_X_Window window, const char *role)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the window role hint.  <a href="#g3dd8959d662584671c3992e2c83dfefc"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__ICCCM__Group.html#gd4426f1ad8b83e303ed2850ef1c0a7f5">ecore_x_icccm_window_role_get_prefetch</a> (Ecore_X_Window window)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the GetProperty request.  <a href="#gd4426f1ad8b83e303ed2850ef1c0a7f5"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g77b5e7ec8993970813c321397d21593e"></a><!-- doxytag: member="Ecore_X_ICCCM_Group::ecore_x_icccm_window_role_get_fetch" ref="g77b5e7ec8993970813c321397d21593e" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__ICCCM__Group.html#g77b5e7ec8993970813c321397d21593e">ecore_x_icccm_window_role_get_fetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the reply of the GetProperty request sent by <a class="el" href="group__Ecore__X__ICCCM__Group.html#gd4426f1ad8b83e303ed2850ef1c0a7f5">ecore_x_icccm_window_role_get_prefetch()</a>. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__ICCCM__Group.html#g4b900983ec368b7dc108b6539a3e3657">ecore_x_icccm_window_role_get</a> (Ecore_X_Window window)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the window role.  <a href="#g4b900983ec368b7dc108b6539a3e3657"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__ICCCM__Group.html#g9646f43f32aa98a4681d89c0968d39c0">ecore_x_icccm_client_leader_set</a> (Ecore_X_Window window, Ecore_X_Window leader)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the window's client leader.  <a href="#g9646f43f32aa98a4681d89c0968d39c0"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__ICCCM__Group.html#g831eb9b03ea1e74a89bcda746331140e">ecore_x_icccm_client_leader_get_prefetch</a> (Ecore_X_Window window)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the GetProperty request.  <a href="#g831eb9b03ea1e74a89bcda746331140e"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g66c132763d436be0a0fd4b0add937da9"></a><!-- doxytag: member="Ecore_X_ICCCM_Group::ecore_x_icccm_client_leader_get_fetch" ref="g66c132763d436be0a0fd4b0add937da9" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__ICCCM__Group.html#g66c132763d436be0a0fd4b0add937da9">ecore_x_icccm_client_leader_get_fetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the reply of the GetProperty request sent by <a class="el" href="group__Ecore__X__ICCCM__Group.html#g831eb9b03ea1e74a89bcda746331140e">ecore_x_icccm_client_leader_get_prefetch()</a>. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_X_Window&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__ICCCM__Group.html#gcd1f5d74bb8f1b2f6ca7db1f16b3894b">ecore_x_icccm_client_leader_get</a> (Ecore_X_Window window)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the window's client leader.  <a href="#gcd1f5d74bb8f1b2f6ca7db1f16b3894b"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__ICCCM__Group.html#g9259a631c19152a9d1b015549a89f71d">ecore_x_icccm_iconic_request_send</a> (Ecore_X_Window window, Ecore_X_Window root)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Send the ClientMessage event with the ChangeState property.  <a href="#g9259a631c19152a9d1b015549a89f71d"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Functions related to ICCCM. 
+<p>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="gcd1f5d74bb8f1b2f6ca7db1f16b3894b"></a><!-- doxytag: member="ecore_xcb_icccm.c::ecore_x_icccm_client_leader_get" ref="gcd1f5d74bb8f1b2f6ca7db1f16b3894b" args="(Ecore_X_Window window)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Ecore_X_Window ecore_x_icccm_client_leader_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Get the window's client leader. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The window's client leader window, or 0 if unset.</dd></dl>
+To use this function, you must call before, and in order, <a class="el" href="group__Ecore__X__ICCCM__Group.html#g831eb9b03ea1e74a89bcda746331140e">ecore_x_icccm_client_leader_get_prefetch()</a>, which sends the GetProperty request, then <a class="el" href="group__Ecore__X__ICCCM__Group.html#g66c132763d436be0a0fd4b0add937da9">ecore_x_icccm_client_leader_get_fetch()</a>, which gets the reply. 
+</div>
+</div><p>
+<a class="anchor" name="g831eb9b03ea1e74a89bcda746331140e"></a><!-- doxytag: member="ecore_xcb_icccm.c::ecore_x_icccm_client_leader_get_prefetch" ref="g831eb9b03ea1e74a89bcda746331140e" args="(Ecore_X_Window window)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_icccm_client_leader_get_prefetch           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sends the GetProperty request. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>Window whose properties are requested. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g9646f43f32aa98a4681d89c0968d39c0"></a><!-- doxytag: member="ecore_xcb_icccm.c::ecore_x_icccm_client_leader_set" ref="g9646f43f32aa98a4681d89c0968d39c0" args="(Ecore_X_Window window, Ecore_X_Window leader)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_icccm_client_leader_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>leader</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set the window's client leader. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>leader</em>&nbsp;</td><td>The client leader window</td></tr>
+  </table>
+</dl>
+All non-transient top-level windows created by an app other than the main window must have this property set to the app's main window. 
+</div>
+</div><p>
+<a class="anchor" name="g459aa76f7d59d934feea0eadfb4394db"></a><!-- doxytag: member="ecore_xcb_icccm.c::ecore_x_icccm_client_machine_get" ref="g459aa76f7d59d934feea0eadfb4394db" args="(Ecore_X_Window window)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI char* ecore_x_icccm_client_machine_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Get a window client machine string. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The windows client machine string</dd></dl>
+Return the client machine of a window. String must be free'd when done with.<p>
+To use this function, you must call before, and in order, ecore_x_icccm_client_machine_get_prefetch(), which sends the GetProperty request, then ecore_x_icccm_client_machine_get_fetch(), which gets the reply. 
+</div>
+</div><p>
+<a class="anchor" name="g203a710c05607f9abcd0d3020496585e"></a><!-- doxytag: member="ecore_xcb_icccm.c::ecore_x_icccm_colormap_window_set" ref="g203a710c05607f9abcd0d3020496585e" args="(Ecore_X_Window window, Ecore_X_Window sub_window)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_icccm_colormap_window_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>sub_window</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Add a subwindow to the list of windows that need a different colormap installed. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The toplevel window </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>sub_window</em>&nbsp;</td><td>The subwindow to be added to the colormap windows list</td></tr>
+  </table>
+</dl>
+Add <code>sub_window</code> to the list of windows that need a different colormap installed.<p>
+To use this function, you must call before, and in order, ecore_x_icccm_colormap_window_get_prefetch(), which sends the GetProperty request, then ecore_x_icccm_colormap_window_get_fetch(), which gets the reply. 
+</div>
+</div><p>
+<a class="anchor" name="g3e47c45b85caf21e88600c7286de3729"></a><!-- doxytag: member="ecore_xcb_icccm.c::ecore_x_icccm_colormap_window_unset" ref="g3e47c45b85caf21e88600c7286de3729" args="(Ecore_X_Window window, Ecore_X_Window sub_window)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_icccm_colormap_window_unset           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>sub_window</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Remove a window from the list of colormap windows. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The toplevel window </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>sub_window</em>&nbsp;</td><td>The window to be removed from the colormap window list.</td></tr>
+  </table>
+</dl>
+Remove <code>sub_window</code> from the list of colormap windows.<p>
+To use this function, you must call before, and in order, ecore_x_icccm_colormap_window_get_prefetch(), which sends the GetProperty request, then ecore_x_icccm_colormap_window_get_fetch(), which gets the reply. 
+</div>
+</div><p>
+<a class="anchor" name="g481c72766319bb5e34ddae89c595a3f1"></a><!-- doxytag: member="ecore_xcb_icccm.c::ecore_x_icccm_command_get" ref="g481c72766319bb5e34ddae89c595a3f1" args="(Ecore_X_Window window __UNUSED__, int *argc, char ***argv)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_icccm_command_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window window&nbsp;</td>
+          <td class="paramname"> <em>__UNUSED__</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>argc</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">char ***&nbsp;</td>
+          <td class="paramname"> <em>argv</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Get the WM_COMMAND property for a window. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>win</em>&nbsp;</td><td>The window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>argc</em>&nbsp;</td><td>Number of arguments. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>argv</em>&nbsp;</td><td>Arguments.</td></tr>
+  </table>
+</dl>
+Return the command of <code>window</code> and store it in <code>argv</code>. <code>argc</code> contains the number of arguments. String must be free'd when done with.<p>
+To use this function, you must call before, and in order, ecore_x_icccm_command_get_prefetch(), which sends the GetProperty request, then ecore_x_icccm_command_get_fetch(), which gets the reply. 
+</div>
+</div><p>
+<a class="anchor" name="g2de04d312f9b06f449291a49f6714756"></a><!-- doxytag: member="ecore_xcb_icccm.c::ecore_x_icccm_command_set" ref="g2de04d312f9b06f449291a49f6714756" args="(Ecore_X_Window window, int argc, char **argv)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_icccm_command_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>argc</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">char **&nbsp;</td>
+          <td class="paramname"> <em>argv</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sets the WM_COMMAND property for <em>win</em>. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>argc</em>&nbsp;</td><td>Number of arguments. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>argv</em>&nbsp;</td><td>Arguments. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="ga67d73e5f8090306f2e06bdc64707647"></a><!-- doxytag: member="ecore_xcb_icccm.c::ecore_x_icccm_delete_window_send" ref="ga67d73e5f8090306f2e06bdc64707647" args="(Ecore_X_Window window, Ecore_X_Time time)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_icccm_delete_window_send           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Time&nbsp;</td>
+          <td class="paramname"> <em>time</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sends the ClientMessage event with the DeleteWindow property. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>time</em>&nbsp;</td><td>The time. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="ga9596be63f47ab56e5527eb4d35a63c4"></a><!-- doxytag: member="ecore_xcb_icccm.c::ecore_x_icccm_hints_get" ref="ga9596be63f47ab56e5527eb4d35a63c4" args="(Ecore_X_Window window __UNUSED__, int *accepts_focus, Ecore_X_Window_State_Hint *initial_state, Ecore_X_Pixmap *icon_pixmap, Ecore_X_Pixmap *icon_mask, Ecore_X_Window *icon_window, Ecore_X_Window *window_group, int *is_urgent)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_x_icccm_hints_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window window&nbsp;</td>
+          <td class="paramname"> <em>__UNUSED__</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>accepts_focus</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Window_State_Hint *&nbsp;</td>
+          <td class="paramname"> <em>initial_state</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Pixmap *&nbsp;</td>
+          <td class="paramname"> <em>icon_pixmap</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Pixmap *&nbsp;</td>
+          <td class="paramname"> <em>icon_mask</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Window *&nbsp;</td>
+          <td class="paramname"> <em>icon_window</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Window *&nbsp;</td>
+          <td class="paramname"> <em>window_group</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>is_urgent</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Gets the hints of a window. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>accepts_focus</em>&nbsp;</td><td>AcceptFocus hint </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>initial_state</em>&nbsp;</td><td>Initial state flags. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>icon_pixmap</em>&nbsp;</td><td>Icon pixmap. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>icon_mask</em>&nbsp;</td><td>Icon mask. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>icon_window</em>&nbsp;</td><td>Icon window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>window_group</em>&nbsp;</td><td>Group window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>is_urgent</em>&nbsp;</td><td>IsUrgent flag. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 on success, 0 otherwise.</dd></dl>
+To use this function, you must call before, and in order, ecore_x_icccm_hints_get_prefetch(), which sends the GetProperty request, then ecore_x_icccm_hints_get_fetch(), which gets the reply. 
+</div>
+</div><p>
+<a class="anchor" name="g0883a37205de291ac4063c809a9d2756"></a><!-- doxytag: member="ecore_xcb_icccm.c::ecore_x_icccm_hints_set" ref="g0883a37205de291ac4063c809a9d2756" args="(Ecore_X_Window window, int accepts_focus, Ecore_X_Window_State_Hint initial_state, Ecore_X_Pixmap icon_pixmap, Ecore_X_Pixmap icon_mask, Ecore_X_Window icon_window, Ecore_X_Window window_group, int is_urgent)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_icccm_hints_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>accepts_focus</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Window_State_Hint&nbsp;</td>
+          <td class="paramname"> <em>initial_state</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Pixmap&nbsp;</td>
+          <td class="paramname"> <em>icon_pixmap</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Pixmap&nbsp;</td>
+          <td class="paramname"> <em>icon_mask</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>icon_window</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window_group</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>is_urgent</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sets the hints of a window. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>accepts_focus</em>&nbsp;</td><td>AcceptFocus hint </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>initial_state</em>&nbsp;</td><td>Initial state flags. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>icon_pixmap</em>&nbsp;</td><td>Icon pixmap. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>icon_mask</em>&nbsp;</td><td>Icon mask. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>icon_window</em>&nbsp;</td><td>Icon window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>window_group</em>&nbsp;</td><td>Group window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>is_urgent</em>&nbsp;</td><td>IsUrgent flag. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g44f96024f9b026adaca766eeb3be644c"></a><!-- doxytag: member="ecore_xcb_icccm.c::ecore_x_icccm_icon_name_get" ref="g44f96024f9b026adaca766eeb3be644c" args="(Ecore_X_Window window __UNUSED__)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI char* ecore_x_icccm_icon_name_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window window&nbsp;</td>
+          <td class="paramname"> <em>__UNUSED__</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Get a window icon name. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The windows icon name string.</dd></dl>
+Return the icon name of <code>window</code>. String must be free'd when done with.<p>
+To use this function, you must call before, and in order, ecore_x_icccm_icon_name_get_prefetch(), which sends the GetProperty request, then ecore_x_icccm_icon_name_get_fetch(), which gets the reply. 
+</div>
+</div><p>
+<a class="anchor" name="gb148da036055d0dbd2a2c84db924e24d"></a><!-- doxytag: member="ecore_xcb_icccm.c::ecore_x_icccm_icon_name_set" ref="gb148da036055d0dbd2a2c84db924e24d" args="(Ecore_X_Window window, const char *title)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_icccm_icon_name_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>title</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set a window icon name. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>title</em>&nbsp;</td><td>The icon name string.</td></tr>
+  </table>
+</dl>
+Set <code>window</code> icon name. 
+</div>
+</div><p>
+<a class="anchor" name="g9259a631c19152a9d1b015549a89f71d"></a><!-- doxytag: member="ecore_xcb_icccm.c::ecore_x_icccm_iconic_request_send" ref="g9259a631c19152a9d1b015549a89f71d" args="(Ecore_X_Window window, Ecore_X_Window root)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_icccm_iconic_request_send           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>root</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Send the ClientMessage event with the ChangeState property. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>root</em>&nbsp;</td><td>The root window. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g23b492239d9aba2058fcbdcf43ae5214"></a><!-- doxytag: member="ecore_xcb_icccm.c::ecore_x_icccm_move_resize_send" ref="g23b492239d9aba2058fcbdcf43ae5214" args="(Ecore_X_Window window, int x, int y, int width, int height)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_icccm_move_resize_send           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>width</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>height</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sends the ConfigureNotify event with the StructureNotify property. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>The X coordinate. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</td><td>The Y coordinate. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>width</em>&nbsp;</td><td>The width. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>height</em>&nbsp;</td><td>The height. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g9e7ed3281186310fc84aa69039eadddf"></a><!-- doxytag: member="ecore_xcb_icccm.c::ecore_x_icccm_name_class_get" ref="g9e7ed3281186310fc84aa69039eadddf" args="(Ecore_X_Window window __UNUSED__, char **name, char **class)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_icccm_name_class_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window window&nbsp;</td>
+          <td class="paramname"> <em>__UNUSED__</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">char **&nbsp;</td>
+          <td class="paramname"> <em>name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">char **&nbsp;</td>
+          <td class="paramname"> <em>class</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Get a window name and class. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window (Unused). </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>The name string. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>class</em>&nbsp;</td><td>The class string.</td></tr>
+  </table>
+</dl>
+Store the name and class of <code>window</code> into respectively <code>name</code> and <code>class</code>.<p>
+To use this function, you must call before, and in order, ecore_x_icccm_name_class_get_prefetch(), which sends the GetProperty request, then ecore_x_icccm_name_class_get_fetch(), which gets the reply. 
+</div>
+</div><p>
+<a class="anchor" name="g907ec62bfeb82ff4184850633b505c98"></a><!-- doxytag: member="ecore_xcb_icccm.c::ecore_x_icccm_name_class_set" ref="g907ec62bfeb82ff4184850633b505c98" args="(Ecore_X_Window window, const char *name, const char *class)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_icccm_name_class_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>class</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set a window name &amp; class. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>The name string </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>class</em>&nbsp;</td><td>The class string</td></tr>
+  </table>
+</dl>
+Set the name and class of <code>window</code> to respectively <code>name</code> and <code>class</code>. 
+</div>
+</div><p>
+<a class="anchor" name="g9e16372c8451cf246a8348066901120e"></a><!-- doxytag: member="ecore_xcb_icccm.c::ecore_x_icccm_protocol_isset" ref="g9e16372c8451cf246a8348066901120e" args="(Ecore_X_Window window __UNUSED__, Ecore_X_WM_Protocol protocol)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_x_icccm_protocol_isset           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window window&nbsp;</td>
+          <td class="paramname"> <em>__UNUSED__</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_WM_Protocol&nbsp;</td>
+          <td class="paramname"> <em>protocol</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Determines whether a protocol is set for a window. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The Window (Unused). </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>protocol</em>&nbsp;</td><td>The protocol to query. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 if the protocol is set, else 0.</dd></dl>
+To use this function, you must call before, and in order, ecore_x_icccm_protocol_get_prefetch(), which sends the GetProperty request, then ecore_x_icccm_protocol_get_fetch(), which gets the reply. 
+</div>
+</div><p>
+<a class="anchor" name="gb01748645049a956dbbf9335c5bf31b7"></a><!-- doxytag: member="ecore_xcb_icccm.c::ecore_x_icccm_protocol_set" ref="gb01748645049a956dbbf9335c5bf31b7" args="(Ecore_X_Window window, Ecore_X_WM_Protocol protocol, int on)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_icccm_protocol_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_WM_Protocol&nbsp;</td>
+          <td class="paramname"> <em>protocol</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>on</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set or unset a wm protocol property. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The Window </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>protocol</em>&nbsp;</td><td>The protocol to enable/disable </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>on</em>&nbsp;</td><td>On/Off</td></tr>
+  </table>
+</dl>
+To use this function, you must call before, and in order, ecore_x_icccm_protocol_get_prefetch(), which sends the GetProperty request, then ecore_x_icccm_protocol_get_fetch(), which gets the reply. 
+</div>
+</div><p>
+<a class="anchor" name="gb990b493f1ebdace041b374f980b1a13"></a><!-- doxytag: member="ecore_xcb_icccm.c::ecore_x_icccm_save_yourself_send" ref="gb990b493f1ebdace041b374f980b1a13" args="(Ecore_X_Window window, Ecore_X_Time time)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_icccm_save_yourself_send           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Time&nbsp;</td>
+          <td class="paramname"> <em>time</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sends the ClientMessage event with the SaveYourself property. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>time</em>&nbsp;</td><td>The time. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g641f88b4bc78b66d8fd22d470cc49399"></a><!-- doxytag: member="ecore_xcb_icccm.c::ecore_x_icccm_size_pos_hints_get" ref="g641f88b4bc78b66d8fd22d470cc49399" args="(Ecore_X_Window window __UNUSED__, int *request_pos, Ecore_X_Gravity *gravity, int *min_w, int *min_h, int *max_w, int *max_h, int *base_w, int *base_h, int *step_x, int *step_y, double *min_aspect, double *max_aspect)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_x_icccm_size_pos_hints_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window window&nbsp;</td>
+          <td class="paramname"> <em>__UNUSED__</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>request_pos</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Gravity *&nbsp;</td>
+          <td class="paramname"> <em>gravity</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>min_w</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>min_h</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>max_w</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>max_h</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>base_w</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>base_h</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>step_x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>step_y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double *&nbsp;</td>
+          <td class="paramname"> <em>min_aspect</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double *&nbsp;</td>
+          <td class="paramname"> <em>max_aspect</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Gets the hints of a window. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>request_pos</em>&nbsp;</td><td>Request position flag. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>gravity</em>&nbsp;</td><td>Gravity. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>min_w</em>&nbsp;</td><td>Minimum width. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>min_h</em>&nbsp;</td><td>Minimum height. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>max_w</em>&nbsp;</td><td>Maximum width. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>max_h</em>&nbsp;</td><td>Maximum height. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>base_w</em>&nbsp;</td><td>Base width </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>base_h</em>&nbsp;</td><td>Base height </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>step_x</em>&nbsp;</td><td>X step coordinate. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>step_y</em>&nbsp;</td><td>Y step coordinate. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>min_aspect</em>&nbsp;</td><td>Minimum aspect ratio. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>max_aspect</em>&nbsp;</td><td>M </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 on success, 0 otherwise.</dd></dl>
+To use this function, you must call before, and in order, ecore_x_icccm_size_pos_hints_get_prefetch(), which sends the GetProperty request, then ecore_x_icccm_size_pos_hints_get_fetch(), which gets the reply. 
+</div>
+</div><p>
+<a class="anchor" name="g4afb7a2cedcc90581cb29bdca6ccf4c2"></a><!-- doxytag: member="ecore_xcb_icccm.c::ecore_x_icccm_size_pos_hints_set" ref="g4afb7a2cedcc90581cb29bdca6ccf4c2" args="(Ecore_X_Window window, int request_pos, Ecore_X_Gravity gravity, int min_w, int min_h, int max_w, int max_h, int base_w, int base_h, int step_x, int step_y, double min_aspect, double max_aspect)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_icccm_size_pos_hints_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>request_pos</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Gravity&nbsp;</td>
+          <td class="paramname"> <em>gravity</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>min_w</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>min_h</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>max_w</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>max_h</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>base_w</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>base_h</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>step_x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>step_y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double&nbsp;</td>
+          <td class="paramname"> <em>min_aspect</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double&nbsp;</td>
+          <td class="paramname"> <em>max_aspect</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sets the hints of a window. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>request_pos</em>&nbsp;</td><td>Request position flag. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>gravity</em>&nbsp;</td><td>Gravity. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>min_w</em>&nbsp;</td><td>Minimum width. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>min_h</em>&nbsp;</td><td>Minimum height. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>max_w</em>&nbsp;</td><td>Maximum width. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>max_h</em>&nbsp;</td><td>Maximum height. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>base_w</em>&nbsp;</td><td>Base width </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>base_h</em>&nbsp;</td><td>Base height </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>step_x</em>&nbsp;</td><td>X step coordinate. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>step_y</em>&nbsp;</td><td>Y step coordinate. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>min_aspect</em>&nbsp;</td><td>Minimum aspect ratio. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>max_aspect</em>&nbsp;</td><td>Maximum aspect ratio.</td></tr>
+  </table>
+</dl>
+To use this function, you must call before, and in order, ecore_x_icccm_size_pos_hints_get_prefetch(), which sends the GetProperty request, then ecore_x_icccm_size_pos_hints_get_fetch(), which gets the reply. 
+</div>
+</div><p>
+<a class="anchor" name="g2b532b93957c1a9c3f75563813420e07"></a><!-- doxytag: member="ecore_xcb_icccm.c::ecore_x_icccm_state_get" ref="g2b532b93957c1a9c3f75563813420e07" args="(Ecore_X_Window window __UNUSED__)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Ecore_X_Window_State_Hint ecore_x_icccm_state_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window window&nbsp;</td>
+          <td class="paramname"> <em>__UNUSED__</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Gets the state of a window. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The state of the window</dd></dl>
+To use this function, you must call before, and in order, ecore_x_icccm_state_get_prefetch(), which sends the GetProperty request, then ecore_x_icccm_state_get_fetch(), which gets the reply. 
+</div>
+</div><p>
+<a class="anchor" name="g0a220ec75c0ae400e86df862dbdb2dc5"></a><!-- doxytag: member="ecore_xcb_icccm.c::ecore_x_icccm_state_set" ref="g0a220ec75c0ae400e86df862dbdb2dc5" args="(Ecore_X_Window window, Ecore_X_Window_State_Hint state)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_icccm_state_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Window_State_Hint&nbsp;</td>
+          <td class="paramname"> <em>state</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sets the state of a window. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>state</em>&nbsp;</td><td>The state. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="gf60b2291525790e80630319143a8b95c"></a><!-- doxytag: member="ecore_xcb_icccm.c::ecore_x_icccm_take_focus_send" ref="gf60b2291525790e80630319143a8b95c" args="(Ecore_X_Window window, Ecore_X_Time time)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_icccm_take_focus_send           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Time&nbsp;</td>
+          <td class="paramname"> <em>time</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sends the ClientMessage event with the TakeFocus property. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>time</em>&nbsp;</td><td>The time. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g3743ea7e0d05085927fd26f50bf76792"></a><!-- doxytag: member="ecore_xcb_icccm.c::ecore_x_icccm_title_get" ref="g3743ea7e0d05085927fd26f50bf76792" args="(Ecore_X_Window window __UNUSED__)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI char* ecore_x_icccm_title_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window window&nbsp;</td>
+          <td class="paramname"> <em>__UNUSED__</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Gets the title of a window. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window (Unused). </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The title of the window</dd></dl>
+To use this function, you must call before, and in order, ecore_x_icccm_title_get_prefetch(), which sends the GetProperty request, then ecore_x_icccm_title_get_fetch(), which gets the reply. 
+</div>
+</div><p>
+<a class="anchor" name="g2f89bf0f24cc88e3f347eb7821b009be"></a><!-- doxytag: member="ecore_xcb_icccm.c::ecore_x_icccm_title_set" ref="g2f89bf0f24cc88e3f347eb7821b009be" args="(Ecore_X_Window window, const char *title)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_icccm_title_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>title</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set the title of a window. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>title</em>&nbsp;</td><td>The title. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="ga4ddc87534e243e3c204f04ec9c236ed"></a><!-- doxytag: member="ecore_xcb_icccm.c::ecore_x_icccm_transient_for_get" ref="ga4ddc87534e243e3c204f04ec9c236ed" args="(Ecore_X_Window window __UNUSED__)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Ecore_X_Window ecore_x_icccm_transient_for_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window window&nbsp;</td>
+          <td class="paramname"> <em>__UNUSED__</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Get the window this window is transient for, if any. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window to check (Unused). </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The window ID of the top-level window, or 0 if the property does not exist.</dd></dl>
+To use this function, you must call before, and in order, ecore_x_icccm_transient_for_get_prefetch(), which sends the GetProperty request, then ecore_x_icccm_transient_for_get_fetch(), which gets the reply. 
+</div>
+</div><p>
+<a class="anchor" name="g170ce1c92e295437cc077d0111364936"></a><!-- doxytag: member="ecore_xcb_icccm.c::ecore_x_icccm_transient_for_set" ref="g170ce1c92e295437cc077d0111364936" args="(Ecore_X_Window window, Ecore_X_Window forwindow)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_icccm_transient_for_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>forwindow</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Specify that a window is transient for another top-level window and should be handled accordingly. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The transient window </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>forwindow</em>&nbsp;</td><td>The toplevel window </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g259feec5f4b85523573f08820ecb358e"></a><!-- doxytag: member="ecore_xcb_icccm.c::ecore_x_icccm_transient_for_unset" ref="g259feec5f4b85523573f08820ecb358e" args="(Ecore_X_Window window)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_icccm_transient_for_unset           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Remove the transient_for setting from a window. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g4b900983ec368b7dc108b6539a3e3657"></a><!-- doxytag: member="ecore_xcb_icccm.c::ecore_x_icccm_window_role_get" ref="g4b900983ec368b7dc108b6539a3e3657" args="(Ecore_X_Window window)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI char* ecore_x_icccm_window_role_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Get the window role. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The window's role string.</dd></dl>
+To use this function, you must call before, and in order, <a class="el" href="group__Ecore__X__ICCCM__Group.html#gd4426f1ad8b83e303ed2850ef1c0a7f5">ecore_x_icccm_window_role_get_prefetch()</a>, which sends the GetProperty request, then <a class="el" href="group__Ecore__X__ICCCM__Group.html#g77b5e7ec8993970813c321397d21593e">ecore_x_icccm_window_role_get_fetch()</a>, which gets the reply. 
+</div>
+</div><p>
+<a class="anchor" name="gd4426f1ad8b83e303ed2850ef1c0a7f5"></a><!-- doxytag: member="ecore_xcb_icccm.c::ecore_x_icccm_window_role_get_prefetch" ref="gd4426f1ad8b83e303ed2850ef1c0a7f5" args="(Ecore_X_Window window)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_icccm_window_role_get_prefetch           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sends the GetProperty request. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>Window whose properties are requested. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g3dd8959d662584671c3992e2c83dfefc"></a><!-- doxytag: member="ecore_xcb_icccm.c::ecore_x_icccm_window_role_set" ref="g3dd8959d662584671c3992e2c83dfefc" args="(Ecore_X_Window window, const char *role)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_icccm_window_role_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>role</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set the window role hint. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>role</em>&nbsp;</td><td>The role string. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+</body>
+</html>
diff --git a/doc/html/group__Ecore__X__Init__Group.html b/doc/html/group__Ecore__X__Init__Group.html
new file mode 100644
index 0000000..a6f0ca2
--- /dev/null
+++ b/doc/html/group__Ecore__X__Init__Group.html
@@ -0,0 +1,123 @@
+<html>
+
+<head>
+
+<title>Ecore: X Library Init and Shutdown Functions</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1>X Library Init and Shutdown Functions</h1>Functions that start and shut down the Ecore X Library.  
+<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Init__Group.html#g92e834eefd48b55101fa30c7386a709e">ecore_x_init</a> (const char *name)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initialize the X display connection to the given display.  <a href="#g92e834eefd48b55101fa30c7386a709e"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Init__Group.html#gebb628e400a8c90696b67935bef84873">ecore_x_shutdown</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Shuts down the Ecore X library.  <a href="#gebb628e400a8c90696b67935bef84873"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Init__Group.html#g01158850d3f9632f4bc6c79fb194e09b">ecore_x_disconnect</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Shuts down the Ecore X library.  <a href="#g01158850d3f9632f4bc6c79fb194e09b"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Functions that start and shut down the Ecore X Library. 
+<p>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="g01158850d3f9632f4bc6c79fb194e09b"></a><!-- doxytag: member="ecore_x.c::ecore_x_disconnect" ref="g01158850d3f9632f4bc6c79fb194e09b" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_x_disconnect           </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Shuts down the Ecore X library. 
+<p>
+As ecore_x_shutdown, except do not close Display, only connection. 
+</div>
+</div><p>
+<a class="anchor" name="g92e834eefd48b55101fa30c7386a709e"></a><!-- doxytag: member="ecore_x.c::ecore_x_init" ref="g92e834eefd48b55101fa30c7386a709e" args="(const char *name)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_x_init           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>name</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Initialize the X display connection to the given display. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>Display target name. If <code>NULL</code>, the default display is assumed. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The number of times the library has been initialized without being shut down. 0 is returned if an error occurs. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="gebb628e400a8c90696b67935bef84873"></a><!-- doxytag: member="ecore_x.c::ecore_x_shutdown" ref="gebb628e400a8c90696b67935bef84873" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_x_shutdown           </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Shuts down the Ecore X library. 
+<p>
+In shutting down the library, the X display connection is terminated and any event handlers for it are removed.<p>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The number of times the library has been initialized without being shut down. </dd></dl>
+
+</div>
+</div><p>
+</body>
+</html>
diff --git a/doc/html/group__Ecore__X__MWM__Group.html b/doc/html/group__Ecore__X__MWM__Group.html
new file mode 100644
index 0000000..207d3bc
--- /dev/null
+++ b/doc/html/group__Ecore__X__MWM__Group.html
@@ -0,0 +1,169 @@
+<html>
+
+<head>
+
+<title>Ecore: MWM related functions.</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1>MWM related functions.</h1>Functions related to MWM.  
+<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__MWM__Group.html#g13d600cbcfd9156adb5be99d86151fdb">ecore_x_mwm_hints_get_prefetch</a> (Ecore_X_Window window)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the GetProperty request.  <a href="#g13d600cbcfd9156adb5be99d86151fdb"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gc1839719a738530cc96c6ef316ad3696"></a><!-- doxytag: member="Ecore_X_MWM_Group::ecore_x_mwm_hints_get_fetch" ref="gc1839719a738530cc96c6ef316ad3696" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__MWM__Group.html#gc1839719a738530cc96c6ef316ad3696">ecore_x_mwm_hints_get_fetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the reply of the GetProperty request sent by <a class="el" href="group__Ecore__X__MWM__Group.html#g13d600cbcfd9156adb5be99d86151fdb">ecore_x_mwm_hints_get_prefetch()</a>. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__MWM__Group.html#gb11364ecc304187a8e54dba77ee36dbe">ecore_x_mwm_hints_get</a> (Ecore_X_Window window __UNUSED__, Ecore_X_MWM_Hint_Func *fhint, Ecore_X_MWM_Hint_Decor *dhint, Ecore_X_MWM_Hint_Input *ihint)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To document.  <a href="#gb11364ecc304187a8e54dba77ee36dbe"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__MWM__Group.html#gdd08a6aa95562bc0483d6713159ae196">ecore_x_mwm_borderless_set</a> (Ecore_X_Window window, int borderless)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the borderless flag of a window using MWM.  <a href="#gdd08a6aa95562bc0483d6713159ae196"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Functions related to MWM. 
+<p>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="gdd08a6aa95562bc0483d6713159ae196"></a><!-- doxytag: member="ecore_xcb_mwm.c::ecore_x_mwm_borderless_set" ref="gdd08a6aa95562bc0483d6713159ae196" args="(Ecore_X_Window window, int borderless)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_mwm_borderless_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>borderless</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sets the borderless flag of a window using MWM. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>borderless</em>&nbsp;</td><td>The borderless flag. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="gb11364ecc304187a8e54dba77ee36dbe"></a><!-- doxytag: member="ecore_xcb_mwm.c::ecore_x_mwm_hints_get" ref="gb11364ecc304187a8e54dba77ee36dbe" args="(Ecore_X_Window window __UNUSED__, Ecore_X_MWM_Hint_Func *fhint, Ecore_X_MWM_Hint_Decor *dhint, Ecore_X_MWM_Hint_Input *ihint)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_x_mwm_hints_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window window&nbsp;</td>
+          <td class="paramname"> <em>__UNUSED__</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_MWM_Hint_Func *&nbsp;</td>
+          <td class="paramname"> <em>fhint</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_MWM_Hint_Decor *&nbsp;</td>
+          <td class="paramname"> <em>dhint</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_MWM_Hint_Input *&nbsp;</td>
+          <td class="paramname"> <em>ihint</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+To document. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>Unused. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>fhint</em>&nbsp;</td><td>To document. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>dhint</em>&nbsp;</td><td>To document. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>ihint</em>&nbsp;</td><td>To document. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 on success, 0 otherwise.</dd></dl>
+To use this function, you must call before, and in order, <a class="el" href="group__Ecore__X__MWM__Group.html#g13d600cbcfd9156adb5be99d86151fdb">ecore_x_mwm_hints_get_prefetch()</a>, which sends the GetProperty request, then <a class="el" href="group__Ecore__X__MWM__Group.html#gc1839719a738530cc96c6ef316ad3696">ecore_x_mwm_hints_get_fetch()</a>, which gets the reply. 
+</div>
+</div><p>
+<a class="anchor" name="g13d600cbcfd9156adb5be99d86151fdb"></a><!-- doxytag: member="ecore_xcb_mwm.c::ecore_x_mwm_hints_get_prefetch" ref="g13d600cbcfd9156adb5be99d86151fdb" args="(Ecore_X_Window window)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_mwm_hints_get_prefetch           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sends the GetProperty request. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>Window whose MWM hints are requested. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+</body>
+</html>
diff --git a/doc/html/group__Ecore__X__NetWM__Group.html b/doc/html/group__Ecore__X__NetWM__Group.html
new file mode 100644
index 0000000..8cf628d
--- /dev/null
+++ b/doc/html/group__Ecore__X__NetWM__Group.html
@@ -0,0 +1,3483 @@
+<html>
+
+<head>
+
+<title>Ecore: Extended Window Manager Hint (EWMH) functions</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1>Extended Window Manager Hint (EWMH) functions</h1>Functions related to the Extended Window Manager Hint (EWMH).  
+<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g44d807f6153f6f51f097fc56e790a593">ecore_x_netwm_wm_identify</a> (Ecore_X_Window root, Ecore_X_Window check, const char *wm_name)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the _NET_SUPPORTING_WM_CHECK property.  <a href="#g44d807f6153f6f51f097fc56e790a593"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g12031ab17e0eef3c63dd1bf4c7286fa8">ecore_x_netwm_supported_set</a> (Ecore_X_Window root, Ecore_X_Atom *supported, int num)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the _NET_SUPPORTED property.  <a href="#g12031ab17e0eef3c63dd1bf4c7286fa8"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g2298e64a801fd52fd03d04e753bb9ac5">ecore_x_netwm_supported_get_prefetch</a> (Ecore_X_Window root)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the GetProperty request.  <a href="#g2298e64a801fd52fd03d04e753bb9ac5"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gb45c2c7c71faad4640473b18c941b5b5"></a><!-- doxytag: member="Ecore_X_NetWM_Group::ecore_x_netwm_supported_get_fetch" ref="gb45c2c7c71faad4640473b18c941b5b5" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#gb45c2c7c71faad4640473b18c941b5b5">ecore_x_netwm_supported_get_fetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the reply of the GetProperty request sent by <a class="el" href="group__Ecore__X__NetWM__Group.html#g2298e64a801fd52fd03d04e753bb9ac5">ecore_x_netwm_supported_get_prefetch()</a>. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#gec17f7f26685ce7181bffb1eec35179f">ecore_x_netwm_supported_get</a> (Ecore_X_Window root, Ecore_X_Atom **supported, int *num)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the hints supported by the Window Manager.  <a href="#gec17f7f26685ce7181bffb1eec35179f"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g322c07ba72236d918277b06dff0ea4fe">ecore_x_netwm_desk_count_set</a> (Ecore_X_Window root, unsigned int n_desks)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the _NET_NUMBER_OF_DESKTOPS property.  <a href="#g322c07ba72236d918277b06dff0ea4fe"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g8f8bf74f0c30ed772607f77499084ee5">ecore_x_netwm_desk_roots_set</a> (Ecore_X_Window root, Ecore_X_Window *vroots, unsigned int n_desks)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the _NET_VIRTUAL_ROOTS property.  <a href="#g8f8bf74f0c30ed772607f77499084ee5"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#gb6e059d70483327b0b3f213ccbfe65d6">ecore_x_netwm_desk_names_set</a> (Ecore_X_Window root, const char **names, unsigned int n_desks)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the _NET_DESKTOP_NAMES property.  <a href="#gb6e059d70483327b0b3f213ccbfe65d6"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#gefa6bb9baeb95ac40932ed8982583572">ecore_x_netwm_desk_size_set</a> (Ecore_X_Window root, unsigned int width, unsigned int height)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the _NET_DESKTOP_GEOMETRY property.  <a href="#gefa6bb9baeb95ac40932ed8982583572"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g4cacddaf13318184e2cbd2f9ab07720d">ecore_x_netwm_desk_viewports_set</a> (Ecore_X_Window root, unsigned int *origins, unsigned int n_desks)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the _NET_DESKTOP_VIEWPORT property.  <a href="#g4cacddaf13318184e2cbd2f9ab07720d"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#gfe24bdee07f814b0e4bf5f3e5cf5d288">ecore_x_netwm_desk_layout_set</a> (Ecore_X_Window root, int orientation, int columns, int rows, int starting_corner)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the _NET_DESKTOP_LAYOUT property.  <a href="#gfe24bdee07f814b0e4bf5f3e5cf5d288"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g8ff0ea85a83041848dba543bf17f8e14">ecore_x_netwm_desk_workareas_set</a> (Ecore_X_Window root, unsigned int *areas, unsigned int n_desks)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the _NET_WORKAREA property.  <a href="#g8ff0ea85a83041848dba543bf17f8e14"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g8492a55dcd3db992e2619a0edf19cf16">ecore_x_netwm_desk_current_set</a> (Ecore_X_Window root, unsigned int desk)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the _NET_CURRENT_DESKTOP property.  <a href="#g8492a55dcd3db992e2619a0edf19cf16"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g52512f8933d06b8ee1fd69cebbe565b0">ecore_x_netwm_showing_desktop_set</a> (Ecore_X_Window root, int on)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the _NET_SHOWING_DESKTOP property.  <a href="#g52512f8933d06b8ee1fd69cebbe565b0"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g1b3bdbcab3968db8b72a2ab036a64619">ecore_x_netwm_client_list_set</a> (Ecore_X_Window root, Ecore_X_Window *p_clients, unsigned int n_clients)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the _NET_CLIENT_LIST property.  <a href="#g1b3bdbcab3968db8b72a2ab036a64619"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g42407d3c3f6f4e2c507697fdbe5fe4e2">ecore_x_netwm_client_list_stacking_set</a> (Ecore_X_Window root, Ecore_X_Window *p_clients, unsigned int n_clients)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the _NET_CLIENT_LIST_STACKING property.  <a href="#g42407d3c3f6f4e2c507697fdbe5fe4e2"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#ge07306aeca9d2a8ab864bc986dc617c5">ecore_x_netwm_client_active_set</a> (Ecore_X_Window root, Ecore_X_Window window)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the _NET_ACTIVE_WINDOW property.  <a href="#ge07306aeca9d2a8ab864bc986dc617c5"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#ga121d2f05c29129c8281d69403589b7a">ecore_x_netwm_name_set</a> (Ecore_X_Window window, const char *name)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the _NET_WM_NAME property.  <a href="#ga121d2f05c29129c8281d69403589b7a"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#ga6e282dd3aa3d0924b99cb290e7012b9">ecore_x_netwm_name_get_prefetch</a> (Ecore_X_Window window)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the GetProperty request.  <a href="#ga6e282dd3aa3d0924b99cb290e7012b9"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g3029e5b4e62456951f3b3858d4f42af1"></a><!-- doxytag: member="Ecore_X_NetWM_Group::ecore_x_netwm_name_get_fetch" ref="g3029e5b4e62456951f3b3858d4f42af1" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g3029e5b4e62456951f3b3858d4f42af1">ecore_x_netwm_name_get_fetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the reply of the GetProperty request sent by <a class="el" href="group__Ecore__X__NetWM__Group.html#ga6e282dd3aa3d0924b99cb290e7012b9">ecore_x_netwm_name_get_prefetch()</a>. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g8d99b216ec82ffcb58eef434118e0b53">ecore_x_netwm_name_get</a> (Ecore_X_Window window, char **name)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the title of a window.  <a href="#g8d99b216ec82ffcb58eef434118e0b53"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g19db748363e7cfb68cf8fb6ece03b487">ecore_x_netwm_startup_id_set</a> (Ecore_X_Window window, const char *id)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the _NET_STARTUP_ID property.  <a href="#g19db748363e7cfb68cf8fb6ece03b487"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g35ec39bf0e6f22417fd8877b76556e93">ecore_x_netwm_startup_id_get_prefetch</a> (Ecore_X_Window window)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the GetProperty request.  <a href="#g35ec39bf0e6f22417fd8877b76556e93"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g5a097958575bf1708b485ecce9123775"></a><!-- doxytag: member="Ecore_X_NetWM_Group::ecore_x_netwm_startup_id_get_fetch" ref="g5a097958575bf1708b485ecce9123775" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g5a097958575bf1708b485ecce9123775">ecore_x_netwm_startup_id_get_fetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the reply of the GetProperty request sent by <a class="el" href="group__Ecore__X__NetWM__Group.html#g35ec39bf0e6f22417fd8877b76556e93">ecore_x_netwm_startup_id_get_prefetch()</a>. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#gbca67ffb95ff2c3a71f4ce657384ea21">ecore_x_netwm_startup_id_get</a> (Ecore_X_Window window, char **id)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the startup ID name of a window.  <a href="#gbca67ffb95ff2c3a71f4ce657384ea21"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g24a8a5d819450c7191f69adda491ff31">ecore_x_netwm_visible_name_set</a> (Ecore_X_Window window, const char *name)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the _NET_WM_VISIBLE_NAME property.  <a href="#g24a8a5d819450c7191f69adda491ff31"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g8053d77e36a5c5bcc67d45cd6b630f2d">ecore_x_netwm_visible_name_get_prefetch</a> (Ecore_X_Window window)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the GetProperty request.  <a href="#g8053d77e36a5c5bcc67d45cd6b630f2d"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g85c72fa3d53b56b589cc45977c3116d1"></a><!-- doxytag: member="Ecore_X_NetWM_Group::ecore_x_netwm_visible_name_get_fetch" ref="g85c72fa3d53b56b589cc45977c3116d1" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g85c72fa3d53b56b589cc45977c3116d1">ecore_x_netwm_visible_name_get_fetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the reply of the GetProperty request sent by <a class="el" href="group__Ecore__X__NetWM__Group.html#g8053d77e36a5c5bcc67d45cd6b630f2d">ecore_x_netwm_visible_name_get_prefetch()</a>. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#ga5dfabdd704c5691b2c0ba158e55c1c0">ecore_x_netwm_visible_name_get</a> (Ecore_X_Window window, char **name)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the visible title of a window.  <a href="#ga5dfabdd704c5691b2c0ba158e55c1c0"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g095da6e161bd8ae983dfe586025e47da">ecore_x_netwm_icon_name_set</a> (Ecore_X_Window window, const char *name)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the _NET_WM_ICON_NAME property.  <a href="#g095da6e161bd8ae983dfe586025e47da"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g39f5a089389baa4b8f91fad1e5f6469d">ecore_x_netwm_icon_name_get_prefetch</a> (Ecore_X_Window window)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the GetProperty request.  <a href="#g39f5a089389baa4b8f91fad1e5f6469d"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g91c577b0478be6378a35eeee31fdbf15"></a><!-- doxytag: member="Ecore_X_NetWM_Group::ecore_x_netwm_icon_name_get_fetch" ref="g91c577b0478be6378a35eeee31fdbf15" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g91c577b0478be6378a35eeee31fdbf15">ecore_x_netwm_icon_name_get_fetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the reply of the GetProperty request sent by <a class="el" href="group__Ecore__X__NetWM__Group.html#g39f5a089389baa4b8f91fad1e5f6469d">ecore_x_netwm_icon_name_get_prefetch()</a>. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g81a5e7fc189b36887a409a1eda026905">ecore_x_netwm_icon_name_get</a> (Ecore_X_Window window, char **name)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the icon name of a window.  <a href="#g81a5e7fc189b36887a409a1eda026905"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#gc2b69cd1230eea36d59fd93c65c96588">ecore_x_netwm_visible_icon_name_set</a> (Ecore_X_Window window, const char *name)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the _NET_WM_VISIBLE_ICON_NAME property.  <a href="#gc2b69cd1230eea36d59fd93c65c96588"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g5ac2253b2d29710e3a8ecd59b7398f41">ecore_x_netwm_visible_icon_name_get_prefetch</a> (Ecore_X_Window window)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the GetProperty request.  <a href="#g5ac2253b2d29710e3a8ecd59b7398f41"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g76267594cda1098b20e56ffbae9b7bd0"></a><!-- doxytag: member="Ecore_X_NetWM_Group::ecore_x_netwm_visible_icon_name_get_fetch" ref="g76267594cda1098b20e56ffbae9b7bd0" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g76267594cda1098b20e56ffbae9b7bd0">ecore_x_netwm_visible_icon_name_get_fetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the reply of the GetProperty request sent by <a class="el" href="group__Ecore__X__NetWM__Group.html#g5ac2253b2d29710e3a8ecd59b7398f41">ecore_x_netwm_visible_icon_name_get_prefetch()</a>. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g1aa26ca13404f31badec8c0792794b30">ecore_x_netwm_visible_icon_name_get</a> (Ecore_X_Window window, char **name)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the visible icon name of a window.  <a href="#g1aa26ca13404f31badec8c0792794b30"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#gfabc012ab9cfb8e642e14bbca947ed33">ecore_x_netwm_desktop_set</a> (Ecore_X_Window window, unsigned int desk)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the _NET_WM_DESKTOP property.  <a href="#gfabc012ab9cfb8e642e14bbca947ed33"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g2f3fc6b45d60750498fa30733bc6d227">ecore_x_netwm_desktop_get_prefetch</a> (Ecore_X_Window window)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the GetProperty request.  <a href="#g2f3fc6b45d60750498fa30733bc6d227"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g3a4860d6235719bf820867f571582a8b"></a><!-- doxytag: member="Ecore_X_NetWM_Group::ecore_x_netwm_desktop_get_fetch" ref="g3a4860d6235719bf820867f571582a8b" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g3a4860d6235719bf820867f571582a8b">ecore_x_netwm_desktop_get_fetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the reply of the GetProperty request sent by <a class="el" href="group__Ecore__X__NetWM__Group.html#g2f3fc6b45d60750498fa30733bc6d227">ecore_x_netwm_desktop_get_prefetch()</a>. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g46906092a13f8613a8a6fb5cc53e25ee">ecore_x_netwm_desktop_get</a> (Ecore_X_Window window, unsigned int *desk)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the visible icon name of a window.  <a href="#g46906092a13f8613a8a6fb5cc53e25ee"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g4f33da6e5b143351ff2fa3d75ec0c59d">ecore_x_netwm_strut_set</a> (Ecore_X_Window window, int left, int right, int top, int bottom)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the _NET_WM_STRUT property.  <a href="#g4f33da6e5b143351ff2fa3d75ec0c59d"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g5a39840d1cbd5ce185b10b46ffa4e3a5">ecore_x_netwm_strut_get_prefetch</a> (Ecore_X_Window window)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the GetProperty request.  <a href="#g5a39840d1cbd5ce185b10b46ffa4e3a5"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g6576ef3eb6fb134194ea6062379f4ecc"></a><!-- doxytag: member="Ecore_X_NetWM_Group::ecore_x_netwm_strut_get_fetch" ref="g6576ef3eb6fb134194ea6062379f4ecc" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g6576ef3eb6fb134194ea6062379f4ecc">ecore_x_netwm_strut_get_fetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the reply of the GetProperty request sent by ecore_x_strut_get_prefetch(). <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g90dfc865f2a978097c1161c3db4fdaa4">ecore_x_netwm_strut_get</a> (Ecore_X_Window window, int *left, int *right, int *top, int *bottom)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the space at the edje of the screen.  <a href="#g90dfc865f2a978097c1161c3db4fdaa4"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#gc305c545e5589069bdb82d8af3d3a446">ecore_x_netwm_strut_partial_set</a> (Ecore_X_Window window, int left, int right, int top, int bottom, int left_start_y, int left_end_y, int right_start_y, int right_end_y, int top_start_x, int top_end_x, int bottom_start_x, int bottom_end_x)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the _NET_WM_STRUT_PARTIAL property.  <a href="#gc305c545e5589069bdb82d8af3d3a446"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g14c97c9a08537d7437aa69d1f03ec473">ecore_x_netwm_strut_partial_get_prefetch</a> (Ecore_X_Window window)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the GetProperty request.  <a href="#g14c97c9a08537d7437aa69d1f03ec473"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g8efb784e5af202e2fffc40457b00115a"></a><!-- doxytag: member="Ecore_X_NetWM_Group::ecore_x_netwm_strut_partial_get_fetch" ref="g8efb784e5af202e2fffc40457b00115a" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g8efb784e5af202e2fffc40457b00115a">ecore_x_netwm_strut_partial_get_fetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the reply of the GetProperty request sent by ecore_x_strut_partial_get_prefetch(). <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g9151d0e817387bd0c28de180c688b06f">ecore_x_netwm_strut_partial_get</a> (Ecore_X_Window window, int *left, int *right, int *top, int *bottom, int *left_start_y, int *left_end_y, int *right_start_y, int *right_end_y, int *top_start_x, int *top_end_x, int *bottom_start_x, int *bottom_end_x)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the space at the edje of the screen of a window.  <a href="#g9151d0e817387bd0c28de180c688b06f"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#gbea0854073f61fc3387d9685ccb0eecf">ecore_x_netwm_icons_get_prefetch</a> (Ecore_X_Window window)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the GetProperty request.  <a href="#gbea0854073f61fc3387d9685ccb0eecf"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g53300609f0803527f01471bd97b61fe2"></a><!-- doxytag: member="Ecore_X_NetWM_Group::ecore_x_netwm_icons_get_fetch" ref="g53300609f0803527f01471bd97b61fe2" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g53300609f0803527f01471bd97b61fe2">ecore_x_netwm_icons_get_fetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the reply of the GetProperty request sent by ecore_x_icons_get_prefetch(). <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g5d0490b2c0543142f56cfc51c11c1fe1">ecore_x_netwm_icons_get</a> (Ecore_X_Window window, Ecore_X_Icon **icon, int *num)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieve hte possible icons of a window.  <a href="#g5d0490b2c0543142f56cfc51c11c1fe1"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g88f5e4ec0da5d2cb64241c38e3589fdf">ecore_x_netwm_icon_geometry_set</a> (Ecore_X_Window window, int x, int y, int width, int height)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the _NET_WM_ICON_GEOMETRY property.  <a href="#g88f5e4ec0da5d2cb64241c38e3589fdf"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#gf03e99e4cd1c59bb20ccc37d93d78733">ecore_x_netwm_icon_geometry_get_prefetch</a> (Ecore_X_Window window)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the GetProperty request.  <a href="#gf03e99e4cd1c59bb20ccc37d93d78733"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g01bcd4044b8d94ff7cc56f9ca5831c1d"></a><!-- doxytag: member="Ecore_X_NetWM_Group::ecore_x_netwm_icon_geometry_get_fetch" ref="g01bcd4044b8d94ff7cc56f9ca5831c1d" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g01bcd4044b8d94ff7cc56f9ca5831c1d">ecore_x_netwm_icon_geometry_get_fetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the reply of the GetProperty request sent by ecore_x_icon_geometry_get_prefetch(). <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g4b7029e67d6e8d8ca72154c2c912113d">ecore_x_netwm_icon_geometry_get</a> (Ecore_X_Window window, int *x, int *y, int *width, int *height)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the geometry of an icon.  <a href="#g4b7029e67d6e8d8ca72154c2c912113d"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g3b7b3076e9ea1b106f36873b258322d4">ecore_x_netwm_pid_set</a> (Ecore_X_Window window, int pid)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the _NET_WM_PID property.  <a href="#g3b7b3076e9ea1b106f36873b258322d4"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#ge77708a72902c28e22af4baaca9aaac2">ecore_x_netwm_pid_get_prefetch</a> (Ecore_X_Window window)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the GetProperty request.  <a href="#ge77708a72902c28e22af4baaca9aaac2"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g716dba22ff552654642756b9527c3f29"></a><!-- doxytag: member="Ecore_X_NetWM_Group::ecore_x_netwm_pid_get_fetch" ref="g716dba22ff552654642756b9527c3f29" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g716dba22ff552654642756b9527c3f29">ecore_x_netwm_pid_get_fetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the reply of the GetProperty request sent by ecore_x_pid_get_prefetch(). <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#gea2442fd0c4d5871e9a92518abb0092d">ecore_x_netwm_pid_get</a> (Ecore_X_Window window, int *pid)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the process ID of a client window.  <a href="#gea2442fd0c4d5871e9a92518abb0092d"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#gba74ce8c16ea452ae31f30dad3a2d694">ecore_x_netwm_handled_icons_set</a> (Ecore_X_Window window)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the _NET_WM_HANDLED_ICONS property.  <a href="#gba74ce8c16ea452ae31f30dad3a2d694"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g432b8b3d09b56e82e7e529ffcfc56afd">ecore_x_netwm_handled_icons_get_prefetch</a> (Ecore_X_Window window)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the GetProperty request.  <a href="#g432b8b3d09b56e82e7e529ffcfc56afd"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g131d350d9088e13e55bd88f6f74da4ef"></a><!-- doxytag: member="Ecore_X_NetWM_Group::ecore_x_netwm_handled_icons_get_fetch" ref="g131d350d9088e13e55bd88f6f74da4ef" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g131d350d9088e13e55bd88f6f74da4ef">ecore_x_netwm_handled_icons_get_fetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the reply of the GetProperty request sent by ecore_x_handled_icons_get_prefetch(). <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#gacca4387980183d6993f980ad42a4869">ecore_x_netwm_handled_icons_get</a> (Ecore_X_Window window)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return wheter the Client handles icons or not.  <a href="#gacca4387980183d6993f980ad42a4869"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#gee0bb29864b98894ec02631236f4e794">ecore_x_netwm_user_time_set</a> (Ecore_X_Window window, unsigned int time)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the _NET_WM_USER_TIME property.  <a href="#gee0bb29864b98894ec02631236f4e794"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g547c35302c92ebfc5e6f54120755593a">ecore_x_netwm_user_time_get_prefetch</a> (Ecore_X_Window window)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the GetProperty request.  <a href="#g547c35302c92ebfc5e6f54120755593a"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g2f0ad96d62d836f07e13def405a1fa96"></a><!-- doxytag: member="Ecore_X_NetWM_Group::ecore_x_netwm_user_time_get_fetch" ref="g2f0ad96d62d836f07e13def405a1fa96" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g2f0ad96d62d836f07e13def405a1fa96">ecore_x_netwm_user_time_get_fetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the reply of the GetProperty request sent by <a class="el" href="group__Ecore__X__NetWM__Group.html#g547c35302c92ebfc5e6f54120755593a">ecore_x_netwm_user_time_get_prefetch()</a>. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#gc65c380e26c8efe810d21be5a013578a">ecore_x_netwm_user_time_get</a> (Ecore_X_Window window, unsigned int *time)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the last user activity time in the window.  <a href="#gc65c380e26c8efe810d21be5a013578a"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g48ea0e54441b6ffc81494151a3b4a53f">ecore_x_netwm_window_state_set</a> (Ecore_X_Window window, Ecore_X_Window_State *state, unsigned int num)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the _NET_WM_STATE property.  <a href="#g48ea0e54441b6ffc81494151a3b4a53f"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g325c8c4da075d776a4f91517648cd113">ecore_x_netwm_window_state_get_prefetch</a> (Ecore_X_Window window)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the GetProperty request.  <a href="#g325c8c4da075d776a4f91517648cd113"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g7db6800a36f20f764cfe63a58004e422"></a><!-- doxytag: member="Ecore_X_NetWM_Group::ecore_x_netwm_window_state_get_fetch" ref="g7db6800a36f20f764cfe63a58004e422" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g7db6800a36f20f764cfe63a58004e422">ecore_x_netwm_window_state_get_fetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the reply of the GetProperty request sent by ecore_x_window_state_get_prefetch(). <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g00b9620c98d37de04870a48ade2bd1cf">ecore_x_netwm_window_state_get</a> (Ecore_X_Window window, Ecore_X_Window_State **state, unsigned int *num)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the hints describing the window state.  <a href="#g00b9620c98d37de04870a48ade2bd1cf"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g350b959efbc770f72bcf99fd925c5af7">ecore_x_netwm_window_type_set</a> (Ecore_X_Window window, Ecore_X_Window_Type type)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the _NET_WM_WINDOW_TYPE property.  <a href="#g350b959efbc770f72bcf99fd925c5af7"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g26ef48c528e62c9fcca0cd0bde5705ac">ecore_x_netwm_window_type_get_prefetch</a> (Ecore_X_Window window)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the GetProperty request.  <a href="#g26ef48c528e62c9fcca0cd0bde5705ac"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ge94b43f91956f6043a20eb4c49d6ed43"></a><!-- doxytag: member="Ecore_X_NetWM_Group::ecore_x_netwm_window_type_get_fetch" ref="ge94b43f91956f6043a20eb4c49d6ed43" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#ge94b43f91956f6043a20eb4c49d6ed43">ecore_x_netwm_window_type_get_fetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the reply of the GetProperty request sent by ecore_x_window_type_get_prefetch(). <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g2c6e85b979a52f7f33d202582e904f15">ecore_x_netwm_window_type_get</a> (Ecore_X_Window window, Ecore_X_Window_Type *type)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the functional type of a window.  <a href="#g2c6e85b979a52f7f33d202582e904f15"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g533d21602d8068a40172b2a10199eaa5">ecore_x_netwm_allowed_action_get_prefetch</a> (Ecore_X_Window window)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the GetProperty request.  <a href="#g533d21602d8068a40172b2a10199eaa5"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gb96c5f54e223e873a1922baca7acb2a1"></a><!-- doxytag: member="Ecore_X_NetWM_Group::ecore_x_netwm_allowed_action_get_fetch" ref="gb96c5f54e223e873a1922baca7acb2a1" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#gb96c5f54e223e873a1922baca7acb2a1">ecore_x_netwm_allowed_action_get_fetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the reply of the GetProperty request sent by ecore_x_allowed_action_get_prefetch(). <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#ga23f72ae825d6dfedf36d0a80e11003e">ecore_x_netwm_allowed_action_isset</a> (Ecore_X_Window window, Ecore_X_Action action)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check whether an action is supported by a window.  <a href="#ga23f72ae825d6dfedf36d0a80e11003e"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#gd2aff9c983f0c54caec591c69254b486">ecore_x_netwm_allowed_action_set</a> (Ecore_X_Window window, Ecore_X_Action *action, unsigned int num)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the _NET_WM_ALLOWED_ACTIONS property.  <a href="#gd2aff9c983f0c54caec591c69254b486"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#gf99a4b8847575af7482902d14fac6410">ecore_x_netwm_allowed_action_get</a> (Ecore_X_Window window, Ecore_X_Action **action, unsigned int *num)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the allowed actions supported by a window.  <a href="#gf99a4b8847575af7482902d14fac6410"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g216585b4c71fe63e2694878792b2cc47">ecore_x_netwm_opacity_set</a> (Ecore_X_Window window, unsigned int opacity)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the _NET_WM_WINDOW_OPACITY property.  <a href="#g216585b4c71fe63e2694878792b2cc47"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#gadfb0b4c5d3894bc2c24bad6231ed08b">ecore_x_netwm_opacity_get_prefetch</a> (Ecore_X_Window window)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the GetProperty request.  <a href="#gadfb0b4c5d3894bc2c24bad6231ed08b"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g746631a94bf98b07b45d4e378786b85b"></a><!-- doxytag: member="Ecore_X_NetWM_Group::ecore_x_netwm_opacity_get_fetch" ref="g746631a94bf98b07b45d4e378786b85b" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g746631a94bf98b07b45d4e378786b85b">ecore_x_netwm_opacity_get_fetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the reply of the GetProperty request sent by <a class="el" href="group__Ecore__X__NetWM__Group.html#gadfb0b4c5d3894bc2c24bad6231ed08b">ecore_x_netwm_opacity_get_prefetch()</a>. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g9a28cefe24d304940b5e2cc86a2154a3">ecore_x_netwm_opacity_get</a> (Ecore_X_Window window, unsigned int *opacity)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the opacity value of a window.  <a href="#g9a28cefe24d304940b5e2cc86a2154a3"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g43c3ae6cd045ef6726bec3f97477fe5d">ecore_x_netwm_frame_size_set</a> (Ecore_X_Window window, int fl, int fr, int ft, int fb)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the _NET_FRAME_EXTENTS property.  <a href="#g43c3ae6cd045ef6726bec3f97477fe5d"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g89e2f7a4267ffb61387a6463b316ddee">ecore_x_netwm_frame_size_get_prefetch</a> (Ecore_X_Window window)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the GetProperty request.  <a href="#g89e2f7a4267ffb61387a6463b316ddee"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g784b4a524a5bae008ff3f6c8b7a1f1cc"></a><!-- doxytag: member="Ecore_X_NetWM_Group::ecore_x_netwm_frame_size_get_fetch" ref="g784b4a524a5bae008ff3f6c8b7a1f1cc" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g784b4a524a5bae008ff3f6c8b7a1f1cc">ecore_x_netwm_frame_size_get_fetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the reply of the GetProperty request sent by <a class="el" href="group__Ecore__X__NetWM__Group.html#g89e2f7a4267ffb61387a6463b316ddee">ecore_x_netwm_frame_size_get_prefetch()</a>. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#gc80dafdb077ef65d18c4eb9e6632efbe">ecore_x_netwm_frame_size_get</a> (Ecore_X_Window window, int *fl, int *fr, int *ft, int *fb)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the frame extent of a window.  <a href="#gc80dafdb077ef65d18c4eb9e6632efbe"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g6328ad18c00e8ba89eb137a64223d5a8">ecore_x_netwm_sync_counter_get_prefetch</a> (Ecore_X_Window window)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the GetProperty request.  <a href="#g6328ad18c00e8ba89eb137a64223d5a8"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g8ffd4e73e1a00cad7963207f3812132a"></a><!-- doxytag: member="Ecore_X_NetWM_Group::ecore_x_netwm_sync_counter_get_fetch" ref="g8ffd4e73e1a00cad7963207f3812132a" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g8ffd4e73e1a00cad7963207f3812132a">ecore_x_netwm_sync_counter_get_fetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the reply of the GetProperty request sent by <a class="el" href="group__Ecore__X__NetWM__Group.html#g6328ad18c00e8ba89eb137a64223d5a8">ecore_x_netwm_sync_counter_get_prefetch()</a>. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g81e23a83ca85e33e46410454e86411b2">ecore_x_netwm_sync_counter_get</a> (Ecore_X_Window window, Ecore_X_Sync_Counter *counter)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the X ID of a X Sync counter.  <a href="#g81e23a83ca85e33e46410454e86411b2"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g598ec951dbe83f40e1a202411dee5940">ecore_x_netwm_ping_send</a> (Ecore_X_Window window)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Send a _NET_WM_PING property event.  <a href="#g598ec951dbe83f40e1a202411dee5940"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g47005260f3688f6f604b4038ab6d13f1">ecore_x_netwm_sync_request_send</a> (Ecore_X_Window window, unsigned int serial)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Send a _NET_WM_SYNC_REQUEST property event.  <a href="#g47005260f3688f6f604b4038ab6d13f1"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g8620f15ce29d7f6aaddce6a4d557c678">ecore_x_netwm_state_request_send</a> (Ecore_X_Window window, Ecore_X_Window root, Ecore_X_Window_State s1, Ecore_X_Window_State s2, int set)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Send a _NET_WM_STATE property event.  <a href="#g8620f15ce29d7f6aaddce6a4d557c678"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#g100be4f0f4342c5917167f28573f1763">ecore_x_netwm_desktop_request_send</a> (Ecore_X_Window window, Ecore_X_Window root, unsigned int desktop)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Send a _NET_WM_DESKTOP property event.  <a href="#g100be4f0f4342c5917167f28573f1763"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__NetWM__Group.html#gf50ef199db219e0aac5ae1195d4e85a5">ecore_x_screen_is_composited</a> (int screen)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check whether a screen is composited or not.  <a href="#gf50ef199db219e0aac5ae1195d4e85a5"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Functions related to the Extended Window Manager Hint (EWMH). 
+<p>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="gf99a4b8847575af7482902d14fac6410"></a><!-- doxytag: member="ecore_xcb_netwm.c::ecore_x_netwm_allowed_action_get" ref="gf99a4b8847575af7482902d14fac6410" args="(Ecore_X_Window window, Ecore_X_Action **action, unsigned int *num)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_x_netwm_allowed_action_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Action **&nbsp;</td>
+          <td class="paramname"> <em>action</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">unsigned int *&nbsp;</td>
+          <td class="paramname"> <em>num</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Get the allowed actions supported by a window. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>action</em>&nbsp;</td><td>The returned array of the actions. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>num</em>&nbsp;</td><td>The number of actions. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 on success, 0 otherwise.</dd></dl>
+Retrieve the user operations that the Window Manager supports for <code>window</code> and store them in <code>action</code>. The number of actions is stored in <code>num</code>. This function returns 1 on success, 0 otherwise.<p>
+To use this function, you must call before, and in order, <a class="el" href="group__Ecore__X__NetWM__Group.html#g533d21602d8068a40172b2a10199eaa5">ecore_x_netwm_allowed_action_get_prefetch()</a>, which sends the GetProperty request, then <a class="el" href="group__Ecore__X__NetWM__Group.html#gb96c5f54e223e873a1922baca7acb2a1">ecore_x_netwm_allowed_action_get_fetch()</a>, which gets the reply. 
+</div>
+</div><p>
+<a class="anchor" name="g533d21602d8068a40172b2a10199eaa5"></a><!-- doxytag: member="ecore_xcb_netwm.c::ecore_x_netwm_allowed_action_get_prefetch" ref="g533d21602d8068a40172b2a10199eaa5" args="(Ecore_X_Window window)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_netwm_allowed_action_get_prefetch           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sends the GetProperty request. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="ga23f72ae825d6dfedf36d0a80e11003e"></a><!-- doxytag: member="ecore_xcb_netwm.c::ecore_x_netwm_allowed_action_isset" ref="ga23f72ae825d6dfedf36d0a80e11003e" args="(Ecore_X_Window window, Ecore_X_Action action)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_x_netwm_allowed_action_isset           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Action&nbsp;</td>
+          <td class="paramname"> <em>action</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Check whether an action is supported by a window. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>action</em>&nbsp;</td><td>The action </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 if set, 0 otherwise.</dd></dl>
+Return whether the user operation <code>action</code> is supported by the Window Manager for <code>window</code>.<p>
+To use this function, you must call before, and in order, <a class="el" href="group__Ecore__X__NetWM__Group.html#g533d21602d8068a40172b2a10199eaa5">ecore_x_netwm_allowed_action_get_prefetch()</a>, which sends the GetProperty request, then <a class="el" href="group__Ecore__X__NetWM__Group.html#gb96c5f54e223e873a1922baca7acb2a1">ecore_x_netwm_allowed_action_get_fetch()</a>, which gets the reply. 
+</div>
+</div><p>
+<a class="anchor" name="gd2aff9c983f0c54caec591c69254b486"></a><!-- doxytag: member="ecore_xcb_netwm.c::ecore_x_netwm_allowed_action_set" ref="gd2aff9c983f0c54caec591c69254b486" args="(Ecore_X_Window window, Ecore_X_Action *action, unsigned int num)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_netwm_allowed_action_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Action *&nbsp;</td>
+          <td class="paramname"> <em>action</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">unsigned int&nbsp;</td>
+          <td class="paramname"> <em>num</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set the _NET_WM_ALLOWED_ACTIONS property. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>action</em>&nbsp;</td><td>An array of allowed actions. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>num</em>&nbsp;</td><td>The number of actions.</td></tr>
+  </table>
+</dl>
+Set the user operations that the Window Manager supports for <code>window</code> by sending the _NET_WM_ALLOWED_ACTIONS property to <code>window</code>. <code>action</code> stores <code>num</code> actions.<p>
+To use this function, you must call before, and in order, <a class="el" href="group__Ecore__X__NetWM__Group.html#g533d21602d8068a40172b2a10199eaa5">ecore_x_netwm_allowed_action_get_prefetch()</a>, which sends the GetProperty request, then <a class="el" href="group__Ecore__X__NetWM__Group.html#gb96c5f54e223e873a1922baca7acb2a1">ecore_x_netwm_allowed_action_get_fetch()</a>, which gets the reply. 
+</div>
+</div><p>
+<a class="anchor" name="ge07306aeca9d2a8ab864bc986dc617c5"></a><!-- doxytag: member="ecore_xcb_netwm.c::ecore_x_netwm_client_active_set" ref="ge07306aeca9d2a8ab864bc986dc617c5" args="(Ecore_X_Window root, Ecore_X_Window window)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_netwm_client_active_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>root</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set the _NET_ACTIVE_WINDOW property. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>root</em>&nbsp;</td><td>The root window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The widow to activate.</td></tr>
+  </table>
+</dl>
+Activate <code>window</code> by sending the _NET_ACTIVE_WINDOW property to the <code>root</code> window.<p>
+If a Client wants to activate another window, it MUST call this function. 
+</div>
+</div><p>
+<a class="anchor" name="g1b3bdbcab3968db8b72a2ab036a64619"></a><!-- doxytag: member="ecore_xcb_netwm.c::ecore_x_netwm_client_list_set" ref="g1b3bdbcab3968db8b72a2ab036a64619" args="(Ecore_X_Window root, Ecore_X_Window *p_clients, unsigned int n_clients)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_netwm_client_list_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>root</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Window *&nbsp;</td>
+          <td class="paramname"> <em>p_clients</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">unsigned int&nbsp;</td>
+          <td class="paramname"> <em>n_clients</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set the _NET_CLIENT_LIST property. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>root</em>&nbsp;</td><td>The root window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>p_clients</em>&nbsp;</td><td>An array of windows. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>n_clients</em>&nbsp;</td><td>The number of windows.</td></tr>
+  </table>
+</dl>
+Map all the X windows managed by the window manager from the oldest to the newest by sending the _NET_CLIENT_LIST property to the <code>root</code> window. The X windows are stored in <code>p_clients</code> and their number in <code>n_clients</code>.<p>
+This function SHOULD be called by the Window Manager. 
+</div>
+</div><p>
+<a class="anchor" name="g42407d3c3f6f4e2c507697fdbe5fe4e2"></a><!-- doxytag: member="ecore_xcb_netwm.c::ecore_x_netwm_client_list_stacking_set" ref="g42407d3c3f6f4e2c507697fdbe5fe4e2" args="(Ecore_X_Window root, Ecore_X_Window *p_clients, unsigned int n_clients)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_netwm_client_list_stacking_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>root</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Window *&nbsp;</td>
+          <td class="paramname"> <em>p_clients</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">unsigned int&nbsp;</td>
+          <td class="paramname"> <em>n_clients</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set the _NET_CLIENT_LIST_STACKING property. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>root</em>&nbsp;</td><td>The root window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>p_clients</em>&nbsp;</td><td>An array of windows. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>n_clients</em>&nbsp;</td><td>The number of windows.</td></tr>
+  </table>
+</dl>
+Stack all the X windows managed by the window manager from bottom to top order by sending the _NET_CLIENT_LIST_STACKING property to the <code>root</code> window. The X windows are stored in <code>p_clients</code> and their number in <code>n_clients</code>.<p>
+This function SHOULD be called by the Window Manager. 
+</div>
+</div><p>
+<a class="anchor" name="g322c07ba72236d918277b06dff0ea4fe"></a><!-- doxytag: member="ecore_xcb_netwm.c::ecore_x_netwm_desk_count_set" ref="g322c07ba72236d918277b06dff0ea4fe" args="(Ecore_X_Window root, unsigned int n_desks)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_netwm_desk_count_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>root</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">unsigned int&nbsp;</td>
+          <td class="paramname"> <em>n_desks</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set the _NET_NUMBER_OF_DESKTOPS property. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>root</em>&nbsp;</td><td>The root window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>n_desks</em>&nbsp;</td><td>The number of desktops.</td></tr>
+  </table>
+</dl>
+Set the number of desktops <code>n_desks</code> of the Window Manager by sending the _NET_NUMBER_OF_DESKTOPS to the <code>root</code> window.<p>
+The Window Manager SHOULD set and update this property to indicate the number of virtual desktops. A Pager can request a change in the number of desktops by using that function. 
+</div>
+</div><p>
+<a class="anchor" name="g8492a55dcd3db992e2619a0edf19cf16"></a><!-- doxytag: member="ecore_xcb_netwm.c::ecore_x_netwm_desk_current_set" ref="g8492a55dcd3db992e2619a0edf19cf16" args="(Ecore_X_Window root, unsigned int desk)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_netwm_desk_current_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>root</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">unsigned int&nbsp;</td>
+          <td class="paramname"> <em>desk</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set the _NET_CURRENT_DESKTOP property. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>root</em>&nbsp;</td><td>The root window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>desk</em>&nbsp;</td><td>The index of the current desktop.</td></tr>
+  </table>
+</dl>
+Set the current desktop by sending the _NET_CURRENT_DESKTOP to the <code>root</code> window. <code>deskmust</code> be an integer number between 0 and the number of desks (set by <a class="el" href="group__Ecore__X__NetWM__Group.html#g322c07ba72236d918277b06dff0ea4fe">ecore_x_netwm_desk_count_set()</a>) -1.<p>
+This function MUST be called by the Window Manager. If a Pagerwants to switch to naother desktop, it MUST call that function. 
+</div>
+</div><p>
+<a class="anchor" name="gfe24bdee07f814b0e4bf5f3e5cf5d288"></a><!-- doxytag: member="ecore_xcb_netwm.c::ecore_x_netwm_desk_layout_set" ref="gfe24bdee07f814b0e4bf5f3e5cf5d288" args="(Ecore_X_Window root, int orientation, int columns, int rows, int starting_corner)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_netwm_desk_layout_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>root</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>orientation</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>columns</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>rows</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>starting_corner</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set the _NET_DESKTOP_LAYOUT property. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>root</em>&nbsp;</td><td>The root window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>orientation</em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>columns</em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>rows</em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>starting_corner</em>&nbsp;</td><td>Set the layout of virtual desktops relative to each other by sending the _NET_DESKTOP_LAYOUT to the <code>root</code> window. <code>orientation</code> defines the orientation of the virtual desktop. 0 means horizontal layout, 1 means vertical layout. <code>columns</code> is the number of desktops in the X direction and <code>rows</code> is the number in the Y direction. <code>starting_corner</code> is the corner containing the first desktop. The values for <code>starting_corner</code> are 0 (top-left), 1 (top-right), 2 (bottom-right) and 3 (bottom-left).</td></tr>
+  </table>
+</dl>
+When the orientation is horizontal the desktops are laid out in rows, with the first desktop in the specified starting corner. So a layout with four columns and three rows starting in the top-left corner looks like this:<p>
++--+--+--+--+ | 0| 1| 2| 3| +--+--+--+--+ | 4| 5| 6| 7| +--+--+--+--+ | 8| 9|10|11| +--+--+--+--+<p>
+With <code>starting_corner</code> being bottom-right, it looks like this:<p>
++--+--+--+--+ |11|10| 9| 8| +--+--+--+--+ | 7| 6| 5| 4| +--+--+--+--+ | 3| 2| 1| 0| +--+--+--+--+<p>
+When the orientation is vertical the layout with four columns and three rows starting in the top-left corner looks like:<p>
++--+--+--+--+ | 0| 3| 6| 9| +--+--+--+--+ | 1| 4| 7|10| +--+--+--+--+ | 2| 5| 8|11| +--+--+--+--+<p>
+With <code>starting_corner</code> being top-right, it looks like:<p>
++--+--+--+--+ | 9| 6| 3| 0| +--+--+--+--+ |10| 7| 4| 1| +--+--+--+--+ |11| 8| 5| 2| +--+--+--+--+<p>
+This function MUST be used by a Pager and NOT by the Window Manager. When using this function, the Pager must own a manager selection. 
+</div>
+</div><p>
+<a class="anchor" name="gb6e059d70483327b0b3f213ccbfe65d6"></a><!-- doxytag: member="ecore_xcb_netwm.c::ecore_x_netwm_desk_names_set" ref="gb6e059d70483327b0b3f213ccbfe65d6" args="(Ecore_X_Window root, const char **names, unsigned int n_desks)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_netwm_desk_names_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>root</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char **&nbsp;</td>
+          <td class="paramname"> <em>names</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">unsigned int&nbsp;</td>
+          <td class="paramname"> <em>n_desks</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set the _NET_DESKTOP_NAMES property. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>root</em>&nbsp;</td><td>The root window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>names</em>&nbsp;</td><td>The names of the virtual desktops. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>n_desks</em>&nbsp;</td><td>The number of virtual desktops.</td></tr>
+  </table>
+</dl>
+Set the name of each virtual desktop by sending the _NET_DESKTOP_NAMES to the <code>root</code> window. <code>names</code> are the names of the virtual desktops and <code>n_desks</code> is the number of virtual desktops.<p>
+A Pager MAY use that function. <code>n_desks</code> may be different from the one passed to <a class="el" href="group__Ecore__X__NetWM__Group.html#g322c07ba72236d918277b06dff0ea4fe">ecore_x_netwm_desk_count_set()</a>. If it less or equal, then the desktops with high numbers are unnamed. If it is larger, then the excess names are considered to be reserved in case the number of desktops is increased. 
+</div>
+</div><p>
+<a class="anchor" name="g8f8bf74f0c30ed772607f77499084ee5"></a><!-- doxytag: member="ecore_xcb_netwm.c::ecore_x_netwm_desk_roots_set" ref="g8f8bf74f0c30ed772607f77499084ee5" args="(Ecore_X_Window root, Ecore_X_Window *vroots, unsigned int n_desks)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_netwm_desk_roots_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>root</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Window *&nbsp;</td>
+          <td class="paramname"> <em>vroots</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">unsigned int&nbsp;</td>
+          <td class="paramname"> <em>n_desks</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set the _NET_VIRTUAL_ROOTS property. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>root</em>&nbsp;</td><td>The root window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>vroots</em>&nbsp;</td><td>The virtual root windows. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>n_desks</em>&nbsp;</td><td>The number of desks.</td></tr>
+  </table>
+</dl>
+Set the number of virtual desktops by sending the _NET_VIRTUAL_ROOTS property to the <code>root</code> window. <code>vroots</code> is an array of window and <code>n_desks</code> is the number of windows.<p>
+A Window Manager that implements virtual desktops by reparent client windows to a child of the root window MUST use that function. 
+</div>
+</div><p>
+<a class="anchor" name="gefa6bb9baeb95ac40932ed8982583572"></a><!-- doxytag: member="ecore_xcb_netwm.c::ecore_x_netwm_desk_size_set" ref="gefa6bb9baeb95ac40932ed8982583572" args="(Ecore_X_Window root, unsigned int width, unsigned int height)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_netwm_desk_size_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>root</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">unsigned int&nbsp;</td>
+          <td class="paramname"> <em>width</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">unsigned int&nbsp;</td>
+          <td class="paramname"> <em>height</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set the _NET_DESKTOP_GEOMETRY property. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>root</em>&nbsp;</td><td>The root window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>width</em>&nbsp;</td><td>The width of the desktop. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>height</em>&nbsp;</td><td>The height of the desktop.</td></tr>
+  </table>
+</dl>
+Set the common <code>width</code> and <code>height</code> of all desktops by sending the _NET_DESKTOP_GEOMETRY to the <code>root</code> window.<p>
+This size is equal to the screen size if the Window Manager doesn't support large desktops, otherwise it's equal to the virtual size of the desktop. The Window Manager SHOULD set this property. A Pager can request a change in the desktop geometry by using this function. 
+</div>
+</div><p>
+<a class="anchor" name="g4cacddaf13318184e2cbd2f9ab07720d"></a><!-- doxytag: member="ecore_xcb_netwm.c::ecore_x_netwm_desk_viewports_set" ref="g4cacddaf13318184e2cbd2f9ab07720d" args="(Ecore_X_Window root, unsigned int *origins, unsigned int n_desks)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_netwm_desk_viewports_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>root</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">unsigned int *&nbsp;</td>
+          <td class="paramname"> <em>origins</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">unsigned int&nbsp;</td>
+          <td class="paramname"> <em>n_desks</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set the _NET_DESKTOP_VIEWPORT property. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>root</em>&nbsp;</td><td>The root window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>origins</em>&nbsp;</td><td>An array of paris of coordiantes. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>n_desks</em>&nbsp;</td><td>The number of virtual desktops.</td></tr>
+  </table>
+</dl>
+Set the top left corner of each desktop's viewport by sending the _NET_DESKTOP_VIEWPORT property to the <code>root</code> window. <code>origins</code> contains each pair of X coordinate and Y coordinate of the top left corner of each desktop's viewport.<p>
+If the Window Manager does not support large desktops, the coordinates MUST be (0,0). A Pager can request to change the viewport for the current desktop by using this function. 
+</div>
+</div><p>
+<a class="anchor" name="g8ff0ea85a83041848dba543bf17f8e14"></a><!-- doxytag: member="ecore_xcb_netwm.c::ecore_x_netwm_desk_workareas_set" ref="g8ff0ea85a83041848dba543bf17f8e14" args="(Ecore_X_Window root, unsigned int *areas, unsigned int n_desks)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_netwm_desk_workareas_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>root</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">unsigned int *&nbsp;</td>
+          <td class="paramname"> <em>areas</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">unsigned int&nbsp;</td>
+          <td class="paramname"> <em>n_desks</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set the _NET_WORKAREA property. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>root</em>&nbsp;</td><td>The root window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>areas</em>&nbsp;</td><td>An array of areas. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>n_desks</em>&nbsp;</td><td>The number of desks.</td></tr>
+  </table>
+</dl>
+Set the work area for each desktop by sending the _NET_WORKAREA property to the <code>root</code> window. An area contains the geometry (X and Y coordinates, width and height). These geometries are specified relative to the viewport on each desktop and specify an area that is completely contained within the viewport. <code>areas</code> stores these geometries. <code>n_desks</code> is the number of geometry to set.<p>
+This function MUST be set by the Window Manager. It is used by desktop applications to place desktop icons appropriately. 
+</div>
+</div><p>
+<a class="anchor" name="g46906092a13f8613a8a6fb5cc53e25ee"></a><!-- doxytag: member="ecore_xcb_netwm.c::ecore_x_netwm_desktop_get" ref="g46906092a13f8613a8a6fb5cc53e25ee" args="(Ecore_X_Window window, unsigned int *desk)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_x_netwm_desktop_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">unsigned int *&nbsp;</td>
+          <td class="paramname"> <em>desk</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Get the visible icon name of a window. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>desk</em>&nbsp;</td><td>The desktop index. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 on success, 0 otherwise.</dd></dl>
+Retrieve the desktop index in which <code>window</code> is displayed and store it in <code>desk</code>. If <code>desk</code> value is 0xFFFFFFFF, the window appears on all desktops. The function returns 1 on success, 0 otherwise.<p>
+To use this function, you must call before, and in order, <a class="el" href="group__Ecore__X__NetWM__Group.html#g2f3fc6b45d60750498fa30733bc6d227">ecore_x_netwm_desktop_get_prefetch()</a>, which sends the GetProperty request, then <a class="el" href="group__Ecore__X__NetWM__Group.html#g3a4860d6235719bf820867f571582a8b">ecore_x_netwm_desktop_get_fetch()</a>, which gets the reply. 
+</div>
+</div><p>
+<a class="anchor" name="g2f3fc6b45d60750498fa30733bc6d227"></a><!-- doxytag: member="ecore_xcb_netwm.c::ecore_x_netwm_desktop_get_prefetch" ref="g2f3fc6b45d60750498fa30733bc6d227" args="(Ecore_X_Window window)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_netwm_desktop_get_prefetch           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sends the GetProperty request. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g100be4f0f4342c5917167f28573f1763"></a><!-- doxytag: member="ecore_xcb_netwm.c::ecore_x_netwm_desktop_request_send" ref="g100be4f0f4342c5917167f28573f1763" args="(Ecore_X_Window window, Ecore_X_Window root, unsigned int desktop)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_netwm_desktop_request_send           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>root</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">unsigned int&nbsp;</td>
+          <td class="paramname"> <em>desktop</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Send a _NET_WM_DESKTOP property event. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>root</em>&nbsp;</td><td>The root window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>desktop</em>&nbsp;</td><td>The new desktop index.</td></tr>
+  </table>
+</dl>
+Send a ClientMessage event from <code>window</code> to the <code>root</code> window with the _NET_WM_DESKTOP property set. This change the state of a non-withdrawn window. <code>desktop</code> is the new desktop index to set. 
+</div>
+</div><p>
+<a class="anchor" name="gfabc012ab9cfb8e642e14bbca947ed33"></a><!-- doxytag: member="ecore_xcb_netwm.c::ecore_x_netwm_desktop_set" ref="gfabc012ab9cfb8e642e14bbca947ed33" args="(Ecore_X_Window window, unsigned int desk)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_netwm_desktop_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">unsigned int&nbsp;</td>
+          <td class="paramname"> <em>desk</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set the _NET_WM_DESKTOP property. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>desk</em>&nbsp;</td><td>The desktop index.</td></tr>
+  </table>
+</dl>
+Set on which desktop the <code>window</code> is in by sending the _NET_WM_DESKTOP property to <code>window</code>. <code>desk</code> is the index of the desktop, starting from 0. To indicate that the window should appear on all desktops, <code>desk</code> must be equal to 0xFFFFFFFF.<p>
+A Client MAY choose not to set this property, in which case the Window Manager SHOULD place it as it wishes.<p>
+The Window Manager should honor _NET_WM_DESKTOP whenever a withdrawn window requests to be mapped.<p>
+A Client can request a change of desktop for a non-withdrawn window by sending a _NET_WM_DESKTOP client message to the root window. 
+</div>
+</div><p>
+<a class="anchor" name="gc80dafdb077ef65d18c4eb9e6632efbe"></a><!-- doxytag: member="ecore_xcb_netwm.c::ecore_x_netwm_frame_size_get" ref="gc80dafdb077ef65d18c4eb9e6632efbe" args="(Ecore_X_Window window, int *fl, int *fr, int *ft, int *fb)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_x_netwm_frame_size_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>fl</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>fr</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>ft</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>fb</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Get the frame extent of a window. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>fl</em>&nbsp;</td><td>The number of pixels of the left border of the window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>fr</em>&nbsp;</td><td>The number of pixels of the right border of the window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>ft</em>&nbsp;</td><td>The number of pixels of the top border of the window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>fb</em>&nbsp;</td><td>The number of pixels of the bottom border of the window. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 on success, 0 otherwise.</dd></dl>
+Retrieve the frame extents of <code>window</code>. The number of pixels of the left, right, top and bottom border of <code>window</code> are respectively stored in <code>fl</code>, <code>fr</code>, <code>ft</code> anfd <code>fb</code>. TYhis function retuirns 1 on success, 0 otherwise.<p>
+To use this function, you must call before, and in order, <a class="el" href="group__Ecore__X__NetWM__Group.html#g89e2f7a4267ffb61387a6463b316ddee">ecore_x_netwm_frame_size_get_prefetch()</a>, which sends the GetProperty request, then <a class="el" href="group__Ecore__X__NetWM__Group.html#g784b4a524a5bae008ff3f6c8b7a1f1cc">ecore_x_netwm_frame_size_get_fetch()</a>, which gets the reply. 
+</div>
+</div><p>
+<a class="anchor" name="g89e2f7a4267ffb61387a6463b316ddee"></a><!-- doxytag: member="ecore_xcb_netwm.c::ecore_x_netwm_frame_size_get_prefetch" ref="g89e2f7a4267ffb61387a6463b316ddee" args="(Ecore_X_Window window)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_netwm_frame_size_get_prefetch           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sends the GetProperty request. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g43c3ae6cd045ef6726bec3f97477fe5d"></a><!-- doxytag: member="ecore_xcb_netwm.c::ecore_x_netwm_frame_size_set" ref="g43c3ae6cd045ef6726bec3f97477fe5d" args="(Ecore_X_Window window, int fl, int fr, int ft, int fb)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_netwm_frame_size_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>fl</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>fr</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>ft</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>fb</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set the _NET_FRAME_EXTENTS property. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>fl</em>&nbsp;</td><td>The number of pixels of the left border of the window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>fr</em>&nbsp;</td><td>The number of pixels of the right border of the window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>ft</em>&nbsp;</td><td>The number of pixels of the top border of the window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>fb</em>&nbsp;</td><td>The number of pixels of the bottom border of the window.</td></tr>
+  </table>
+</dl>
+Set the border witdh of <code>window</code> by sending the _NET_FRAME_EXTENTS property to <code>window</code>. <code>fl</code>, <code>fr</code>, <code>ft</code> and <code>fb</code> are respectively the number of pixels of the left, right, top and bottom border of <code>window</code>.<p>
+The Window Manager MUST set _NET_FRAME_EXTENTS to the extents of the window's frame. 
+</div>
+</div><p>
+<a class="anchor" name="gacca4387980183d6993f980ad42a4869"></a><!-- doxytag: member="ecore_xcb_netwm.c::ecore_x_netwm_handled_icons_get" ref="gacca4387980183d6993f980ad42a4869" args="(Ecore_X_Window window)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_x_netwm_handled_icons_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Return wheter the Client handles icons or not. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 if icons are handled, 0 otherwise.</dd></dl>
+Return whether the client handles icons or not if <code>window</code> is iconified.<p>
+To use this function, you must call before, and in order, <a class="el" href="group__Ecore__X__NetWM__Group.html#g432b8b3d09b56e82e7e529ffcfc56afd">ecore_x_netwm_handled_icons_get_prefetch()</a>, which sends the GetProperty request, then <a class="el" href="group__Ecore__X__NetWM__Group.html#g131d350d9088e13e55bd88f6f74da4ef">ecore_x_netwm_handled_icons_get_fetch()</a>, which gets the reply. 
+</div>
+</div><p>
+<a class="anchor" name="g432b8b3d09b56e82e7e529ffcfc56afd"></a><!-- doxytag: member="ecore_xcb_netwm.c::ecore_x_netwm_handled_icons_get_prefetch" ref="g432b8b3d09b56e82e7e529ffcfc56afd" args="(Ecore_X_Window window)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_netwm_handled_icons_get_prefetch           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sends the GetProperty request. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="gba74ce8c16ea452ae31f30dad3a2d694"></a><!-- doxytag: member="ecore_xcb_netwm.c::ecore_x_netwm_handled_icons_set" ref="gba74ce8c16ea452ae31f30dad3a2d694" args="(Ecore_X_Window window)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_netwm_handled_icons_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set the _NET_WM_HANDLED_ICONS property. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window.</td></tr>
+  </table>
+</dl>
+Indicate to the Window Manager that it does not need to provide icons for the iconified <code>window</code> by sending the _NET_WM_HANDLED_ICONS property to <code>window</code>.<p>
+This function can be used by a Pager on one of its own toplevel windows (for example if the Client is a taskbar and provides buttons for iconified windows). 
+</div>
+</div><p>
+<a class="anchor" name="g4b7029e67d6e8d8ca72154c2c912113d"></a><!-- doxytag: member="ecore_xcb_netwm.c::ecore_x_netwm_icon_geometry_get" ref="g4b7029e67d6e8d8ca72154c2c912113d" args="(Ecore_X_Window window, int *x, int *y, int *width, int *height)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_x_netwm_icon_geometry_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>width</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>height</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Get the geometry of an icon. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>x </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>The X coordinate of the icon. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</td><td>The Y coordinate of the icon. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>width</em>&nbsp;</td><td>The width of the icon. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>height</em>&nbsp;</td><td>The height of the icon. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 on success, 0 othrwise.</dd></dl>
+Retrieve the geometry of the icon of <code>window</code>. The geometry is stored in <code>x</code>, <code>y</code>, <code>width</code> and <code>height</code>. The function returns 1 on success, 0 otherwise.<p>
+To use this function, you must call before, and in order, <a class="el" href="group__Ecore__X__NetWM__Group.html#gf03e99e4cd1c59bb20ccc37d93d78733">ecore_x_netwm_icon_geometry_get_prefetch()</a>, which sends the GetProperty request, then <a class="el" href="group__Ecore__X__NetWM__Group.html#g01bcd4044b8d94ff7cc56f9ca5831c1d">ecore_x_netwm_icon_geometry_get_fetch()</a>, which gets the reply. 
+</div>
+</div><p>
+<a class="anchor" name="gf03e99e4cd1c59bb20ccc37d93d78733"></a><!-- doxytag: member="ecore_xcb_netwm.c::ecore_x_netwm_icon_geometry_get_prefetch" ref="gf03e99e4cd1c59bb20ccc37d93d78733" args="(Ecore_X_Window window)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_netwm_icon_geometry_get_prefetch           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sends the GetProperty request. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g88f5e4ec0da5d2cb64241c38e3589fdf"></a><!-- doxytag: member="ecore_xcb_netwm.c::ecore_x_netwm_icon_geometry_set" ref="g88f5e4ec0da5d2cb64241c38e3589fdf" args="(Ecore_X_Window window, int x, int y, int width, int height)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_netwm_icon_geometry_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>width</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>height</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set the _NET_WM_ICON_GEOMETRY property. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>The X coordinate of the icon. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</td><td>The Y coordinate of the icon. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>width</em>&nbsp;</td><td>The width of the icon. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>height</em>&nbsp;</td><td>The height of the icon.</td></tr>
+  </table>
+</dl>
+Set the geometry of the icon of <code>window</code> by sending the _NET_WM_ICON_GEOMETRY property to <code>window</code>. <code>x</code>, <code>y</code>, <code>width</code> and <code>height</code> specify respectively the X coordinate, the Y coordinate, the width and the height of the icon.<p>
+Stand alone tools like a taskbar or an iconbox MAY use this function. This functions makes possible for a Window Manager to display a nice animation like morphing the window into its icon. 
+</div>
+</div><p>
+<a class="anchor" name="g81a5e7fc189b36887a409a1eda026905"></a><!-- doxytag: member="ecore_xcb_netwm.c::ecore_x_netwm_icon_name_get" ref="g81a5e7fc189b36887a409a1eda026905" args="(Ecore_X_Window window, char **name)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_x_netwm_icon_name_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">char **&nbsp;</td>
+          <td class="paramname"> <em>name</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Get the icon name of a window. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>The icon name. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns always 1.</dd></dl>
+Retrieve the icon name of <code>window</code> and store it in <code>name</code>. The function returns always 1.<p>
+To use this function, you must call before, and in order, <a class="el" href="group__Ecore__X__NetWM__Group.html#g39f5a089389baa4b8f91fad1e5f6469d">ecore_x_netwm_icon_name_get_prefetch()</a>, which sends the GetProperty request, then <a class="el" href="group__Ecore__X__NetWM__Group.html#g91c577b0478be6378a35eeee31fdbf15">ecore_x_netwm_icon_name_get_fetch()</a>, which gets the reply. 
+</div>
+</div><p>
+<a class="anchor" name="g39f5a089389baa4b8f91fad1e5f6469d"></a><!-- doxytag: member="ecore_xcb_netwm.c::ecore_x_netwm_icon_name_get_prefetch" ref="g39f5a089389baa4b8f91fad1e5f6469d" args="(Ecore_X_Window window)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_netwm_icon_name_get_prefetch           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sends the GetProperty request. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g095da6e161bd8ae983dfe586025e47da"></a><!-- doxytag: member="ecore_xcb_netwm.c::ecore_x_netwm_icon_name_set" ref="g095da6e161bd8ae983dfe586025e47da" args="(Ecore_X_Window window, const char *name)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_netwm_icon_name_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>name</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set the _NET_WM_ICON_NAME property. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The widow to activate. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>The icon name of the window.</td></tr>
+  </table>
+</dl>
+Set the icon name of <code>window</code> to <code>name</code> by sending the _NET_WM_ICON_NAME property to <code>window</code>.<p>
+The Client SHOULD set the title of <code>window</code> in UTF-8 encoding. If set, the Window Manager should use this in preference to WM_ICON_NAME. 
+</div>
+</div><p>
+<a class="anchor" name="g5d0490b2c0543142f56cfc51c11c1fe1"></a><!-- doxytag: member="ecore_xcb_netwm.c::ecore_x_netwm_icons_get" ref="g5d0490b2c0543142f56cfc51c11c1fe1" args="(Ecore_X_Window window, Ecore_X_Icon **icon, int *num)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_x_netwm_icons_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Icon **&nbsp;</td>
+          <td class="paramname"> <em>icon</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>num</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Retrieve hte possible icons of a window. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>icon</em>&nbsp;</td><td>An array of icons. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>num</em>&nbsp;</td><td>The number of icons. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 on success, 0 otherwise.</dd></dl>
+Retrieve an array of possible icons of <code>window</code>. The icons are stored in <code>icon</code> and their number in <code>num</code>.<p>
+To use this function, you must call before, and in order, <a class="el" href="group__Ecore__X__NetWM__Group.html#gbea0854073f61fc3387d9685ccb0eecf">ecore_x_netwm_icons_get_prefetch()</a>, which sends the GetProperty request, then <a class="el" href="group__Ecore__X__NetWM__Group.html#g53300609f0803527f01471bd97b61fe2">ecore_x_netwm_icons_get_fetch()</a>, which gets the reply. 
+</div>
+</div><p>
+<a class="anchor" name="gbea0854073f61fc3387d9685ccb0eecf"></a><!-- doxytag: member="ecore_xcb_netwm.c::ecore_x_netwm_icons_get_prefetch" ref="gbea0854073f61fc3387d9685ccb0eecf" args="(Ecore_X_Window window)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_netwm_icons_get_prefetch           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sends the GetProperty request. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g8d99b216ec82ffcb58eef434118e0b53"></a><!-- doxytag: member="ecore_xcb_netwm.c::ecore_x_netwm_name_get" ref="g8d99b216ec82ffcb58eef434118e0b53" args="(Ecore_X_Window window, char **name)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_x_netwm_name_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">char **&nbsp;</td>
+          <td class="paramname"> <em>name</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Get the title of a window. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>The title name. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns always 1.</dd></dl>
+Retrieve the title name of <code>window</code> and store it in <code>name</code>. The function returns always 1.<p>
+To use this function, you must call before, and in order, <a class="el" href="group__Ecore__X__NetWM__Group.html#ga6e282dd3aa3d0924b99cb290e7012b9">ecore_x_netwm_name_get_prefetch()</a>, which sends the GetProperty request, then <a class="el" href="group__Ecore__X__NetWM__Group.html#g3029e5b4e62456951f3b3858d4f42af1">ecore_x_netwm_name_get_fetch()</a>, which gets the reply. 
+</div>
+</div><p>
+<a class="anchor" name="ga6e282dd3aa3d0924b99cb290e7012b9"></a><!-- doxytag: member="ecore_xcb_netwm.c::ecore_x_netwm_name_get_prefetch" ref="ga6e282dd3aa3d0924b99cb290e7012b9" args="(Ecore_X_Window window)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_netwm_name_get_prefetch           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sends the GetProperty request. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="ga121d2f05c29129c8281d69403589b7a"></a><!-- doxytag: member="ecore_xcb_netwm.c::ecore_x_netwm_name_set" ref="ga121d2f05c29129c8281d69403589b7a" args="(Ecore_X_Window window, const char *name)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_netwm_name_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>name</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set the _NET_WM_NAME property. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The widow to activate. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>The title name of the window.</td></tr>
+  </table>
+</dl>
+Set the title name of <code>window</code> to <code>name</code> by sending the _NET_WM_NAME property to <code>window</code>.<p>
+The Client SHOULD set the title of <code>window</code> in UTF-8 encoding. If set, the Window Manager should use this in preference to WM_NAME. 
+</div>
+</div><p>
+<a class="anchor" name="g9a28cefe24d304940b5e2cc86a2154a3"></a><!-- doxytag: member="ecore_xcb_netwm.c::ecore_x_netwm_opacity_get" ref="g9a28cefe24d304940b5e2cc86a2154a3" args="(Ecore_X_Window window, unsigned int *opacity)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_x_netwm_opacity_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">unsigned int *&nbsp;</td>
+          <td class="paramname"> <em>opacity</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Get the opacity value of a window. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>opacity</em>&nbsp;</td><td>The returned opacity. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 on success, 0 otherwise.</dd></dl>
+Retriee the opacity value of <code>window</code> and store it in <code>opacity</code>. This function returns 1 on sucess, 0 otherwise.<p>
+To use this function, you must call before, and in order, <a class="el" href="group__Ecore__X__NetWM__Group.html#gadfb0b4c5d3894bc2c24bad6231ed08b">ecore_x_netwm_opacity_get_prefetch()</a>, which sends the GetProperty request, then <a class="el" href="group__Ecore__X__NetWM__Group.html#g746631a94bf98b07b45d4e378786b85b">ecore_x_netwm_opacity_get_fetch()</a>, which gets the reply. 
+</div>
+</div><p>
+<a class="anchor" name="gadfb0b4c5d3894bc2c24bad6231ed08b"></a><!-- doxytag: member="ecore_xcb_netwm.c::ecore_x_netwm_opacity_get_prefetch" ref="gadfb0b4c5d3894bc2c24bad6231ed08b" args="(Ecore_X_Window window)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_netwm_opacity_get_prefetch           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sends the GetProperty request. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g216585b4c71fe63e2694878792b2cc47"></a><!-- doxytag: member="ecore_xcb_netwm.c::ecore_x_netwm_opacity_set" ref="g216585b4c71fe63e2694878792b2cc47" args="(Ecore_X_Window window, unsigned int opacity)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_netwm_opacity_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">unsigned int&nbsp;</td>
+          <td class="paramname"> <em>opacity</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set the _NET_WM_WINDOW_OPACITY property. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>opacity</em>&nbsp;</td><td>The opacity value.</td></tr>
+  </table>
+</dl>
+Set the desired opacity of <code>window</code> by sending the _NET_WM_WINDOW_OPACITY property to <code>window</code>. <code>opacity</code> is 0 for a transparent window and 0xffffffff for an opaque window. <code>opacity</code> must be multiplied with the original alpha value of <code>window</code> (which is 1 for visuals not including an alpha component) so that <code>window</code> content is modulated by the opacity value.<p>
+Window Managers acting as compositing managers MAY take this into account when displaying a window. Window Managers MUST forward the value of this property to any enclosing frame window. This property MAY change while the window is mapped and the Window Manager MUST respect changes while the window is mapped. 
+</div>
+</div><p>
+<a class="anchor" name="gea2442fd0c4d5871e9a92518abb0092d"></a><!-- doxytag: member="ecore_xcb_netwm.c::ecore_x_netwm_pid_get" ref="gea2442fd0c4d5871e9a92518abb0092d" args="(Ecore_X_Window window, int *pid)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_x_netwm_pid_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>pid</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Get the process ID of a client window. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>pid</em>&nbsp;</td><td>The process ID. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 on success, 0 otherwise.</dd></dl>
+Retrieve the process ID of <code>window</code> and store it in <code>pid</code>. This function returns 1 on success, 0 otherwise.<p>
+To use this function, you must call before, and in order, <a class="el" href="group__Ecore__X__NetWM__Group.html#ge77708a72902c28e22af4baaca9aaac2">ecore_x_netwm_pid_get_prefetch()</a>, which sends the GetProperty request, then <a class="el" href="group__Ecore__X__NetWM__Group.html#g716dba22ff552654642756b9527c3f29">ecore_x_netwm_pid_get_fetch()</a>, which gets the reply. 
+</div>
+</div><p>
+<a class="anchor" name="ge77708a72902c28e22af4baaca9aaac2"></a><!-- doxytag: member="ecore_xcb_netwm.c::ecore_x_netwm_pid_get_prefetch" ref="ge77708a72902c28e22af4baaca9aaac2" args="(Ecore_X_Window window)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_netwm_pid_get_prefetch           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sends the GetProperty request. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g3b7b3076e9ea1b106f36873b258322d4"></a><!-- doxytag: member="ecore_xcb_netwm.c::ecore_x_netwm_pid_set" ref="g3b7b3076e9ea1b106f36873b258322d4" args="(Ecore_X_Window window, int pid)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_netwm_pid_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>pid</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set the _NET_WM_PID property. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>pid</em>&nbsp;</td><td>The process ID.</td></tr>
+  </table>
+</dl>
+Set the process ID of the client owning <code>window</code> by sending the _NET_WM_PID property to <code>window</code>.<p>
+This function MAY be used by the Window Manager to kill windows which do not respond to the _NET_WM_PING protocol.<p>
+If _NET_WM_PID is set, the ICCCM-specified property WM_CLIENT_MACHINE MUST also be set. 
+</div>
+</div><p>
+<a class="anchor" name="g598ec951dbe83f40e1a202411dee5940"></a><!-- doxytag: member="ecore_xcb_netwm.c::ecore_x_netwm_ping_send" ref="g598ec951dbe83f40e1a202411dee5940" args="(Ecore_X_Window window)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_netwm_ping_send           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Send a _NET_WM_PING property event. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window.</td></tr>
+  </table>
+</dl>
+Send a ClientMessage event from <code>window</code> with the _NET_WM_PING property set. 
+</div>
+</div><p>
+<a class="anchor" name="g52512f8933d06b8ee1fd69cebbe565b0"></a><!-- doxytag: member="ecore_xcb_netwm.c::ecore_x_netwm_showing_desktop_set" ref="g52512f8933d06b8ee1fd69cebbe565b0" args="(Ecore_X_Window root, int on)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_netwm_showing_desktop_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>root</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>on</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set the _NET_SHOWING_DESKTOP property. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>root</em>&nbsp;</td><td>The root window </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>on</em>&nbsp;</td><td>0 to hide the desktop, non 0 to show it.</td></tr>
+  </table>
+</dl>
+Set or unset the desktop in a "showing mode" by sending the _NET_SHOWING_DESKTOP property to the <code>root</code> window. If <code>on</code> is 0, the windows are hidden and the desktop background is displayed and focused.<p>
+If a Pager wants to enter or leave the mode, it MUST use this function. 
+</div>
+</div><p>
+<a class="anchor" name="gbca67ffb95ff2c3a71f4ce657384ea21"></a><!-- doxytag: member="ecore_xcb_netwm.c::ecore_x_netwm_startup_id_get" ref="gbca67ffb95ff2c3a71f4ce657384ea21" args="(Ecore_X_Window window, char **id)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_x_netwm_startup_id_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">char **&nbsp;</td>
+          <td class="paramname"> <em>id</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Get the startup ID name of a window. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>id</em>&nbsp;</td><td>The ID name </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return always 1.</dd></dl>
+To use this function, you must call before, and in order, <a class="el" href="group__Ecore__X__NetWM__Group.html#g35ec39bf0e6f22417fd8877b76556e93">ecore_x_netwm_startup_id_get_prefetch()</a>, which sends the GetProperty request, then <a class="el" href="group__Ecore__X__NetWM__Group.html#g5a097958575bf1708b485ecce9123775">ecore_x_netwm_startup_id_get_fetch()</a>, which gets the reply. 
+</div>
+</div><p>
+<a class="anchor" name="g35ec39bf0e6f22417fd8877b76556e93"></a><!-- doxytag: member="ecore_xcb_netwm.c::ecore_x_netwm_startup_id_get_prefetch" ref="g35ec39bf0e6f22417fd8877b76556e93" args="(Ecore_X_Window window)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_netwm_startup_id_get_prefetch           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sends the GetProperty request. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g19db748363e7cfb68cf8fb6ece03b487"></a><!-- doxytag: member="ecore_xcb_netwm.c::ecore_x_netwm_startup_id_set" ref="g19db748363e7cfb68cf8fb6ece03b487" args="(Ecore_X_Window window, const char *id)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_netwm_startup_id_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>id</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set the _NET_STARTUP_ID property. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>id</em>&nbsp;</td><td>The ID name.</td></tr>
+  </table>
+</dl>
+Set the ID <code>id</code> used for the startup sequence by sending the property _NET_STARTUP_ID to <code>window</code>. The ID name should be encoded in UTF-8.<p>
+If a new value for the property is set, the Window Manager should update the window's status accordingly (update its virtual desktop, etc.). 
+</div>
+</div><p>
+<a class="anchor" name="g8620f15ce29d7f6aaddce6a4d557c678"></a><!-- doxytag: member="ecore_xcb_netwm.c::ecore_x_netwm_state_request_send" ref="g8620f15ce29d7f6aaddce6a4d557c678" args="(Ecore_X_Window window, Ecore_X_Window root, Ecore_X_Window_State s1, Ecore_X_Window_State s2, int set)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_netwm_state_request_send           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>root</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Window_State&nbsp;</td>
+          <td class="paramname"> <em>s1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Window_State&nbsp;</td>
+          <td class="paramname"> <em>s2</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>set</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Send a _NET_WM_STATE property event. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>root</em>&nbsp;</td><td>The root window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>s1</em>&nbsp;</td><td>The first state to alter. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>s2</em>&nbsp;</td><td>The second state to alter. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>set</em>&nbsp;</td><td>0 to unset the property, set it otherwise.</td></tr>
+  </table>
+</dl>
+Send a ClientMessage event from <code>window</code> to the <code>root</code> window with the _NET_WM_STATE property set. This change the state of a mapped window. <code>s1</code> is the first state to alter. <code>s2</code> is the second state to alter. If <code>set</code> value is 0, the property is removed (or unset), otherwise, the property is set. 
+</div>
+</div><p>
+<a class="anchor" name="g90dfc865f2a978097c1161c3db4fdaa4"></a><!-- doxytag: member="ecore_xcb_netwm.c::ecore_x_netwm_strut_get" ref="g90dfc865f2a978097c1161c3db4fdaa4" args="(Ecore_X_Window window, int *left, int *right, int *top, int *bottom)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_x_netwm_strut_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>left</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>right</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>top</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>bottom</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Get the space at the edje of the screen. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>left</em>&nbsp;</td><td>The number of pixels at the left of the screen. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>right</em>&nbsp;</td><td>The number of pixels at the right of the screen. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>top</em>&nbsp;</td><td>The number of pixels at the top of the screen. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>bottom</em>&nbsp;</td><td>The number of pixels at the bottom of the screen. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 on success, 0 otherwise.</dd></dl>
+Retrieve the space at the edje of the screen if <code>window</code> is to reserve such space. The number of pixels at the left, right, top and bottom of the screen are respectively stored in <code>left</code>, <code>right</code>, <code>top</code> and <code>bottom</code>. This function returns 1 on success, 0 otherwise.<p>
+This property is deprecated. See <a class="el" href="group__Ecore__X__NetWM__Group.html#g4f33da6e5b143351ff2fa3d75ec0c59d">ecore_x_netwm_strut_set()</a> for more informations.<p>
+To use this function, you must call before, and in order, <a class="el" href="group__Ecore__X__NetWM__Group.html#g5a39840d1cbd5ce185b10b46ffa4e3a5">ecore_x_netwm_strut_get_prefetch()</a>, which sends the GetProperty request, then <a class="el" href="group__Ecore__X__NetWM__Group.html#g6576ef3eb6fb134194ea6062379f4ecc">ecore_x_netwm_strut_get_fetch()</a>, which gets the reply. 
+</div>
+</div><p>
+<a class="anchor" name="g5a39840d1cbd5ce185b10b46ffa4e3a5"></a><!-- doxytag: member="ecore_xcb_netwm.c::ecore_x_netwm_strut_get_prefetch" ref="g5a39840d1cbd5ce185b10b46ffa4e3a5" args="(Ecore_X_Window window)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_netwm_strut_get_prefetch           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sends the GetProperty request. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g9151d0e817387bd0c28de180c688b06f"></a><!-- doxytag: member="ecore_xcb_netwm.c::ecore_x_netwm_strut_partial_get" ref="g9151d0e817387bd0c28de180c688b06f" args="(Ecore_X_Window window, int *left, int *right, int *top, int *bottom, int *left_start_y, int *left_end_y, int *right_start_y, int *right_end_y, int *top_start_x, int *top_end_x, int *bottom_start_x, int *bottom_end_x)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_x_netwm_strut_partial_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>left</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>right</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>top</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>bottom</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>left_start_y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>left_end_y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>right_start_y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>right_end_y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>top_start_x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>top_end_x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>bottom_start_x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>bottom_end_x</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Get the space at the edje of the screen of a window. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>left</em>&nbsp;</td><td>The number of pixels at the left of the screen. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>right</em>&nbsp;</td><td>The number of pixels at the right of the screen. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>top</em>&nbsp;</td><td>The number of pixels at the top of the screen. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>bottom</em>&nbsp;</td><td>The number of pixels at the bottom of the screen. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>left_start_y</em>&nbsp;</td><td>The number of pixels. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>left_end_y</em>&nbsp;</td><td>The number of pixels. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>right_start_y</em>&nbsp;</td><td>The number of pixels. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>right_end_y</em>&nbsp;</td><td>The number of pixels. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>top_start_x</em>&nbsp;</td><td>The number of pixels. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>top_end_x</em>&nbsp;</td><td>The number of pixels. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>bottom_start_x</em>&nbsp;</td><td>The number of pixels. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>bottom_end_x</em>&nbsp;</td><td>The number of pixels.</td></tr>
+  </table>
+</dl>
+Retrieve the space at the edje of the screen if <code>window</code> is to reserve such space. The number of pixels at the left, right, top and bottom of the screen are respectively stored in <code>left</code>, <code>right</code>, <code>top</code> and <code>bottom</code>. This function returns 1 on success, 0 otherwise.<p>
+TODO: more description for that function.<p>
+To use this function, you must call before, and in order, <a class="el" href="group__Ecore__X__NetWM__Group.html#g14c97c9a08537d7437aa69d1f03ec473">ecore_x_netwm_strut_partial_get_prefetch()</a>, which sends the GetProperty request, then <a class="el" href="group__Ecore__X__NetWM__Group.html#g8efb784e5af202e2fffc40457b00115a">ecore_x_netwm_strut_partial_get_fetch()</a>, which gets the reply. 
+</div>
+</div><p>
+<a class="anchor" name="g14c97c9a08537d7437aa69d1f03ec473"></a><!-- doxytag: member="ecore_xcb_netwm.c::ecore_x_netwm_strut_partial_get_prefetch" ref="g14c97c9a08537d7437aa69d1f03ec473" args="(Ecore_X_Window window)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_netwm_strut_partial_get_prefetch           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sends the GetProperty request. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="gc305c545e5589069bdb82d8af3d3a446"></a><!-- doxytag: member="ecore_xcb_netwm.c::ecore_x_netwm_strut_partial_set" ref="gc305c545e5589069bdb82d8af3d3a446" args="(Ecore_X_Window window, int left, int right, int top, int bottom, int left_start_y, int left_end_y, int right_start_y, int right_end_y, int top_start_x, int top_end_x, int bottom_start_x, int bottom_end_x)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_netwm_strut_partial_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>left</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>right</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>top</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>bottom</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>left_start_y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>left_end_y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>right_start_y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>right_end_y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>top_start_x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>top_end_x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>bottom_start_x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>bottom_end_x</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set the _NET_WM_STRUT_PARTIAL property. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>left</em>&nbsp;</td><td>The number of pixels at the left of the screen. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>right</em>&nbsp;</td><td>The number of pixels at the right of the screen. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>top</em>&nbsp;</td><td>The number of pixels at the top of the screen. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>bottom</em>&nbsp;</td><td>The number of pixels at the bottom of the screen. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>left_start_y</em>&nbsp;</td><td>The number of pixels. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>left_end_y</em>&nbsp;</td><td>The number of pixels. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>right_start_y</em>&nbsp;</td><td>The number of pixels. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>right_end_y</em>&nbsp;</td><td>The number of pixels. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>top_start_x</em>&nbsp;</td><td>The number of pixels. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>top_end_x</em>&nbsp;</td><td>The number of pixels. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>bottom_start_x</em>&nbsp;</td><td>The number of pixels. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>bottom_end_x</em>&nbsp;</td><td>The number of pixels.</td></tr>
+  </table>
+</dl>
+Set space at the edje of the screen by sending the _NET_WM_STRUT_PARTIAL property to <code>window</code> if <code>window</code> is to reserve that space. <code>left</code>, <code>right</code>, <code>top</code> and <code>bottom</code> are respectively the number of pixels at the left, right, top and bottom of the screen.<p>
+TODO: more description for that function. 
+</div>
+</div><p>
+<a class="anchor" name="g4f33da6e5b143351ff2fa3d75ec0c59d"></a><!-- doxytag: member="ecore_xcb_netwm.c::ecore_x_netwm_strut_set" ref="g4f33da6e5b143351ff2fa3d75ec0c59d" args="(Ecore_X_Window window, int left, int right, int top, int bottom)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_netwm_strut_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>left</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>right</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>top</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>bottom</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set the _NET_WM_STRUT property. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>left</em>&nbsp;</td><td>The number of pixels at the left of the screen. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>right</em>&nbsp;</td><td>The number of pixels at the right of the screen. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>top</em>&nbsp;</td><td>The number of pixels at the top of the screen. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>bottom</em>&nbsp;</td><td>The number of pixels at the bottom of the screen.</td></tr>
+  </table>
+</dl>
+Set space at the edje of the screen by sending the _NET_WM_STRUT property to <code>window</code> if <code>window</code> is to reserve that space. <code>left</code>, <code>right</code>, <code>top</code> and <code>bottom</code> are respectively the number of pixels at the left, right, top and bottom of the screen.<p>
+This property is deprecated and <a class="el" href="group__Ecore__X__NetWM__Group.html#gc305c545e5589069bdb82d8af3d3a446">ecore_x_netwm_strut_partial_set()</a> should be used instead. However, Clients MAY set this property in addition to _NET_WM_STRUT_PARTIAL to ensure backward compatibility with Window Managers supporting older versions of the Specification. 
+</div>
+</div><p>
+<a class="anchor" name="gec17f7f26685ce7181bffb1eec35179f"></a><!-- doxytag: member="ecore_xcb_netwm.c::ecore_x_netwm_supported_get" ref="gec17f7f26685ce7181bffb1eec35179f" args="(Ecore_X_Window root, Ecore_X_Atom **supported, int *num)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_x_netwm_supported_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>root</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Atom **&nbsp;</td>
+          <td class="paramname"> <em>supported</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>num</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Get the hints supported by the Window Manager. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>root</em>&nbsp;</td><td>The root window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>supported</em>&nbsp;</td><td>The supported hints. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>num</em>&nbsp;</td><td>The number of atoms. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 on success, 0 otherwise.</dd></dl>
+Get the hints supported by the Window Manager. <code>root</code> is the root window. The hints are stored in <code>supported</code>. The number of hints is stored in <code>num</code>.<p>
+To use this function, you must call before, and in order, <a class="el" href="group__Ecore__X__NetWM__Group.html#g2298e64a801fd52fd03d04e753bb9ac5">ecore_x_netwm_supported_get_prefetch()</a>, which sends the GetProperty request, then <a class="el" href="group__Ecore__X__NetWM__Group.html#gb45c2c7c71faad4640473b18c941b5b5">ecore_x_netwm_supported_get_fetch()</a>, which gets the reply. 
+</div>
+</div><p>
+<a class="anchor" name="g2298e64a801fd52fd03d04e753bb9ac5"></a><!-- doxytag: member="ecore_xcb_netwm.c::ecore_x_netwm_supported_get_prefetch" ref="g2298e64a801fd52fd03d04e753bb9ac5" args="(Ecore_X_Window root)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_netwm_supported_get_prefetch           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>root</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sends the GetProperty request. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>root</em>&nbsp;</td><td>The root window </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g12031ab17e0eef3c63dd1bf4c7286fa8"></a><!-- doxytag: member="ecore_xcb_netwm.c::ecore_x_netwm_supported_set" ref="g12031ab17e0eef3c63dd1bf4c7286fa8" args="(Ecore_X_Window root, Ecore_X_Atom *supported, int num)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_netwm_supported_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>root</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Atom *&nbsp;</td>
+          <td class="paramname"> <em>supported</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>num</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set the _NET_SUPPORTED property. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>root</em>&nbsp;</td><td>The root window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>supported</em>&nbsp;</td><td>The supported hints. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>num</em>&nbsp;</td><td>The number of hints.</td></tr>
+  </table>
+</dl>
+Set the _NET_SUPPORTED property on the <code>root</code> window. The hints that the Window Manager supports are stored in <code>supported</code>.<p>
+The Window Manager MUST set this property to indicate which hints it supports. 
+</div>
+</div><p>
+<a class="anchor" name="g81e23a83ca85e33e46410454e86411b2"></a><!-- doxytag: member="ecore_xcb_netwm.c::ecore_x_netwm_sync_counter_get" ref="g81e23a83ca85e33e46410454e86411b2" args="(Ecore_X_Window window, Ecore_X_Sync_Counter *counter)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_x_netwm_sync_counter_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Sync_Counter *&nbsp;</td>
+          <td class="paramname"> <em>counter</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Get the X ID of a X Sync counter. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>counter</em>&nbsp;</td><td>The X ID of the Sync counter. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 on success, 0 otherwise.</dd></dl>
+Retrieve the X ID of the X Sync counter of <code>window</code> and store it in <code>counter</code>. This function returns 1 on success, 0 otherwise.<p>
+To use this function, you must call before, and in order, <a class="el" href="group__Ecore__X__NetWM__Group.html#g89e2f7a4267ffb61387a6463b316ddee">ecore_x_netwm_frame_size_get_prefetch()</a>, which sends the GetProperty request, then <a class="el" href="group__Ecore__X__NetWM__Group.html#g784b4a524a5bae008ff3f6c8b7a1f1cc">ecore_x_netwm_frame_size_get_fetch()</a>, which gets the reply. 
+</div>
+</div><p>
+<a class="anchor" name="g6328ad18c00e8ba89eb137a64223d5a8"></a><!-- doxytag: member="ecore_xcb_netwm.c::ecore_x_netwm_sync_counter_get_prefetch" ref="g6328ad18c00e8ba89eb137a64223d5a8" args="(Ecore_X_Window window)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_netwm_sync_counter_get_prefetch           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sends the GetProperty request. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g47005260f3688f6f604b4038ab6d13f1"></a><!-- doxytag: member="ecore_xcb_netwm.c::ecore_x_netwm_sync_request_send" ref="g47005260f3688f6f604b4038ab6d13f1" args="(Ecore_X_Window window, unsigned int serial)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_netwm_sync_request_send           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">unsigned int&nbsp;</td>
+          <td class="paramname"> <em>serial</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Send a _NET_WM_SYNC_REQUEST property event. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>serial</em>&nbsp;</td><td>The update request number.</td></tr>
+  </table>
+</dl>
+Send a ClientMessage event from <code>window</code> with the _NET_WM_SYNC_REQUEST property set. 
+</div>
+</div><p>
+<a class="anchor" name="gc65c380e26c8efe810d21be5a013578a"></a><!-- doxytag: member="ecore_xcb_netwm.c::ecore_x_netwm_user_time_get" ref="gc65c380e26c8efe810d21be5a013578a" args="(Ecore_X_Window window, unsigned int *time)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_x_netwm_user_time_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">unsigned int *&nbsp;</td>
+          <td class="paramname"> <em>time</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Get the last user activity time in the window. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>time</em>&nbsp;</td><td>The returned time. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 on success, 0 otherwise.</dd></dl>
+Return the XServer time at which last user activity in <code>window</code> took place. The time is stored in <code>time</code>.<p>
+To use this function, you must call before, and in order, <a class="el" href="group__Ecore__X__NetWM__Group.html#g547c35302c92ebfc5e6f54120755593a">ecore_x_netwm_user_time_get_prefetch()</a>, which sends the GetProperty request, then <a class="el" href="group__Ecore__X__NetWM__Group.html#g2f0ad96d62d836f07e13def405a1fa96">ecore_x_netwm_user_time_get_fetch()</a>, which gets the reply. 
+</div>
+</div><p>
+<a class="anchor" name="g547c35302c92ebfc5e6f54120755593a"></a><!-- doxytag: member="ecore_xcb_netwm.c::ecore_x_netwm_user_time_get_prefetch" ref="g547c35302c92ebfc5e6f54120755593a" args="(Ecore_X_Window window)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_netwm_user_time_get_prefetch           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sends the GetProperty request. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="gee0bb29864b98894ec02631236f4e794"></a><!-- doxytag: member="ecore_xcb_netwm.c::ecore_x_netwm_user_time_set" ref="gee0bb29864b98894ec02631236f4e794" args="(Ecore_X_Window window, unsigned int time)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_netwm_user_time_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">unsigned int&nbsp;</td>
+          <td class="paramname"> <em>time</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set the _NET_WM_USER_TIME property. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>time</em>&nbsp;</td><td>The last user activity time in the window.</td></tr>
+  </table>
+</dl>
+Set the XServer time at which last user activity in <code>window</code> took place by sending the _NET_WM_USER_TIME property to <code>window</code>. <code>time</code> contains that XServer time in seconds.<p>
+This function allows a Window Manager to alter the focus, stacking, and/or placement behavior of windows when they are mapped depending on whether the new window was created by a user action or is a "pop-up" window activated by a timer or some other event. 
+</div>
+</div><p>
+<a class="anchor" name="g1aa26ca13404f31badec8c0792794b30"></a><!-- doxytag: member="ecore_xcb_netwm.c::ecore_x_netwm_visible_icon_name_get" ref="g1aa26ca13404f31badec8c0792794b30" args="(Ecore_X_Window window, char **name)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_x_netwm_visible_icon_name_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">char **&nbsp;</td>
+          <td class="paramname"> <em>name</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Get the visible icon name of a window. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>The icon name. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns always 1.</dd></dl>
+Retrieve the visible icon name of <code>window</code> and store it in <code>name</code>. The function returns always 1.<p>
+To use this function, you must call before, and in order, <a class="el" href="group__Ecore__X__NetWM__Group.html#g5ac2253b2d29710e3a8ecd59b7398f41">ecore_x_netwm_visible_icon_name_get_prefetch()</a>, which sends the GetProperty request, then <a class="el" href="group__Ecore__X__NetWM__Group.html#g76267594cda1098b20e56ffbae9b7bd0">ecore_x_netwm_visible_icon_name_get_fetch()</a>, which gets the reply. 
+</div>
+</div><p>
+<a class="anchor" name="g5ac2253b2d29710e3a8ecd59b7398f41"></a><!-- doxytag: member="ecore_xcb_netwm.c::ecore_x_netwm_visible_icon_name_get_prefetch" ref="g5ac2253b2d29710e3a8ecd59b7398f41" args="(Ecore_X_Window window)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_netwm_visible_icon_name_get_prefetch           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sends the GetProperty request. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="gc2b69cd1230eea36d59fd93c65c96588"></a><!-- doxytag: member="ecore_xcb_netwm.c::ecore_x_netwm_visible_icon_name_set" ref="gc2b69cd1230eea36d59fd93c65c96588" args="(Ecore_X_Window window, const char *name)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_netwm_visible_icon_name_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>name</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set the _NET_WM_VISIBLE_ICON_NAME property. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The widow to activate. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>The title name of the window.</td></tr>
+  </table>
+</dl>
+Set the icon name of <code>window</code> to <code>name</code> by sending the _NET_WM_VISIBLE_ICON_NAME property to <code>window</code>, when the Window Manager displays a icon name other than by calling <a class="el" href="group__Ecore__X__NetWM__Group.html#g095da6e161bd8ae983dfe586025e47da">ecore_x_netwm_icon_name_set()</a>.<p>
+The Client SHOULD set the icon name in UTF-8 encoding. The Window Manager MUST use this function is it display an icon name other than with <a class="el" href="group__Ecore__X__NetWM__Group.html#g095da6e161bd8ae983dfe586025e47da">ecore_x_netwm_icon_name_set()</a>. 
+</div>
+</div><p>
+<a class="anchor" name="ga5dfabdd704c5691b2c0ba158e55c1c0"></a><!-- doxytag: member="ecore_xcb_netwm.c::ecore_x_netwm_visible_name_get" ref="ga5dfabdd704c5691b2c0ba158e55c1c0" args="(Ecore_X_Window window, char **name)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_x_netwm_visible_name_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">char **&nbsp;</td>
+          <td class="paramname"> <em>name</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Get the visible title of a window. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>The title name. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns always 1.</dd></dl>
+Retrieve the visible title name of <code>window</code> and store it in <code>name</code>. The function returns always 1. <dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window</td></tr>
+  </table>
+</dl>
+To use this function, you must call before, and in order, <a class="el" href="group__Ecore__X__NetWM__Group.html#g8053d77e36a5c5bcc67d45cd6b630f2d">ecore_x_netwm_visible_name_get_prefetch()</a>, which sends the GetProperty request, then <a class="el" href="group__Ecore__X__NetWM__Group.html#g85c72fa3d53b56b589cc45977c3116d1">ecore_x_netwm_visible_name_get_fetch()</a>, which gets the reply. 
+</div>
+</div><p>
+<a class="anchor" name="g8053d77e36a5c5bcc67d45cd6b630f2d"></a><!-- doxytag: member="ecore_xcb_netwm.c::ecore_x_netwm_visible_name_get_prefetch" ref="g8053d77e36a5c5bcc67d45cd6b630f2d" args="(Ecore_X_Window window)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_netwm_visible_name_get_prefetch           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sends the GetProperty request. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g24a8a5d819450c7191f69adda491ff31"></a><!-- doxytag: member="ecore_xcb_netwm.c::ecore_x_netwm_visible_name_set" ref="g24a8a5d819450c7191f69adda491ff31" args="(Ecore_X_Window window, const char *name)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_netwm_visible_name_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>name</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set the _NET_WM_VISIBLE_NAME property. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The widow to activate. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>The title name of the window.</td></tr>
+  </table>
+</dl>
+Set the title name of <code>window</code> to <code>name</code> by sending the _NET_WM_VISIBLE_NAME property to <code>window</code>, when the Window Manager displays a window name other than by calling <a class="el" href="group__Ecore__X__NetWM__Group.html#ga121d2f05c29129c8281d69403589b7a">ecore_x_netwm_name_set()</a>.<p>
+The Client SHOULD set the title of <code>window</code> in UTF-8 encoding. This function is used for displaying title windows like [xterm1], [xterm2], ... thereby allowing Pagers to display the same title as the Window Manager. 
+</div>
+</div><p>
+<a class="anchor" name="g00b9620c98d37de04870a48ade2bd1cf"></a><!-- doxytag: member="ecore_xcb_netwm.c::ecore_x_netwm_window_state_get" ref="g00b9620c98d37de04870a48ade2bd1cf" args="(Ecore_X_Window window, Ecore_X_Window_State **state, unsigned int *num)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_x_netwm_window_state_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Window_State **&nbsp;</td>
+          <td class="paramname"> <em>state</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">unsigned int *&nbsp;</td>
+          <td class="paramname"> <em>num</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Get the hints describing the window state. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>state</em>&nbsp;</td><td>The returned hins. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>num</em>&nbsp;</td><td>The number of hints. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 on success, 0 otherwise.</dd></dl>
+Retrieve the hints describing <code>window</code> state. The state is returned in <code>state</code>. The nummber of hints is stored in <code>num</code>. This function returns 1 on success, 0 otherwise.<p>
+To use this function, you must call before, and in order, <a class="el" href="group__Ecore__X__NetWM__Group.html#g325c8c4da075d776a4f91517648cd113">ecore_x_netwm_window_state_get_prefetch()</a>, which sends the GetProperty request, then <a class="el" href="group__Ecore__X__NetWM__Group.html#g7db6800a36f20f764cfe63a58004e422">ecore_x_netwm_window_state_get_fetch()</a>, which gets the reply. 
+</div>
+</div><p>
+<a class="anchor" name="g325c8c4da075d776a4f91517648cd113"></a><!-- doxytag: member="ecore_xcb_netwm.c::ecore_x_netwm_window_state_get_prefetch" ref="g325c8c4da075d776a4f91517648cd113" args="(Ecore_X_Window window)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_netwm_window_state_get_prefetch           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sends the GetProperty request. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g48ea0e54441b6ffc81494151a3b4a53f"></a><!-- doxytag: member="ecore_xcb_netwm.c::ecore_x_netwm_window_state_set" ref="g48ea0e54441b6ffc81494151a3b4a53f" args="(Ecore_X_Window window, Ecore_X_Window_State *state, unsigned int num)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_netwm_window_state_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Window_State *&nbsp;</td>
+          <td class="paramname"> <em>state</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">unsigned int&nbsp;</td>
+          <td class="paramname"> <em>num</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set the _NET_WM_STATE property. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>state</em>&nbsp;</td><td>An array of window hints. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>num</em>&nbsp;</td><td>The number of hints.</td></tr>
+  </table>
+</dl>
+Set a list of hints describing <code>window</code> state by sending the _NET_WM_STATE property to <code>window</code>. The hints are stored in the array <code>state</code>. <code>num</code> must contain the number of hints.<p>
+The Window Manager SHOULD honor _NET_WM_STATE whenever a withdrawn window requests to be mapped. A Client wishing to change the state of a window MUST send a _NET_WM_STATE client message to the root window. The Window Manager MUST keep this property updated to reflect the current state of the window. 
+</div>
+</div><p>
+<a class="anchor" name="g2c6e85b979a52f7f33d202582e904f15"></a><!-- doxytag: member="ecore_xcb_netwm.c::ecore_x_netwm_window_type_get" ref="g2c6e85b979a52f7f33d202582e904f15" args="(Ecore_X_Window window, Ecore_X_Window_Type *type)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_x_netwm_window_type_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Window_Type *&nbsp;</td>
+          <td class="paramname"> <em>type</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Get the functional type of a window. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>type</em>&nbsp;</td><td>The function type of the window. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 on success, 0 otherwise.</dd></dl>
+Retrieve the functional type of <code>window</code>. The type is stored in <code>type</code>. This function returns 1 on success, 0 otherwise.<p>
+To use this function, you must call before, and in order, <a class="el" href="group__Ecore__X__NetWM__Group.html#g26ef48c528e62c9fcca0cd0bde5705ac">ecore_x_netwm_window_type_get_prefetch()</a>, which sends the GetProperty request, then <a class="el" href="group__Ecore__X__NetWM__Group.html#ge94b43f91956f6043a20eb4c49d6ed43">ecore_x_netwm_window_type_get_fetch()</a>, which gets the reply. 
+</div>
+</div><p>
+<a class="anchor" name="g26ef48c528e62c9fcca0cd0bde5705ac"></a><!-- doxytag: member="ecore_xcb_netwm.c::ecore_x_netwm_window_type_get_prefetch" ref="g26ef48c528e62c9fcca0cd0bde5705ac" args="(Ecore_X_Window window)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_netwm_window_type_get_prefetch           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sends the GetProperty request. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g350b959efbc770f72bcf99fd925c5af7"></a><!-- doxytag: member="ecore_xcb_netwm.c::ecore_x_netwm_window_type_set" ref="g350b959efbc770f72bcf99fd925c5af7" args="(Ecore_X_Window window, Ecore_X_Window_Type type)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_netwm_window_type_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Window_Type&nbsp;</td>
+          <td class="paramname"> <em>type</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set the _NET_WM_WINDOW_TYPE property. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>type</em>&nbsp;</td><td>The functional type of the window.</td></tr>
+  </table>
+</dl>
+Set the functional <code>type</code> of <code>window</code> by sending _NET_WM_WINDOW_TYPE property to <code>window</code>.<p>
+This property SHOULD be set by the Client before mapping. This property SHOULD be used by the window manager in determining the decoration, stacking position and other behavior of the window. The Client SHOULD specify window types in order of preference (the first being most preferable).<p>
+This hint is intended to replace the MOTIF hints. 
+</div>
+</div><p>
+<a class="anchor" name="g44d807f6153f6f51f097fc56e790a593"></a><!-- doxytag: member="ecore_xcb_netwm.c::ecore_x_netwm_wm_identify" ref="g44d807f6153f6f51f097fc56e790a593" args="(Ecore_X_Window root, Ecore_X_Window check, const char *wm_name)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_netwm_wm_identify           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>root</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>check</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>wm_name</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set the _NET_SUPPORTING_WM_CHECK property. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>root</em>&nbsp;</td><td>The root window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>check</em>&nbsp;</td><td>The child window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>wm_name</em>&nbsp;</td><td>The name of the Window Manager.</td></tr>
+  </table>
+</dl>
+Set the _NET_SUPPORTING_WM_CHECK property on the <code>root</code> window to be the ID of the child window <code>check</code> created by the Window Manager. <code>check</code> also have the _NET_WM_NAME property set to the name <code>wm_name</code> of the Window Manager.<p>
+The Window MUST call that function to indicate that a compliant window manager is active. 
+</div>
+</div><p>
+<a class="anchor" name="gf50ef199db219e0aac5ae1195d4e85a5"></a><!-- doxytag: member="ecore_xcb_netwm.c::ecore_x_screen_is_composited" ref="gf50ef199db219e0aac5ae1195d4e85a5" args="(int screen)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_x_screen_is_composited           </td>
+          <td>(</td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>screen</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Check whether a screen is composited or not. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>screen</em>&nbsp;</td><td>The screen index.</td></tr>
+  </table>
+</dl>
+Return 1 if <code>screen</code> is composited, 0 otherwise. 
+</div>
+</div><p>
+</body>
+</html>
diff --git a/doc/html/group__Ecore__X__Pixmap__Group.html b/doc/html/group__Ecore__X__Pixmap__Group.html
new file mode 100644
index 0000000..f31b277
--- /dev/null
+++ b/doc/html/group__Ecore__X__Pixmap__Group.html
@@ -0,0 +1,307 @@
+<html>
+
+<head>
+
+<title>Ecore: X Pixmap Functions</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1>X Pixmap Functions</h1>Functions that operate on pixmaps.  
+<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_X_Pixmap&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Pixmap__Group.html#g4d02ed7c9ea23b344cf55123e142e9e1">ecore_x_pixmap_new</a> (Ecore_X_Window win, int w, int h, int dep)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a new pixmap.  <a href="#g4d02ed7c9ea23b344cf55123e142e9e1"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Pixmap__Group.html#g190a18a60b6d09ee97b65b278a15d482">ecore_x_pixmap_del</a> (Ecore_X_Pixmap pmap)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Deletes the reference to the given pixmap.  <a href="#g190a18a60b6d09ee97b65b278a15d482"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Pixmap__Group.html#g01f841e4ca0f9584fc8d55e968a2c987">ecore_x_pixmap_paste</a> (Ecore_X_Pixmap pmap, Ecore_X_Drawable dest, Ecore_X_GC gc, int sx, int sy, int w, int h, int dx, int dy)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Pastes a rectangular area of the given pixmap onto the given drawable.  <a href="#g01f841e4ca0f9584fc8d55e968a2c987"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Pixmap__Group.html#g71572e8cad6af6836ced18c5e39e4648">ecore_x_pixmap_geometry_get</a> (Ecore_X_Pixmap pmap, int *x, int *y, int *w, int *h)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the size of the given pixmap.  <a href="#g71572e8cad6af6836ced18c5e39e4648"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Pixmap__Group.html#gdf1ad96ce96de02991b60386fd6bc535">ecore_x_pixmap_depth_get</a> (Ecore_X_Pixmap pmap)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the depth of the given pixmap.  <a href="#gdf1ad96ce96de02991b60386fd6bc535"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Functions that operate on pixmaps. 
+<p>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="g190a18a60b6d09ee97b65b278a15d482"></a><!-- doxytag: member="ecore_x_pixmap.c::ecore_x_pixmap_del" ref="g190a18a60b6d09ee97b65b278a15d482" args="(Ecore_X_Pixmap pmap)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_pixmap_del           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Pixmap&nbsp;</td>
+          <td class="paramname"> <em>pmap</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Deletes the reference to the given pixmap. 
+<p>
+If no other clients have a reference to the given pixmap, the server will destroy it.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>pmap</em>&nbsp;</td><td>The given pixmap. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="gdf1ad96ce96de02991b60386fd6bc535"></a><!-- doxytag: member="ecore_x_pixmap.c::ecore_x_pixmap_depth_get" ref="gdf1ad96ce96de02991b60386fd6bc535" args="(Ecore_X_Pixmap pmap)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_x_pixmap_depth_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Pixmap&nbsp;</td>
+          <td class="paramname"> <em>pmap</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Retrieves the depth of the given pixmap. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>pmap</em>&nbsp;</td><td>The given pixmap. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The depth of the pixmap. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g71572e8cad6af6836ced18c5e39e4648"></a><!-- doxytag: member="ecore_x_pixmap.c::ecore_x_pixmap_geometry_get" ref="g71572e8cad6af6836ced18c5e39e4648" args="(Ecore_X_Pixmap pmap, int *x, int *y, int *w, int *h)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_pixmap_geometry_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Pixmap&nbsp;</td>
+          <td class="paramname"> <em>pmap</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>w</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>h</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Retrieves the size of the given pixmap. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>pmap</em>&nbsp;</td><td>The given pixmap. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>Pointer to an integer in which to store the X position. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</td><td>Pointer to an integer in which to store the Y position. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>w</em>&nbsp;</td><td>Pointer to an integer in which to store the width. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>h</em>&nbsp;</td><td>Pointer to an integer in which to store the height. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g4d02ed7c9ea23b344cf55123e142e9e1"></a><!-- doxytag: member="ecore_x_pixmap.c::ecore_x_pixmap_new" ref="g4d02ed7c9ea23b344cf55123e142e9e1" args="(Ecore_X_Window win, int w, int h, int dep)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Ecore_X_Pixmap ecore_x_pixmap_new           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>win</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>w</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>h</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>dep</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Creates a new pixmap. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>win</em>&nbsp;</td><td>Window used to determine which screen of the display the pixmap should be created on. If 0, the default root window is used. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>w</em>&nbsp;</td><td>Width of the new pixmap. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>h</em>&nbsp;</td><td>Height of the new pixmap. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>dep</em>&nbsp;</td><td>Depth of the pixmap. If 0, the default depth of the default screen is used. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>New pixmap. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g01f841e4ca0f9584fc8d55e968a2c987"></a><!-- doxytag: member="ecore_x_pixmap.c::ecore_x_pixmap_paste" ref="g01f841e4ca0f9584fc8d55e968a2c987" args="(Ecore_X_Pixmap pmap, Ecore_X_Drawable dest, Ecore_X_GC gc, int sx, int sy, int w, int h, int dx, int dy)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_pixmap_paste           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Pixmap&nbsp;</td>
+          <td class="paramname"> <em>pmap</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Drawable&nbsp;</td>
+          <td class="paramname"> <em>dest</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_GC&nbsp;</td>
+          <td class="paramname"> <em>gc</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>sx</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>sy</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>w</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>h</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>dx</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>dy</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Pastes a rectangular area of the given pixmap onto the given drawable. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>pmap</em>&nbsp;</td><td>The given pixmap. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>dest</em>&nbsp;</td><td>The given drawable. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>gc</em>&nbsp;</td><td>The graphics context which governs which operation will be used to paste the area onto the drawable. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>sx</em>&nbsp;</td><td>The X position of the area on the pixmap. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>sy</em>&nbsp;</td><td>The Y position of the area on the pixmap. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>w</em>&nbsp;</td><td>The width of the area. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>h</em>&nbsp;</td><td>The height of the area. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>dx</em>&nbsp;</td><td>The X position at which to paste the area on <code>dest</code>. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>dy</em>&nbsp;</td><td>The Y position at which to paste the area on <code>dest</code>. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+</body>
+</html>
diff --git a/doc/html/group__Ecore__X__RandR__Group.html b/doc/html/group__Ecore__X__RandR__Group.html
new file mode 100644
index 0000000..95bce4c
--- /dev/null
+++ b/doc/html/group__Ecore__X__RandR__Group.html
@@ -0,0 +1,489 @@
+<html>
+
+<head>
+
+<title>Ecore: X RandR Extension Functions</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1>X RandR Extension Functions</h1>Functions related to the X RandR extension.  
+<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__RandR__Group.html#g20ba1e9db82d9c98adbbd2d833760b0d">ecore_x_randr_query</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return whether the X server supports the RandR Extension.  <a href="#g20ba1e9db82d9c98adbbd2d833760b0d"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__RandR__Group.html#g3da36f6608ed12b06dfac42c733c85a8">ecore_x_randr_events_select</a> (Ecore_X_Window window, int on)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Select if the ScreenChangeNotify events will be sent.  <a href="#g3da36f6608ed12b06dfac42c733c85a8"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__RandR__Group.html#gad888ac7ba23c09f8461b68746b3ed42">ecore_x_randr_get_screen_info_prefetch</a> (Ecore_X_Window window)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the GetScreenInfo request.  <a href="#gad888ac7ba23c09f8461b68746b3ed42"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g6bacf7dd7ae77772aaad7ca4190928ce"></a><!-- doxytag: member="Ecore_X_RandR_Group::ecore_x_randr_get_screen_info_fetch" ref="g6bacf7dd7ae77772aaad7ca4190928ce" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__RandR__Group.html#g6bacf7dd7ae77772aaad7ca4190928ce">ecore_x_randr_get_screen_info_fetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the reply of the GetScreenInfo request sent by <a class="el" href="group__Ecore__X__RandR__Group.html#gad888ac7ba23c09f8461b68746b3ed42">ecore_x_randr_get_screen_info_prefetch()</a>. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_X_Randr_Rotation&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__RandR__Group.html#g1eb8fa1940edec151d10accb9a0d949b">ecore_x_randr_screen_rotations_get</a> (Ecore_X_Window root __UNUSED__)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the set of rotations and reflections.  <a href="#g1eb8fa1940edec151d10accb9a0d949b"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_X_Randr_Rotation&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__RandR__Group.html#ga3a68841eaebe2e6c824cfb1f216b04e">ecore_x_randr_screen_rotation_get</a> (Ecore_X_Window root __UNUSED__)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the rotation.  <a href="#ga3a68841eaebe2e6c824cfb1f216b04e"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_X_Screen_Size *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__RandR__Group.html#gba0bcb46adcba878b3f86920fe97ac48">ecore_x_randr_screen_sizes_get</a> (Ecore_X_Window root __UNUSED__, int *num)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the frame buffer sizes.  <a href="#gba0bcb46adcba878b3f86920fe97ac48"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_X_Screen_Size&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__RandR__Group.html#g39f6b0042f8639c9e9d8261f9ca0fbbe">ecore_x_randr_current_screen_size_get</a> (Ecore_X_Window root __UNUSED__)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the current frame buffer size.  <a href="#g39f6b0042f8639c9e9d8261f9ca0fbbe"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_X_Screen_Refresh_Rate&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__RandR__Group.html#geeb60c5ac2c9db16ae0947398ed53207">ecore_x_randr_current_screen_refresh_rate_get</a> (Ecore_X_Window root __UNUSED__)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the current refresh rate.  <a href="#geeb60c5ac2c9db16ae0947398ed53207"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_X_Screen_Refresh_Rate *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__RandR__Group.html#g3d4a43b64cd09b6b0423d72fbd56ce46">ecore_x_randr_screen_refresh_rates_get</a> (Ecore_X_Window root __UNUSED__, int size_id __UNUSED__, int *num)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the refresh rates.  <a href="#g3d4a43b64cd09b6b0423d72fbd56ce46"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__RandR__Group.html#gd4368d091b23cb7aa6f165003345ee02">ecore_x_randr_screen_rotation_set</a> (Ecore_X_Window root, Ecore_X_Randr_Rotation rot)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the screen rotation.  <a href="#gd4368d091b23cb7aa6f165003345ee02"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__RandR__Group.html#g19e6ebee44b2f6783bab826239de5529">ecore_x_randr_screen_size_set</a> (Ecore_X_Window root, Ecore_X_Screen_Size size)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the screen size.  <a href="#g19e6ebee44b2f6783bab826239de5529"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__RandR__Group.html#g419196c593bc7fb5737c639a40a2d78c">ecore_x_randr_screen_refresh_rate_set</a> (Ecore_X_Window root, Ecore_X_Screen_Size size, Ecore_X_Screen_Refresh_Rate rate)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the screen refresh rate.  <a href="#g419196c593bc7fb5737c639a40a2d78c"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Functions related to the X RandR extension. 
+<p>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="geeb60c5ac2c9db16ae0947398ed53207"></a><!-- doxytag: member="ecore_xcb_randr.c::ecore_x_randr_current_screen_refresh_rate_get" ref="geeb60c5ac2c9db16ae0947398ed53207" args="(Ecore_X_Window root __UNUSED__)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Ecore_X_Screen_Refresh_Rate ecore_x_randr_current_screen_refresh_rate_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window root&nbsp;</td>
+          <td class="paramname"> <em>__UNUSED__</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Get the current refresh rate. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>root</em>&nbsp;</td><td>The window (Unused). </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The current refresh rate.</dd></dl>
+Get the current refresh rate supported by the screen associated to <code>window</code> (passed to <a class="el" href="group__Ecore__X__RandR__Group.html#gad888ac7ba23c09f8461b68746b3ed42">ecore_x_randr_get_screen_info_prefetch()</a>).<p>
+To use this function, you must call before, and in order, <a class="el" href="group__Ecore__X__RandR__Group.html#gad888ac7ba23c09f8461b68746b3ed42">ecore_x_randr_get_screen_info_prefetch()</a>, which sends the GetScreenInfo request, then <a class="el" href="group__Ecore__X__RandR__Group.html#g6bacf7dd7ae77772aaad7ca4190928ce">ecore_x_randr_get_screen_info_fetch()</a>, which gets the reply. 
+</div>
+</div><p>
+<a class="anchor" name="g39f6b0042f8639c9e9d8261f9ca0fbbe"></a><!-- doxytag: member="ecore_xcb_randr.c::ecore_x_randr_current_screen_size_get" ref="g39f6b0042f8639c9e9d8261f9ca0fbbe" args="(Ecore_X_Window root __UNUSED__)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Ecore_X_Screen_Size ecore_x_randr_current_screen_size_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window root&nbsp;</td>
+          <td class="paramname"> <em>__UNUSED__</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Get the current frame buffer size. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>root</em>&nbsp;</td><td>The window (Unused). </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The active size.</dd></dl>
+Get the active frame buffer size supported by the screen associated to <code>window</code> (passed to <a class="el" href="group__Ecore__X__RandR__Group.html#gad888ac7ba23c09f8461b68746b3ed42">ecore_x_randr_get_screen_info_prefetch()</a>).<p>
+To use this function, you must call before, and in order, <a class="el" href="group__Ecore__X__RandR__Group.html#gad888ac7ba23c09f8461b68746b3ed42">ecore_x_randr_get_screen_info_prefetch()</a>, which sends the GetScreenInfo request, then <a class="el" href="group__Ecore__X__RandR__Group.html#g6bacf7dd7ae77772aaad7ca4190928ce">ecore_x_randr_get_screen_info_fetch()</a>, which gets the reply. 
+</div>
+</div><p>
+<a class="anchor" name="g3da36f6608ed12b06dfac42c733c85a8"></a><!-- doxytag: member="ecore_xcb_randr.c::ecore_x_randr_events_select" ref="g3da36f6608ed12b06dfac42c733c85a8" args="(Ecore_X_Window window, int on)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_x_randr_events_select           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>on</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Select if the ScreenChangeNotify events will be sent. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>on</em>&nbsp;</td><td>1 to enable, 0 to disable. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 on success, 0 otherwise.</dd></dl>
+If <code>on</code> value is <code>1</code>, ScreenChangeNotify events will be sent when the screen configuration changes, either from this protocol extension, or due to detected external screen configuration changes. ScreenChangeNotify may also be sent when this request executes if the screen configuration has changed since the client connected, to avoid race conditions. 
+</div>
+</div><p>
+<a class="anchor" name="gad888ac7ba23c09f8461b68746b3ed42"></a><!-- doxytag: member="ecore_xcb_randr.c::ecore_x_randr_get_screen_info_prefetch" ref="gad888ac7ba23c09f8461b68746b3ed42" args="(Ecore_X_Window window)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_randr_get_screen_info_prefetch           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sends the GetScreenInfo request. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>Window whose properties are requested. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g20ba1e9db82d9c98adbbd2d833760b0d"></a><!-- doxytag: member="ecore_xcb_randr.c::ecore_x_randr_query" ref="g20ba1e9db82d9c98adbbd2d833760b0d" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_x_randr_query           </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Return whether the X server supports the RandR Extension. 
+<p>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 if the X RandR Extension is available, 0 otherwise.</dd></dl>
+Return 1 if the X server supports the RandR Extension version 1.1, 0 otherwise. 
+</div>
+</div><p>
+<a class="anchor" name="g419196c593bc7fb5737c639a40a2d78c"></a><!-- doxytag: member="ecore_xcb_randr.c::ecore_x_randr_screen_refresh_rate_set" ref="g419196c593bc7fb5737c639a40a2d78c" args="(Ecore_X_Window root, Ecore_X_Screen_Size size, Ecore_X_Screen_Refresh_Rate rate)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_x_randr_screen_refresh_rate_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>root</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Screen_Size&nbsp;</td>
+          <td class="paramname"> <em>size</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Screen_Refresh_Rate&nbsp;</td>
+          <td class="paramname"> <em>rate</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set the screen refresh rate. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>root</em>&nbsp;</td><td>The root window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>size</em>&nbsp;</td><td>The size. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>rate</em>&nbsp;</td><td>The refresh rate.</td></tr>
+  </table>
+</dl>
+Set the size and the refresh rate of the screen associated to <code>root</code>.<p>
+Note that that function is blocking. 
+</div>
+</div><p>
+<a class="anchor" name="g3d4a43b64cd09b6b0423d72fbd56ce46"></a><!-- doxytag: member="ecore_xcb_randr.c::ecore_x_randr_screen_refresh_rates_get" ref="g3d4a43b64cd09b6b0423d72fbd56ce46" args="(Ecore_X_Window root __UNUSED__, int size_id __UNUSED__, int *num)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Ecore_X_Screen_Refresh_Rate* ecore_x_randr_screen_refresh_rates_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window root&nbsp;</td>
+          <td class="paramname"> <em>__UNUSED__</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int size_id&nbsp;</td>
+          <td class="paramname"> <em>__UNUSED__</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>num</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Get the refresh rates. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>root</em>&nbsp;</td><td>The window (Unused). </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>num</em>&nbsp;</td><td>The number of refresh rates. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The refresh rates.</dd></dl>
+Get the list of refresh rates for each size supported by the screen associated to <code>window</code> (passed to <a class="el" href="group__Ecore__X__RandR__Group.html#gad888ac7ba23c09f8461b68746b3ed42">ecore_x_randr_get_screen_info_prefetch()</a>). Each element of 'sizes' has a corresponding element in 'refresh'. An empty list indicates no known rates, or a device for which refresh is not relevant.<p>
+To use this function, you must call before, and in order, <a class="el" href="group__Ecore__X__RandR__Group.html#gad888ac7ba23c09f8461b68746b3ed42">ecore_x_randr_get_screen_info_prefetch()</a>, which sends the GetScreenInfo request, then <a class="el" href="group__Ecore__X__RandR__Group.html#g6bacf7dd7ae77772aaad7ca4190928ce">ecore_x_randr_get_screen_info_fetch()</a>, which gets the reply. 
+</div>
+</div><p>
+<a class="anchor" name="ga3a68841eaebe2e6c824cfb1f216b04e"></a><!-- doxytag: member="ecore_xcb_randr.c::ecore_x_randr_screen_rotation_get" ref="ga3a68841eaebe2e6c824cfb1f216b04e" args="(Ecore_X_Window root __UNUSED__)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Ecore_X_Randr_Rotation ecore_x_randr_screen_rotation_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window root&nbsp;</td>
+          <td class="paramname"> <em>__UNUSED__</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Get the rotation. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>root</em>&nbsp;</td><td>The window (Unused). </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The rotation.</dd></dl>
+Get the rotation supported by the screen associated to <code>window</code> (passed to <a class="el" href="group__Ecore__X__RandR__Group.html#gad888ac7ba23c09f8461b68746b3ed42">ecore_x_randr_get_screen_info_prefetch()</a>).<p>
+To use this function, you must call before, and in order, <a class="el" href="group__Ecore__X__RandR__Group.html#gad888ac7ba23c09f8461b68746b3ed42">ecore_x_randr_get_screen_info_prefetch()</a>, which sends the GetScreenInfo request, then <a class="el" href="group__Ecore__X__RandR__Group.html#g6bacf7dd7ae77772aaad7ca4190928ce">ecore_x_randr_get_screen_info_fetch()</a>, which gets the reply. 
+</div>
+</div><p>
+<a class="anchor" name="gd4368d091b23cb7aa6f165003345ee02"></a><!-- doxytag: member="ecore_xcb_randr.c::ecore_x_randr_screen_rotation_set" ref="gd4368d091b23cb7aa6f165003345ee02" args="(Ecore_X_Window root, Ecore_X_Randr_Rotation rot)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_randr_screen_rotation_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>root</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Randr_Rotation&nbsp;</td>
+          <td class="paramname"> <em>rot</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set the screen rotation. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>root</em>&nbsp;</td><td>The root window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>rot</em>&nbsp;</td><td>The rotation.</td></tr>
+  </table>
+</dl>
+Set the rotation of the screen associated to <code>root</code>.<p>
+Note that that function is blocking. 
+</div>
+</div><p>
+<a class="anchor" name="g1eb8fa1940edec151d10accb9a0d949b"></a><!-- doxytag: member="ecore_xcb_randr.c::ecore_x_randr_screen_rotations_get" ref="g1eb8fa1940edec151d10accb9a0d949b" args="(Ecore_X_Window root __UNUSED__)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Ecore_X_Randr_Rotation ecore_x_randr_screen_rotations_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window root&nbsp;</td>
+          <td class="paramname"> <em>__UNUSED__</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Get the set of rotations and reflections. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>root</em>&nbsp;</td><td>The window (Unused). </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The set of rotations and reflections.</dd></dl>
+Get the set of rotations and reflections supported by the screen associated to <code>window</code> (passed to <a class="el" href="group__Ecore__X__RandR__Group.html#gad888ac7ba23c09f8461b68746b3ed42">ecore_x_randr_get_screen_info_prefetch()</a>).<p>
+To use this function, you must call before, and in order, <a class="el" href="group__Ecore__X__RandR__Group.html#gad888ac7ba23c09f8461b68746b3ed42">ecore_x_randr_get_screen_info_prefetch()</a>, which sends the GetScreenInfo request, then <a class="el" href="group__Ecore__X__RandR__Group.html#g6bacf7dd7ae77772aaad7ca4190928ce">ecore_x_randr_get_screen_info_fetch()</a>, which gets the reply. 
+</div>
+</div><p>
+<a class="anchor" name="g19e6ebee44b2f6783bab826239de5529"></a><!-- doxytag: member="ecore_xcb_randr.c::ecore_x_randr_screen_size_set" ref="g19e6ebee44b2f6783bab826239de5529" args="(Ecore_X_Window root, Ecore_X_Screen_Size size)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_x_randr_screen_size_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>root</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Screen_Size&nbsp;</td>
+          <td class="paramname"> <em>size</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set the screen size. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>root</em>&nbsp;</td><td>The root window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>size</em>&nbsp;</td><td>The size.</td></tr>
+  </table>
+</dl>
+Set the size of the screen associated to <code>root</code>.<p>
+Note that that function is blocking. 
+</div>
+</div><p>
+<a class="anchor" name="gba0bcb46adcba878b3f86920fe97ac48"></a><!-- doxytag: member="ecore_xcb_randr.c::ecore_x_randr_screen_sizes_get" ref="gba0bcb46adcba878b3f86920fe97ac48" args="(Ecore_X_Window root __UNUSED__, int *num)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Ecore_X_Screen_Size* ecore_x_randr_screen_sizes_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window root&nbsp;</td>
+          <td class="paramname"> <em>__UNUSED__</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>num</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Get the frame buffer sizes. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>root</em>&nbsp;</td><td>The window (Unused). </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>num</em>&nbsp;</td><td>The number of sizes. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The sizes.</dd></dl>
+Get the list of possible frame buffer sizes (at the normal orientation supported by the screen associated to <code>window</code> (passed to <a class="el" href="group__Ecore__X__RandR__Group.html#gad888ac7ba23c09f8461b68746b3ed42">ecore_x_randr_get_screen_info_prefetch()</a>). Each size indicates both the linear physical size of the screen and the pixel size.<p>
+To use this function, you must call before, and in order, <a class="el" href="group__Ecore__X__RandR__Group.html#gad888ac7ba23c09f8461b68746b3ed42">ecore_x_randr_get_screen_info_prefetch()</a>, which sends the GetScreenInfo request, then <a class="el" href="group__Ecore__X__RandR__Group.html#g6bacf7dd7ae77772aaad7ca4190928ce">ecore_x_randr_get_screen_info_fetch()</a>, which gets the reply. 
+</div>
+</div><p>
+</body>
+</html>
diff --git a/doc/html/group__Ecore__X__ScrenSaver__Group.html b/doc/html/group__Ecore__X__ScrenSaver__Group.html
new file mode 100644
index 0000000..d772a88
--- /dev/null
+++ b/doc/html/group__Ecore__X__ScrenSaver__Group.html
@@ -0,0 +1,425 @@
+<html>
+
+<head>
+
+<title>Ecore: X Shape extension</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1>X Shape extension</h1>These functions use the shape extension of the X server to change shape of given windows.  
+<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__ScrenSaver__Group.html#gd220f9551715b550a20616858941d3eb">ecore_x_screensaver_event_available_get</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return whether the X server supports the ScrenSaver Extension.  <a href="#gd220f9551715b550a20616858941d3eb"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g2f8377d2641c0c99b52ed5a6958b9c6e"></a><!-- doxytag: member="Ecore_X_ScrenSaver_Group::ecore_x_screensaver_idle_time_prefetch" ref="g2f8377d2641c0c99b52ed5a6958b9c6e" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__ScrenSaver__Group.html#g2f8377d2641c0c99b52ed5a6958b9c6e">ecore_x_screensaver_idle_time_prefetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the QueryInfo request. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gf571ec8eaf93e1f50ce654cb10b1dbd2"></a><!-- doxytag: member="Ecore_X_ScrenSaver_Group::ecore_x_screensaver_idle_time_fetch" ref="gf571ec8eaf93e1f50ce654cb10b1dbd2" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__ScrenSaver__Group.html#gf571ec8eaf93e1f50ce654cb10b1dbd2">ecore_x_screensaver_idle_time_fetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the reply of the QueryInfo request sent by <a class="el" href="group__Ecore__X__ScrenSaver__Group.html#gc298f2d96e62f51a4a762356e05fb11f">ecore_x_get_screensaver_prefetch()</a>. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__ScrenSaver__Group.html#g53aac0b1f7d8d2faed6c70e39346135e">ecore_x_screensaver_idle_time_get</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the number of seconds since the last input was received.  <a href="#g53aac0b1f7d8d2faed6c70e39346135e"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__ScrenSaver__Group.html#g26516d0fd54b856fc6cf195a64c2fdf8">ecore_x_screensaver_set</a> (int timeout, int interval, int blank, int expose)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the parameters of the screen saver.  <a href="#g26516d0fd54b856fc6cf195a64c2fdf8"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gc298f2d96e62f51a4a762356e05fb11f"></a><!-- doxytag: member="Ecore_X_ScrenSaver_Group::ecore_x_get_screensaver_prefetch" ref="gc298f2d96e62f51a4a762356e05fb11f" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__ScrenSaver__Group.html#gc298f2d96e62f51a4a762356e05fb11f">ecore_x_get_screensaver_prefetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the GetScreenSaver request. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g247c7abda70efae971c0dab8c45b92f1"></a><!-- doxytag: member="Ecore_X_ScrenSaver_Group::ecore_x_get_screensaver_fetch" ref="g247c7abda70efae971c0dab8c45b92f1" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__ScrenSaver__Group.html#g247c7abda70efae971c0dab8c45b92f1">ecore_x_get_screensaver_fetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the reply of the GetScreenSaver request sent by <a class="el" href="group__Ecore__X__ScrenSaver__Group.html#gc298f2d96e62f51a4a762356e05fb11f">ecore_x_get_screensaver_prefetch()</a>. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__ScrenSaver__Group.html#g85c0f1a7fef1be2706be2ee97f9868be">ecore_x_screensaver_timeout_set</a> (double timeout)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the timeout of the screen saver.  <a href="#g85c0f1a7fef1be2706be2ee97f9868be"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__ScrenSaver__Group.html#ge423133e98e9e88c698f1efd04a2bc3e">ecore_x_screensaver_timeout_get</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the timeout of the screen saver.  <a href="#ge423133e98e9e88c698f1efd04a2bc3e"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__ScrenSaver__Group.html#ga6694e556123a7f3da482467dbdf7599">ecore_x_screensaver_interval_set</a> (double interval)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the interval of the screen saver.  <a href="#ga6694e556123a7f3da482467dbdf7599"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__ScrenSaver__Group.html#g171f13bf7c875af83589c0449deb3408">ecore_x_screensaver_interval_get</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the interval of the screen saver.  <a href="#g171f13bf7c875af83589c0449deb3408"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__ScrenSaver__Group.html#gc573fddc225070334883d002729c218f">ecore_x_screensaver_blank_set</a> (double blank)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the screen blanking.  <a href="#gc573fddc225070334883d002729c218f"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__ScrenSaver__Group.html#g7cb707960e49130bd5c5940c69b0ad76">ecore_x_screensaver_blank_get</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the screen blanking.  <a href="#g7cb707960e49130bd5c5940c69b0ad76"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__ScrenSaver__Group.html#g96e1872d15f7098dee168b43303dc52c">ecore_x_screensaver_expose_set</a> (double expose)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the screen save control values.  <a href="#g96e1872d15f7098dee168b43303dc52c"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__ScrenSaver__Group.html#gb9dd23c31d29f0dc818845f4b9ad21fd">ecore_x_screensaver_expose_get</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the screen save control values.  <a href="#gb9dd23c31d29f0dc818845f4b9ad21fd"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__ScrenSaver__Group.html#ga567c33796d05f2b6a8dd3aae6af14fd">ecore_x_screensaver_event_listen_set</a> (int on)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Specifies if the Screen Saver NotifyMask event should be generated.  <a href="#ga567c33796d05f2b6a8dd3aae6af14fd"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+These functions use the shape extension of the X server to change shape of given windows. 
+<p>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="g7cb707960e49130bd5c5940c69b0ad76"></a><!-- doxytag: member="ecore_xcb_screensaver.c::ecore_x_screensaver_blank_get" ref="g7cb707960e49130bd5c5940c69b0ad76" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI double ecore_x_screensaver_blank_get           </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Get the screen blanking. 
+<p>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The blanking.</dd></dl>
+Get the screen blanking.<p>
+To use this function, you must call before, and in order, <a class="el" href="group__Ecore__X__ScrenSaver__Group.html#gc298f2d96e62f51a4a762356e05fb11f">ecore_x_get_screensaver_prefetch()</a>, which sends the GetScreenSaver request, then <a class="el" href="group__Ecore__X__ScrenSaver__Group.html#g247c7abda70efae971c0dab8c45b92f1">ecore_x_get_screensaver_fetch()</a>, which gets the reply. 
+</div>
+</div><p>
+<a class="anchor" name="gc573fddc225070334883d002729c218f"></a><!-- doxytag: member="ecore_xcb_screensaver.c::ecore_x_screensaver_blank_set" ref="gc573fddc225070334883d002729c218f" args="(double blank)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_screensaver_blank_set           </td>
+          <td>(</td>
+          <td class="paramtype">double&nbsp;</td>
+          <td class="paramname"> <em>blank</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set the screen blanking. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>blank</em>&nbsp;</td><td>The blank to set.</td></tr>
+  </table>
+</dl>
+<code>blank</code> specifies how to enable screen blanking.<p>
+To use this function, you must call before, and in order, <a class="el" href="group__Ecore__X__ScrenSaver__Group.html#gc298f2d96e62f51a4a762356e05fb11f">ecore_x_get_screensaver_prefetch()</a>, which sends the GetScreenSaver request, then <a class="el" href="group__Ecore__X__ScrenSaver__Group.html#g247c7abda70efae971c0dab8c45b92f1">ecore_x_get_screensaver_fetch()</a>, which gets the reply. 
+</div>
+</div><p>
+<a class="anchor" name="gd220f9551715b550a20616858941d3eb"></a><!-- doxytag: member="ecore_xcb_screensaver.c::ecore_x_screensaver_event_available_get" ref="gd220f9551715b550a20616858941d3eb" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_x_screensaver_event_available_get           </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Return whether the X server supports the ScrenSaver Extension. 
+<p>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 if the X ScrenSaver Extension is available, 0 otherwise.</dd></dl>
+Return 1 if the X server supports the ScrenSaver Extension version 1.0, 0 otherwise. 
+</div>
+</div><p>
+<a class="anchor" name="ga567c33796d05f2b6a8dd3aae6af14fd"></a><!-- doxytag: member="ecore_xcb_screensaver.c::ecore_x_screensaver_event_listen_set" ref="ga567c33796d05f2b6a8dd3aae6af14fd" args="(int on)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_screensaver_event_listen_set           </td>
+          <td>(</td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>on</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Specifies if the Screen Saver NotifyMask event should be generated. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>on</em>&nbsp;</td><td>0 to disable the generation of the event, otherwise enable it.</td></tr>
+  </table>
+</dl>
+Specifies if the Screen Saver NotifyMask event on the screen associated with drawable should be generated for this client. If <code>on</code> is set to <code>0</code>, the generation is disabled, otherwise, it is enabled. 
+</div>
+</div><p>
+<a class="anchor" name="gb9dd23c31d29f0dc818845f4b9ad21fd"></a><!-- doxytag: member="ecore_xcb_screensaver.c::ecore_x_screensaver_expose_get" ref="gb9dd23c31d29f0dc818845f4b9ad21fd" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI double ecore_x_screensaver_expose_get           </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Get the screen save control values. 
+<p>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The expose.</dd></dl>
+Get the screen save control values.<p>
+To use this function, you must call before, and in order, <a class="el" href="group__Ecore__X__ScrenSaver__Group.html#gc298f2d96e62f51a4a762356e05fb11f">ecore_x_get_screensaver_prefetch()</a>, which sends the GetScreenSaver request, then <a class="el" href="group__Ecore__X__ScrenSaver__Group.html#g247c7abda70efae971c0dab8c45b92f1">ecore_x_get_screensaver_fetch()</a>, which gets the reply. 
+</div>
+</div><p>
+<a class="anchor" name="g96e1872d15f7098dee168b43303dc52c"></a><!-- doxytag: member="ecore_xcb_screensaver.c::ecore_x_screensaver_expose_set" ref="g96e1872d15f7098dee168b43303dc52c" args="(double expose)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_screensaver_expose_set           </td>
+          <td>(</td>
+          <td class="paramtype">double&nbsp;</td>
+          <td class="paramname"> <em>expose</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set the screen save control values. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>expose</em>&nbsp;</td><td>The expose to set.</td></tr>
+  </table>
+</dl>
+Set the screen save control values.<p>
+To use this function, you must call before, and in order, <a class="el" href="group__Ecore__X__ScrenSaver__Group.html#gc298f2d96e62f51a4a762356e05fb11f">ecore_x_get_screensaver_prefetch()</a>, which sends the GetScreenSaver request, then <a class="el" href="group__Ecore__X__ScrenSaver__Group.html#g247c7abda70efae971c0dab8c45b92f1">ecore_x_get_screensaver_fetch()</a>, which gets the reply. 
+</div>
+</div><p>
+<a class="anchor" name="g53aac0b1f7d8d2faed6c70e39346135e"></a><!-- doxytag: member="ecore_xcb_screensaver.c::ecore_x_screensaver_idle_time_get" ref="g53aac0b1f7d8d2faed6c70e39346135e" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_x_screensaver_idle_time_get           </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Get the number of seconds since the last input was received. 
+<p>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The number of seconds.</dd></dl>
+Get the number of milliseconds since the last input was received from the user on any of the input devices.<p>
+To use this function, you must call before, and in order, <a class="el" href="group__Ecore__X__ScrenSaver__Group.html#gc298f2d96e62f51a4a762356e05fb11f">ecore_x_get_screensaver_prefetch()</a>, which sends the GetScreenSaver request, then <a class="el" href="group__Ecore__X__ScrenSaver__Group.html#g247c7abda70efae971c0dab8c45b92f1">ecore_x_get_screensaver_fetch()</a>, which gets the reply. 
+</div>
+</div><p>
+<a class="anchor" name="g171f13bf7c875af83589c0449deb3408"></a><!-- doxytag: member="ecore_xcb_screensaver.c::ecore_x_screensaver_interval_get" ref="g171f13bf7c875af83589c0449deb3408" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI double ecore_x_screensaver_interval_get           </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Get the interval of the screen saver. 
+<p>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The interval.</dd></dl>
+Get the <code>interval</code>, in seconds, between screen saver alterations.<p>
+To use this function, you must call before, and in order, <a class="el" href="group__Ecore__X__ScrenSaver__Group.html#gc298f2d96e62f51a4a762356e05fb11f">ecore_x_get_screensaver_prefetch()</a>, which sends the GetScreenSaver request, then <a class="el" href="group__Ecore__X__ScrenSaver__Group.html#g247c7abda70efae971c0dab8c45b92f1">ecore_x_get_screensaver_fetch()</a>, which gets the reply. 
+</div>
+</div><p>
+<a class="anchor" name="ga6694e556123a7f3da482467dbdf7599"></a><!-- doxytag: member="ecore_xcb_screensaver.c::ecore_x_screensaver_interval_set" ref="ga6694e556123a7f3da482467dbdf7599" args="(double interval)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_screensaver_interval_set           </td>
+          <td>(</td>
+          <td class="paramtype">double&nbsp;</td>
+          <td class="paramname"> <em>interval</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set the interval of the screen saver. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>interval</em>&nbsp;</td><td>The interval to set.</td></tr>
+  </table>
+</dl>
+Set the <code>interval</code>, in seconds, between screen saver alterations.<p>
+To use this function, you must call before, and in order, <a class="el" href="group__Ecore__X__ScrenSaver__Group.html#gc298f2d96e62f51a4a762356e05fb11f">ecore_x_get_screensaver_prefetch()</a>, which sends the GetScreenSaver request, then <a class="el" href="group__Ecore__X__ScrenSaver__Group.html#g247c7abda70efae971c0dab8c45b92f1">ecore_x_get_screensaver_fetch()</a>, which gets the reply. 
+</div>
+</div><p>
+<a class="anchor" name="g26516d0fd54b856fc6cf195a64c2fdf8"></a><!-- doxytag: member="ecore_xcb_screensaver.c::ecore_x_screensaver_set" ref="g26516d0fd54b856fc6cf195a64c2fdf8" args="(int timeout, int interval, int blank, int expose)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_screensaver_set           </td>
+          <td>(</td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>timeout</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>interval</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>blank</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>expose</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set the parameters of the screen saver. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>timeout</em>&nbsp;</td><td>The timeout, in second. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>interval</em>&nbsp;</td><td>The interval, in seconds. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>blank</em>&nbsp;</td><td>0 to disable screen blanking, otherwise enable it. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>expose</em>&nbsp;</td><td>Allow Expose generation event or not.</td></tr>
+  </table>
+</dl>
+Set the parameters of the screen saver. <code>timeout</code> is the timeout, in seconds, until the screen saver turns on. <code>interval</code> is the interval, in seconds, between screen saver alterations. <code>blank</code> specifies how to enable screen blanking. <code>expose</code> specifies the screen save control values. 
+</div>
+</div><p>
+<a class="anchor" name="ge423133e98e9e88c698f1efd04a2bc3e"></a><!-- doxytag: member="ecore_xcb_screensaver.c::ecore_x_screensaver_timeout_get" ref="ge423133e98e9e88c698f1efd04a2bc3e" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI double ecore_x_screensaver_timeout_get           </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Get the timeout of the screen saver. 
+<p>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The timeout.</dd></dl>
+Get the <code>timeout</code>, in seconds, until the screen saver turns on.<p>
+To use this function, you must call before, and in order, <a class="el" href="group__Ecore__X__ScrenSaver__Group.html#gc298f2d96e62f51a4a762356e05fb11f">ecore_x_get_screensaver_prefetch()</a>, which sends the GetScreenSaver request, then <a class="el" href="group__Ecore__X__ScrenSaver__Group.html#g247c7abda70efae971c0dab8c45b92f1">ecore_x_get_screensaver_fetch()</a>, which gets the reply. 
+</div>
+</div><p>
+<a class="anchor" name="g85c0f1a7fef1be2706be2ee97f9868be"></a><!-- doxytag: member="ecore_xcb_screensaver.c::ecore_x_screensaver_timeout_set" ref="g85c0f1a7fef1be2706be2ee97f9868be" args="(double timeout)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_screensaver_timeout_set           </td>
+          <td>(</td>
+          <td class="paramtype">double&nbsp;</td>
+          <td class="paramname"> <em>timeout</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set the timeout of the screen saver. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>timeout</em>&nbsp;</td><td>The timeout to set.</td></tr>
+  </table>
+</dl>
+Set the <code>timeout</code>, in seconds, until the screen saver turns on.<p>
+To use this function, you must call before, and in order, <a class="el" href="group__Ecore__X__ScrenSaver__Group.html#gc298f2d96e62f51a4a762356e05fb11f">ecore_x_get_screensaver_prefetch()</a>, which sends the GetScreenSaver request, then <a class="el" href="group__Ecore__X__ScrenSaver__Group.html#g247c7abda70efae971c0dab8c45b92f1">ecore_x_get_screensaver_fetch()</a>, which gets the reply. 
+</div>
+</div><p>
+</body>
+</html>
diff --git a/doc/html/group__Ecore__X__Shape__Group.html b/doc/html/group__Ecore__X__Shape__Group.html
new file mode 100644
index 0000000..eeeb549
--- /dev/null
+++ b/doc/html/group__Ecore__X__Shape__Group.html
@@ -0,0 +1,216 @@
+<html>
+
+<head>
+
+<title>Ecore: X Shape extension</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1>X Shape extension</h1>Functions that use the shape extension of the X server to change shape of given windows.  
+<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Shape__Group.html#gea95067057a3486da393698b636317d9">ecore_x_window_shape_mask_set</a> (Ecore_X_Window dest_win, Ecore_X_Pixmap source_mask)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the shape of the given window to that given by the pixmap <code>mask</code>.  <a href="#gea95067057a3486da393698b636317d9"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Shape__Group.html#gbb308c760ce2764ad4c8baa513203fc1">ecore_x_window_shape_rectangle_set</a> (Ecore_X_Window dest_win, int x, int y, int width, int height)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the shape of the given window to a rectangle.  <a href="#gbb308c760ce2764ad4c8baa513203fc1"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Shape__Group.html#g74946b8f12f5159e4a682512933a3d18">ecore_x_window_shape_rectangles_get_prefetch</a> (Ecore_X_Window window)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the ShapeGetRectangles request.  <a href="#g74946b8f12f5159e4a682512933a3d18"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gb9cf8440f79e4242eb07e65227117404"></a><!-- doxytag: member="Ecore_X_Shape_Group::ecore_x_window_shape_rectangles_get_fetch" ref="gb9cf8440f79e4242eb07e65227117404" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Shape__Group.html#gb9cf8440f79e4242eb07e65227117404">ecore_x_window_shape_rectangles_get_fetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the reply of the ShapeGetRectangles request sent by <a class="el" href="group__Ecore__X__Shape__Group.html#g74946b8f12f5159e4a682512933a3d18">ecore_x_window_shape_rectangles_get_prefetch()</a>. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_X_Rectangle *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Shape__Group.html#g3c8761f16e5732d395797bc02d289052">ecore_x_window_shape_rectangles_get</a> (Ecore_X_Window window __UNUSED__, int *num_ret)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To document.  <a href="#g3c8761f16e5732d395797bc02d289052"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Functions that use the shape extension of the X server to change shape of given windows. 
+<p>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="gea95067057a3486da393698b636317d9"></a><!-- doxytag: member="ecore_xcb_shape.c::ecore_x_window_shape_mask_set" ref="gea95067057a3486da393698b636317d9" args="(Ecore_X_Window dest_win, Ecore_X_Pixmap source_mask)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_window_shape_mask_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>dest_win</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Pixmap&nbsp;</td>
+          <td class="paramname"> <em>source_mask</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sets the shape of the given window to that given by the pixmap <code>mask</code>. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>dest_win</em>&nbsp;</td><td>The given window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>source_mask</em>&nbsp;</td><td>A 2-bit depth pixmap that provides the new shape of the window.</td></tr>
+  </table>
+</dl>
+Sets the shape of the window <code>dest_win</code> to the pixmap <code>source_mask</code>. 
+</div>
+</div><p>
+<a class="anchor" name="gbb308c760ce2764ad4c8baa513203fc1"></a><!-- doxytag: member="ecore_xcb_shape.c::ecore_x_window_shape_rectangle_set" ref="gbb308c760ce2764ad4c8baa513203fc1" args="(Ecore_X_Window dest_win, int x, int y, int width, int height)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_window_shape_rectangle_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>dest_win</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>width</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>height</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sets the shape of the given window to a rectangle. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>dest_win</em>&nbsp;</td><td>The given window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>The X coordinate of the top left corner of the rectangle. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</td><td>The Y coordinate of the top left corner of the rectangle. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>width</em>&nbsp;</td><td>The width of the rectangle. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>height</em>&nbsp;</td><td>The height of the rectangle.</td></tr>
+  </table>
+</dl>
+Sets the shape of the window <code>dest_win</code> to a rectangle defined by <code>x</code>, <code>y</code>, <code>width</code> and <code>height</code>. 
+</div>
+</div><p>
+<a class="anchor" name="g3c8761f16e5732d395797bc02d289052"></a><!-- doxytag: member="ecore_xcb_shape.c::ecore_x_window_shape_rectangles_get" ref="g3c8761f16e5732d395797bc02d289052" args="(Ecore_X_Window window __UNUSED__, int *num_ret)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Ecore_X_Rectangle* ecore_x_window_shape_rectangles_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window window&nbsp;</td>
+          <td class="paramname"> <em>__UNUSED__</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>num_ret</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+To document. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>Unused. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>num_ret</em>&nbsp;</td><td>To document. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>To document.</dd></dl>
+To use this function, you must call before, and in order, <a class="el" href="group__Ecore__X__Shape__Group.html#g74946b8f12f5159e4a682512933a3d18">ecore_x_window_shape_rectangles_get_prefetch()</a>, which sends the ShapeGetRectangles request, then <a class="el" href="group__Ecore__X__Shape__Group.html#gb9cf8440f79e4242eb07e65227117404">ecore_x_window_shape_rectangles_get_fetch()</a>, which gets the reply. 
+</div>
+</div><p>
+<a class="anchor" name="g74946b8f12f5159e4a682512933a3d18"></a><!-- doxytag: member="ecore_xcb_shape.c::ecore_x_window_shape_rectangles_get_prefetch" ref="g74946b8f12f5159e4a682512933a3d18" args="(Ecore_X_Window window)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_window_shape_rectangles_get_prefetch           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sends the ShapeGetRectangles request. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>Requested window. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+</body>
+</html>
diff --git a/doc/html/group__Ecore__X__Sync__Group.html b/doc/html/group__Ecore__X__Sync__Group.html
new file mode 100644
index 0000000..521ad12
--- /dev/null
+++ b/doc/html/group__Ecore__X__Sync__Group.html
@@ -0,0 +1,128 @@
+<html>
+
+<head>
+
+<title>Ecore: X Sync Extension Functions</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1>X Sync Extension Functions</h1>Functions related to the X Sync extension.  
+<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Sync__Group.html#g2512adda40a8a37a2afdb17cad48254a">ecore_x_sync_query</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return whether the X server supports the Sync Extension.  <a href="#g2512adda40a8a37a2afdb17cad48254a"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_X_Sync_Alarm&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Sync__Group.html#g4297e9415311e99d2d57119792340831">ecore_x_sync_alarm_new</a> (Ecore_X_Sync_Counter counter)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a new alarm.  <a href="#g4297e9415311e99d2d57119792340831"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Sync__Group.html#gf6c393e632c451bb1dfa9e478b545993">ecore_x_sync_alarm_free</a> (Ecore_X_Sync_Alarm alarm)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Delete an alarm.  <a href="#gf6c393e632c451bb1dfa9e478b545993"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Functions related to the X Sync extension. 
+<p>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="gf6c393e632c451bb1dfa9e478b545993"></a><!-- doxytag: member="ecore_xcb_sync.c::ecore_x_sync_alarm_free" ref="gf6c393e632c451bb1dfa9e478b545993" args="(Ecore_X_Sync_Alarm alarm)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_x_sync_alarm_free           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Sync_Alarm&nbsp;</td>
+          <td class="paramname"> <em>alarm</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Delete an alarm. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>alarm</em>&nbsp;</td><td>The alarm to delete. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 on success, 0 otherwise.</dd></dl>
+Delete the <code>alarm</code>. Returns 1 on success, 0 otherwise. 
+</div>
+</div><p>
+<a class="anchor" name="g4297e9415311e99d2d57119792340831"></a><!-- doxytag: member="ecore_xcb_sync.c::ecore_x_sync_alarm_new" ref="g4297e9415311e99d2d57119792340831" args="(Ecore_X_Sync_Counter counter)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Ecore_X_Sync_Alarm ecore_x_sync_alarm_new           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Sync_Counter&nbsp;</td>
+          <td class="paramname"> <em>counter</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Create a new alarm. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>counter</em>&nbsp;</td><td>A counter. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>A newly created alarm.</dd></dl>
+Create a new alarm. 
+</div>
+</div><p>
+<a class="anchor" name="g2512adda40a8a37a2afdb17cad48254a"></a><!-- doxytag: member="ecore_xcb_sync.c::ecore_x_sync_query" ref="g2512adda40a8a37a2afdb17cad48254a" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_x_sync_query           </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Return whether the X server supports the Sync Extension. 
+<p>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 if the X Sync Extension is available, 0 otherwise.</dd></dl>
+Return 1 if the X server supports the Sync Extension version 3.0, 0 otherwise. 
+</div>
+</div><p>
+</body>
+</html>
diff --git a/doc/html/group__Ecore__X__Window__Change__Attributes__Group.html b/doc/html/group__Ecore__X__Window__Change__Attributes__Group.html
new file mode 100644
index 0000000..cf05e13
--- /dev/null
+++ b/doc/html/group__Ecore__X__Window__Change__Attributes__Group.html
@@ -0,0 +1,454 @@
+<html>
+
+<head>
+
+<title>Ecore: X Window Change Attributes Functions</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1>X Window Change Attributes Functions</h1>Functions that change the attributes of a window.  
+<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Change__Attributes__Group.html#g5f507d1c02daa5b964dfa433cad1091f">ecore_x_window_pixmap_set</a> (Ecore_X_Window window, Ecore_X_Pixmap pixmap)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the background pixmap of the given window.  <a href="#g5f507d1c02daa5b964dfa433cad1091f"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Change__Attributes__Group.html#ge48a95e4025b151a56574d00339e7b59">ecore_x_window_background_color_set</a> (Ecore_X_Window window, unsigned short red, unsigned short green, unsigned short blue)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the background color of the given window.  <a href="#ge48a95e4025b151a56574d00339e7b59"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Change__Attributes__Group.html#gbaa528f9e018cf0424f88c4ef3ccda4a">ecore_x_window_pixel_gravity_set</a> (Ecore_X_Window window, Ecore_X_Gravity gravity)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the bit gravity of the given window.  <a href="#gbaa528f9e018cf0424f88c4ef3ccda4a"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Change__Attributes__Group.html#gc276991a3bf84c7454dd850524202917">ecore_x_window_gravity_set</a> (Ecore_X_Window window, Ecore_X_Gravity gravity)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the gravity of the given window.  <a href="#gc276991a3bf84c7454dd850524202917"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Change__Attributes__Group.html#g41fe2703d159f924661fd4c7004d3153">ecore_x_window_override_set</a> (Ecore_X_Window window, int override_redirect)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the override attribute of the given window.  <a href="#g41fe2703d159f924661fd4c7004d3153"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Change__Attributes__Group.html#gfb4d1c1ec8842f10e26ebc38a04e306a">ecore_x_window_cursor_show</a> (Ecore_X_Window window, int show)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#gfb4d1c1ec8842f10e26ebc38a04e306a"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Change__Attributes__Group.html#gfde2213805afdbabda8657f98490218e">ecore_x_window_cursor_set</a> (Ecore_X_Window window, Ecore_X_Cursor cursor)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the cursor of the given window.  <a href="#gfde2213805afdbabda8657f98490218e"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Change__Attributes__Group.html#g2e636d8d0e55a4ae4ef06738a2f1beab">ecore_x_window_container_manage</a> (Ecore_X_Window window)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Todo.  <a href="#g2e636d8d0e55a4ae4ef06738a2f1beab"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Change__Attributes__Group.html#gdbfc9e398582f595ffafeb2f58462b6e">ecore_x_window_client_manage</a> (Ecore_X_Window window)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Todo.  <a href="#gdbfc9e398582f595ffafeb2f58462b6e"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Change__Attributes__Group.html#g1530c55771e253f3dcfbfac003e91d04">ecore_x_window_sniff</a> (Ecore_X_Window window)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Todo.  <a href="#g1530c55771e253f3dcfbfac003e91d04"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Change__Attributes__Group.html#g8d1b65f42c5a2e96477cd1c7ff91f7bc">ecore_x_window_client_sniff</a> (Ecore_X_Window window)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Todo.  <a href="#g8d1b65f42c5a2e96477cd1c7ff91f7bc"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Functions that change the attributes of a window. 
+<p>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="ge48a95e4025b151a56574d00339e7b59"></a><!-- doxytag: member="ecore_xcb_window.c::ecore_x_window_background_color_set" ref="ge48a95e4025b151a56574d00339e7b59" args="(Ecore_X_Window window, unsigned short red, unsigned short green, unsigned short blue)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_window_background_color_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">unsigned short&nbsp;</td>
+          <td class="paramname"> <em>red</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">unsigned short&nbsp;</td>
+          <td class="paramname"> <em>green</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">unsigned short&nbsp;</td>
+          <td class="paramname"> <em>blue</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sets the background color of the given window. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The given window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>red</em>&nbsp;</td><td>The red component of the color to set to. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>green</em>&nbsp;</td><td>The green component of the color to set to. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>blue</em>&nbsp;</td><td>The blue component of the color to set to. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="gdbfc9e398582f595ffafeb2f58462b6e"></a><!-- doxytag: member="ecore_xcb_window.c::ecore_x_window_client_manage" ref="gdbfc9e398582f595ffafeb2f58462b6e" args="(Ecore_X_Window window)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_window_client_manage           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Todo. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The given window. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g8d1b65f42c5a2e96477cd1c7ff91f7bc"></a><!-- doxytag: member="ecore_xcb_window.c::ecore_x_window_client_sniff" ref="g8d1b65f42c5a2e96477cd1c7ff91f7bc" args="(Ecore_X_Window window)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_window_client_sniff           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Todo. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The given window. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g2e636d8d0e55a4ae4ef06738a2f1beab"></a><!-- doxytag: member="ecore_xcb_window.c::ecore_x_window_container_manage" ref="g2e636d8d0e55a4ae4ef06738a2f1beab" args="(Ecore_X_Window window)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_window_container_manage           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Todo. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The given window. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="gfde2213805afdbabda8657f98490218e"></a><!-- doxytag: member="ecore_xcb_window.c::ecore_x_window_cursor_set" ref="gfde2213805afdbabda8657f98490218e" args="(Ecore_X_Window window, Ecore_X_Cursor cursor)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_window_cursor_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Cursor&nbsp;</td>
+          <td class="paramname"> <em>cursor</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sets the cursor of the given window. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The given window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>cursor</em>&nbsp;</td><td>The given cursor. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="gfb4d1c1ec8842f10e26ebc38a04e306a"></a><!-- doxytag: member="ecore_xcb_window.c::ecore_x_window_cursor_show" ref="gfb4d1c1ec8842f10e26ebc38a04e306a" args="(Ecore_X_Window window, int show)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_window_cursor_show           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>show</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+To be documented. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The given window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>show</em>&nbsp;</td><td>If set to <code>0</code>, hide the cursor. Show it otherwise. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="gc276991a3bf84c7454dd850524202917"></a><!-- doxytag: member="ecore_xcb_window.c::ecore_x_window_gravity_set" ref="gc276991a3bf84c7454dd850524202917" args="(Ecore_X_Window window, Ecore_X_Gravity gravity)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_window_gravity_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Gravity&nbsp;</td>
+          <td class="paramname"> <em>gravity</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sets the gravity of the given window. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The given window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>gravity</em>&nbsp;</td><td>The gravity. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g41fe2703d159f924661fd4c7004d3153"></a><!-- doxytag: member="ecore_xcb_window.c::ecore_x_window_override_set" ref="g41fe2703d159f924661fd4c7004d3153" args="(Ecore_X_Window window, int override_redirect)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_window_override_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>override_redirect</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sets the override attribute of the given window. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The given window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>override_redirect</em>&nbsp;</td><td>The override_redirect boolean. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="gbaa528f9e018cf0424f88c4ef3ccda4a"></a><!-- doxytag: member="ecore_xcb_window.c::ecore_x_window_pixel_gravity_set" ref="gbaa528f9e018cf0424f88c4ef3ccda4a" args="(Ecore_X_Window window, Ecore_X_Gravity gravity)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_window_pixel_gravity_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Gravity&nbsp;</td>
+          <td class="paramname"> <em>gravity</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sets the bit gravity of the given window. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The given window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>gravity</em>&nbsp;</td><td>The gravity. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g5f507d1c02daa5b964dfa433cad1091f"></a><!-- doxytag: member="ecore_xcb_window.c::ecore_x_window_pixmap_set" ref="g5f507d1c02daa5b964dfa433cad1091f" args="(Ecore_X_Window window, Ecore_X_Pixmap pixmap)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_window_pixmap_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Pixmap&nbsp;</td>
+          <td class="paramname"> <em>pixmap</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sets the background pixmap of the given window. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The given window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>pixmap</em>&nbsp;</td><td>The pixmap to set to. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g1530c55771e253f3dcfbfac003e91d04"></a><!-- doxytag: member="ecore_xcb_window.c::ecore_x_window_sniff" ref="g1530c55771e253f3dcfbfac003e91d04" args="(Ecore_X_Window window)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_window_sniff           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Todo. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The given window. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+</body>
+</html>
diff --git a/doc/html/group__Ecore__X__Window__Configure__Group.html b/doc/html/group__Ecore__X__Window__Configure__Group.html
new file mode 100644
index 0000000..7ed77a0
--- /dev/null
+++ b/doc/html/group__Ecore__X__Window__Configure__Group.html
@@ -0,0 +1,385 @@
+<html>
+
+<head>
+
+<title>Ecore: X Window Configure Functions</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1>X Window Configure Functions</h1>Functions to configure X windows.  
+<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Configure__Group.html#g99f9caef1455f9f7e3f1d133b0f9342f">ecore_x_window_configure</a> (Ecore_X_Window window, Ecore_X_Window_Configure_Mask mask, int x, int y, int width, int height, int border_width, Ecore_X_Window sibling, int stack_mode)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Configures the given window with the given mask.  <a href="#g99f9caef1455f9f7e3f1d133b0f9342f"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Configure__Group.html#gb34b984e4d1d75fb91a327a4638537d6">ecore_x_window_move</a> (Ecore_X_Window window, int x, int y)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Moves a window to the position <code>x</code>, <code>y</code>.  <a href="#gb34b984e4d1d75fb91a327a4638537d6"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Configure__Group.html#gddf289b0b6cd5fed71573739d3d1d7ba">ecore_x_window_resize</a> (Ecore_X_Window window, int width, int height)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Resizes a window.  <a href="#gddf289b0b6cd5fed71573739d3d1d7ba"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Configure__Group.html#g785faabc62a3a2f79430b50ce270b40b">ecore_x_window_move_resize</a> (Ecore_X_Window window, int x, int y, int width, int height)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Moves and resizes a window.  <a href="#g785faabc62a3a2f79430b50ce270b40b"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Configure__Group.html#gf26b3ada58e026d0fcf89e8f3f4b9827">ecore_x_window_border_width_set</a> (Ecore_X_Window window, int border_width)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the width of the border of the given window.  <a href="#gf26b3ada58e026d0fcf89e8f3f4b9827"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Configure__Group.html#g8c5d03dbbe01f7bd8751a654c81d5bdb">ecore_x_window_raise</a> (Ecore_X_Window window)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Raises the given window.  <a href="#g8c5d03dbbe01f7bd8751a654c81d5bdb"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Configure__Group.html#gbe74b714ccd20014567446f991e2d6e8">ecore_x_window_lower</a> (Ecore_X_Window window)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Lowers the given window.  <a href="#gbe74b714ccd20014567446f991e2d6e8"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Functions to configure X windows. 
+<p>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="gf26b3ada58e026d0fcf89e8f3f4b9827"></a><!-- doxytag: member="ecore_xcb_window.c::ecore_x_window_border_width_set" ref="gf26b3ada58e026d0fcf89e8f3f4b9827" args="(Ecore_X_Window window, int border_width)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_window_border_width_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>border_width</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sets the width of the border of the given window. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The given window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>border_width</em>&nbsp;</td><td>The new border width. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g99f9caef1455f9f7e3f1d133b0f9342f"></a><!-- doxytag: member="ecore_xcb_window.c::ecore_x_window_configure" ref="g99f9caef1455f9f7e3f1d133b0f9342f" args="(Ecore_X_Window window, Ecore_X_Window_Configure_Mask mask, int x, int y, int width, int height, int border_width, Ecore_X_Window sibling, int stack_mode)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_window_configure           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Window_Configure_Mask&nbsp;</td>
+          <td class="paramname"> <em>mask</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>width</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>height</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>border_width</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>sibling</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>stack_mode</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Configures the given window with the given mask. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The given window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>mask</em>&nbsp;</td><td>The given mask. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>The X coordinate of the window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</td><td>The Y coordinate of the window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>width</em>&nbsp;</td><td>The width of the window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>height</em>&nbsp;</td><td>The height of the window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>border_width</em>&nbsp;</td><td>The border width of the window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>sibling</em>&nbsp;</td><td>The sibling window of the window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>stack_mode</em>&nbsp;</td><td>The stack mode of the window. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="gbe74b714ccd20014567446f991e2d6e8"></a><!-- doxytag: member="ecore_xcb_window.c::ecore_x_window_lower" ref="gbe74b714ccd20014567446f991e2d6e8" args="(Ecore_X_Window window)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_window_lower           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Lowers the given window. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window to lower. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="gb34b984e4d1d75fb91a327a4638537d6"></a><!-- doxytag: member="ecore_xcb_window.c::ecore_x_window_move" ref="gb34b984e4d1d75fb91a327a4638537d6" args="(Ecore_X_Window window, int x, int y)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_window_move           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>y</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Moves a window to the position <code>x</code>, <code>y</code>. 
+<p>
+The position is relative to the upper left hand corner of the parent window.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window to move. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>X position. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</td><td>Y position. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g785faabc62a3a2f79430b50ce270b40b"></a><!-- doxytag: member="ecore_xcb_window.c::ecore_x_window_move_resize" ref="g785faabc62a3a2f79430b50ce270b40b" args="(Ecore_X_Window window, int x, int y, int width, int height)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_window_move_resize           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>width</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>height</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Moves and resizes a window. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window to move and resize. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>New X position of the window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</td><td>New Y position of the window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>width</em>&nbsp;</td><td>New width of the window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>height</em>&nbsp;</td><td>New height of the window. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g8c5d03dbbe01f7bd8751a654c81d5bdb"></a><!-- doxytag: member="ecore_xcb_window.c::ecore_x_window_raise" ref="g8c5d03dbbe01f7bd8751a654c81d5bdb" args="(Ecore_X_Window window)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_window_raise           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Raises the given window. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window to raise. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="gddf289b0b6cd5fed71573739d3d1d7ba"></a><!-- doxytag: member="ecore_xcb_window.c::ecore_x_window_resize" ref="gddf289b0b6cd5fed71573739d3d1d7ba" args="(Ecore_X_Window window, int width, int height)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_window_resize           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>width</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>height</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Resizes a window. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window to resize. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>width</em>&nbsp;</td><td>New width of the window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>height</em>&nbsp;</td><td>New height of the window. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+</body>
+</html>
diff --git a/doc/html/group__Ecore__X__Window__Create__Group.html b/doc/html/group__Ecore__X__Window__Create__Group.html
new file mode 100644
index 0000000..67c00de
--- /dev/null
+++ b/doc/html/group__Ecore__X__Window__Create__Group.html
@@ -0,0 +1,412 @@
+<html>
+
+<head>
+
+<title>Ecore: X Window Creation Functions</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1>X Window Creation Functions</h1>Functions that can be used to create an X window.  
+<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_X_Window&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Create__Group.html#g9a56a8e5531b753b0e70d9214d6609e0">ecore_x_window_new</a> (Ecore_X_Window parent, int x, int y, int w, int h)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a new window.  <a href="#g9a56a8e5531b753b0e70d9214d6609e0"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_X_Window&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Create__Group.html#g053877418501298a7b304588ef7c1379">ecore_x_window_override_new</a> (Ecore_X_Window parent, int x, int y, int w, int h)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a window with the override redirect attribute set to <code>True</code>.  <a href="#g053877418501298a7b304588ef7c1379"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_X_Window&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Create__Group.html#g479af5fe79e7f75add0d566f4269fb21">ecore_x_window_input_new</a> (Ecore_X_Window parent, int x, int y, int w, int h)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a new input window.  <a href="#g479af5fe79e7f75add0d566f4269fb21"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_X_Window&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Create__Group.html#g65c727950377bd73882a2515b0c5f33d">ecore_x_window_manager_argb_new</a> (Ecore_X_Window parent, int x, int y, int w, int h)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a new window.  <a href="#g65c727950377bd73882a2515b0c5f33d"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_X_Window&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Create__Group.html#gb12cbb8a6230d8e37fa24562869fc71d">ecore_x_window_argb_new</a> (Ecore_X_Window parent, int x, int y, int w, int h)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a new window.  <a href="#gb12cbb8a6230d8e37fa24562869fc71d"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_X_Window&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Create__Group.html#ga9ef0bf8015e77e20579bcb268debd0d">ecore_x_window_override_argb_new</a> (Ecore_X_Window parent, int x, int y, int w, int h)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a window with the override redirect attribute set to <code>True</code>.  <a href="#ga9ef0bf8015e77e20579bcb268debd0d"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Functions that can be used to create an X window. 
+<p>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="gb12cbb8a6230d8e37fa24562869fc71d"></a><!-- doxytag: member="ecore_x_window.c::ecore_x_window_argb_new" ref="gb12cbb8a6230d8e37fa24562869fc71d" args="(Ecore_X_Window parent, int x, int y, int w, int h)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Ecore_X_Window ecore_x_window_argb_new           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>parent</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>width</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>height</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Creates a new window. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>parent</em>&nbsp;</td><td>The parent window to use. If <code>parent</code> is <code>0</code>, the root window of the default display is used. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>X position. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</td><td>Y position. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>w</em>&nbsp;</td><td>Width. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>h</em>&nbsp;</td><td>Height. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The new window handle. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g479af5fe79e7f75add0d566f4269fb21"></a><!-- doxytag: member="ecore_x_window.c::ecore_x_window_input_new" ref="g479af5fe79e7f75add0d566f4269fb21" args="(Ecore_X_Window parent, int x, int y, int w, int h)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Ecore_X_Window ecore_x_window_input_new           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>parent</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>width</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>height</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Creates a new input window. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>parent</em>&nbsp;</td><td>The parent window to use. If <code>parent</code> is <code>0</code>, the root window of the default display is used. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>X position. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</td><td>Y position. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>w</em>&nbsp;</td><td>Width. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>h</em>&nbsp;</td><td>Height. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The new window. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g65c727950377bd73882a2515b0c5f33d"></a><!-- doxytag: member="ecore_x_window.c::ecore_x_window_manager_argb_new" ref="g65c727950377bd73882a2515b0c5f33d" args="(Ecore_X_Window parent, int x, int y, int w, int h)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Ecore_X_Window ecore_x_window_manager_argb_new           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>parent</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>width</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>height</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Creates a new window. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>parent</em>&nbsp;</td><td>The parent window to use. If <code>parent</code> is <code>0</code>, the root window of the default display is used. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>X position. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</td><td>Y position. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>w</em>&nbsp;</td><td>Width. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>h</em>&nbsp;</td><td>Height. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The new window handle. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g9a56a8e5531b753b0e70d9214d6609e0"></a><!-- doxytag: member="ecore_x_window.c::ecore_x_window_new" ref="g9a56a8e5531b753b0e70d9214d6609e0" args="(Ecore_X_Window parent, int x, int y, int w, int h)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Ecore_X_Window ecore_x_window_new           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>parent</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>width</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>height</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Creates a new window. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>parent</em>&nbsp;</td><td>The parent window to use. If <code>parent</code> is <code>0</code>, the root window of the default display is used. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>X position. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</td><td>Y position. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>w</em>&nbsp;</td><td>Width. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>h</em>&nbsp;</td><td>Height. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The new window handle. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="ga9ef0bf8015e77e20579bcb268debd0d"></a><!-- doxytag: member="ecore_x_window.c::ecore_x_window_override_argb_new" ref="ga9ef0bf8015e77e20579bcb268debd0d" args="(Ecore_X_Window parent, int x, int y, int w, int h)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Ecore_X_Window ecore_x_window_override_argb_new           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>parent</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>width</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>height</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Creates a window with the override redirect attribute set to <code>True</code>. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>parent</em>&nbsp;</td><td>The parent window to use. If <code>parent</code> is <code>0</code>, the root window of the default display is used. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>X position. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</td><td>Y position. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>w</em>&nbsp;</td><td>Width. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>h</em>&nbsp;</td><td>Height. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The new window handle. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g053877418501298a7b304588ef7c1379"></a><!-- doxytag: member="ecore_x_window.c::ecore_x_window_override_new" ref="g053877418501298a7b304588ef7c1379" args="(Ecore_X_Window parent, int x, int y, int w, int h)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Ecore_X_Window ecore_x_window_override_new           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>parent</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>width</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>height</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Creates a window with the override redirect attribute set to <code>True</code>. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>parent</em>&nbsp;</td><td>The parent window to use. If <code>parent</code> is <code>0</code>, the root window of the default display is used. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>X position. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</td><td>Y position. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>w</em>&nbsp;</td><td>Width. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>h</em>&nbsp;</td><td>Height. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The new window handle. </dd></dl>
+
+</div>
+</div><p>
+</body>
+</html>
diff --git a/doc/html/group__Ecore__X__Window__Destroy__Group.html b/doc/html/group__Ecore__X__Window__Destroy__Group.html
new file mode 100644
index 0000000..3737d62
--- /dev/null
+++ b/doc/html/group__Ecore__X__Window__Destroy__Group.html
@@ -0,0 +1,100 @@
+<html>
+
+<head>
+
+<title>Ecore: X Window Destroy Functions</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1>X Window Destroy Functions</h1>Functions to destroy X windows.  
+<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Destroy__Group.html#g6bc0b74c6b1db3a0f4c1ed71999e95ef">ecore_x_window_del</a> (Ecore_X_Window window)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Deletes the given window.  <a href="#g6bc0b74c6b1db3a0f4c1ed71999e95ef"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Destroy__Group.html#gb2c687673e764dc77f3ba93e4b8992af">ecore_x_window_delete_request_send</a> (Ecore_X_Window window)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends a delete request to the given window.  <a href="#gb2c687673e764dc77f3ba93e4b8992af"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Functions to destroy X windows. 
+<p>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="g6bc0b74c6b1db3a0f4c1ed71999e95ef"></a><!-- doxytag: member="ecore_xcb_window.c::ecore_x_window_del" ref="g6bc0b74c6b1db3a0f4c1ed71999e95ef" args="(Ecore_X_Window window)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_window_del           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Deletes the given window. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The given window. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="gb2c687673e764dc77f3ba93e4b8992af"></a><!-- doxytag: member="ecore_xcb_window.c::ecore_x_window_delete_request_send" ref="gb2c687673e764dc77f3ba93e4b8992af" args="(Ecore_X_Window window)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_window_delete_request_send           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sends a delete request to the given window. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The given window. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+</body>
+</html>
diff --git a/doc/html/group__Ecore__X__Window__Focus__Functions.html b/doc/html/group__Ecore__X__Window__Focus__Functions.html
new file mode 100644
index 0000000..79a2050
--- /dev/null
+++ b/doc/html/group__Ecore__X__Window__Focus__Functions.html
@@ -0,0 +1,136 @@
+<html>
+
+<head>
+
+<title>Ecore: X Window Focus Functions</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1>X Window Focus Functions</h1>Functions that give the focus to an X Window.  
+<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Focus__Functions.html#g250b9a13f41bfc6adbd395dd150ec873">ecore_x_window_focus</a> (Ecore_X_Window win)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the focus to the window <code>win</code>.  <a href="#g250b9a13f41bfc6adbd395dd150ec873"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Focus__Functions.html#gc1b23ac2d0f466955e7dfb82fd406264">ecore_x_window_focus_at_time</a> (Ecore_X_Window win, Ecore_X_Time t)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the focus to the given window at a specific time.  <a href="#gc1b23ac2d0f466955e7dfb82fd406264"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_X_Window&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Focus__Functions.html#g0c673d99b2baea6d1e627fda19ebbc77">ecore_x_window_focus_get</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">gets the focus to the window <code>win</code>.  <a href="#g0c673d99b2baea6d1e627fda19ebbc77"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Functions that give the focus to an X Window. 
+<p>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="g250b9a13f41bfc6adbd395dd150ec873"></a><!-- doxytag: member="ecore_x_window.c::ecore_x_window_focus" ref="g250b9a13f41bfc6adbd395dd150ec873" args="(Ecore_X_Window win)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_window_focus           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>win</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sets the focus to the window <code>win</code>. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>win</em>&nbsp;</td><td>The window to focus. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="gc1b23ac2d0f466955e7dfb82fd406264"></a><!-- doxytag: member="ecore_x_window.c::ecore_x_window_focus_at_time" ref="gc1b23ac2d0f466955e7dfb82fd406264" args="(Ecore_X_Window win, Ecore_X_Time t)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_window_focus_at_time           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>win</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Time&nbsp;</td>
+          <td class="paramname"> <em>t</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sets the focus to the given window at a specific time. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>win</em>&nbsp;</td><td>The window to focus. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>t</em>&nbsp;</td><td>When to set the focus to the window. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g0c673d99b2baea6d1e627fda19ebbc77"></a><!-- doxytag: member="ecore_x_window.c::ecore_x_window_focus_get" ref="g0c673d99b2baea6d1e627fda19ebbc77" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Ecore_X_Window ecore_x_window_focus_get           </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+gets the focus to the window <code>win</code>. 
+<p>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The window that has focus. </dd></dl>
+
+</div>
+</div><p>
+</body>
+</html>
diff --git a/doc/html/group__Ecore__X__Window__Geometry__Group.html b/doc/html/group__Ecore__X__Window__Geometry__Group.html
new file mode 100644
index 0000000..8036ed4
--- /dev/null
+++ b/doc/html/group__Ecore__X__Window__Geometry__Group.html
@@ -0,0 +1,517 @@
+<html>
+
+<head>
+
+<title>Ecore: X Window Geometry Functions</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1>X Window Geometry Functions</h1>Functions that change or retrieve the geometry of X windows.  
+<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Geometry__Group.html#g4874b3c09244eac3828cd332bafd7978">ecore_x_window_move</a> (Ecore_X_Window win, int x, int y)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Moves a window to the position <code>x</code>, <code>y</code>.  <a href="#g4874b3c09244eac3828cd332bafd7978"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Geometry__Group.html#gccb702ac5a14183e4e125c6ca98d75bb">ecore_x_window_resize</a> (Ecore_X_Window win, int w, int h)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Resizes a window.  <a href="#gccb702ac5a14183e4e125c6ca98d75bb"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Geometry__Group.html#g4bdf5178a61b983cac7c102fe06d400d">ecore_x_window_move_resize</a> (Ecore_X_Window win, int x, int y, int w, int h)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Moves and resizes a window.  <a href="#g4bdf5178a61b983cac7c102fe06d400d"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Geometry__Group.html#g2c9878a9ce787bbed9475f48c8a712ae">ecore_x_window_size_get</a> (Ecore_X_Window win, int *w, int *h)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the size of the given window.  <a href="#g2c9878a9ce787bbed9475f48c8a712ae"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Geometry__Group.html#g7587437d291e1150060bbe6a10cd2a1f">ecore_x_window_geometry_get</a> (Ecore_X_Window win, int *x, int *y, int *w, int *h)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the geometry of the given window.  <a href="#g7587437d291e1150060bbe6a10cd2a1f"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Geometry__Group.html#geb5ad9b694963652e5d8b3036d2b9744">ecore_x_window_border_width_get</a> (Ecore_X_Window win)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the width of the border of the given window.  <a href="#geb5ad9b694963652e5d8b3036d2b9744"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Geometry__Group.html#g51031b34c63636b837982795f940e856">ecore_x_window_border_width_set</a> (Ecore_X_Window win, int width)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the width of the border of the given window.  <a href="#g51031b34c63636b837982795f940e856"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_X_Window&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Geometry__Group.html#g6776554aa4ade68003e6e8a98e481df2">ecore_x_window_at_xy_get</a> (int x, int y)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the top, visible window at the given location.  <a href="#g6776554aa4ade68003e6e8a98e481df2"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_X_Window&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Geometry__Group.html#g671777ac9b390611aaec0cdecc86658a">ecore_x_window_at_xy_with_skip_get</a> (int x, int y, Ecore_X_Window *skip, int skip_num)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the top, visible window at the given location, but skips the windows in the list.  <a href="#g671777ac9b390611aaec0cdecc86658a"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_X_Window&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Geometry__Group.html#gfff24861ed257264c9d9119fd0509c08">ecore_x_window_at_xy_begin_get</a> (Ecore_X_Window begin, int x, int y)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the top, visible window at the given location, but begins at the <code>begin</code> window instead of the root one.  <a href="#gfff24861ed257264c9d9119fd0509c08"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Functions that change or retrieve the geometry of X windows. 
+<p>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="gfff24861ed257264c9d9119fd0509c08"></a><!-- doxytag: member="ecore_xcb_window.c::ecore_x_window_at_xy_begin_get" ref="gfff24861ed257264c9d9119fd0509c08" args="(Ecore_X_Window begin, int x, int y)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Ecore_X_Window ecore_x_window_at_xy_begin_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>begin</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>y</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Retrieves the top, visible window at the given location, but begins at the <code>begin</code> window instead of the root one. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>begin</em>&nbsp;</td><td>The window from which we begin. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>The given X position. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</td><td>The given Y position. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The window at that position. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g6776554aa4ade68003e6e8a98e481df2"></a><!-- doxytag: member="ecore_x_window.c::ecore_x_window_at_xy_get" ref="g6776554aa4ade68003e6e8a98e481df2" args="(int x, int y)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Ecore_X_Window ecore_x_window_at_xy_get           </td>
+          <td>(</td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>y</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Retrieves the top, visible window at the given location. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>The given X position. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</td><td>The given Y position. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The window at that position. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g671777ac9b390611aaec0cdecc86658a"></a><!-- doxytag: member="ecore_x_window.c::ecore_x_window_at_xy_with_skip_get" ref="g671777ac9b390611aaec0cdecc86658a" args="(int x, int y, Ecore_X_Window *skip, int skip_num)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Ecore_X_Window ecore_x_window_at_xy_with_skip_get           </td>
+          <td>(</td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Window *&nbsp;</td>
+          <td class="paramname"> <em>skip</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>skip_num</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Retrieves the top, visible window at the given location, but skips the windows in the list. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>The given X position. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</td><td>The given Y position. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The window at that position. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="geb5ad9b694963652e5d8b3036d2b9744"></a><!-- doxytag: member="ecore_x_window.c::ecore_x_window_border_width_get" ref="geb5ad9b694963652e5d8b3036d2b9744" args="(Ecore_X_Window win)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_x_window_border_width_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>win</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Retrieves the width of the border of the given window. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>win</em>&nbsp;</td><td>The given window. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>Width of the border of <code>win</code>. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g51031b34c63636b837982795f940e856"></a><!-- doxytag: member="ecore_x_window.c::ecore_x_window_border_width_set" ref="g51031b34c63636b837982795f940e856" args="(Ecore_X_Window win, int width)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_window_border_width_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>win</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>width</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sets the width of the border of the given window. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>win</em>&nbsp;</td><td>The given window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>width</em>&nbsp;</td><td>The new border width. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g7587437d291e1150060bbe6a10cd2a1f"></a><!-- doxytag: member="ecore_x_window.c::ecore_x_window_geometry_get" ref="g7587437d291e1150060bbe6a10cd2a1f" args="(Ecore_X_Window win, int *x, int *y, int *w, int *h)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_window_geometry_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>width</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>height</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Retrieves the geometry of the given window. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>win</em>&nbsp;</td><td>The given window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>Pointer to an integer in which the X position is to be stored. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</td><td>Pointer to an integer in which the Y position is to be stored. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>w</em>&nbsp;</td><td>Pointer to an integer in which the width is to be stored. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>h</em>&nbsp;</td><td>Pointer to an integer in which the height is to be stored. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g4874b3c09244eac3828cd332bafd7978"></a><!-- doxytag: member="ecore_x_window.c::ecore_x_window_move" ref="g4874b3c09244eac3828cd332bafd7978" args="(Ecore_X_Window win, int x, int y)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_window_move           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>win</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>y</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Moves a window to the position <code>x</code>, <code>y</code>. 
+<p>
+The position is relative to the upper left hand corner of the parent window.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>win</em>&nbsp;</td><td>The window to move. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>X position. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</td><td>Y position. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g4bdf5178a61b983cac7c102fe06d400d"></a><!-- doxytag: member="ecore_x_window.c::ecore_x_window_move_resize" ref="g4bdf5178a61b983cac7c102fe06d400d" args="(Ecore_X_Window win, int x, int y, int w, int h)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_window_move_resize           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>win</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>w</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>h</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Moves and resizes a window. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>win</em>&nbsp;</td><td>The window to move and resize. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>New X position of the window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</td><td>New Y position of the window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>w</em>&nbsp;</td><td>New width of the window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>h</em>&nbsp;</td><td>New height of the window. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="gccb702ac5a14183e4e125c6ca98d75bb"></a><!-- doxytag: member="ecore_x_window.c::ecore_x_window_resize" ref="gccb702ac5a14183e4e125c6ca98d75bb" args="(Ecore_X_Window win, int w, int h)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_window_resize           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>win</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>w</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>h</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Resizes a window. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>win</em>&nbsp;</td><td>The window to resize. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>w</em>&nbsp;</td><td>New width of the window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>h</em>&nbsp;</td><td>New height of the window. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g2c9878a9ce787bbed9475f48c8a712ae"></a><!-- doxytag: member="ecore_x_window.c::ecore_x_window_size_get" ref="g2c9878a9ce787bbed9475f48c8a712ae" args="(Ecore_X_Window win, int *w, int *h)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_window_size_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>width</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>height</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Retrieves the size of the given window. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>win</em>&nbsp;</td><td>The given window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>w</em>&nbsp;</td><td>Pointer to an integer into which the width is to be stored. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>h</em>&nbsp;</td><td>Pointer to an integer into which the height is to be stored. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+</body>
+</html>
diff --git a/doc/html/group__Ecore__X__Window__Get__Attributes__Group.html b/doc/html/group__Ecore__X__Window__Get__Attributes__Group.html
new file mode 100644
index 0000000..a889ec7
--- /dev/null
+++ b/doc/html/group__Ecore__X__Window__Get__Attributes__Group.html
@@ -0,0 +1,121 @@
+<html>
+
+<head>
+
+<title>Ecore: X Window Get Attributes Functions</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1>X Window Get Attributes Functions</h1>Functions that get the attributes of a window.  
+<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gfae6084f4ae1bb0bc1f9a5417e27ad20"></a><!-- doxytag: member="Ecore_X_Window_Get_Attributes_Group::ecore_x_get_window_attributes_prefetch" ref="gfae6084f4ae1bb0bc1f9a5417e27ad20" args="(Ecore_X_Window window)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Get__Attributes__Group.html#gfae6084f4ae1bb0bc1f9a5417e27ad20">ecore_x_get_window_attributes_prefetch</a> (Ecore_X_Window window)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the GetWindowAttributes request. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g70eb3d81772e48b216f523b14cdf5dd0"></a><!-- doxytag: member="Ecore_X_Window_Get_Attributes_Group::ecore_x_get_window_attributes_fetch" ref="g70eb3d81772e48b216f523b14cdf5dd0" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Get__Attributes__Group.html#g70eb3d81772e48b216f523b14cdf5dd0">ecore_x_get_window_attributes_fetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the reply of the GetWindowAttributes request sent by <a class="el" href="group__Ecore__X__Window__Get__Attributes__Group.html#gfae6084f4ae1bb0bc1f9a5417e27ad20">ecore_x_get_window_attributes_prefetch()</a>. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Get__Attributes__Group.html#g18abd6d9a67e20a80d9b02b17f61991e">ecore_x_window_attributes_get</a> (Ecore_X_Window window __UNUSED__, Ecore_X_Window_Attributes *att_ret)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the attributes of a window.  <a href="#g18abd6d9a67e20a80d9b02b17f61991e"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Get__Attributes__Group.html#ge08b8e16751ce4b12f97f9b114d0d59c">ecore_x_window_visible_get</a> (Ecore_X_Window window __UNUSED__)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Finds out whether the given window is currently visible.  <a href="#ge08b8e16751ce4b12f97f9b114d0d59c"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Functions that get the attributes of a window. 
+<p>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="g18abd6d9a67e20a80d9b02b17f61991e"></a><!-- doxytag: member="ecore_xcb_window.c::ecore_x_window_attributes_get" ref="g18abd6d9a67e20a80d9b02b17f61991e" args="(Ecore_X_Window window __UNUSED__, Ecore_X_Window_Attributes *att_ret)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_x_window_attributes_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window window&nbsp;</td>
+          <td class="paramname"> <em>__UNUSED__</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Window_Attributes *&nbsp;</td>
+          <td class="paramname"> <em>att_ret</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Retrieves the attributes of a window. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>windows</em>&nbsp;</td><td>Unused. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>att_ret</em>&nbsp;</td><td>Pointer to an Ecore_X_Window_Attributes structure in which the attributes of a window are to be stored.</td></tr>
+  </table>
+</dl>
+Retrieves the attributes of a window. If <code>att_ret</code> is <code>NULL</code>, the function does nothing. If an error occurred, <code>att_ret</code> is set to 0. Otherwise, the <code>att_ret</code> structure is filled with the attributes os the requested window.<p>
+To use this function, you must call before, and in order, <a class="el" href="group__Ecore__X__Window__Get__Attributes__Group.html#gfae6084f4ae1bb0bc1f9a5417e27ad20">ecore_x_get_window_attributes_prefetch()</a>, which sends the GetWindowAttributes request, then <a class="el" href="group__Ecore__X__Window__Get__Attributes__Group.html#g70eb3d81772e48b216f523b14cdf5dd0">ecore_x_get_window_attributes_fetch()</a>, which gets the reply. 
+</div>
+</div><p>
+<a class="anchor" name="ge08b8e16751ce4b12f97f9b114d0d59c"></a><!-- doxytag: member="ecore_xcb_window.c::ecore_x_window_visible_get" ref="ge08b8e16751ce4b12f97f9b114d0d59c" args="(Ecore_X_Window window __UNUSED__)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_x_window_visible_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window window&nbsp;</td>
+          <td class="paramname"> <em>__UNUSED__</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Finds out whether the given window is currently visible. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>Unused. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 if the window is visible, otherwise 0.</dd></dl>
+Finds out whether the given window is currently visible. If an error occurred, or if the window is not visible, 0 is returned. Otherwise 1 is returned.<p>
+To use this function, you must call before, and in order, <a class="el" href="group__Ecore__X__Window__Get__Attributes__Group.html#gfae6084f4ae1bb0bc1f9a5417e27ad20">ecore_x_get_window_attributes_prefetch()</a>, which sends the GetWindowAttributes request, then <a class="el" href="group__Ecore__X__Window__Get__Attributes__Group.html#g70eb3d81772e48b216f523b14cdf5dd0">ecore_x_get_window_attributes_fetch()</a>, which gets the reply. 
+</div>
+</div><p>
+</body>
+</html>
diff --git a/doc/html/group__Ecore__X__Window__Input__Focus__Group.html b/doc/html/group__Ecore__X__Window__Input__Focus__Group.html
new file mode 100644
index 0000000..9cee242
--- /dev/null
+++ b/doc/html/group__Ecore__X__Window__Input__Focus__Group.html
@@ -0,0 +1,145 @@
+<html>
+
+<head>
+
+<title>Ecore: X Window Input Focus Functions</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1>X Window Input Focus Functions</h1>Functions that manage the focus of an X Window.  
+<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Input__Focus__Group.html#g5d4b98a81a8508a18bc2f6a77970e773">ecore_x_window_focus</a> (Ecore_X_Window window)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the focus to the window <code>win</code>.  <a href="#g5d4b98a81a8508a18bc2f6a77970e773"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Input__Focus__Group.html#gbf347c1dcd62715f578901f8b73e60f7">ecore_x_window_focus_at_time</a> (Ecore_X_Window window, Ecore_X_Time time)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the focus to the given window at a specific time.  <a href="#gbf347c1dcd62715f578901f8b73e60f7"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga92860262b8d5e516d183a21b181fe0e"></a><!-- doxytag: member="Ecore_X_Window_Input_Focus_Group::ecore_x_get_input_focus_prefetch" ref="ga92860262b8d5e516d183a21b181fe0e" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Input__Focus__Group.html#ga92860262b8d5e516d183a21b181fe0e">ecore_x_get_input_focus_prefetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the GetInputFocus request. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g02ae3f361154035adc34417f2ba97825"></a><!-- doxytag: member="Ecore_X_Window_Input_Focus_Group::ecore_x_get_input_focus_fetch" ref="g02ae3f361154035adc34417f2ba97825" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Input__Focus__Group.html#g02ae3f361154035adc34417f2ba97825">ecore_x_get_input_focus_fetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the reply of the GetInputFocus request sent by <a class="el" href="group__Ecore__X__Window__Input__Focus__Group.html#ga92860262b8d5e516d183a21b181fe0e">ecore_x_get_input_focus_prefetch()</a>. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_X_Window&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Input__Focus__Group.html#g0c673d99b2baea6d1e627fda19ebbc77">ecore_x_window_focus_get</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">gets the focus to the window <code>win</code>.  <a href="#g0c673d99b2baea6d1e627fda19ebbc77"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Functions that manage the focus of an X Window. 
+<p>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="g5d4b98a81a8508a18bc2f6a77970e773"></a><!-- doxytag: member="ecore_xcb_window.c::ecore_x_window_focus" ref="g5d4b98a81a8508a18bc2f6a77970e773" args="(Ecore_X_Window window)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_window_focus           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sets the focus to the window <code>win</code>. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window to focus. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="gbf347c1dcd62715f578901f8b73e60f7"></a><!-- doxytag: member="ecore_xcb_window.c::ecore_x_window_focus_at_time" ref="gbf347c1dcd62715f578901f8b73e60f7" args="(Ecore_X_Window window, Ecore_X_Time time)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_window_focus_at_time           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Time&nbsp;</td>
+          <td class="paramname"> <em>time</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sets the focus to the given window at a specific time. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window to focus. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>time</em>&nbsp;</td><td>When to set the focus to the window. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g0c673d99b2baea6d1e627fda19ebbc77"></a><!-- doxytag: member="ecore_xcb_window.c::ecore_x_window_focus_get" ref="g0c673d99b2baea6d1e627fda19ebbc77" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Ecore_X_Window ecore_x_window_focus_get           </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+gets the focus to the window <code>win</code>. 
+<p>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The window that has focus.</dd></dl>
+Returns the window that has the focus. If an error aoocured, <code>0</code> is returned, otherwise the function returns the window that has focus.<p>
+To use this function, you must call before, and in order, <a class="el" href="group__Ecore__X__Window__Input__Focus__Group.html#ga92860262b8d5e516d183a21b181fe0e">ecore_x_get_input_focus_prefetch()</a>, which sends the GetInputFocus request, then <a class="el" href="group__Ecore__X__Window__Input__Focus__Group.html#g02ae3f361154035adc34417f2ba97825">ecore_x_get_input_focus_fetch()</a>, which gets the reply. 
+</div>
+</div><p>
+</body>
+</html>
diff --git a/doc/html/group__Ecore__X__Window__Parent__Group.html b/doc/html/group__Ecore__X__Window__Parent__Group.html
new file mode 100644
index 0000000..22b1464
--- /dev/null
+++ b/doc/html/group__Ecore__X__Window__Parent__Group.html
@@ -0,0 +1,263 @@
+<html>
+
+<head>
+
+<title>Ecore: X Window Parent Functions</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1>X Window Parent Functions</h1>Functions that retrieve or changes the parent window of a window.  
+<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Parent__Group.html#gc8bb341a5e9300b5de4df3678c33cf85">ecore_x_window_reparent</a> (Ecore_X_Window win, Ecore_X_Window new_parent, int x, int y)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Moves a window to within another window at a given position.  <a href="#gc8bb341a5e9300b5de4df3678c33cf85"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_X_Window&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Parent__Group.html#gee7cb845063281b2582036a5fe4b75e0">ecore_x_window_parent_get</a> (Ecore_X_Window win)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the parent window of the given window.  <a href="#gee7cb845063281b2582036a5fe4b75e0"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gc156ab3f1feb10bbdb2e529777692fcc"></a><!-- doxytag: member="Ecore_X_Window_Parent_Group::ecore_x_pointer_xy_get_prefetch" ref="gc156ab3f1feb10bbdb2e529777692fcc" args="(Ecore_X_Window window)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Parent__Group.html#gc156ab3f1feb10bbdb2e529777692fcc">ecore_x_pointer_xy_get_prefetch</a> (Ecore_X_Window window)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the QueryPointer request. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gd342433ee1430ee2ba4e2afe11dd9c7e"></a><!-- doxytag: member="Ecore_X_Window_Parent_Group::ecore_x_pointer_xy_get_fetch" ref="gd342433ee1430ee2ba4e2afe11dd9c7e" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Parent__Group.html#gd342433ee1430ee2ba4e2afe11dd9c7e">ecore_x_pointer_xy_get_fetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the reply of the QueryPointer request sent by ecore_x_query_pointer_prefetch(). <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Parent__Group.html#g7120e845266abbe33b17035b89c0fb00">ecore_x_pointer_xy_get</a> (Ecore_X_Window window __UNUSED__, int *x, int *y)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the coordinates of the pointer.  <a href="#g7120e845266abbe33b17035b89c0fb00"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g18e6147f1724e8b47b677a5bdd257732"></a><!-- doxytag: member="Ecore_X_Window_Parent_Group::ecore_x_query_tree_prefetch" ref="g18e6147f1724e8b47b677a5bdd257732" args="(Ecore_X_Window window)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Parent__Group.html#g18e6147f1724e8b47b677a5bdd257732">ecore_x_query_tree_prefetch</a> (Ecore_X_Window window)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the QueryTree request. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g14910fd00fc8bef59141074dd7c815b9"></a><!-- doxytag: member="Ecore_X_Window_Parent_Group::ecore_x_query_tree_fetch" ref="g14910fd00fc8bef59141074dd7c815b9" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Parent__Group.html#g14910fd00fc8bef59141074dd7c815b9">ecore_x_query_tree_fetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the reply of the QueryTree request sent by <a class="el" href="group__Ecore__X__Window__Parent__Group.html#g18e6147f1724e8b47b677a5bdd257732">ecore_x_query_tree_prefetch()</a>. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_X_Window&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Parent__Group.html#g8d48e20cbced9bed5239d4395cc41877">ecore_x_window_parent_get</a> (Ecore_X_Window window __UNUSED__)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the parent window of the given window.  <a href="#g8d48e20cbced9bed5239d4395cc41877"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_X_Window *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Parent__Group.html#g2ff089ea3679f9f81a9a6db5d23d478d">ecore_x_window_children_get</a> (Ecore_X_Window window __UNUSED__, int *num)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the children windows of the given window.  <a href="#g2ff089ea3679f9f81a9a6db5d23d478d"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Functions that retrieve or changes the parent window of a window. 
+<p>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="g7120e845266abbe33b17035b89c0fb00"></a><!-- doxytag: member="ecore_xcb_window.c::ecore_x_pointer_xy_get" ref="g7120e845266abbe33b17035b89c0fb00" args="(Ecore_X_Window window __UNUSED__, int *x, int *y)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_pointer_xy_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window window&nbsp;</td>
+          <td class="paramname"> <em>__UNUSED__</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>y</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Retrieves the coordinates of the pointer. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>Unused. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>The X coordinate of the pointer. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</td><td>The Y coordinate of the pointer.</td></tr>
+  </table>
+</dl>
+Retrieves the coordinates of the pointer. If the window used in ecore_x_query_pointer_prefetch() is not on the same screen than the root window or if an error occured, <code>x</code> and <code>y</code> are set to 0. Otherwise, they are respectively set to the X and Y coordinates of the pointer.<p>
+To use this function, you must call before, and in order, ecore_x_query_pointer_prefetch(), which sends the QueryPointer request, then ecore_x_query_pointer_fetch(), which gets the reply. 
+</div>
+</div><p>
+<a class="anchor" name="g2ff089ea3679f9f81a9a6db5d23d478d"></a><!-- doxytag: member="ecore_xcb_window.c::ecore_x_window_children_get" ref="g2ff089ea3679f9f81a9a6db5d23d478d" args="(Ecore_X_Window window __UNUSED__, int *num)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Ecore_X_Window* ecore_x_window_children_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window window&nbsp;</td>
+          <td class="paramname"> <em>__UNUSED__</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>num</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Retrieves the children windows of the given window. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>Unused. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>num</em>&nbsp;</td><td>children windows count. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The children windows.</dd></dl>
+Retrieves the children windows of the given window. If an error occured, <code>0</code> is returned.<p>
+To use this function, you must call before, and in order, <a class="el" href="group__Ecore__X__Window__Parent__Group.html#g18e6147f1724e8b47b677a5bdd257732">ecore_x_query_tree_prefetch()</a>, which sends the QueryTree request, then <a class="el" href="group__Ecore__X__Window__Parent__Group.html#g14910fd00fc8bef59141074dd7c815b9">ecore_x_query_tree_fetch()</a>, which gets the reply. 
+</div>
+</div><p>
+<a class="anchor" name="g8d48e20cbced9bed5239d4395cc41877"></a><!-- doxytag: member="ecore_xcb_window.c::ecore_x_window_parent_get" ref="g8d48e20cbced9bed5239d4395cc41877" args="(Ecore_X_Window window __UNUSED__)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Ecore_X_Window ecore_x_window_parent_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window window&nbsp;</td>
+          <td class="paramname"> <em>__UNUSED__</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Retrieves the parent window of the given window. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>Unused. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The parent window of <code>window</code>.</dd></dl>
+Retrieves the parent window of the given window. If an error occured, <code>0</code> is returned.<p>
+To use this function, you must call before, and in order, <a class="el" href="group__Ecore__X__Window__Parent__Group.html#g18e6147f1724e8b47b677a5bdd257732">ecore_x_query_tree_prefetch()</a>, which sends the QueryTree request, then <a class="el" href="group__Ecore__X__Window__Parent__Group.html#g14910fd00fc8bef59141074dd7c815b9">ecore_x_query_tree_fetch()</a>, which gets the reply. 
+</div>
+</div><p>
+<a class="anchor" name="gee7cb845063281b2582036a5fe4b75e0"></a><!-- doxytag: member="ecore_x_window.c::ecore_x_window_parent_get" ref="gee7cb845063281b2582036a5fe4b75e0" args="(Ecore_X_Window win)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Ecore_X_Window ecore_x_window_parent_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>win</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Retrieves the parent window of the given window. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>win</em>&nbsp;</td><td>The given window. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The parent window of <code>win</code>. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="gc8bb341a5e9300b5de4df3678c33cf85"></a><!-- doxytag: member="ecore_x_window.c::ecore_x_window_reparent" ref="gc8bb341a5e9300b5de4df3678c33cf85" args="(Ecore_X_Window win, Ecore_X_Window new_parent, int x, int y)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_window_reparent           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>win</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>new_parent</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>y</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Moves a window to within another window at a given position. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>win</em>&nbsp;</td><td>The window to reparent. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>new_parent</em>&nbsp;</td><td>The new parent window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>X position within new parent window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</td><td>Y position within new parent window. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+</body>
+</html>
diff --git a/doc/html/group__Ecore__X__Window__Reparent__Group.html b/doc/html/group__Ecore__X__Window__Reparent__Group.html
new file mode 100644
index 0000000..0263652
--- /dev/null
+++ b/doc/html/group__Ecore__X__Window__Reparent__Group.html
@@ -0,0 +1,94 @@
+<html>
+
+<head>
+
+<title>Ecore: X Window Reparent Functions</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1>X Window Reparent Functions</h1>Functions that retrieve or changes the parent window of a window.  
+<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Reparent__Group.html#g36b9dda4c0ce4ef9ca6e3cf339773c29">ecore_x_window_reparent</a> (Ecore_X_Window window, Ecore_X_Window new_parent, int x, int y)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Moves a window to within another window at a given position.  <a href="#g36b9dda4c0ce4ef9ca6e3cf339773c29"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Functions that retrieve or changes the parent window of a window. 
+<p>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="g36b9dda4c0ce4ef9ca6e3cf339773c29"></a><!-- doxytag: member="ecore_xcb_window.c::ecore_x_window_reparent" ref="g36b9dda4c0ce4ef9ca6e3cf339773c29" args="(Ecore_X_Window window, Ecore_X_Window new_parent, int x, int y)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_window_reparent           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>new_parent</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>y</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Moves a window to within another window at a given position. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window to reparent. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>new_parent</em>&nbsp;</td><td>The new parent window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>X position within new parent window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</td><td>Y position within new parent window. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+</body>
+</html>
diff --git a/doc/html/group__Ecore__X__Window__Save__Set__Group.html b/doc/html/group__Ecore__X__Window__Save__Set__Group.html
new file mode 100644
index 0000000..0506c9a
--- /dev/null
+++ b/doc/html/group__Ecore__X__Window__Save__Set__Group.html
@@ -0,0 +1,100 @@
+<html>
+
+<head>
+
+<title>Ecore: X Window Change Save Set Functions</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1>X Window Change Save Set Functions</h1>Functions that either inserts or deletes the specified window from the client's save-set.  
+<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Save__Set__Group.html#g5292ea88a67a9d6ddef99a9f70d2a27a">ecore_x_window_save_set_add</a> (Ecore_X_Window window)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Inserts the window in the client's save-set.  <a href="#g5292ea88a67a9d6ddef99a9f70d2a27a"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Save__Set__Group.html#g59d6be42f3a1f5791ff3f367e336562f">ecore_x_window_save_set_del</a> (Ecore_X_Window window)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Deletes the window from the client's save-set.  <a href="#g59d6be42f3a1f5791ff3f367e336562f"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Functions that either inserts or deletes the specified window from the client's save-set. 
+<p>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="g5292ea88a67a9d6ddef99a9f70d2a27a"></a><!-- doxytag: member="ecore_xcb_window.c::ecore_x_window_save_set_add" ref="g5292ea88a67a9d6ddef99a9f70d2a27a" args="(Ecore_X_Window window)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_window_save_set_add           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Inserts the window in the client's save-set. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window to insert in the client's save-set. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g59d6be42f3a1f5791ff3f367e336562f"></a><!-- doxytag: member="ecore_xcb_window.c::ecore_x_window_save_set_del" ref="g59d6be42f3a1f5791ff3f367e336562f" args="(Ecore_X_Window window)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_window_save_set_del           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Deletes the window from the client's save-set. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window to delete from the client's save-set. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+</body>
+</html>
diff --git a/doc/html/group__Ecore__X__Window__Shape.html b/doc/html/group__Ecore__X__Window__Shape.html
new file mode 100644
index 0000000..9d3a458
--- /dev/null
+++ b/doc/html/group__Ecore__X__Window__Shape.html
@@ -0,0 +1,80 @@
+<html>
+
+<head>
+
+<title>Ecore: X Window Shape Functions</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1>X Window Shape Functions</h1>These functions use the shape extension of the X server to change shape of given windows.  
+<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Shape.html#g3717cee0507fb41cffad1094fa0a0fc9">ecore_x_window_shape_mask_set</a> (Ecore_X_Window win, Ecore_X_Pixmap mask)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the shape of the given window to that given by the pixmap <code>mask</code>.  <a href="#g3717cee0507fb41cffad1094fa0a0fc9"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+These functions use the shape extension of the X server to change shape of given windows. 
+<p>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="g3717cee0507fb41cffad1094fa0a0fc9"></a><!-- doxytag: member="ecore_x_window_shape.c::ecore_x_window_shape_mask_set" ref="g3717cee0507fb41cffad1094fa0a0fc9" args="(Ecore_X_Window win, Ecore_X_Pixmap mask)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_window_shape_mask_set           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>win</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Ecore_X_Pixmap&nbsp;</td>
+          <td class="paramname"> <em>mask</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sets the shape of the given window to that given by the pixmap <code>mask</code>. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>win</em>&nbsp;</td><td>The given window. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>mask</em>&nbsp;</td><td>A 2-bit depth pixmap that provides the new shape of the window. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+</body>
+</html>
diff --git a/doc/html/group__Ecore__X__Window__Visibility__Group.html b/doc/html/group__Ecore__X__Window__Visibility__Group.html
new file mode 100644
index 0000000..4240503
--- /dev/null
+++ b/doc/html/group__Ecore__X__Window__Visibility__Group.html
@@ -0,0 +1,133 @@
+<html>
+
+<head>
+
+<title>Ecore: X Window Visibility Functions</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1>X Window Visibility Functions</h1>Functions to change the visibility of X windows.  
+<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Visibility__Group.html#gbe025bc290912668119afdf049f744e0">ecore_x_window_visible_get</a> (Ecore_X_Window win)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Finds out whether the given window is currently visible.  <a href="#gbe025bc290912668119afdf049f744e0"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Visibility__Group.html#gb789c28ff2b22655b13c927095817e6c">ecore_x_window_show</a> (Ecore_X_Window window)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Shows a window.  <a href="#gb789c28ff2b22655b13c927095817e6c"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Visibility__Group.html#g637ec4e3fe033b94de0b28788bdcae7e">ecore_x_window_hide</a> (Ecore_X_Window window)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Hides a window.  <a href="#g637ec4e3fe033b94de0b28788bdcae7e"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Functions to change the visibility of X windows. 
+<p>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="g637ec4e3fe033b94de0b28788bdcae7e"></a><!-- doxytag: member="ecore_xcb_window.c::ecore_x_window_hide" ref="g637ec4e3fe033b94de0b28788bdcae7e" args="(Ecore_X_Window window)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_window_hide           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Hides a window. 
+<p>
+Synonymous to "unmapping" a window in X Window System terminology.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window to hide. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="gb789c28ff2b22655b13c927095817e6c"></a><!-- doxytag: member="ecore_xcb_window.c::ecore_x_window_show" ref="gb789c28ff2b22655b13c927095817e6c" args="(Ecore_X_Window window)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_window_show           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>window</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Shows a window. 
+<p>
+Synonymous to "mapping" a window in X Window System terminology.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>window</em>&nbsp;</td><td>The window to show. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="gbe025bc290912668119afdf049f744e0"></a><!-- doxytag: member="ecore_x_window.c::ecore_x_window_visible_get" ref="gbe025bc290912668119afdf049f744e0" args="(Ecore_X_Window win)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_x_window_visible_get           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>win</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Finds out whether the given window is currently visible. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>win</em>&nbsp;</td><td>The given window. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 if the window is visible, otherwise 0. </dd></dl>
+
+</div>
+</div><p>
+</body>
+</html>
diff --git a/doc/html/group__Ecore__X__Window__Z__Order__Group.html b/doc/html/group__Ecore__X__Window__Z__Order__Group.html
new file mode 100644
index 0000000..c33c309
--- /dev/null
+++ b/doc/html/group__Ecore__X__Window__Z__Order__Group.html
@@ -0,0 +1,100 @@
+<html>
+
+<head>
+
+<title>Ecore: X Window Z Order Functions</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1>X Window Z Order Functions</h1>Functions that change the Z order of X windows.  
+<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Z__Order__Group.html#gb248ec846ab3fd167840d39f611c555c">ecore_x_window_raise</a> (Ecore_X_Window win)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Raises the given window.  <a href="#gb248ec846ab3fd167840d39f611c555c"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Window__Z__Order__Group.html#gb9b9b7496dbcc88f4957dacad38b19f3">ecore_x_window_lower</a> (Ecore_X_Window win)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Lowers the given window.  <a href="#gb9b9b7496dbcc88f4957dacad38b19f3"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Functions that change the Z order of X windows. 
+<p>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="gb9b9b7496dbcc88f4957dacad38b19f3"></a><!-- doxytag: member="ecore_x_window.c::ecore_x_window_lower" ref="gb9b9b7496dbcc88f4957dacad38b19f3" args="(Ecore_X_Window win)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_window_lower           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>win</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Lowers the given window. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>win</em>&nbsp;</td><td>The window to lower. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="gb248ec846ab3fd167840d39f611c555c"></a><!-- doxytag: member="ecore_x_window.c::ecore_x_window_raise" ref="gb248ec846ab3fd167840d39f611c555c" args="(Ecore_X_Window win)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_window_raise           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>win</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Raises the given window. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>win</em>&nbsp;</td><td>The window to raise. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+</body>
+</html>
diff --git a/doc/html/group__Ecore__X__Xinerama__Group.html b/doc/html/group__Ecore__X__Xinerama__Group.html
new file mode 100644
index 0000000..69d4b86
--- /dev/null
+++ b/doc/html/group__Ecore__X__Xinerama__Group.html
@@ -0,0 +1,164 @@
+<html>
+
+<head>
+
+<title>Ecore: X Xinerama Extension Functions</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1>X Xinerama Extension Functions</h1>Functions related to the X Xinerama extension.  
+<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Xinerama__Group.html#ga07b9b7427c98172ad8b5232758366b8">ecore_x_xinerama_query</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return whether the X server supports the Xinerama Extension.  <a href="#ga07b9b7427c98172ad8b5232758366b8"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gc4dab50cf69473eab4e4c85442cd832f"></a><!-- doxytag: member="Ecore_X_Xinerama_Group::ecore_x_xinerama_query_screens_prefetch" ref="gc4dab50cf69473eab4e4c85442cd832f" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Xinerama__Group.html#gc4dab50cf69473eab4e4c85442cd832f">ecore_x_xinerama_query_screens_prefetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the XineramaQueryScreens request. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g752dd7086f48c9cacf55258717d033c0"></a><!-- doxytag: member="Ecore_X_Xinerama_Group::ecore_x_xinerama_query_screens_fetch" ref="g752dd7086f48c9cacf55258717d033c0" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Xinerama__Group.html#g752dd7086f48c9cacf55258717d033c0">ecore_x_xinerama_query_screens_fetch</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the reply of the XineramaQueryScreens request sent by <a class="el" href="group__Ecore__X__Xinerama__Group.html#gc4dab50cf69473eab4e4c85442cd832f">ecore_x_xinerama_query_screens_prefetch()</a>. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Xinerama__Group.html#g4b09e4659ca212f567c8877048d01675">ecore_x_xinerama_screen_count_get</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the number of screens.  <a href="#g4b09e4659ca212f567c8877048d01675"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__X__Xinerama__Group.html#g2ac0a2da385246918b865907e22fd99c">ecore_x_xinerama_screen_geometry_get</a> (int screen, int *x, int *y, int *width, int *height)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the geometry of the screen.  <a href="#g2ac0a2da385246918b865907e22fd99c"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Functions related to the X Xinerama extension. 
+<p>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="ga07b9b7427c98172ad8b5232758366b8"></a><!-- doxytag: member="ecore_xcb_xinerama.c::ecore_x_xinerama_query" ref="ga07b9b7427c98172ad8b5232758366b8" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_x_xinerama_query           </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Return whether the X server supports the Xinerama Extension. 
+<p>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 if the X Xinerama Extension is available, 0 otherwise.</dd></dl>
+Return 1 if the X server supports the Fixes Xinerama version 1.1, 0 otherwise. 
+</div>
+</div><p>
+<a class="anchor" name="g4b09e4659ca212f567c8877048d01675"></a><!-- doxytag: member="ecore_xcb_xinerama.c::ecore_x_xinerama_screen_count_get" ref="g4b09e4659ca212f567c8877048d01675" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_x_xinerama_screen_count_get           </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Return the number of screens. 
+<p>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The screen count.</dd></dl>
+Return the number of screens.<p>
+To use this function, you must call before, and in order, <a class="el" href="group__Ecore__X__Xinerama__Group.html#gc4dab50cf69473eab4e4c85442cd832f">ecore_x_xinerama_query_screens_prefetch()</a>, which sends the XineramaQueryScreens request, then <a class="el" href="group__Ecore__X__Xinerama__Group.html#g752dd7086f48c9cacf55258717d033c0">ecore_x_xinerama_query_screens_fetch()</a>, which gets the reply. 
+</div>
+</div><p>
+<a class="anchor" name="g2ac0a2da385246918b865907e22fd99c"></a><!-- doxytag: member="ecore_xcb_xinerama.c::ecore_x_xinerama_screen_geometry_get" ref="g2ac0a2da385246918b865907e22fd99c" args="(int screen, int *x, int *y, int *width, int *height)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_x_xinerama_screen_geometry_get           </td>
+          <td>(</td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>screen</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>width</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>height</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Get the geometry of the screen. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>screen</em>&nbsp;</td><td>The screen (Unused). </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>The X coordinate of the screen. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</td><td>The Y coordinate of the screen </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>width</em>&nbsp;</td><td>The width of the screen </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>height</em>&nbsp;</td><td>The height of the screen </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 on success, 0 otherwise.</dd></dl>
+Get the geometry of the screen whose number is <code>screen</code>. The returned values are stored in <code>x</code>, <code>y</code>, <code>width</code> and <code>height</code>.<p>
+To use this function, you must call before, and in order, <a class="el" href="group__Ecore__X__Xinerama__Group.html#gc4dab50cf69473eab4e4c85442cd832f">ecore_x_xinerama_query_screens_prefetch()</a>, which sends the XineramaQueryScreens request, then <a class="el" href="group__Ecore__X__Xinerama__Group.html#g752dd7086f48c9cacf55258717d033c0">ecore_x_xinerama_query_screens_fetch()</a>, which gets the reply. 
+</div>
+</div><p>
+</body>
+</html>
diff --git a/doc/html/group__Ecore__Xcb__Display__Attr__Group.html b/doc/html/group__Ecore__Xcb__Display__Attr__Group.html
new file mode 100644
index 0000000..03bc58b
--- /dev/null
+++ b/doc/html/group__Ecore__Xcb__Display__Attr__Group.html
@@ -0,0 +1,176 @@
+<html>
+
+<head>
+
+<title>Ecore: X Display Attributes</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1>X Display Attributes</h1>Functions that set and retrieve X display attributes.  
+<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_X_Connection *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Xcb__Display__Attr__Group.html#g436bfb6485312c845f8561ba1493f812">ecore_x_connection_get</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the Ecore_X_Connection handle used for the current X connection.  <a href="#g436bfb6485312c845f8561ba1493f812"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Xcb__Display__Attr__Group.html#g6d11859fd7a822cbde4236be67a8df24">ecore_x_fd_get</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the X display file descriptor.  <a href="#g6d11859fd7a822cbde4236be67a8df24"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI Ecore_X_Screen *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Xcb__Display__Attr__Group.html#g43f13301cc5279862898873cb87ba461">ecore_x_default_screen_get</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the Ecore_X_Screen handle used for the current X connection.  <a href="#g43f13301cc5279862898873cb87ba461"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Xcb__Display__Attr__Group.html#gfc0ad83fd20e71ffdd8d706323778f67">ecore_x_double_click_time_set</a> (double t)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the timeout for a double and triple clicks to be flagged.  <a href="#gfc0ad83fd20e71ffdd8d706323778f67"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Xcb__Display__Attr__Group.html#g0595a462bd4ffe0450ba45658624eb7e">ecore_x_double_click_time_get</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the double and triple click flag timeout.  <a href="#g0595a462bd4ffe0450ba45658624eb7e"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Functions that set and retrieve X display attributes. 
+<p>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="g436bfb6485312c845f8561ba1493f812"></a><!-- doxytag: member="ecore_xcb.c::ecore_x_connection_get" ref="g436bfb6485312c845f8561ba1493f812" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Ecore_X_Connection* ecore_x_connection_get           </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Retrieves the Ecore_X_Connection handle used for the current X connection. 
+<p>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The current X connection. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g43f13301cc5279862898873cb87ba461"></a><!-- doxytag: member="ecore_xcb.c::ecore_x_default_screen_get" ref="g43f13301cc5279862898873cb87ba461" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Ecore_X_Screen* ecore_x_default_screen_get           </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Retrieves the Ecore_X_Screen handle used for the current X connection. 
+<p>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The current default screen. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g0595a462bd4ffe0450ba45658624eb7e"></a><!-- doxytag: member="ecore_xcb.c::ecore_x_double_click_time_get" ref="g0595a462bd4ffe0450ba45658624eb7e" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI double ecore_x_double_click_time_get           </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Retrieves the double and triple click flag timeout. 
+<p>
+See ecore_xcb_double_click_time_set for more information.<p>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The timeout for double clicks in seconds. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="gfc0ad83fd20e71ffdd8d706323778f67"></a><!-- doxytag: member="ecore_xcb.c::ecore_x_double_click_time_set" ref="gfc0ad83fd20e71ffdd8d706323778f67" args="(double t)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_double_click_time_set           </td>
+          <td>(</td>
+          <td class="paramtype">double&nbsp;</td>
+          <td class="paramname"> <em>t</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sets the timeout for a double and triple clicks to be flagged. 
+<p>
+This sets the time between clicks before the double_click flag is set in a button down event. If 3 clicks occur within double this time, the triple_click flag is also set.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>t</em>&nbsp;</td><td>The time in seconds </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g6d11859fd7a822cbde4236be67a8df24"></a><!-- doxytag: member="ecore_xcb.c::ecore_x_fd_get" ref="g6d11859fd7a822cbde4236be67a8df24" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_x_fd_get           </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Retrieves the X display file descriptor. 
+<p>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The current X display file descriptor. </dd></dl>
+
+</div>
+</div><p>
+</body>
+</html>
diff --git a/doc/html/group__Ecore__Xcb__Flush__Group.html b/doc/html/group__Ecore__Xcb__Flush__Group.html
new file mode 100644
index 0000000..3212c6d
--- /dev/null
+++ b/doc/html/group__Ecore__Xcb__Flush__Group.html
@@ -0,0 +1,47 @@
+<html>
+
+<head>
+
+<title>Ecore: X Synchronization Functions</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1>X Synchronization Functions</h1>Functions that ensure that all commands that have been issued by the Ecore X library have been sent to the server.  
+<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g86a37de4b106942e1b33f88455f5a00f"></a><!-- doxytag: member="Ecore_Xcb_Flush_Group::ecore_x_flush" ref="g86a37de4b106942e1b33f88455f5a00f" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Xcb__Flush__Group.html#g86a37de4b106942e1b33f88455f5a00f">ecore_x_flush</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends all X commands in the X Display buffer. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g515363b1157ae3b2e3d1d9d3eec448af"></a><!-- doxytag: member="Ecore_Xcb_Flush_Group::ecore_x_sync" ref="g515363b1157ae3b2e3d1d9d3eec448af" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Xcb__Flush__Group.html#g515363b1157ae3b2e3d1d9d3eec448af">ecore_x_sync</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Flushes the command buffer and waits until all requests have been processed by the server. <br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Functions that ensure that all commands that have been issued by the Ecore X library have been sent to the server. 
+<p>
+</body>
+</html>
diff --git a/doc/html/group__Ecore__Xcb__Init__Group.html b/doc/html/group__Ecore__Xcb__Init__Group.html
new file mode 100644
index 0000000..f35e35f
--- /dev/null
+++ b/doc/html/group__Ecore__Xcb__Init__Group.html
@@ -0,0 +1,123 @@
+<html>
+
+<head>
+
+<title>Ecore: X Library Init and Shutdown Functions</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1>X Library Init and Shutdown Functions</h1>Functions that start and shut down the Ecore X Library.  
+<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Xcb__Init__Group.html#g92e834eefd48b55101fa30c7386a709e">ecore_x_init</a> (const char *name)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initialize the X display connection to the given display.  <a href="#g92e834eefd48b55101fa30c7386a709e"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Xcb__Init__Group.html#gebb628e400a8c90696b67935bef84873">ecore_x_shutdown</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Shuts down the Ecore X library.  <a href="#gebb628e400a8c90696b67935bef84873"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Xcb__Init__Group.html#g01158850d3f9632f4bc6c79fb194e09b">ecore_x_disconnect</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Shuts down the Ecore X library.  <a href="#g01158850d3f9632f4bc6c79fb194e09b"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Functions that start and shut down the Ecore X Library. 
+<p>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="g01158850d3f9632f4bc6c79fb194e09b"></a><!-- doxytag: member="ecore_xcb.c::ecore_x_disconnect" ref="g01158850d3f9632f4bc6c79fb194e09b" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_x_disconnect           </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Shuts down the Ecore X library. 
+<p>
+As ecore_xcb_shutdown, except do not close Display, only connection. 
+</div>
+</div><p>
+<a class="anchor" name="g92e834eefd48b55101fa30c7386a709e"></a><!-- doxytag: member="ecore_xcb.c::ecore_x_init" ref="g92e834eefd48b55101fa30c7386a709e" args="(const char *name)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_x_init           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>name</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Initialize the X display connection to the given display. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>Display target name. If <code>NULL</code>, the default display is assumed. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The number of times the library has been initialized without being shut down. 0 is returned if an error occurs. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="gebb628e400a8c90696b67935bef84873"></a><!-- doxytag: member="ecore_xcb.c::ecore_x_shutdown" ref="gebb628e400a8c90696b67935bef84873" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int ecore_x_shutdown           </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Shuts down the Ecore X library. 
+<p>
+In shutting down the library, the X display connection is terminated and any event handlers for it are removed.<p>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The number of times the library has been initialized without being shut down. </dd></dl>
+
+</div>
+</div><p>
+</body>
+</html>
diff --git a/doc/html/group__Evas__X__Window__Change__Properties__Group.html b/doc/html/group__Evas__X__Window__Change__Properties__Group.html
new file mode 100644
index 0000000..da216c3
--- /dev/null
+++ b/doc/html/group__Evas__X__Window__Change__Properties__Group.html
@@ -0,0 +1,35 @@
+<html>
+
+<head>
+
+<title>Ecore: X Window Change Property Functions</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1>X Window Change Property Functions</h1>Functions that change window properties.  
+<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+</table>
+</body>
+</html>
diff --git a/doc/html/group__Evas__X__Window__Destroy__Group.html b/doc/html/group__Evas__X__Window__Destroy__Group.html
new file mode 100644
index 0000000..f280878
--- /dev/null
+++ b/doc/html/group__Evas__X__Window__Destroy__Group.html
@@ -0,0 +1,100 @@
+<html>
+
+<head>
+
+<title>Ecore: X Window Destroy Functions</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1>X Window Destroy Functions</h1>Functions to destroy X windows.  
+<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__X__Window__Destroy__Group.html#ga1d786fac4e47618d76ac67896be4a21">ecore_x_window_del</a> (Ecore_X_Window win)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Deletes the given window.  <a href="#ga1d786fac4e47618d76ac67896be4a21"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__X__Window__Destroy__Group.html#gca23caf9887a2751f57fdf463dcf5667">ecore_x_window_delete_request_send</a> (Ecore_X_Window win)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends a delete request to the given window.  <a href="#gca23caf9887a2751f57fdf463dcf5667"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Functions to destroy X windows. 
+<p>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="ga1d786fac4e47618d76ac67896be4a21"></a><!-- doxytag: member="ecore_x_window.c::ecore_x_window_del" ref="ga1d786fac4e47618d76ac67896be4a21" args="(Ecore_X_Window win)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_window_del           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>win</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Deletes the given window. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>win</em>&nbsp;</td><td>The given window. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="gca23caf9887a2751f57fdf463dcf5667"></a><!-- doxytag: member="ecore_x_window.c::ecore_x_window_delete_request_send" ref="gca23caf9887a2751f57fdf463dcf5667" args="(Ecore_X_Window win)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void ecore_x_window_delete_request_send           </td>
+          <td>(</td>
+          <td class="paramtype">Ecore_X_Window&nbsp;</td>
+          <td class="paramname"> <em>win</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sends a delete request to the given window. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>win</em>&nbsp;</td><td>The given window. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+</body>
+</html>
diff --git a/doc/html/group__Evas__X__Window__Properties__Group.html b/doc/html/group__Evas__X__Window__Properties__Group.html
new file mode 100644
index 0000000..bbd56ea
--- /dev/null
+++ b/doc/html/group__Evas__X__Window__Properties__Group.html
@@ -0,0 +1,35 @@
+<html>
+
+<head>
+
+<title>Ecore: X Window Property Functions</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1>X Window Property Functions</h1>Functions that set window properties.  
+<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+</table>
+</body>
+</html>
diff --git a/doc/html/group__Evas__X__Window__Visibility__Group.html b/doc/html/group__Evas__X__Window__Visibility__Group.html
new file mode 100644
index 0000000..f89c8ea
--- /dev/null
+++ b/doc/html/group__Evas__X__Window__Visibility__Group.html
@@ -0,0 +1,35 @@
+<html>
+
+<head>
+
+<title>Ecore: X Window Visibility Functions</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1>X Window Visibility Functions</h1>Functions to access and change the visibility of X windows.  
+<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+</table>
+</body>
+</html>
diff --git a/doc/html/group__Idle__Group.html b/doc/html/group__Idle__Group.html
new file mode 100644
index 0000000..92bfe8a
--- /dev/null
+++ b/doc/html/group__Idle__Group.html
@@ -0,0 +1,261 @@
+<html>
+
+<head>
+
+<title>Ecore: Idle Handlers</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1>Idle Handlers</h1>Callbacks that are called when the program enters or exits an idle state.  
+<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI <a class="el" href="Ecore_8h.html#6e0b6433dfefa8b89758a98863f38581">Ecore_Idle_Enterer</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Idle__Group.html#gb6c0951fcf365487f9d5da6d448bcedf">ecore_idle_enterer_add</a> (int(*func)(void *data), const void *data)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add an idle enterer handler.  <a href="#gb6c0951fcf365487f9d5da6d448bcedf"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Idle__Group.html#g27c437b6e8838785aff5df4861ae7649">ecore_idle_enterer_del</a> (<a class="el" href="Ecore_8h.html#6e0b6433dfefa8b89758a98863f38581">Ecore_Idle_Enterer</a> *idle_enterer)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Delete an idle enterer callback.  <a href="#g27c437b6e8838785aff5df4861ae7649"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI <a class="el" href="Ecore_8h.html#c76a20c78002c2cf5249a7e1c86e8095">Ecore_Idle_Exiter</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Idle__Group.html#g340847383518405a92b5f1a619edc72b">ecore_idle_exiter_add</a> (int(*func)(void *data), const void *data)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add an idle exiter handler.  <a href="#g340847383518405a92b5f1a619edc72b"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Idle__Group.html#gee428c5d4cfe03779cb19e44acb11823">ecore_idle_exiter_del</a> (<a class="el" href="Ecore_8h.html#c76a20c78002c2cf5249a7e1c86e8095">Ecore_Idle_Exiter</a> *idle_exiter)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Delete an idle exiter handler from the list to be run on exiting idle state.  <a href="#gee428c5d4cfe03779cb19e44acb11823"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI <a class="el" href="Ecore_8h.html#2ebd4a41bdad5b1b99cf01a03bbfbf5d">Ecore_Idler</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Idle__Group.html#gf8f5b98c20b770bdca63a4e1c05baa5d">ecore_idler_add</a> (int(*func)(void *data), const void *data)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add an idler handler.  <a href="#gf8f5b98c20b770bdca63a4e1c05baa5d"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Idle__Group.html#g280c1e88b0af4e829b4c543d51d14d7b">ecore_idler_del</a> (<a class="el" href="Ecore_8h.html#2ebd4a41bdad5b1b99cf01a03bbfbf5d">Ecore_Idler</a> *idler)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Delete an idler callback from the list to be executed.  <a href="#g280c1e88b0af4e829b4c543d51d14d7b"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Callbacks that are called when the program enters or exits an idle state. 
+<p>
+The ecore main loop enters an idle state when it is waiting for timers to time out, data to come in on a file descriptor or any other event to occur. You can set callbacks to be called when the main loop enters an idle state, during an idle state or just after the program wakes up.<p>
+Enterer callbacks are good for updating your program's state, if it has a state engine. Once all of the enterer handlers are called, the program will enter a "sleeping" state.<p>
+Idler callbacks are called when the main loop has called all enterer handlers. They are useful for interfaces that require polling and timers would be too slow to use.<p>
+If no idler callbacks are specified, then the process literally goes to sleep. Otherwise, the idler callbacks are called continuously while the loop is "idle", using as much CPU as is available to the process.<p>
+Exiter callbacks are called when the main loop wakes up from an idle state. <hr><h2>Function Documentation</h2>
+<a class="anchor" name="gb6c0951fcf365487f9d5da6d448bcedf"></a><!-- doxytag: member="ecore_idle_enterer.c::ecore_idle_enterer_add" ref="gb6c0951fcf365487f9d5da6d448bcedf" args="(int(*func)(void *data), const void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="Ecore_8h.html#6e0b6433dfefa8b89758a98863f38581">Ecore_Idle_Enterer</a>* ecore_idle_enterer_add           </td>
+          <td>(</td>
+          <td class="paramtype">int(*)(void *data)&nbsp;</td>
+          <td class="paramname"> <em>func</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Add an idle enterer handler. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>func</em>&nbsp;</td><td>The function to call when entering an idle state. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>The data to be passed to the <code>func</code> call </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>A handle to the idle enterer callback if successful. Otherwise, NULL is returned. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g27c437b6e8838785aff5df4861ae7649"></a><!-- doxytag: member="ecore_idle_enterer.c::ecore_idle_enterer_del" ref="g27c437b6e8838785aff5df4861ae7649" args="(Ecore_Idle_Enterer *idle_enterer)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void* ecore_idle_enterer_del           </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="Ecore_8h.html#6e0b6433dfefa8b89758a98863f38581">Ecore_Idle_Enterer</a> *&nbsp;</td>
+          <td class="paramname"> <em>idle_enterer</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Delete an idle enterer callback. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>idle_enterer</em>&nbsp;</td><td>The idle enterer to delete </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The data pointer passed to the idler enterer callback on success. NULL otherwise. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g340847383518405a92b5f1a619edc72b"></a><!-- doxytag: member="ecore_idle_exiter.c::ecore_idle_exiter_add" ref="g340847383518405a92b5f1a619edc72b" args="(int(*func)(void *data), const void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="Ecore_8h.html#c76a20c78002c2cf5249a7e1c86e8095">Ecore_Idle_Exiter</a>* ecore_idle_exiter_add           </td>
+          <td>(</td>
+          <td class="paramtype">int(*)(void *data)&nbsp;</td>
+          <td class="paramname"> <em>func</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Add an idle exiter handler. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>func</em>&nbsp;</td><td>The function to call when exiting an idle state. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>The data to be passed to the <code>func</code> call </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>A handle to the idle exiter callback on success. NULL otherwise. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="gee428c5d4cfe03779cb19e44acb11823"></a><!-- doxytag: member="ecore_idle_exiter.c::ecore_idle_exiter_del" ref="gee428c5d4cfe03779cb19e44acb11823" args="(Ecore_Idle_Exiter *idle_exiter)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void* ecore_idle_exiter_del           </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="Ecore_8h.html#c76a20c78002c2cf5249a7e1c86e8095">Ecore_Idle_Exiter</a> *&nbsp;</td>
+          <td class="paramname"> <em>idle_exiter</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Delete an idle exiter handler from the list to be run on exiting idle state. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>idle_exiter</em>&nbsp;</td><td>The idle exiter to delete </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The data pointer that was being being passed to the handler if successful. NULL otherwise. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="gf8f5b98c20b770bdca63a4e1c05baa5d"></a><!-- doxytag: member="ecore_idler.c::ecore_idler_add" ref="gf8f5b98c20b770bdca63a4e1c05baa5d" args="(int(*func)(void *data), const void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="Ecore_8h.html#2ebd4a41bdad5b1b99cf01a03bbfbf5d">Ecore_Idler</a>* ecore_idler_add           </td>
+          <td>(</td>
+          <td class="paramtype">int(*)(void *data)&nbsp;</td>
+          <td class="paramname"> <em>func</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Add an idler handler. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>func</em>&nbsp;</td><td>The function to call when idling. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>The data to be passed to this <code>func</code> call. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>A idler handle if successfully added. NULL otherwise.</dd></dl>
+Add an idler handle to the event loop, returning a handle on success and NULL otherwise. The function <code>func</code> will be called repeatedly while no other events are ready to be processed, as long as it returns 1. A return of 0 deletes the idler.<p>
+Idlers are useful for progressively prossessing data without blocking. 
+</div>
+</div><p>
+<a class="anchor" name="g280c1e88b0af4e829b4c543d51d14d7b"></a><!-- doxytag: member="ecore_idler.c::ecore_idler_del" ref="g280c1e88b0af4e829b4c543d51d14d7b" args="(Ecore_Idler *idler)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void* ecore_idler_del           </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="Ecore_8h.html#2ebd4a41bdad5b1b99cf01a03bbfbf5d">Ecore_Idler</a> *&nbsp;</td>
+          <td class="paramname"> <em>idler</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Delete an idler callback from the list to be executed. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>idler</em>&nbsp;</td><td>The handle of the idler callback to delete </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The data pointer passed to the idler callback on success. NULL otherwise. </dd></dl>
+
+</div>
+</div><p>
+</body>
+</html>
diff --git a/doc/html/index.html b/doc/html/index.html
new file mode 100644
index 0000000..9a96a06
--- /dev/null
+++ b/doc/html/index.html
@@ -0,0 +1,86 @@
+<html>
+
+<head>
+
+<title>Ecore: Ecore</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li id="current"><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1>Ecore</h1>
+<p>
+ <div align="center">
+<img src="ecore.png" alt="ecore.png">
+</div>
+<p>
+<dl class="version" compact><dt><b>Version:</b></dt><dd>1.0.0 </dd></dl>
+<dl class="author" compact><dt><b>Author:</b></dt><dd>Carsten Haitzler &lt;raster at rasterman.com&gt; <p>
+Tom Gilbert &lt;tom at linuxbrit.co.uk&gt; <p>
+Burra &lt;burra at colorado.edu&gt; <p>
+Chris Ross &lt;chris at darkrock.co.uk&gt; <p>
+Term &lt;term at twistedpath.org&gt; <p>
+Tilman Sauerbeck &lt;tilman at code-monkey.de&gt; <p>
+Nathan Ingersoll &lt;rbdpngn at users.sourceforge.net&gt; </dd></dl>
+<dl class="date" compact><dt><b>Date:</b></dt><dd>2000-2004</dd></dl>
+<h2><a class="anchor" name="intro">
+What is Ecore?</a></h2>
+Ecore is a library of convenience functions.<p>
+The Ecore library provides the following modules: <ul>
+<li><a class="el" href="Ecore_8h.html">Ecore - Main Loop Functions. </a> </li>
+<li><a class="el" href="Ecore__Con_8h.html">Ecore_Con - Connection functions. </a> </li>
+<li><a class="el" href="Ecore__Config_8h.html">Ecore_Config - Configuration functions. </a> </li>
+<li><a class="el" href="Ecore__Evas_8h.html">Ecore_Evas - Evas convenience functions. </a> </li>
+<li><a class="el" href="Ecore__Fb_8h.html">Ecore_FB - Frame buffer convenience functions. </a> </li>
+<li><a class="el" href="Ecore__Ipc_8h.html">Ecore_IPC - Inter Process Communication functions. </a> </li>
+<li><a class="el" href="Ecore__Job_8h.html">Ecore_Job - Job functions, to be used in the Ecore main loop. </a> </li>
+<li><a class="el" href="Ecore__Txt_8h.html">Ecore_Txt - Text encoding conversion. </a> </li>
+<li><a class="el" href="Ecore__X_8h.html">Ecore_X - X Windows System wrapper. </a></li>
+</ul>
+<h2><a class="anchor" name="compiling">
+How to compile using Ecore?</a></h2>
+This section has to be documented. Below is just a quick line to handle all Ecore modules at once.<p>
+<div class="fragment"><pre class="fragment">
+gcc *.c \
+-I/usr/local/include -I/usr/X11R6/include \
+-L/usr/local/lib -L/usr/X11R6/lib \
+-lecore -lecore_evas -lecore_x -lecore_fb -lecore_job \
+`evas-config --cflags --libs`
+</pre></div><h2><a class="anchor" name="install">
+How is it installed?</a></h2>
+Suggested configure options for evas for a Linux desktop X display:<p>
+<div class="fragment"><pre class="fragment">
+./configure \
+--enable-ecore-x \
+--enable-ecore-fb \
+--enable-ecore-evas \
+--enable-ecore-evas-gl \
+--enable-ecore-job \
+--enable-ecore-con \
+--enable-ecore-ipc \
+--enable-ecore-txt
+make CFLAGS="-O9 -mpentiumpro -march=pentiumpro -mcpu=pentiumpro"
+</pre></div><p>
+<dl compact><dt><b><a class="el" href="todo.html#_todo000001">Todo:</a></b></dt><dd>(1.0) Document API</dd></dl>
+*/<p>
+/* </body>
+</html>
diff --git a/doc/html/list__destroy__example_8c-example.html b/doc/html/list__destroy__example_8c-example.html
new file mode 100644
index 0000000..304eb18
--- /dev/null
+++ b/doc/html/list__destroy__example_8c-example.html
@@ -0,0 +1,32 @@
+<html>
+
+<head>
+
+<title>Ecore: list_destroy_example.c</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1>list_destroy_example.c</h1>Shows how to set and use a destructor for an Ecore_List.<p>
+<div class="fragment"><pre class="fragment"></pre></div> </body>
+</html>
diff --git a/doc/html/list__example_8c-example.html b/doc/html/list__example_8c-example.html
new file mode 100644
index 0000000..8784719
--- /dev/null
+++ b/doc/html/list__example_8c-example.html
@@ -0,0 +1,32 @@
+<html>
+
+<head>
+
+<title>Ecore: list_example.c</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1>list_example.c</h1>Provides a basic example of how to append to and traverse a list.<p>
+<div class="fragment"><pre class="fragment"></pre></div> </body>
+</html>
diff --git a/doc/html/modules.html b/doc/html/modules.html
new file mode 100644
index 0000000..fe0f5ea
--- /dev/null
+++ b/doc/html/modules.html
@@ -0,0 +1,120 @@
+<html>
+
+<head>
+
+<title>Ecore: Module Index</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li id="current"><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1>Ecore Modules</h1>Here is a list of all modules:<ul>
+<li><a class="el" href="group__Ecore__Timer__Group.html">Ecore Timer</a>
+<li><a class="el" href="group__Ecore__Job__Group.html">Ecore Jobs</a>
+<li><a class="el" href="group__Idle__Group.html">Idle Handlers</a>
+<li><a class="el" href="group__Ecore__Config__Create__Group.html">Ecore Config Create Functions</a>
+<li><a class="el" href="group__Ecore__Config__File__Group.html">Ecore Config File Functions</a>
+<li><a class="el" href="group__Ecore__Exe__Basic__Group.html">Process Spawning Functions</a>
+<li><a class="el" href="group__Ecore__Exe__Signal__Group.html">Spawned Process Signal Functions</a>
+<li><a class="el" href="group__Ecore__Data__Hash__ADT__Creation__Group.html">Hash Creation Functions</a>
+<li><a class="el" href="group__Ecore__Data__Hash__ADT__Destruction__Group.html">Hash Destruction Functions</a>
+<li><a class="el" href="group__Ecore__Data__Hash__ADT__Data__Group.html">Hash Data Functions</a>
+<li><a class="el" href="group__Ecore__Data__Hash__ADT__Traverse__Group.html">Hash Traverse Functions</a>
+<li><a class="el" href="group__Ecore__Data__List__Creation__Group.html">List Creation/Destruction Functions</a>
+<li><a class="el" href="group__Ecore__Data__List__Add__Item__Group.html">List Item Adding Functions</a>
+<li><a class="el" href="group__Ecore__Data__List__Remove__Item__Group.html">List Item Removing Functions</a>
+<li><a class="el" href="group__Ecore__Data__List__Traverse__Group.html">List Traversal Functions</a>
+<li><a class="el" href="group__Ecore__Data__List__Node__Group.html">List Node Functions</a>
+<li><a class="el" href="group__Ecore__Data__DList__Creation__Group.html">Doubly Linked List Creation/Destruction Functions</a>
+<li><a class="el" href="group__Ecore__Data__DList__Add__Item__Group.html">Doubly Linked List Adding Functions</a>
+<li><a class="el" href="group__Ecore__Data__DList__Remove__Item__Group.html">Doubly Linked List Removing Functions</a>
+<li><a class="el" href="group__Ecore__Main__Loop__Group.html">Main Loop Functions</a>
+<li><a class="el" href="group__Ecore__FD__Handler__Group.html">File Event Handling Functions</a>
+<li><a class="el" href="group__Ecore__Path__Group.html">Path Group Functions</a>
+<li><a class="el" href="group__Ecore__Plugin.html">Plugin Functions</a>
+<li><a class="el" href="group__Ecore__String__Group.html">String Instance Functions</a>
+<li><a class="el" href="group__Ecore__Time__Group.html">Ecore Time Functions</a>
+<li><a class="el" href="group__Ecore__Con__Lib__Group.html">Ecore Connection Library Functions</a>
+<li><a class="el" href="group__Ecore__Con__Server__Group.html">Ecore Connection Server Functions</a>
+<li><a class="el" href="group__Ecore__Con__Client__Group.html">Ecore Connection Client Functions</a>
+<li><a class="el" href="group__Ecore__Config__Property__Group.html">Ecore Config Property Functions</a>
+<li><a class="el" href="group__Ecore__Config__Get__Group.html">Configuration Retrieve Functions</a>
+<li><a class="el" href="group__Ecore__Config__Set__Group.html">Ecore Config Setters</a>
+<li><a class="el" href="group__Ecore__Config__Default__Group.html">Ecore Config Defaults</a>
+<li><a class="el" href="group__Ecore__Config__Struct__Group.html">Ecore Config Structures</a>
+<li><a class="el" href="group__Ecore__Config__Listeners__Group.html">Ecore Config Listeners</a>
+<li><a class="el" href="group__Ecore__Config__App__Lib__Group.html">Ecore Config App Library Functions</a>
+<li><a class="el" href="group__Ecore__Config__Lib__Lib__Group.html">Ecore Config Library Functions</a>
+<li><a class="el" href="group__Ecore__Desktop__Main__Group.html">.desktop file Functions</a>
+<li><a class="el" href="group__Ecore__Desktop__Icon__Group.html">icon theme Functions</a>
+<li><a class="el" href="group__Ecore__Desktop__Menu__Group.html">menu Functions</a>
+<li><a class="el" href="group__Ecore__FB__Library__Group.html">Framebuffer Library Functions</a>
+<li><a class="el" href="group__Ecore__FB__Click__Group.html">Framebuffer Double Click Functions</a>
+<li><a class="el" href="group__Ecore__FB__Calibrate__Group.html">Framebuffer Calibration Functions</a>
+<li><a class="el" href="group__Ecore__FB__Backlight__Group.html">Framebuffer Backlight Functions</a>
+<li><a class="el" href="group__Ecore__FB__LED__Group.html">Framebuffer LED Functions</a>
+<li><a class="el" href="group__Ecore__FB__Contrast__Group.html">Framebuffer Contrast Functions</a>
+<li><a class="el" href="group__Ecore__IPC__Library__Group.html">IPC Library Functions</a>
+<li><a class="el" href="group__Ecore__IPC__Server__Group.html">IPC Server Functions</a>
+<li><a class="el" href="group__Ecore__IPC__Client__Group.html">IPC Client Functions</a>
+<li><a class="el" href="group__Ecore__Sdl__Library__Group.html">Framebuffer Library Functions</a>
+<li><a class="el" href="group__Ecore__X__Init__Group.html">X Library Init and Shutdown Functions</a>
+<li><a class="el" href="group__Ecore__X__Display__Attr__Group.html">X Display Attributes</a>
+<li><a class="el" href="group__Ecore__X__Flush__Group.html">X Synchronization Functions</a>
+<li><a class="el" href="group__Ecore__X__DPMS__Group.html">X DPMS Extension Functions</a>
+<li><a class="el" href="group__Ecore__X__Drawable__Group.html">X Drawable Functions</a>
+<li><a class="el" href="group__Ecore__X__Pixmap__Group.html">X Pixmap Functions</a>
+<li><a class="el" href="group__Ecore__X__Window__Create__Group.html">X Window Creation Functions</a>
+<li><a class="el" href="group__Evas__X__Window__Properties__Group.html">X Window Property Functions</a>
+<li><a class="el" href="group__Evas__X__Window__Destroy__Group.html">X Window Destroy Functions</a>
+<li><a class="el" href="group__Evas__X__Window__Visibility__Group.html">X Window Visibility Functions</a>
+<li><a class="el" href="group__Ecore__X__Window__Geometry__Group.html">X Window Geometry Functions</a>
+<li><a class="el" href="group__Ecore__X__Window__Focus__Functions.html">X Window Focus Functions</a>
+<li><a class="el" href="group__Ecore__X__Window__Z__Order__Group.html">X Window Z Order Functions</a>
+<li><a class="el" href="group__Ecore__X__Window__Parent__Group.html">X Window Parent Functions</a>
+<li><a class="el" href="group__Ecore__X__Window__Shape.html">X Window Shape Functions</a>
+<li><a class="el" href="group__Ecore__Xcb__Init__Group.html">X Library Init and Shutdown Functions</a>
+<li><a class="el" href="group__Ecore__Xcb__Display__Attr__Group.html">X Display Attributes</a>
+<li><a class="el" href="group__Ecore__Xcb__Flush__Group.html">X Synchronization Functions</a>
+<li><a class="el" href="group__Ecore__X__Atom__Group.html">XCB Atom Functions</a>
+<li><a class="el" href="group__Ecore__X__Damage__Group.html">X Damage Extension Functions</a>
+<li><a class="el" href="group__Ecore__X__Fixes__Group.html">X Fixes Extension Functions</a>
+<li><a class="el" href="group__Ecore__X__ICCCM__Group.html">ICCCM related functions.</a>
+<li><a class="el" href="group__Ecore__X__MWM__Group.html">MWM related functions.</a>
+<li><a class="el" href="group__Ecore__X__NetWM__Group.html">Extended Window Manager Hint (EWMH) functions</a>
+<li><a class="el" href="group__Ecore__X__RandR__Group.html">X RandR Extension Functions</a>
+<li><a class="el" href="group__Ecore__X__ScrenSaver__Group.html">X Shape extension</a>
+<li><a class="el" href="group__Ecore__X__Shape__Group.html">X Shape extension</a>
+<li><a class="el" href="group__Ecore__X__Sync__Group.html">X Sync Extension Functions</a>
+<li><a class="el" href="group__Ecore__X__Window__Destroy__Group.html">X Window Destroy Functions</a>
+<li><a class="el" href="group__Ecore__X__Window__Configure__Group.html">X Window Configure Functions</a>
+<li><a class="el" href="group__Evas__X__Window__Change__Properties__Group.html">X Window Change Property Functions</a>
+<li><a class="el" href="group__Ecore__X__Window__Visibility__Group.html">X Window Visibility Functions</a>
+<li><a class="el" href="group__Ecore__X__Window__Input__Focus__Group.html">X Window Input Focus Functions</a>
+<li><a class="el" href="group__Ecore__X__Window__Reparent__Group.html">X Window Reparent Functions</a>
+<li><a class="el" href="group__Ecore__X__Window__Change__Attributes__Group.html">X Window Change Attributes Functions</a>
+<li><a class="el" href="group__Ecore__X__Window__Save__Set__Group.html">X Window Change Save Set Functions</a>
+<li><a class="el" href="group__Ecore__X__Window__Get__Attributes__Group.html">X Window Get Attributes Functions</a>
+<li><a class="el" href="group__Ecore__X__Xinerama__Group.html">X Xinerama Extension Functions</a>
+</ul>
+</body>
+</html>
diff --git a/doc/html/pages.html b/doc/html/pages.html
new file mode 100644
index 0000000..aefbe0f
--- /dev/null
+++ b/doc/html/pages.html
@@ -0,0 +1,43 @@
+<html>
+
+<head>
+
+<title>Ecore: Page Index</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li id="current"><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1>Ecore Related Pages</h1>Here is a list of all related documentation pages:<ul>
+<li><a class="el" href="todo.html">Todo List</a>
+
+<li><a class="el" href="Ecore_Main_Loop_Page.html">The Ecore Main Loop</a>
+
+<li><a class="el" href="Ecore_Config_Page.html">The Enlightened Property Library</a>
+
+<li><a class="el" href="Ecore_ADT_Page.html">Ecore Abstract Data Types</a>
+
+<li><a class="el" href="X_Window_System_Page.html">X Window System</a>
+
+</ul>
+</body>
+</html>
diff --git a/doc/html/structEcore__Config__Prop.html b/doc/html/structEcore__Config__Prop.html
new file mode 100644
index 0000000..fc4a3be
--- /dev/null
+++ b/doc/html/structEcore__Config__Prop.html
@@ -0,0 +1,55 @@
+<html>
+
+<head>
+
+<title>Ecore: Ecore_Config_Prop Struct Reference</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li id="current"><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<div class="tabs">
+  <ul>
+    <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
+    <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
+  </ul></div>
+<h1>Ecore_Config_Prop Struct Reference</h1><!-- doxytag: class="Ecore_Config_Prop" -->The actual property for storing a key-value pair.  
+<a href="#_details">More...</a>
+<p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Data Fields</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5c60901e74bc4c97f6928cc079ecf455"></a><!-- doxytag: member="Ecore_Config_Prop::listeners" ref="5c60901e74bc4c97f6928cc079ecf455" args="" -->
+Ecore_Config_Listener_List *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structEcore__Config__Prop.html#5c60901e74bc4c97f6928cc079ecf455">listeners</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">&lt; Configuration flags. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7d67015b7bd9f693aaa88f41a89cd7c2"></a><!-- doxytag: member="Ecore_Config_Prop::parent" ref="7d67015b7bd9f693aaa88f41a89cd7c2" args="" -->
+<a class="el" href="structEcore__Config__Prop.html">Ecore_Config_Prop</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structEcore__Config__Prop.html#7d67015b7bd9f693aaa88f41a89cd7c2">parent</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">&lt; Stores extra data for the property. <br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+The actual property for storing a key-value pair. 
+<p>
+</body>
+</html>
diff --git a/doc/html/struct__Ecore__DirectFB__Event__Key__Down.html b/doc/html/struct__Ecore__DirectFB__Event__Key__Down.html
new file mode 100644
index 0000000..7c8f810
--- /dev/null
+++ b/doc/html/struct__Ecore__DirectFB__Event__Key__Down.html
@@ -0,0 +1,59 @@
+<html>
+
+<head>
+
+<title>Ecore: _Ecore_DirectFB_Event_Key_Down Struct Reference</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li id="current"><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<div class="tabs">
+  <ul>
+    <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
+    <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
+  </ul></div>
+<h1>_Ecore_DirectFB_Event_Key_Down Struct Reference</h1><!-- doxytag: class="_Ecore_DirectFB_Event_Key_Down" -->DirectFB Key Down event.  
+<a href="#_details">More...</a>
+<p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Data Fields</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b109592a5462d8a841a7034db7544592"></a><!-- doxytag: member="_Ecore_DirectFB_Event_Key_Down::name" ref="b109592a5462d8a841a7034db7544592" args="" -->
+char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Ecore__DirectFB__Event__Key__Down.html#b109592a5462d8a841a7034db7544592">name</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The name of the key that was released. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="79ae71422df70e3cfc238c4415dd28ba"></a><!-- doxytag: member="_Ecore_DirectFB_Event_Key_Down::string" ref="79ae71422df70e3cfc238c4415dd28ba" args="" -->
+char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Ecore__DirectFB__Event__Key__Down.html#79ae71422df70e3cfc238c4415dd28ba">string</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The logical symbol of the key that was pressed. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b78eb5c5123bbe633557ff10442d9ddf"></a><!-- doxytag: member="_Ecore_DirectFB_Event_Key_Down::key_compose" ref="b78eb5c5123bbe633557ff10442d9ddf" args="" -->
+char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Ecore__DirectFB__Event__Key__Down.html#b78eb5c5123bbe633557ff10442d9ddf">key_compose</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The UTF-8 string conversion if any. <br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+DirectFB Key Down event. 
+<p>
+</body>
+</html>
diff --git a/doc/html/struct__Ecore__DirectFB__Event__Key__Up.html b/doc/html/struct__Ecore__DirectFB__Event__Key__Up.html
new file mode 100644
index 0000000..8690eec
--- /dev/null
+++ b/doc/html/struct__Ecore__DirectFB__Event__Key__Up.html
@@ -0,0 +1,59 @@
+<html>
+
+<head>
+
+<title>Ecore: _Ecore_DirectFB_Event_Key_Up Struct Reference</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li id="current"><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<div class="tabs">
+  <ul>
+    <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
+    <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
+  </ul></div>
+<h1>_Ecore_DirectFB_Event_Key_Up Struct Reference</h1><!-- doxytag: class="_Ecore_DirectFB_Event_Key_Up" -->DirectFB Key Up event.  
+<a href="#_details">More...</a>
+<p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Data Fields</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="954b427a704b0db105a5268e28055a94"></a><!-- doxytag: member="_Ecore_DirectFB_Event_Key_Up::name" ref="954b427a704b0db105a5268e28055a94" args="" -->
+char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Ecore__DirectFB__Event__Key__Up.html#954b427a704b0db105a5268e28055a94">name</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The name of the key that was released. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="16c1281eeb60d02458061e18f0c22e1b"></a><!-- doxytag: member="_Ecore_DirectFB_Event_Key_Up::string" ref="16c1281eeb60d02458061e18f0c22e1b" args="" -->
+char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Ecore__DirectFB__Event__Key__Up.html#16c1281eeb60d02458061e18f0c22e1b">string</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The logical symbol of the key that was pressed. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4bf674bf21999b9037c0be9b8fdcc250"></a><!-- doxytag: member="_Ecore_DirectFB_Event_Key_Up::key_compose" ref="4bf674bf21999b9037c0be9b8fdcc250" args="" -->
+char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Ecore__DirectFB__Event__Key__Up.html#4bf674bf21999b9037c0be9b8fdcc250">key_compose</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The UTF-8 string conversion if any. <br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+DirectFB Key Up event. 
+<p>
+</body>
+</html>
diff --git a/doc/html/struct__Ecore__Event__Signal__Exit.html b/doc/html/struct__Ecore__Event__Signal__Exit.html
new file mode 100644
index 0000000..acc02ac
--- /dev/null
+++ b/doc/html/struct__Ecore__Event__Signal__Exit.html
@@ -0,0 +1,67 @@
+<html>
+
+<head>
+
+<title>Ecore: _Ecore_Event_Signal_Exit Struct Reference</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li id="current"><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<div class="tabs">
+  <ul>
+    <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
+    <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
+  </ul></div>
+<h1>_Ecore_Event_Signal_Exit Struct Reference</h1><!-- doxytag: class="_Ecore_Event_Signal_Exit" -->Exit request event.  
+<a href="#_details">More...</a>
+<p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Data Fields</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="da096ee39c2b34d8a5a51c3ed172c248"></a><!-- doxytag: member="_Ecore_Event_Signal_Exit::interrupt" ref="da096ee39c2b34d8a5a51c3ed172c248" args="" -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Ecore__Event__Signal__Exit.html#da096ee39c2b34d8a5a51c3ed172c248">interrupt</a>: 1</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set if the exit request was an interrupt signal. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1533cb80d95ab13edf4f0fbbb9814056"></a><!-- doxytag: member="_Ecore_Event_Signal_Exit::quit" ref="1533cb80d95ab13edf4f0fbbb9814056" args="" -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Ecore__Event__Signal__Exit.html#1533cb80d95ab13edf4f0fbbb9814056">quit</a>: 1</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">set if the exit request was a quit signal <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d36792c3f6997f294d7f3f1855bb1fc0"></a><!-- doxytag: member="_Ecore_Event_Signal_Exit::terminate" ref="d36792c3f6997f294d7f3f1855bb1fc0" args="" -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Ecore__Event__Signal__Exit.html#d36792c3f6997f294d7f3f1855bb1fc0">terminate</a>: 1</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set if the exit request was a terminate singal. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d6a42f483c12d28d686134fa9f617770"></a><!-- doxytag: member="_Ecore_Event_Signal_Exit::ext_data" ref="d6a42f483c12d28d686134fa9f617770" args="" -->
+void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Ecore__Event__Signal__Exit.html#d6a42f483c12d28d686134fa9f617770">ext_data</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Extension data - not used. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ab4f003d3b402e56e8a1ff957656460e"></a><!-- doxytag: member="_Ecore_Event_Signal_Exit::data" ref="ab4f003d3b402e56e8a1ff957656460e" args="" -->
+siginfo_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Ecore__Event__Signal__Exit.html#ab4f003d3b402e56e8a1ff957656460e">data</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Signal info. <br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Exit request event. 
+<p>
+</body>
+</html>
diff --git a/doc/html/struct__Ecore__Event__Signal__Hup.html b/doc/html/struct__Ecore__Event__Signal__Hup.html
new file mode 100644
index 0000000..3047208
--- /dev/null
+++ b/doc/html/struct__Ecore__Event__Signal__Hup.html
@@ -0,0 +1,55 @@
+<html>
+
+<head>
+
+<title>Ecore: _Ecore_Event_Signal_Hup Struct Reference</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li id="current"><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<div class="tabs">
+  <ul>
+    <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
+    <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
+  </ul></div>
+<h1>_Ecore_Event_Signal_Hup Struct Reference</h1><!-- doxytag: class="_Ecore_Event_Signal_Hup" -->Hup signal event.  
+<a href="#_details">More...</a>
+<p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Data Fields</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e30cb55771cd193f4e6c131686251bdb"></a><!-- doxytag: member="_Ecore_Event_Signal_Hup::ext_data" ref="e30cb55771cd193f4e6c131686251bdb" args="" -->
+void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Ecore__Event__Signal__Hup.html#e30cb55771cd193f4e6c131686251bdb">ext_data</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Extension data - not used. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b851c107982e120e42d8f4e4bc23ae79"></a><!-- doxytag: member="_Ecore_Event_Signal_Hup::data" ref="b851c107982e120e42d8f4e4bc23ae79" args="" -->
+siginfo_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Ecore__Event__Signal__Hup.html#b851c107982e120e42d8f4e4bc23ae79">data</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Signal info. <br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Hup signal event. 
+<p>
+</body>
+</html>
diff --git a/doc/html/struct__Ecore__Event__Signal__Power.html b/doc/html/struct__Ecore__Event__Signal__Power.html
new file mode 100644
index 0000000..b0de52c
--- /dev/null
+++ b/doc/html/struct__Ecore__Event__Signal__Power.html
@@ -0,0 +1,55 @@
+<html>
+
+<head>
+
+<title>Ecore: _Ecore_Event_Signal_Power Struct Reference</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li id="current"><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<div class="tabs">
+  <ul>
+    <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
+    <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
+  </ul></div>
+<h1>_Ecore_Event_Signal_Power Struct Reference</h1><!-- doxytag: class="_Ecore_Event_Signal_Power" -->Power event.  
+<a href="#_details">More...</a>
+<p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Data Fields</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0ba80c3dc513409b131cbfedc705ed1d"></a><!-- doxytag: member="_Ecore_Event_Signal_Power::ext_data" ref="0ba80c3dc513409b131cbfedc705ed1d" args="" -->
+void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Ecore__Event__Signal__Power.html#0ba80c3dc513409b131cbfedc705ed1d">ext_data</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Extension data - not used. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d9cf5b11412e622bb3662804aeb79433"></a><!-- doxytag: member="_Ecore_Event_Signal_Power::data" ref="d9cf5b11412e622bb3662804aeb79433" args="" -->
+siginfo_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Ecore__Event__Signal__Power.html#d9cf5b11412e622bb3662804aeb79433">data</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Signal info. <br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Power event. 
+<p>
+</body>
+</html>
diff --git a/doc/html/struct__Ecore__Event__Signal__Realtime.html b/doc/html/struct__Ecore__Event__Signal__Realtime.html
new file mode 100644
index 0000000..0c29d14
--- /dev/null
+++ b/doc/html/struct__Ecore__Event__Signal__Realtime.html
@@ -0,0 +1,55 @@
+<html>
+
+<head>
+
+<title>Ecore: _Ecore_Event_Signal_Realtime Struct Reference</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li id="current"><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<div class="tabs">
+  <ul>
+    <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
+    <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
+  </ul></div>
+<h1>_Ecore_Event_Signal_Realtime Struct Reference</h1><!-- doxytag: class="_Ecore_Event_Signal_Realtime" -->Realtime event.  
+<a href="#_details">More...</a>
+<p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Data Fields</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a15d5830363c845ed4084b34e172b999"></a><!-- doxytag: member="_Ecore_Event_Signal_Realtime::num" ref="a15d5830363c845ed4084b34e172b999" args="" -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Ecore__Event__Signal__Realtime.html#a15d5830363c845ed4084b34e172b999">num</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The realtime signal's number. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="fa7ec212e5aeb48cc871a3b9364ebb98"></a><!-- doxytag: member="_Ecore_Event_Signal_Realtime::data" ref="fa7ec212e5aeb48cc871a3b9364ebb98" args="" -->
+siginfo_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Ecore__Event__Signal__Realtime.html#fa7ec212e5aeb48cc871a3b9364ebb98">data</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Signal info. <br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Realtime event. 
+<p>
+</body>
+</html>
diff --git a/doc/html/struct__Ecore__Event__Signal__User.html b/doc/html/struct__Ecore__Event__Signal__User.html
new file mode 100644
index 0000000..b83a856
--- /dev/null
+++ b/doc/html/struct__Ecore__Event__Signal__User.html
@@ -0,0 +1,76 @@
+<html>
+
+<head>
+
+<title>Ecore: _Ecore_Event_Signal_User Struct Reference</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li id="current"><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<div class="tabs">
+  <ul>
+    <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
+    <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
+  </ul></div>
+<h1>_Ecore_Event_Signal_User Struct Reference</h1><!-- doxytag: class="_Ecore_Event_Signal_User" -->User signal event.  
+<a href="#_details">More...</a>
+<p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Data Fields</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Ecore__Event__Signal__User.html#c7d62dfd53db3f29b357ad665836391f">number</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The signal number.  <a href="#c7d62dfd53db3f29b357ad665836391f"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7ebcd3aea69e47f9cafec3f26d51793b"></a><!-- doxytag: member="_Ecore_Event_Signal_User::ext_data" ref="7ebcd3aea69e47f9cafec3f26d51793b" args="" -->
+void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Ecore__Event__Signal__User.html#7ebcd3aea69e47f9cafec3f26d51793b">ext_data</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Extension data - not used. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0fb7a9de2a4aaaf6cfaa01c8f9af6065"></a><!-- doxytag: member="_Ecore_Event_Signal_User::data" ref="0fb7a9de2a4aaaf6cfaa01c8f9af6065" args="" -->
+siginfo_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Ecore__Event__Signal__User.html#0fb7a9de2a4aaaf6cfaa01c8f9af6065">data</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Signal info. <br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+User signal event. 
+<p>
+<hr><h2>Field Documentation</h2>
+<a class="anchor" name="c7d62dfd53db3f29b357ad665836391f"></a><!-- doxytag: member="_Ecore_Event_Signal_User::number" ref="c7d62dfd53db3f29b357ad665836391f" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int <a class="el" href="struct__Ecore__Event__Signal__User.html#c7d62dfd53db3f29b357ad665836391f">_Ecore_Event_Signal_User::number</a>          </td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+The signal number. 
+<p>
+Either 1 or 2 
+</div>
+</div><p>
+</body>
+</html>
diff --git a/doc/html/struct__Ecore__Exe__Event__Add.html b/doc/html/struct__Ecore__Exe__Event__Add.html
new file mode 100644
index 0000000..d737947
--- /dev/null
+++ b/doc/html/struct__Ecore__Exe__Event__Add.html
@@ -0,0 +1,55 @@
+<html>
+
+<head>
+
+<title>Ecore: _Ecore_Exe_Event_Add Struct Reference</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li id="current"><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<div class="tabs">
+  <ul>
+    <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
+    <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
+  </ul></div>
+<h1>_Ecore_Exe_Event_Add Struct Reference</h1><!-- doxytag: class="_Ecore_Exe_Event_Add" -->Process add event.  
+<a href="#_details">More...</a>
+<p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Data Fields</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="612b2e2360f7c7bb2e6e62723c2bd0d4"></a><!-- doxytag: member="_Ecore_Exe_Event_Add::exe" ref="612b2e2360f7c7bb2e6e62723c2bd0d4" args="" -->
+<a class="el" href="Ecore_8h.html#5560d4d853db434d387e818c908f394d">Ecore_Exe</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Ecore__Exe__Event__Add.html#612b2e2360f7c7bb2e6e62723c2bd0d4">exe</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The handle to the added process. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b2c5c48def951ce71ae37ce6d6a86dba"></a><!-- doxytag: member="_Ecore_Exe_Event_Add::ext_data" ref="b2c5c48def951ce71ae37ce6d6a86dba" args="" -->
+void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Ecore__Exe__Event__Add.html#b2c5c48def951ce71ae37ce6d6a86dba">ext_data</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Extension data - not used. <br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Process add event. 
+<p>
+</body>
+</html>
diff --git a/doc/html/struct__Ecore__Exe__Event__Data.html b/doc/html/struct__Ecore__Exe__Event__Data.html
new file mode 100644
index 0000000..c497aa9
--- /dev/null
+++ b/doc/html/struct__Ecore__Exe__Event__Data.html
@@ -0,0 +1,63 @@
+<html>
+
+<head>
+
+<title>Ecore: _Ecore_Exe_Event_Data Struct Reference</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li id="current"><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<div class="tabs">
+  <ul>
+    <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
+    <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
+  </ul></div>
+<h1>_Ecore_Exe_Event_Data Struct Reference</h1><!-- doxytag: class="_Ecore_Exe_Event_Data" -->Data from a child process event.  
+<a href="#_details">More...</a>
+<p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Data Fields</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="caac86d7814c1b2deb56aaca70c778c3"></a><!-- doxytag: member="_Ecore_Exe_Event_Data::exe" ref="caac86d7814c1b2deb56aaca70c778c3" args="" -->
+<a class="el" href="Ecore_8h.html#5560d4d853db434d387e818c908f394d">Ecore_Exe</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Ecore__Exe__Event__Data.html#caac86d7814c1b2deb56aaca70c778c3">exe</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The handle to the process. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="81848de0f19ad311c27b9e5d480d645f"></a><!-- doxytag: member="_Ecore_Exe_Event_Data::data" ref="81848de0f19ad311c27b9e5d480d645f" args="" -->
+void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Ecore__Exe__Event__Data.html#81848de0f19ad311c27b9e5d480d645f">data</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">the raw binary data from the child process that was recieved <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7d28f61d1dc37d2582ed1028c692c46f"></a><!-- doxytag: member="_Ecore_Exe_Event_Data::size" ref="7d28f61d1dc37d2582ed1028c692c46f" args="" -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Ecore__Exe__Event__Data.html#7d28f61d1dc37d2582ed1028c692c46f">size</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">the size of this data in bytes <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1026c19b787b37e94eb93b78575048fb"></a><!-- doxytag: member="_Ecore_Exe_Event_Data::lines" ref="1026c19b787b37e94eb93b78575048fb" args="" -->
+<a class="el" href="struct__Ecore__Exe__Event__Data__Line.html">Ecore_Exe_Event_Data_Line</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Ecore__Exe__Event__Data.html#1026c19b787b37e94eb93b78575048fb">lines</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">an array of line data if line buffered, the last one has it's line member set to NULL <br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Data from a child process event. 
+<p>
+</body>
+</html>
diff --git a/doc/html/struct__Ecore__Exe__Event__Data__Line.html b/doc/html/struct__Ecore__Exe__Event__Data__Line.html
new file mode 100644
index 0000000..483975e
--- /dev/null
+++ b/doc/html/struct__Ecore__Exe__Event__Data__Line.html
@@ -0,0 +1,46 @@
+<html>
+
+<head>
+
+<title>Ecore: _Ecore_Exe_Event_Data_Line Struct Reference</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li id="current"><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<div class="tabs">
+  <ul>
+    <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
+    <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
+  </ul></div>
+<h1>_Ecore_Exe_Event_Data_Line Struct Reference</h1><!-- doxytag: class="_Ecore_Exe_Event_Data_Line" -->&lt; Lines from a child process  
+<a href="#_details">More...</a>
+<p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+&lt; Lines from a child process 
+<p>
+</body>
+</html>
diff --git a/doc/html/struct__Ecore__Exe__Event__Del.html b/doc/html/struct__Ecore__Exe__Event__Del.html
new file mode 100644
index 0000000..a0f00f2
--- /dev/null
+++ b/doc/html/struct__Ecore__Exe__Event__Del.html
@@ -0,0 +1,75 @@
+<html>
+
+<head>
+
+<title>Ecore: _Ecore_Exe_Event_Del Struct Reference</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li id="current"><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<div class="tabs">
+  <ul>
+    <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
+    <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
+  </ul></div>
+<h1>_Ecore_Exe_Event_Del Struct Reference</h1><!-- doxytag: class="_Ecore_Exe_Event_Del" -->Process exit event.  
+<a href="#_details">More...</a>
+<p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Data Fields</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="752762c715f484f2902e52e3ab11a9cc"></a><!-- doxytag: member="_Ecore_Exe_Event_Del::pid" ref="752762c715f484f2902e52e3ab11a9cc" args="" -->
+pid_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Ecore__Exe__Event__Del.html#752762c715f484f2902e52e3ab11a9cc">pid</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The process ID of the process that exited. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1714cfb40533b20306abcb5f99b39c28"></a><!-- doxytag: member="_Ecore_Exe_Event_Del::exit_code" ref="1714cfb40533b20306abcb5f99b39c28" args="" -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Ecore__Exe__Event__Del.html#1714cfb40533b20306abcb5f99b39c28">exit_code</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The exit code of the process. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9de9755df6734d013662952e9f1c9c0d"></a><!-- doxytag: member="_Ecore_Exe_Event_Del::exe" ref="9de9755df6734d013662952e9f1c9c0d" args="" -->
+<a class="el" href="Ecore_8h.html#5560d4d853db434d387e818c908f394d">Ecore_Exe</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Ecore__Exe__Event__Del.html#9de9755df6734d013662952e9f1c9c0d">exe</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The handle to the exited process, or NULL if not found. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c288b30e7bb0302c6c207db0081fcac0"></a><!-- doxytag: member="_Ecore_Exe_Event_Del::exited" ref="c288b30e7bb0302c6c207db0081fcac0" args="" -->
+char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Ecore__Exe__Event__Del.html#c288b30e7bb0302c6c207db0081fcac0">exited</a>: 1</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">&lt; The signal that caused the process to exit <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d09e45349e3e8a6f91cd4161eeb8f603"></a><!-- doxytag: member="_Ecore_Exe_Event_Del::signalled" ref="d09e45349e3e8a6f91cd4161eeb8f603" args="" -->
+char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Ecore__Exe__Event__Del.html#d09e45349e3e8a6f91cd4161eeb8f603">signalled</a>: 1</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">&lt; set to 1 if the process exited of its own accord <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ec05ca26630d76bdbf1f55d51f6c25a6"></a><!-- doxytag: member="_Ecore_Exe_Event_Del::ext_data" ref="ec05ca26630d76bdbf1f55d51f6c25a6" args="" -->
+void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Ecore__Exe__Event__Del.html#ec05ca26630d76bdbf1f55d51f6c25a6">ext_data</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">&lt; set to 1 id the process exited due to uncaught signal Extension data - not used <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="863105c7240a62f296ba64fa016d2dd4"></a><!-- doxytag: member="_Ecore_Exe_Event_Del::data" ref="863105c7240a62f296ba64fa016d2dd4" args="" -->
+siginfo_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Ecore__Exe__Event__Del.html#863105c7240a62f296ba64fa016d2dd4">data</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Signal info. <br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Process exit event. 
+<p>
+</body>
+</html>
diff --git a/doc/html/struct__Ecore__Fb__Event__Key__Down.html b/doc/html/struct__Ecore__Fb__Event__Key__Down.html
new file mode 100644
index 0000000..a950ab4
--- /dev/null
+++ b/doc/html/struct__Ecore__Fb__Event__Key__Down.html
@@ -0,0 +1,63 @@
+<html>
+
+<head>
+
+<title>Ecore: _Ecore_Fb_Event_Key_Down Struct Reference</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li id="current"><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<div class="tabs">
+  <ul>
+    <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
+    <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
+  </ul></div>
+<h1>_Ecore_Fb_Event_Key_Down Struct Reference</h1><!-- doxytag: class="_Ecore_Fb_Event_Key_Down" -->FB Key Down event.  
+<a href="#_details">More...</a>
+<p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Data Fields</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="de8cd40893856ad509c6ceb6a0924ce4"></a><!-- doxytag: member="_Ecore_Fb_Event_Key_Down::dev" ref="de8cd40893856ad509c6ceb6a0924ce4" args="" -->
+Ecore_Fb_Input_Device *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Ecore__Fb__Event__Key__Down.html#de8cd40893856ad509c6ceb6a0924ce4">dev</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The device associated with the event. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="07a3690c56d2074ae9e89b630fb26bcf"></a><!-- doxytag: member="_Ecore_Fb_Event_Key_Down::keyname" ref="07a3690c56d2074ae9e89b630fb26bcf" args="" -->
+char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Ecore__Fb__Event__Key__Down.html#07a3690c56d2074ae9e89b630fb26bcf">keyname</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The name of the key that was pressed. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="516c26f9ea6b9fbf3a22f04b662faf1f"></a><!-- doxytag: member="_Ecore_Fb_Event_Key_Down::keysymbol" ref="516c26f9ea6b9fbf3a22f04b662faf1f" args="" -->
+char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Ecore__Fb__Event__Key__Down.html#516c26f9ea6b9fbf3a22f04b662faf1f">keysymbol</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The logical symbol of the key that was pressed. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="81218ce6e06cc7b4cf4330d644ff75b8"></a><!-- doxytag: member="_Ecore_Fb_Event_Key_Down::key_compose" ref="81218ce6e06cc7b4cf4330d644ff75b8" args="" -->
+char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Ecore__Fb__Event__Key__Down.html#81218ce6e06cc7b4cf4330d644ff75b8">key_compose</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The UTF-8 string conversion if any. <br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+FB Key Down event. 
+<p>
+</body>
+</html>
diff --git a/doc/html/struct__Ecore__Fb__Event__Key__Up.html b/doc/html/struct__Ecore__Fb__Event__Key__Up.html
new file mode 100644
index 0000000..fb8b636
--- /dev/null
+++ b/doc/html/struct__Ecore__Fb__Event__Key__Up.html
@@ -0,0 +1,63 @@
+<html>
+
+<head>
+
+<title>Ecore: _Ecore_Fb_Event_Key_Up Struct Reference</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li id="current"><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<div class="tabs">
+  <ul>
+    <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
+    <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
+  </ul></div>
+<h1>_Ecore_Fb_Event_Key_Up Struct Reference</h1><!-- doxytag: class="_Ecore_Fb_Event_Key_Up" -->FB Key Up event.  
+<a href="#_details">More...</a>
+<p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Data Fields</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0a3591978e78fed7d28c94b14ce7a677"></a><!-- doxytag: member="_Ecore_Fb_Event_Key_Up::dev" ref="0a3591978e78fed7d28c94b14ce7a677" args="" -->
+Ecore_Fb_Input_Device *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Ecore__Fb__Event__Key__Up.html#0a3591978e78fed7d28c94b14ce7a677">dev</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The device associated with the event. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ad6b0bc40e8372ecfd87718fec3afc44"></a><!-- doxytag: member="_Ecore_Fb_Event_Key_Up::keyname" ref="ad6b0bc40e8372ecfd87718fec3afc44" args="" -->
+char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Ecore__Fb__Event__Key__Up.html#ad6b0bc40e8372ecfd87718fec3afc44">keyname</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The name of the key that was released. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ff87f455eb511a538b258edcd661313a"></a><!-- doxytag: member="_Ecore_Fb_Event_Key_Up::keysymbol" ref="ff87f455eb511a538b258edcd661313a" args="" -->
+char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Ecore__Fb__Event__Key__Up.html#ff87f455eb511a538b258edcd661313a">keysymbol</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The logical symbol of the key that was pressed. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0a4999540e6728096cc4e5dc19b1cd32"></a><!-- doxytag: member="_Ecore_Fb_Event_Key_Up::key_compose" ref="0a4999540e6728096cc4e5dc19b1cd32" args="" -->
+char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Ecore__Fb__Event__Key__Up.html#0a4999540e6728096cc4e5dc19b1cd32">key_compose</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The UTF-8 string conversion if any. <br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+FB Key Up event. 
+<p>
+</body>
+</html>
diff --git a/doc/html/struct__Ecore__Fb__Event__Mouse__Button__Down.html b/doc/html/struct__Ecore__Fb__Event__Mouse__Button__Down.html
new file mode 100644
index 0000000..ff0a859
--- /dev/null
+++ b/doc/html/struct__Ecore__Fb__Event__Mouse__Button__Down.html
@@ -0,0 +1,71 @@
+<html>
+
+<head>
+
+<title>Ecore: _Ecore_Fb_Event_Mouse_Button_Down Struct Reference</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li id="current"><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<div class="tabs">
+  <ul>
+    <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
+    <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
+  </ul></div>
+<h1>_Ecore_Fb_Event_Mouse_Button_Down Struct Reference</h1><!-- doxytag: class="_Ecore_Fb_Event_Mouse_Button_Down" -->FB Mouse Down event.  
+<a href="#_details">More...</a>
+<p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Data Fields</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="924ffe37b33e3d5e78273220fb35963b"></a><!-- doxytag: member="_Ecore_Fb_Event_Mouse_Button_Down::dev" ref="924ffe37b33e3d5e78273220fb35963b" args="" -->
+Ecore_Fb_Input_Device *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Ecore__Fb__Event__Mouse__Button__Down.html#924ffe37b33e3d5e78273220fb35963b">dev</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The device associated with the event. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b0cdc1e011948fea5eb576552f6caf03"></a><!-- doxytag: member="_Ecore_Fb_Event_Mouse_Button_Down::button" ref="b0cdc1e011948fea5eb576552f6caf03" args="" -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Ecore__Fb__Event__Mouse__Button__Down.html#b0cdc1e011948fea5eb576552f6caf03">button</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Mouse button that was pressed (1 - 32). <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4f6d29ac41c6f2e35e2476dc76ad2c6f"></a><!-- doxytag: member="_Ecore_Fb_Event_Mouse_Button_Down::x" ref="4f6d29ac41c6f2e35e2476dc76ad2c6f" args="" -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Ecore__Fb__Event__Mouse__Button__Down.html#4f6d29ac41c6f2e35e2476dc76ad2c6f">x</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Mouse co-ordinates when mouse button was pressed. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9418252c8f60d9dc27ae7be931dc48e4"></a><!-- doxytag: member="_Ecore_Fb_Event_Mouse_Button_Down::y" ref="9418252c8f60d9dc27ae7be931dc48e4" args="" -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Ecore__Fb__Event__Mouse__Button__Down.html#9418252c8f60d9dc27ae7be931dc48e4">y</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Mouse co-ordinates when mouse button was pressed. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="51ca60b628902fe5195857da6b1efc4b"></a><!-- doxytag: member="_Ecore_Fb_Event_Mouse_Button_Down::double_click" ref="51ca60b628902fe5195857da6b1efc4b" args="" -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Ecore__Fb__Event__Mouse__Button__Down.html#51ca60b628902fe5195857da6b1efc4b">double_click</a>: 1</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set if click was a double click. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9e84612e78176164d38f79f21b82176d"></a><!-- doxytag: member="_Ecore_Fb_Event_Mouse_Button_Down::triple_click" ref="9e84612e78176164d38f79f21b82176d" args="" -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Ecore__Fb__Event__Mouse__Button__Down.html#9e84612e78176164d38f79f21b82176d">triple_click</a>: 1</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set if click was a triple click. <br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+FB Mouse Down event. 
+<p>
+</body>
+</html>
diff --git a/doc/html/struct__Ecore__Fb__Event__Mouse__Button__Up.html b/doc/html/struct__Ecore__Fb__Event__Mouse__Button__Up.html
new file mode 100644
index 0000000..286e1bb
--- /dev/null
+++ b/doc/html/struct__Ecore__Fb__Event__Mouse__Button__Up.html
@@ -0,0 +1,63 @@
+<html>
+
+<head>
+
+<title>Ecore: _Ecore_Fb_Event_Mouse_Button_Up Struct Reference</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li id="current"><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<div class="tabs">
+  <ul>
+    <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
+    <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
+  </ul></div>
+<h1>_Ecore_Fb_Event_Mouse_Button_Up Struct Reference</h1><!-- doxytag: class="_Ecore_Fb_Event_Mouse_Button_Up" -->FB Mouse Up event.  
+<a href="#_details">More...</a>
+<p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Data Fields</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f976b58da6ca8bcd603d91b443b58cf2"></a><!-- doxytag: member="_Ecore_Fb_Event_Mouse_Button_Up::dev" ref="f976b58da6ca8bcd603d91b443b58cf2" args="" -->
+Ecore_Fb_Input_Device *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Ecore__Fb__Event__Mouse__Button__Up.html#f976b58da6ca8bcd603d91b443b58cf2">dev</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The device associated with the event. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="696ffd0f14b66137fadc214291924534"></a><!-- doxytag: member="_Ecore_Fb_Event_Mouse_Button_Up::button" ref="696ffd0f14b66137fadc214291924534" args="" -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Ecore__Fb__Event__Mouse__Button__Up.html#696ffd0f14b66137fadc214291924534">button</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Mouse button that was released (1 - 32). <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="fc859234ef86263e348b2195b2a85d39"></a><!-- doxytag: member="_Ecore_Fb_Event_Mouse_Button_Up::x" ref="fc859234ef86263e348b2195b2a85d39" args="" -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Ecore__Fb__Event__Mouse__Button__Up.html#fc859234ef86263e348b2195b2a85d39">x</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Mouse co-ordinates when mouse button was raised. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="11d43c80b348ed2d29cb9cf67d85f4be"></a><!-- doxytag: member="_Ecore_Fb_Event_Mouse_Button_Up::y" ref="11d43c80b348ed2d29cb9cf67d85f4be" args="" -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Ecore__Fb__Event__Mouse__Button__Up.html#11d43c80b348ed2d29cb9cf67d85f4be">y</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Mouse co-ordinates when mouse button was raised. <br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+FB Mouse Up event. 
+<p>
+</body>
+</html>
diff --git a/doc/html/struct__Ecore__Fb__Event__Mouse__Move.html b/doc/html/struct__Ecore__Fb__Event__Mouse__Move.html
new file mode 100644
index 0000000..bcdf648
--- /dev/null
+++ b/doc/html/struct__Ecore__Fb__Event__Mouse__Move.html
@@ -0,0 +1,59 @@
+<html>
+
+<head>
+
+<title>Ecore: _Ecore_Fb_Event_Mouse_Move Struct Reference</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li id="current"><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<div class="tabs">
+  <ul>
+    <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
+    <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
+  </ul></div>
+<h1>_Ecore_Fb_Event_Mouse_Move Struct Reference</h1><!-- doxytag: class="_Ecore_Fb_Event_Mouse_Move" -->FB Mouse Move event.  
+<a href="#_details">More...</a>
+<p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Data Fields</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="cfb646cb979f0d28e039a679dfcacf2d"></a><!-- doxytag: member="_Ecore_Fb_Event_Mouse_Move::dev" ref="cfb646cb979f0d28e039a679dfcacf2d" args="" -->
+Ecore_Fb_Input_Device *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Ecore__Fb__Event__Mouse__Move.html#cfb646cb979f0d28e039a679dfcacf2d">dev</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The device associated with the event. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d19fb0554fe7185a61141ee2a4b54d19"></a><!-- doxytag: member="_Ecore_Fb_Event_Mouse_Move::x" ref="d19fb0554fe7185a61141ee2a4b54d19" args="" -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Ecore__Fb__Event__Mouse__Move.html#d19fb0554fe7185a61141ee2a4b54d19">x</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Mouse co-ordinates where the mouse cursor moved to. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1f340cb4a4c69a3bafc0deb2a67e7346"></a><!-- doxytag: member="_Ecore_Fb_Event_Mouse_Move::y" ref="1f340cb4a4c69a3bafc0deb2a67e7346" args="" -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Ecore__Fb__Event__Mouse__Move.html#1f340cb4a4c69a3bafc0deb2a67e7346">y</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Mouse co-ordinates where the mouse cursor moved to. <br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+FB Mouse Move event. 
+<p>
+</body>
+</html>
diff --git a/doc/html/struct__Ecore__Fb__Event__Mouse__Wheel.html b/doc/html/struct__Ecore__Fb__Event__Mouse__Wheel.html
new file mode 100644
index 0000000..70bb537
--- /dev/null
+++ b/doc/html/struct__Ecore__Fb__Event__Mouse__Wheel.html
@@ -0,0 +1,46 @@
+<html>
+
+<head>
+
+<title>Ecore: _Ecore_Fb_Event_Mouse_Wheel Struct Reference</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li id="current"><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<div class="tabs">
+  <ul>
+    <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
+    <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
+  </ul></div>
+<h1>_Ecore_Fb_Event_Mouse_Wheel Struct Reference</h1><!-- doxytag: class="_Ecore_Fb_Event_Mouse_Wheel" -->FB Mouse Wheel event.  
+<a href="#_details">More...</a>
+<p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+FB Mouse Wheel event. 
+<p>
+</body>
+</html>
diff --git a/doc/html/struct__Ecore__Sdl__Event__Key__Down.html b/doc/html/struct__Ecore__Sdl__Event__Key__Down.html
new file mode 100644
index 0000000..1735a1f
--- /dev/null
+++ b/doc/html/struct__Ecore__Sdl__Event__Key__Down.html
@@ -0,0 +1,55 @@
+<html>
+
+<head>
+
+<title>Ecore: _Ecore_Sdl_Event_Key_Down Struct Reference</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li id="current"><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<div class="tabs">
+  <ul>
+    <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
+    <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
+  </ul></div>
+<h1>_Ecore_Sdl_Event_Key_Down Struct Reference</h1><!-- doxytag: class="_Ecore_Sdl_Event_Key_Down" -->SDL Key Down event.  
+<a href="#_details">More...</a>
+<p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Data Fields</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d4308c561a400655a547ad48985e82bd"></a><!-- doxytag: member="_Ecore_Sdl_Event_Key_Down::keyname" ref="d4308c561a400655a547ad48985e82bd" args="" -->
+const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Ecore__Sdl__Event__Key__Down.html#d4308c561a400655a547ad48985e82bd">keyname</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The name of the key that was pressed. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3c325283c2eeda4f9b032d37ce806b7b"></a><!-- doxytag: member="_Ecore_Sdl_Event_Key_Down::keycompose" ref="3c325283c2eeda4f9b032d37ce806b7b" args="" -->
+const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Ecore__Sdl__Event__Key__Down.html#3c325283c2eeda4f9b032d37ce806b7b">keycompose</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The UTF-8 string conversion if any. <br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+SDL Key Down event. 
+<p>
+</body>
+</html>
diff --git a/doc/html/struct__Ecore__Sdl__Event__Key__Up.html b/doc/html/struct__Ecore__Sdl__Event__Key__Up.html
new file mode 100644
index 0000000..543b9f4
--- /dev/null
+++ b/doc/html/struct__Ecore__Sdl__Event__Key__Up.html
@@ -0,0 +1,55 @@
+<html>
+
+<head>
+
+<title>Ecore: _Ecore_Sdl_Event_Key_Up Struct Reference</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li id="current"><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<div class="tabs">
+  <ul>
+    <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
+    <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
+  </ul></div>
+<h1>_Ecore_Sdl_Event_Key_Up Struct Reference</h1><!-- doxytag: class="_Ecore_Sdl_Event_Key_Up" -->SDL Key Up event.  
+<a href="#_details">More...</a>
+<p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Data Fields</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8d2da547e7ab64e36fa729dc7bf7a93b"></a><!-- doxytag: member="_Ecore_Sdl_Event_Key_Up::keyname" ref="8d2da547e7ab64e36fa729dc7bf7a93b" args="" -->
+const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Ecore__Sdl__Event__Key__Up.html#8d2da547e7ab64e36fa729dc7bf7a93b">keyname</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The name of the key that was released. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="940e033936b6069a8576c38b9cd260dc"></a><!-- doxytag: member="_Ecore_Sdl_Event_Key_Up::keycompose" ref="940e033936b6069a8576c38b9cd260dc" args="" -->
+const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Ecore__Sdl__Event__Key__Up.html#940e033936b6069a8576c38b9cd260dc">keycompose</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The UTF-8 string conversion if any. <br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+SDL Key Up event. 
+<p>
+</body>
+</html>
diff --git a/doc/html/struct__Ecore__Sdl__Event__Mouse__Button__Down.html b/doc/html/struct__Ecore__Sdl__Event__Mouse__Button__Down.html
new file mode 100644
index 0000000..e4f2efc
--- /dev/null
+++ b/doc/html/struct__Ecore__Sdl__Event__Mouse__Button__Down.html
@@ -0,0 +1,67 @@
+<html>
+
+<head>
+
+<title>Ecore: _Ecore_Sdl_Event_Mouse_Button_Down Struct Reference</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li id="current"><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<div class="tabs">
+  <ul>
+    <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
+    <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
+  </ul></div>
+<h1>_Ecore_Sdl_Event_Mouse_Button_Down Struct Reference</h1><!-- doxytag: class="_Ecore_Sdl_Event_Mouse_Button_Down" -->SDL Mouse Down event.  
+<a href="#_details">More...</a>
+<p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Data Fields</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="68b68e4772d296de3b064f6912ae6deb"></a><!-- doxytag: member="_Ecore_Sdl_Event_Mouse_Button_Down::button" ref="68b68e4772d296de3b064f6912ae6deb" args="" -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Ecore__Sdl__Event__Mouse__Button__Down.html#68b68e4772d296de3b064f6912ae6deb">button</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Mouse button that was pressed (1 - 32). <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b11fde0e2c6c28e1209b4b07bcdc9c93"></a><!-- doxytag: member="_Ecore_Sdl_Event_Mouse_Button_Down::x" ref="b11fde0e2c6c28e1209b4b07bcdc9c93" args="" -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Ecore__Sdl__Event__Mouse__Button__Down.html#b11fde0e2c6c28e1209b4b07bcdc9c93">x</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Mouse co-ordinates when mouse button was pressed. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="93f0eb5d924077cb564459cde6f7596e"></a><!-- doxytag: member="_Ecore_Sdl_Event_Mouse_Button_Down::y" ref="93f0eb5d924077cb564459cde6f7596e" args="" -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Ecore__Sdl__Event__Mouse__Button__Down.html#93f0eb5d924077cb564459cde6f7596e">y</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Mouse co-ordinates when mouse button was pressed. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6ef39ae2ecd591ad7aad93e96ef4fa2a"></a><!-- doxytag: member="_Ecore_Sdl_Event_Mouse_Button_Down::double_click" ref="6ef39ae2ecd591ad7aad93e96ef4fa2a" args="" -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Ecore__Sdl__Event__Mouse__Button__Down.html#6ef39ae2ecd591ad7aad93e96ef4fa2a">double_click</a>: 1</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set if click was a double click. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="947ba33bd503b38ca11231afe950685a"></a><!-- doxytag: member="_Ecore_Sdl_Event_Mouse_Button_Down::triple_click" ref="947ba33bd503b38ca11231afe950685a" args="" -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Ecore__Sdl__Event__Mouse__Button__Down.html#947ba33bd503b38ca11231afe950685a">triple_click</a>: 1</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set if click was a triple click. <br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+SDL Mouse Down event. 
+<p>
+</body>
+</html>
diff --git a/doc/html/struct__Ecore__Sdl__Event__Mouse__Button__Up.html b/doc/html/struct__Ecore__Sdl__Event__Mouse__Button__Up.html
new file mode 100644
index 0000000..1a6f57c
--- /dev/null
+++ b/doc/html/struct__Ecore__Sdl__Event__Mouse__Button__Up.html
@@ -0,0 +1,67 @@
+<html>
+
+<head>
+
+<title>Ecore: _Ecore_Sdl_Event_Mouse_Button_Up Struct Reference</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li id="current"><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<div class="tabs">
+  <ul>
+    <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
+    <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
+  </ul></div>
+<h1>_Ecore_Sdl_Event_Mouse_Button_Up Struct Reference</h1><!-- doxytag: class="_Ecore_Sdl_Event_Mouse_Button_Up" -->SDL Mouse Up event.  
+<a href="#_details">More...</a>
+<p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Data Fields</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1670698bc32466836caa29411376c897"></a><!-- doxytag: member="_Ecore_Sdl_Event_Mouse_Button_Up::button" ref="1670698bc32466836caa29411376c897" args="" -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Ecore__Sdl__Event__Mouse__Button__Up.html#1670698bc32466836caa29411376c897">button</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Mouse button that was released (1 - 32). <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9ae214328935e2a4dbeed2e31fe4afd9"></a><!-- doxytag: member="_Ecore_Sdl_Event_Mouse_Button_Up::x" ref="9ae214328935e2a4dbeed2e31fe4afd9" args="" -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Ecore__Sdl__Event__Mouse__Button__Up.html#9ae214328935e2a4dbeed2e31fe4afd9">x</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Mouse co-ordinates when mouse button was raised. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="957a0fb1fcdccc726dc1ef6f138deac5"></a><!-- doxytag: member="_Ecore_Sdl_Event_Mouse_Button_Up::y" ref="957a0fb1fcdccc726dc1ef6f138deac5" args="" -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Ecore__Sdl__Event__Mouse__Button__Up.html#957a0fb1fcdccc726dc1ef6f138deac5">y</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Mouse co-ordinates when mouse button was raised. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4007ceae72a0fa9709dae4bfea936fc0"></a><!-- doxytag: member="_Ecore_Sdl_Event_Mouse_Button_Up::double_click" ref="4007ceae72a0fa9709dae4bfea936fc0" args="" -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Ecore__Sdl__Event__Mouse__Button__Up.html#4007ceae72a0fa9709dae4bfea936fc0">double_click</a>: 1</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set if click was a double click. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ca7cc54595cdf03d968af56063f571fd"></a><!-- doxytag: member="_Ecore_Sdl_Event_Mouse_Button_Up::triple_click" ref="ca7cc54595cdf03d968af56063f571fd" args="" -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Ecore__Sdl__Event__Mouse__Button__Up.html#ca7cc54595cdf03d968af56063f571fd">triple_click</a>: 1</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set if click was a triple click. <br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+SDL Mouse Up event. 
+<p>
+</body>
+</html>
diff --git a/doc/html/struct__Ecore__Sdl__Event__Mouse__Move.html b/doc/html/struct__Ecore__Sdl__Event__Mouse__Move.html
new file mode 100644
index 0000000..8e53115
--- /dev/null
+++ b/doc/html/struct__Ecore__Sdl__Event__Mouse__Move.html
@@ -0,0 +1,55 @@
+<html>
+
+<head>
+
+<title>Ecore: _Ecore_Sdl_Event_Mouse_Move Struct Reference</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li id="current"><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<div class="tabs">
+  <ul>
+    <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
+    <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
+  </ul></div>
+<h1>_Ecore_Sdl_Event_Mouse_Move Struct Reference</h1><!-- doxytag: class="_Ecore_Sdl_Event_Mouse_Move" -->SDL Mouse Move event.  
+<a href="#_details">More...</a>
+<p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Data Fields</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0c23f32918866bf028e0695aa6033eac"></a><!-- doxytag: member="_Ecore_Sdl_Event_Mouse_Move::x" ref="0c23f32918866bf028e0695aa6033eac" args="" -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Ecore__Sdl__Event__Mouse__Move.html#0c23f32918866bf028e0695aa6033eac">x</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Mouse co-ordinates where the mouse cursor moved to. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="86e0f3cb21d6261881bf950c8ab086d2"></a><!-- doxytag: member="_Ecore_Sdl_Event_Mouse_Move::y" ref="86e0f3cb21d6261881bf950c8ab086d2" args="" -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Ecore__Sdl__Event__Mouse__Move.html#86e0f3cb21d6261881bf950c8ab086d2">y</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Mouse co-ordinates where the mouse cursor moved to. <br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+SDL Mouse Move event. 
+<p>
+</body>
+</html>
diff --git a/doc/html/struct__Ecore__Sdl__Event__Mouse__Wheel.html b/doc/html/struct__Ecore__Sdl__Event__Mouse__Wheel.html
new file mode 100644
index 0000000..f4dfd32
--- /dev/null
+++ b/doc/html/struct__Ecore__Sdl__Event__Mouse__Wheel.html
@@ -0,0 +1,46 @@
+<html>
+
+<head>
+
+<title>Ecore: _Ecore_Sdl_Event_Mouse_Wheel Struct Reference</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li id="current"><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<div class="tabs">
+  <ul>
+    <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
+    <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
+  </ul></div>
+<h1>_Ecore_Sdl_Event_Mouse_Wheel Struct Reference</h1><!-- doxytag: class="_Ecore_Sdl_Event_Mouse_Wheel" -->SDL Mouse Wheel event.  
+<a href="#_details">More...</a>
+<p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+SDL Mouse Wheel event. 
+<p>
+</body>
+</html>
diff --git a/doc/html/tab_b.gif b/doc/html/tab_b.gif
new file mode 100644
index 0000000..0d62348
Binary files /dev/null and b/doc/html/tab_b.gif differ
diff --git a/doc/html/tab_l.gif b/doc/html/tab_l.gif
new file mode 100644
index 0000000..9b1e633
Binary files /dev/null and b/doc/html/tab_l.gif differ
diff --git a/doc/html/tab_r.gif b/doc/html/tab_r.gif
new file mode 100644
index 0000000..ce9dd9f
Binary files /dev/null and b/doc/html/tab_r.gif differ
diff --git a/doc/html/tabs.css b/doc/html/tabs.css
new file mode 100644
index 0000000..a61552a
--- /dev/null
+++ b/doc/html/tabs.css
@@ -0,0 +1,102 @@
+/* tabs styles, based on http://www.alistapart.com/articles/slidingdoors */
+
+DIV.tabs
+{
+   float            : left;
+   width            : 100%;
+   background       : url("tab_b.gif") repeat-x bottom;
+   margin-bottom    : 4px;
+}
+
+DIV.tabs UL
+{
+   margin           : 0px;
+   padding-left     : 10px;
+   list-style       : none;
+}
+
+DIV.tabs LI, DIV.tabs FORM
+{
+   display          : inline;
+   margin           : 0px;
+   padding          : 0px;
+}
+
+DIV.tabs FORM
+{
+   float            : right;
+}
+
+DIV.tabs A
+{
+   float            : left;
+   background       : url("tab_r.gif") no-repeat right top;
+   border-bottom    : 1px solid #84B0C7;
+   font-size        : x-small;
+   font-weight      : bold;
+   text-decoration  : none;
+}
+
+DIV.tabs A:hover
+{
+   background-position: 100% -150px;
+}
+
+DIV.tabs A:link, DIV.tabs A:visited,
+DIV.tabs A:active, DIV.tabs A:hover
+{
+       color: #1A419D;
+}
+
+DIV.tabs SPAN
+{
+   float            : left;
+   display          : block;
+   background       : url("tab_l.gif") no-repeat left top;
+   padding          : 5px 9px;
+   white-space      : nowrap;
+}
+
+DIV.tabs INPUT
+{
+   float            : right;
+   display          : inline;
+   font-size        : 1em;
+}
+
+DIV.tabs TD
+{
+   font-size        : x-small;
+   font-weight      : bold;
+   text-decoration  : none;
+}
+
+
+
+/* Commented Backslash Hack hides rule from IE5-Mac \*/
+DIV.tabs SPAN {float : none;}
+/* End IE5-Mac hack */
+
+DIV.tabs A:hover SPAN
+{
+   background-position: 0% -150px;
+}
+
+DIV.tabs LI#current A
+{
+   background-position: 100% -150px;
+   border-width     : 0px;
+}
+
+DIV.tabs LI#current SPAN
+{
+   background-position: 0% -150px;
+   padding-bottom   : 6px;
+}
+
+DIV.nav
+{
+   background       : none;
+   border           : none;
+   border-bottom    : 1px solid #84B0C7;
+}
diff --git a/doc/html/timer__example_8c-example.html b/doc/html/timer__example_8c-example.html
new file mode 100644
index 0000000..bc16e00
--- /dev/null
+++ b/doc/html/timer__example_8c-example.html
@@ -0,0 +1,32 @@
+<html>
+
+<head>
+
+<title>Ecore: timer_example.c</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1>timer_example.c</h1>Demonstrates use of the ecore_timer.<p>
+<div class="fragment"><pre class="fragment"></pre></div> </body>
+</html>
diff --git a/doc/html/todo.html b/doc/html/todo.html
new file mode 100644
index 0000000..5ea571a
--- /dev/null
+++ b/doc/html/todo.html
@@ -0,0 +1,96 @@
+<html>
+
+<head>
+
+<title>Ecore: Todo List</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1><a class="anchor" name="todo">Todo List</a></h1><a class="anchor" name="_todo000001"></a> <dl>
+<dt>page <a class="el" href="index.html">Ecore</a>  </dt>
+<dd>(1.0) Document API<p>
+</dd>
+</dl>
+<p>
+<a class="anchor" name="_todo000006"></a> <dl>
+<dt>Global <a class="el" href="Ecore__Fb_8h.html#80cc9df0a7c985ffa5104f071a7b90b9">ecore_fb_callback_gain_set</a>  </dt>
+<dd>Documentation: Find out what this does. </dd>
+</dl>
+<p>
+<a class="anchor" name="_todo000007"></a> <dl>
+<dt>Global <a class="el" href="Ecore__Fb_8h.html#bf8e732055cf4d366d3000c91cf00cdb">ecore_fb_callback_lose_set</a>  </dt>
+<dd>Documentation: Find out what this does. </dd>
+</dl>
+<p>
+<a class="anchor" name="_todo000003"></a> <dl>
+<dt>Group <a class="el" href="group__Ecore__Path__Group.html">Ecore_Path_Group</a>  </dt>
+<dd>Give this a better description. </dd>
+</dl>
+<p>
+<a class="anchor" name="_todo000004"></a> <dl>
+<dt>Global <a class="el" href="group__Ecore__Con__Server__Group.html#g497d30961f7b9e8e5547ef674564efca">ecore_con_server_connected_get</a>  </dt>
+<dd>Check that this function does what the documenter believes it does. </dd>
+</dl>
+<p>
+<a class="anchor" name="_todo000005"></a> <dl>
+<dt>Global <a class="el" href="group__Ecore__FB__LED__Group.html#g3c3ae8419c3368d844770b616efdb360">ecore_fb_led_blink_set</a>  </dt>
+<dd>Documentation: Work out what speed the units are in. </dd>
+</dl>
+<p>
+<a class="anchor" name="_todo000008"></a> <dl>
+<dt>Global <a class="el" href="group__Ecore__IPC__Server__Group.html#geba705e14ef79c1f824fcc1c184ddadb">ecore_ipc_server_add</a>  </dt>
+<dd>Need to add protocol type parameter to this function. </dd>
+</dl>
+<p>
+<a class="anchor" name="_todo000009"></a> <dl>
+<dt>Global <a class="el" href="group__Ecore__IPC__Server__Group.html#gfe02c81940d4e5a464cb32e125887f7e">ecore_ipc_server_connect</a>  </dt>
+<dd>Need to add protocol type parameter. </dd>
+</dl>
+<p>
+<a class="anchor" name="_todo000010"></a> <dl>
+<dt>Global <a class="el" href="group__Ecore__IPC__Server__Group.html#ge192e84cfa5893c798662adfaed9dd57">ecore_ipc_server_send</a>  </dt>
+<dd>This function needs to become an IPC message. </dd>
+</dl>
+<p>
+<a class="anchor" name="_todo000010"></a> <dl>
+<dt>Global <a class="el" href="group__Ecore__IPC__Server__Group.html#ge192e84cfa5893c798662adfaed9dd57">ecore_ipc_server_send</a>  </dt>
+<dd>Fix up the documentation: Make sure what ref_to and response are. </dd>
+</dl>
+<p>
+<a class="anchor" name="_todo000012"></a> <dl>
+<dt>Global <a class="el" href="group__Ecore__IPC__Client__Group.html#gd401b95b95c998bcf7749ffe876de812">ecore_ipc_client_send</a>  </dt>
+<dd>This function needs to become an IPC message. </dd>
+</dl>
+<p>
+<a class="anchor" name="_todo000012"></a> <dl>
+<dt>Global <a class="el" href="group__Ecore__IPC__Client__Group.html#gd401b95b95c998bcf7749ffe876de812">ecore_ipc_client_send</a>  </dt>
+<dd>Make sure ref_to and response parameters are described correctly. </dd>
+</dl>
+<p>
+<a class="anchor" name="_todo000002"></a> <dl>
+<dt>Page <a class="el" href="Ecore_ADT_Page.html">Ecore Abstract Data Types</a>  </dt>
+<dd>Finish this. </dd>
+</dl>
+</body>
+</html>
diff --git a/doc/html/x__window__example_8c-example.html b/doc/html/x__window__example_8c-example.html
new file mode 100644
index 0000000..230205a
--- /dev/null
+++ b/doc/html/x__window__example_8c-example.html
@@ -0,0 +1,32 @@
+<html>
+
+<head>
+
+<title>Ecore: x_window_example.c</title>
+<link href=ecore.css rel=stylesheet type=text/css>
+
+</head>
+
+<body>
+<div class=nav>
+<table border=0 align=center><tr>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+<td width=100% align=center>
+E : C : O : R : E
+</td>
+<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td>
+</tr></table>
+</div>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul></div>
+<h1>x_window_example.c</h1>Shows the basics of using the X Windows system through Ecore functions.<p>
+<div class="fragment"><pre class="fragment"></pre></div> </body>
+</html>
diff --git a/doc/latex/Ecore_8h.tex b/doc/latex/Ecore_8h.tex
new file mode 100644
index 0000000..cd0c09f
--- /dev/null
+++ b/doc/latex/Ecore_8h.tex
@@ -0,0 +1,685 @@
+\hypertarget{Ecore_8h}{
+\section{Ecore.h File Reference}
+\label{Ecore_8h}\index{Ecore.h@{Ecore.h}}
+}
+The file that provides the program utility, main loop and timer functions. 
+
+\subsection*{Data Structures}
+\begin{CompactItemize}
+\item 
+struct \hyperlink{struct__Ecore__Event__Signal__User}{\_\-Ecore\_\-Event\_\-Signal\_\-User}
+\begin{CompactList}\small\item\em User signal event. \item\end{CompactList}\item 
+struct \hyperlink{struct__Ecore__Event__Signal__Hup}{\_\-Ecore\_\-Event\_\-Signal\_\-Hup}
+\begin{CompactList}\small\item\em Hup signal event. \item\end{CompactList}\item 
+struct \hyperlink{struct__Ecore__Event__Signal__Exit}{\_\-Ecore\_\-Event\_\-Signal\_\-Exit}
+\begin{CompactList}\small\item\em Exit request event. \item\end{CompactList}\item 
+struct \hyperlink{struct__Ecore__Event__Signal__Power}{\_\-Ecore\_\-Event\_\-Signal\_\-Power}
+\begin{CompactList}\small\item\em Power event. \item\end{CompactList}\item 
+struct \hyperlink{struct__Ecore__Event__Signal__Realtime}{\_\-Ecore\_\-Event\_\-Signal\_\-Realtime}
+\begin{CompactList}\small\item\em Realtime event. \item\end{CompactList}\item 
+struct \hyperlink{struct__Ecore__Exe__Event__Add}{\_\-Ecore\_\-Exe\_\-Event\_\-Add}
+\begin{CompactList}\small\item\em Process add event. \item\end{CompactList}\item 
+struct \hyperlink{struct__Ecore__Exe__Event__Del}{\_\-Ecore\_\-Exe\_\-Event\_\-Del}
+\begin{CompactList}\small\item\em Process exit event. \item\end{CompactList}\item 
+struct \hyperlink{struct__Ecore__Exe__Event__Data__Line}{\_\-Ecore\_\-Exe\_\-Event\_\-Data\_\-Line}
+\begin{CompactList}\small\item\em $<$ Lines from a child process \item\end{CompactList}\item 
+struct \hyperlink{struct__Ecore__Exe__Event__Data}{\_\-Ecore\_\-Exe\_\-Event\_\-Data}
+\begin{CompactList}\small\item\em Data from a child process event. \item\end{CompactList}\end{CompactItemize}
+\subsection*{Defines}
+\begin{CompactItemize}
+\item 
+\hypertarget{Ecore_8h_b1c2ecd8bba5f957ce06f06fc7e7743d}{
+\#define \hyperlink{Ecore_8h_b1c2ecd8bba5f957ce06f06fc7e7743d}{ECORE\_\-EVENT\_\-SIGNAL\_\-USER}~1}
+\label{Ecore_8h_b1c2ecd8bba5f957ce06f06fc7e7743d}
+
+\begin{CompactList}\small\item\em User signal event. \item\end{CompactList}\item 
+\hypertarget{Ecore_8h_3d04f0c2c30998957d968120659dc69f}{
+\#define \hyperlink{Ecore_8h_3d04f0c2c30998957d968120659dc69f}{ECORE\_\-EVENT\_\-SIGNAL\_\-HUP}~2}
+\label{Ecore_8h_3d04f0c2c30998957d968120659dc69f}
+
+\begin{CompactList}\small\item\em Hup signal event. \item\end{CompactList}\item 
+\hypertarget{Ecore_8h_0dd1e36930ae8fa8decc97564d57f310}{
+\#define \hyperlink{Ecore_8h_0dd1e36930ae8fa8decc97564d57f310}{ECORE\_\-EVENT\_\-SIGNAL\_\-EXIT}~3}
+\label{Ecore_8h_0dd1e36930ae8fa8decc97564d57f310}
+
+\begin{CompactList}\small\item\em Exit signal event. \item\end{CompactList}\item 
+\hypertarget{Ecore_8h_574bf58511179b54078843611c008811}{
+\#define \hyperlink{Ecore_8h_574bf58511179b54078843611c008811}{ECORE\_\-EVENT\_\-SIGNAL\_\-POWER}~4}
+\label{Ecore_8h_574bf58511179b54078843611c008811}
+
+\begin{CompactList}\small\item\em Power signal event. \item\end{CompactList}\item 
+\hypertarget{Ecore_8h_e4ce1d886fba149d60d3df1d8de05853}{
+\#define \hyperlink{Ecore_8h_e4ce1d886fba149d60d3df1d8de05853}{ECORE\_\-EVENT\_\-SIGNAL\_\-REALTIME}~5}
+\label{Ecore_8h_e4ce1d886fba149d60d3df1d8de05853}
+
+\begin{CompactList}\small\item\em Realtime signal event. \item\end{CompactList}\end{CompactItemize}
+\subsection*{Typedefs}
+\begin{CompactItemize}
+\item 
+\hypertarget{Ecore_8h_5560d4d853db434d387e818c908f394d}{
+typedef void \hyperlink{Ecore_8h_5560d4d853db434d387e818c908f394d}{Ecore\_\-Exe}}
+\label{Ecore_8h_5560d4d853db434d387e818c908f394d}
+
+\begin{CompactList}\small\item\em A handle for spawned processes. \item\end{CompactList}\item 
+\hypertarget{Ecore_8h_92618001317bf801365479da38c6a870}{
+typedef void \hyperlink{Ecore_8h_92618001317bf801365479da38c6a870}{Ecore\_\-Timer}}
+\label{Ecore_8h_92618001317bf801365479da38c6a870}
+
+\begin{CompactList}\small\item\em A handle for timers. \item\end{CompactList}\item 
+\hypertarget{Ecore_8h_2ebd4a41bdad5b1b99cf01a03bbfbf5d}{
+typedef void \hyperlink{Ecore_8h_2ebd4a41bdad5b1b99cf01a03bbfbf5d}{Ecore\_\-Idler}}
+\label{Ecore_8h_2ebd4a41bdad5b1b99cf01a03bbfbf5d}
+
+\begin{CompactList}\small\item\em A handle for idlers. \item\end{CompactList}\item 
+\hypertarget{Ecore_8h_6e0b6433dfefa8b89758a98863f38581}{
+typedef void \hyperlink{Ecore_8h_6e0b6433dfefa8b89758a98863f38581}{Ecore\_\-Idle\_\-Enterer}}
+\label{Ecore_8h_6e0b6433dfefa8b89758a98863f38581}
+
+\begin{CompactList}\small\item\em A handle for idle enterers. \item\end{CompactList}\item 
+\hypertarget{Ecore_8h_c76a20c78002c2cf5249a7e1c86e8095}{
+typedef void \hyperlink{Ecore_8h_c76a20c78002c2cf5249a7e1c86e8095}{Ecore\_\-Idle\_\-Exiter}}
+\label{Ecore_8h_c76a20c78002c2cf5249a7e1c86e8095}
+
+\begin{CompactList}\small\item\em A handle for idle exiters. \item\end{CompactList}\item 
+\hypertarget{Ecore_8h_b207e5d7d1cf2f13b1ff93755f695324}{
+typedef void \hyperlink{Ecore_8h_b207e5d7d1cf2f13b1ff93755f695324}{Ecore\_\-Fd\_\-Handler}}
+\label{Ecore_8h_b207e5d7d1cf2f13b1ff93755f695324}
+
+\begin{CompactList}\small\item\em A handle for Fd hanlders. \item\end{CompactList}\item 
+\hypertarget{Ecore_8h_bb4df52ad6467371a2b4c53e2a91be65}{
+typedef void \hyperlink{Ecore_8h_bb4df52ad6467371a2b4c53e2a91be65}{Ecore\_\-Event\_\-Handler}}
+\label{Ecore_8h_bb4df52ad6467371a2b4c53e2a91be65}
+
+\begin{CompactList}\small\item\em A handle for an event handler. \item\end{CompactList}\item 
+\hypertarget{Ecore_8h_44e553882342bddffe794345ccb374e8}{
+typedef void \hyperlink{Ecore_8h_44e553882342bddffe794345ccb374e8}{Ecore\_\-Event\_\-Filter}}
+\label{Ecore_8h_44e553882342bddffe794345ccb374e8}
+
+\begin{CompactList}\small\item\em A handle for an event filter. \item\end{CompactList}\item 
+\hypertarget{Ecore_8h_1022fefefa294c3c6be8d3f1924b4e97}{
+typedef void \hyperlink{Ecore_8h_1022fefefa294c3c6be8d3f1924b4e97}{Ecore\_\-Event}}
+\label{Ecore_8h_1022fefefa294c3c6be8d3f1924b4e97}
+
+\begin{CompactList}\small\item\em A handle for an event. \item\end{CompactList}\item 
+\hypertarget{Ecore_8h_9ada227f6aa0096c5c1b3e7b75a61b00}{
+typedef void \hyperlink{Ecore_8h_9ada227f6aa0096c5c1b3e7b75a61b00}{Ecore\_\-Animator}}
+\label{Ecore_8h_9ada227f6aa0096c5c1b3e7b75a61b00}
+
+\begin{CompactList}\small\item\em A handle for animators. \item\end{CompactList}\item 
+\hypertarget{Ecore_8h_02bd65bebca736e324b11d61f4adef45}{
+typedef \hyperlink{struct__Ecore__Event__Signal__User}{\_\-Ecore\_\-Event\_\-Signal\_\-User} \hyperlink{Ecore_8h_02bd65bebca736e324b11d61f4adef45}{Ecore\_\-Event\_\-Signal\_\-User}}
+\label{Ecore_8h_02bd65bebca736e324b11d61f4adef45}
+
+\begin{CompactList}\small\item\em User signal event. \item\end{CompactList}\item 
+\hypertarget{Ecore_8h_f3eaa720e4890961b2cf519ee5cd253d}{
+typedef \hyperlink{struct__Ecore__Event__Signal__Hup}{\_\-Ecore\_\-Event\_\-Signal\_\-Hup} \hyperlink{Ecore_8h_f3eaa720e4890961b2cf519ee5cd253d}{Ecore\_\-Event\_\-Signal\_\-Hup}}
+\label{Ecore_8h_f3eaa720e4890961b2cf519ee5cd253d}
+
+\begin{CompactList}\small\item\em Hup signal event. \item\end{CompactList}\item 
+\hypertarget{Ecore_8h_654cd9d55a25e2c858007967085cd2aa}{
+typedef \hyperlink{struct__Ecore__Event__Signal__Exit}{\_\-Ecore\_\-Event\_\-Signal\_\-Exit} \hyperlink{Ecore_8h_654cd9d55a25e2c858007967085cd2aa}{Ecore\_\-Event\_\-Signal\_\-Exit}}
+\label{Ecore_8h_654cd9d55a25e2c858007967085cd2aa}
+
+\begin{CompactList}\small\item\em Exit signal event. \item\end{CompactList}\item 
+\hypertarget{Ecore_8h_99878553b16a3f0c61eef2c4d291d7aa}{
+typedef \hyperlink{struct__Ecore__Event__Signal__Power}{\_\-Ecore\_\-Event\_\-Signal\_\-Power} \hyperlink{Ecore_8h_99878553b16a3f0c61eef2c4d291d7aa}{Ecore\_\-Event\_\-Signal\_\-Power}}
+\label{Ecore_8h_99878553b16a3f0c61eef2c4d291d7aa}
+
+\begin{CompactList}\small\item\em Power signal event. \item\end{CompactList}\item 
+\hypertarget{Ecore_8h_f4f3d2a3d3f6e525453bccf0d415c49f}{
+typedef \hyperlink{struct__Ecore__Event__Signal__Realtime}{\_\-Ecore\_\-Event\_\-Signal\_\-Realtime} \hyperlink{Ecore_8h_f4f3d2a3d3f6e525453bccf0d415c49f}{Ecore\_\-Event\_\-Signal\_\-Realtime}}
+\label{Ecore_8h_f4f3d2a3d3f6e525453bccf0d415c49f}
+
+\begin{CompactList}\small\item\em Realtime signal event. \item\end{CompactList}\item 
+\hypertarget{Ecore_8h_f37c080c298e92468a3f6972f57dd415}{
+typedef \hyperlink{struct__Ecore__Exe__Event__Add}{\_\-Ecore\_\-Exe\_\-Event\_\-Add} \hyperlink{Ecore_8h_f37c080c298e92468a3f6972f57dd415}{Ecore\_\-Exe\_\-Event\_\-Add}}
+\label{Ecore_8h_f37c080c298e92468a3f6972f57dd415}
+
+\begin{CompactList}\small\item\em Spawned Exe add event. \item\end{CompactList}\item 
+\hypertarget{Ecore_8h_5ce66424ac56c676b996ea162482a8e9}{
+typedef \hyperlink{struct__Ecore__Exe__Event__Del}{\_\-Ecore\_\-Exe\_\-Event\_\-Del} \hyperlink{Ecore_8h_5ce66424ac56c676b996ea162482a8e9}{Ecore\_\-Exe\_\-Event\_\-Del}}
+\label{Ecore_8h_5ce66424ac56c676b996ea162482a8e9}
+
+\begin{CompactList}\small\item\em Spawned Exe exit event. \item\end{CompactList}\item 
+\hypertarget{Ecore_8h_09b894017e3b396266df6ed3dc3e7e81}{
+typedef \hyperlink{struct__Ecore__Exe__Event__Data__Line}{\_\-Ecore\_\-Exe\_\-Event\_\-Data\_\-Line} \hyperlink{Ecore_8h_09b894017e3b396266df6ed3dc3e7e81}{Ecore\_\-Exe\_\-Event\_\-Data\_\-Line}}
+\label{Ecore_8h_09b894017e3b396266df6ed3dc3e7e81}
+
+\begin{CompactList}\small\item\em Lines from a child process. \item\end{CompactList}\item 
+\hypertarget{Ecore_8h_799793cb0c71d5ab0b6fae33ce71b2ba}{
+typedef \hyperlink{struct__Ecore__Exe__Event__Data}{\_\-Ecore\_\-Exe\_\-Event\_\-Data} \hyperlink{Ecore_8h_799793cb0c71d5ab0b6fae33ce71b2ba}{Ecore\_\-Exe\_\-Event\_\-Data}}
+\label{Ecore_8h_799793cb0c71d5ab0b6fae33ce71b2ba}
+
+\begin{CompactList}\small\item\em Data from a child process. \item\end{CompactList}\end{CompactItemize}
+\subsection*{Enumerations}
+\begin{CompactItemize}
+\item 
+enum \hyperlink{Ecore_8h_b5644f471dfa3bd182619601d9b60608}{\_\-Ecore\_\-Fd\_\-Handler\_\-Flags} \{ \par
+\hyperlink{Ecore_8h_b5644f471dfa3bd182619601d9b606081699f804eccf88e7e169a4a20f1d44e7}{ECORE\_\-FD\_\-READ} =  1, 
+\par
+\hyperlink{Ecore_8h_b5644f471dfa3bd182619601d9b60608654f7e6af4875742c5349c2cc55d1bab}{ECORE\_\-FD\_\-WRITE} =  2, 
+\par
+\hyperlink{Ecore_8h_b5644f471dfa3bd182619601d9b60608829d91235e3ca5eba61330c96a8074de}{ECORE\_\-FD\_\-ERROR} =  4
+ \}
+\item 
+enum \hyperlink{Ecore_8h_6fb12d2a7c21ff1340c0f69447f91599}{\_\-Ecore\_\-Exe\_\-Flags} \{ \par
+\hyperlink{Ecore_8h_6fb12d2a7c21ff1340c0f69447f9159976bc9e447a456727dc2d686b4682b512}{ECORE\_\-EXE\_\-PIPE\_\-READ} =  1, 
+\par
+\hyperlink{Ecore_8h_6fb12d2a7c21ff1340c0f69447f9159983dcb150caa9f5f4ce548eaa4a92c6af}{ECORE\_\-EXE\_\-PIPE\_\-WRITE} =  2, 
+\par
+\hyperlink{Ecore_8h_6fb12d2a7c21ff1340c0f69447f91599d3f4759d4ba470d6f5504621c903011a}{ECORE\_\-EXE\_\-PIPE\_\-ERROR} =  4, 
+\par
+\hyperlink{Ecore_8h_6fb12d2a7c21ff1340c0f69447f91599e97566413d58b792e92369966ffeece5}{ECORE\_\-EXE\_\-PIPE\_\-READ\_\-LINE\_\-BUFFERED} =  8, 
+\par
+\hyperlink{Ecore_8h_6fb12d2a7c21ff1340c0f69447f91599a8d2dc2d658ba80c75c4fce0c2045583}{ECORE\_\-EXE\_\-PIPE\_\-ERROR\_\-LINE\_\-BUFFERED} =  16, 
+\par
+\hyperlink{Ecore_8h_6fb12d2a7c21ff1340c0f69447f915996abaaef6ac55c2317bdd23cf71167062}{ECORE\_\-EXE\_\-PIPE\_\-AUTO} =  32, 
+\par
+\hyperlink{Ecore_8h_6fb12d2a7c21ff1340c0f69447f91599302fabf13b4f24007eba55b9e6041132}{ECORE\_\-EXE\_\-RESPAWN} =  64, 
+\par
+\hyperlink{Ecore_8h_6fb12d2a7c21ff1340c0f69447f915999ddffda12f29c003ebf2c34506779637}{ECORE\_\-EXE\_\-USE\_\-SH} =  128
+ \}
+\end{CompactItemize}
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+EAPI int \hyperlink{Ecore_8h_8af98881ecd1d24072b4fabf216754c4}{ecore\_\-init} (void)
+\begin{CompactList}\small\item\em Set up connections, signal handlers, sockets etc. \item\end{CompactList}\item 
+EAPI int \hyperlink{Ecore_8h_c64ef382d78a50e07af9e8c67800a57c}{ecore\_\-shutdown} (void)
+\begin{CompactList}\small\item\em Shut down connections, signal handlers sockets etc. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore_8h_eb02de014af9bfbe960c9f70b085e229}{ecore\_\-app\_\-args\_\-set} (int argc, const char $\ast$$\ast$argv)
+\begin{CompactList}\small\item\em Set up the programs command-line arguments. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore_8h_a74019a7622d9c4521e54580f50bd4cd}{ecore\_\-app\_\-args\_\-get} (int $\ast$argc, char $\ast$$\ast$$\ast$argv)
+\begin{CompactList}\small\item\em Return the programs stored command-line arguments. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore_8h_af096e6a822314947a189c40a5b52a3e}{ecore\_\-app\_\-restart} (void)
+\begin{CompactList}\small\item\em Restart the program executable with the command-line arguments stored. \item\end{CompactList}\item 
+EAPI \hyperlink{Ecore_8h_bb4df52ad6467371a2b4c53e2a91be65}{Ecore\_\-Event\_\-Handler} $\ast$ \hyperlink{Ecore_8h_00cbd01c45d256722d3090e1b7bc74e1}{ecore\_\-event\_\-handler\_\-add} (int type, int($\ast$func)(void $\ast$data, int type, void $\ast$event), const void $\ast$data)
+\begin{CompactList}\small\item\em Add an event handler. \item\end{CompactList}\item 
+EAPI void $\ast$ \hyperlink{Ecore_8h_3e3a748d36d1c5c60bce2a8940f4e2ff}{ecore\_\-event\_\-handler\_\-del} (\hyperlink{Ecore_8h_bb4df52ad6467371a2b4c53e2a91be65}{Ecore\_\-Event\_\-Handler} $\ast$event\_\-handler)
+\begin{CompactList}\small\item\em Delete an event handler. \item\end{CompactList}\item 
+EAPI \hyperlink{Ecore_8h_1022fefefa294c3c6be8d3f1924b4e97}{Ecore\_\-Event} $\ast$ \hyperlink{Ecore_8h_c999f93a7d2a84546fec6db2b54ecc4a}{ecore\_\-event\_\-add} (int type, void $\ast$ev, void($\ast$func\_\-free)(void $\ast$data, void $\ast$ev), void $\ast$data)
+\begin{CompactList}\small\item\em Add an event to the event queue. \item\end{CompactList}\item 
+EAPI void $\ast$ \hyperlink{Ecore_8h_1cf708f8772a4f315060a5b56ded5f2a}{ecore\_\-event\_\-del} (\hyperlink{Ecore_8h_1022fefefa294c3c6be8d3f1924b4e97}{Ecore\_\-Event} $\ast$event)
+\begin{CompactList}\small\item\em Delete an event from the queue. \item\end{CompactList}\item 
+EAPI int \hyperlink{Ecore_8h_2eecd9a96b831f5dca328048d12904c6}{ecore\_\-event\_\-type\_\-new} (void)
+\begin{CompactList}\small\item\em Allocate a new event type id sensibly and return the new id. \item\end{CompactList}\item 
+EAPI \hyperlink{Ecore_8h_44e553882342bddffe794345ccb374e8}{Ecore\_\-Event\_\-Filter} $\ast$ \hyperlink{Ecore_8h_e62a87ca884898ed599517cd6f5d9f74}{ecore\_\-event\_\-filter\_\-add} (void $\ast$($\ast$func\_\-start)(void $\ast$data), int($\ast$func\_\-filter)(void $\ast$data, void $\ast$loop\_\-data, int type, void $\ast$event), void($\ast$func\_\-end)(void $\ast$data, void $\ast$loop\_\-data), const void $\ast$data)
+\begin{CompactList}\small\item\em Add a filter the current event queue. \item\end{CompactList}\item 
+EAPI void $\ast$ \hyperlink{Ecore_8h_9d6fad05740824f26ba4901d448f0429}{ecore\_\-event\_\-filter\_\-del} (\hyperlink{Ecore_8h_44e553882342bddffe794345ccb374e8}{Ecore\_\-Event\_\-Filter} $\ast$ef)
+\begin{CompactList}\small\item\em Delete an event filter. \item\end{CompactList}\item 
+EAPI int \hyperlink{Ecore_8h_51773f3086610117744716fe2d3b5e5d}{ecore\_\-event\_\-current\_\-type\_\-get} (void)
+\begin{CompactList}\small\item\em Return the current event type being handled. \item\end{CompactList}\item 
+EAPI void $\ast$ \hyperlink{Ecore_8h_e8d052b97c036d82d2b44f8ea7cbeb64}{ecore\_\-event\_\-current\_\-event\_\-get} (void)
+\begin{CompactList}\small\item\em Return the current event type pointer handled. \item\end{CompactList}\item 
+EAPI \hyperlink{Ecore_8h_5560d4d853db434d387e818c908f394d}{Ecore\_\-Exe} $\ast$ \hyperlink{group__Ecore__Exe__Basic__Group_g7ee5b2a9c3b1458395ff60287d368faa}{ecore\_\-exe\_\-run} (const char $\ast$exe\_\-cmd, const void $\ast$data)
+\begin{CompactList}\small\item\em Spawns a child process. \item\end{CompactList}\item 
+EAPI \hyperlink{Ecore_8h_5560d4d853db434d387e818c908f394d}{Ecore\_\-Exe} $\ast$ \hyperlink{group__Ecore__Exe__Basic__Group_g769740ce38413683fb40ddf725ac54b7}{ecore\_\-exe\_\-pipe\_\-run} (const char $\ast$exe\_\-cmd, Ecore\_\-Exe\_\-Flags flags, const void $\ast$data)
+\begin{CompactList}\small\item\em Spawns a child process with its stdin/out available for communication. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Exe__Basic__Group_gcf1dfcfd5c4a7f57a85ac2369123e47e}{ecore\_\-exe\_\-send} (\hyperlink{Ecore_8h_5560d4d853db434d387e818c908f394d}{Ecore\_\-Exe} $\ast$exe, void $\ast$data, int size)
+\begin{CompactList}\small\item\em Sends data to the given child process which it recieves on stdin. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__Exe__Basic__Group_gf5b870a7a134744ecbe9accb57bb8730}{ecore\_\-exe\_\-close\_\-stdin} (\hyperlink{Ecore_8h_5560d4d853db434d387e818c908f394d}{Ecore\_\-Exe} $\ast$exe)
+\begin{CompactList}\small\item\em The stdin of the given child process will close when the write buffer is empty. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__Exe__Basic__Group_g2ab04470c77bedbaad1ff8e23277e375}{ecore\_\-exe\_\-auto\_\-limits\_\-set} (\hyperlink{Ecore_8h_5560d4d853db434d387e818c908f394d}{Ecore\_\-Exe} $\ast$exe, int start\_\-bytes, int end\_\-bytes, int start\_\-lines, int end\_\-lines)
+\begin{CompactList}\small\item\em Sets the auto pipe limits for the given process handle. \item\end{CompactList}\item 
+EAPI \hyperlink{struct__Ecore__Exe__Event__Data}{Ecore\_\-Exe\_\-Event\_\-Data} $\ast$ \hyperlink{group__Ecore__Exe__Basic__Group_gce51fedd2709f26c6c82cd0135aa6dbe}{ecore\_\-exe\_\-event\_\-data\_\-get} (\hyperlink{Ecore_8h_5560d4d853db434d387e818c908f394d}{Ecore\_\-Exe} $\ast$exe, Ecore\_\-Exe\_\-Flags flags)
+\begin{CompactList}\small\item\em Gets the auto pipe data for the given process handle. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__Exe__Basic__Group_g5a0737cb4881d4c4374697335e62336b}{ecore\_\-exe\_\-event\_\-data\_\-free} (\hyperlink{struct__Ecore__Exe__Event__Data}{Ecore\_\-Exe\_\-Event\_\-Data} $\ast$data)
+\begin{CompactList}\small\item\em Frees the given event data. \item\end{CompactList}\item 
+EAPI void $\ast$ \hyperlink{group__Ecore__Exe__Basic__Group_g07ef2b7bd313988a0d1691d7e3edcddb}{ecore\_\-exe\_\-free} (\hyperlink{Ecore_8h_5560d4d853db434d387e818c908f394d}{Ecore\_\-Exe} $\ast$exe)
+\begin{CompactList}\small\item\em Frees the given process handle. \item\end{CompactList}\item 
+EAPI pid\_\-t \hyperlink{group__Ecore__Exe__Basic__Group_g2677aa0958df5744ca31b1276a58ac5f}{ecore\_\-exe\_\-pid\_\-get} (\hyperlink{Ecore_8h_5560d4d853db434d387e818c908f394d}{Ecore\_\-Exe} $\ast$exe)
+\begin{CompactList}\small\item\em Retrieves the process ID of the given spawned process. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__Exe__Basic__Group_g68245a929e914cbe4fb64c287ef3f5ae}{ecore\_\-exe\_\-tag\_\-set} (\hyperlink{Ecore_8h_5560d4d853db434d387e818c908f394d}{Ecore\_\-Exe} $\ast$exe, const char $\ast$tag)
+\begin{CompactList}\small\item\em Sets the string tag for the given process handle. \item\end{CompactList}\item 
+EAPI char $\ast$ \hyperlink{group__Ecore__Exe__Basic__Group_g934ea965265b697840a44f860ac4f907}{ecore\_\-exe\_\-tag\_\-get} (\hyperlink{Ecore_8h_5560d4d853db434d387e818c908f394d}{Ecore\_\-Exe} $\ast$exe)
+\begin{CompactList}\small\item\em Retrieves the tag attached to the given process handle. \item\end{CompactList}\item 
+EAPI char $\ast$ \hyperlink{group__Ecore__Exe__Basic__Group_g21241b1825e413a04a1b4455e17bfb7d}{ecore\_\-exe\_\-cmd\_\-get} (\hyperlink{Ecore_8h_5560d4d853db434d387e818c908f394d}{Ecore\_\-Exe} $\ast$exe)
+\begin{CompactList}\small\item\em Retrieves the command of the given spawned process. \item\end{CompactList}\item 
+EAPI void $\ast$ \hyperlink{group__Ecore__Exe__Basic__Group_ge83b4ac303698d508d56953f153bd767}{ecore\_\-exe\_\-data\_\-get} (\hyperlink{Ecore_8h_5560d4d853db434d387e818c908f394d}{Ecore\_\-Exe} $\ast$exe)
+\begin{CompactList}\small\item\em Retrieves the data attached to the given process handle. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__Exe__Signal__Group_g390ff3fbd834c483cb3b52701061b224}{ecore\_\-exe\_\-pause} (\hyperlink{Ecore_8h_5560d4d853db434d387e818c908f394d}{Ecore\_\-Exe} $\ast$exe)
+\begin{CompactList}\small\item\em Pauses the given process by sending it a {\tt SIGSTOP} signal. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__Exe__Signal__Group_gb2a1c0e6b97362a08b043a53bb2167e9}{ecore\_\-exe\_\-continue} (\hyperlink{Ecore_8h_5560d4d853db434d387e818c908f394d}{Ecore\_\-Exe} $\ast$exe)
+\begin{CompactList}\small\item\em Continues the given paused process by sending it a {\tt SIGCONT} signal. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__Exe__Signal__Group_g181cf5546257df38243b82164317450d}{ecore\_\-exe\_\-terminate} (\hyperlink{Ecore_8h_5560d4d853db434d387e818c908f394d}{Ecore\_\-Exe} $\ast$exe)
+\begin{CompactList}\small\item\em Sends the given spawned process a terminate ({\tt SIGTERM}) signal. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__Exe__Signal__Group_ga1f87cd678eacacd8742a49703f94128}{ecore\_\-exe\_\-kill} (\hyperlink{Ecore_8h_5560d4d853db434d387e818c908f394d}{Ecore\_\-Exe} $\ast$exe)
+\begin{CompactList}\small\item\em Kills the given spawned process by sending it a {\tt SIGKILL} signal. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__Exe__Signal__Group_g293b5baa7703e113e7444f21855f7b95}{ecore\_\-exe\_\-signal} (\hyperlink{Ecore_8h_5560d4d853db434d387e818c908f394d}{Ecore\_\-Exe} $\ast$exe, int num)
+\begin{CompactList}\small\item\em Sends a {\tt SIGUSR} signal to the given spawned process. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__Exe__Signal__Group_ge50008a47cf6d717a8d2266b8b7fae57}{ecore\_\-exe\_\-hup} (\hyperlink{Ecore_8h_5560d4d853db434d387e818c908f394d}{Ecore\_\-Exe} $\ast$exe)
+\begin{CompactList}\small\item\em Sends a {\tt SIGHUP} signal to the given spawned process. \item\end{CompactList}\item 
+EAPI \hyperlink{Ecore_8h_2ebd4a41bdad5b1b99cf01a03bbfbf5d}{Ecore\_\-Idler} $\ast$ \hyperlink{group__Idle__Group_gf8f5b98c20b770bdca63a4e1c05baa5d}{ecore\_\-idler\_\-add} (int($\ast$func)(void $\ast$data), const void $\ast$data)
+\begin{CompactList}\small\item\em Add an idler handler. \item\end{CompactList}\item 
+EAPI void $\ast$ \hyperlink{group__Idle__Group_g280c1e88b0af4e829b4c543d51d14d7b}{ecore\_\-idler\_\-del} (\hyperlink{Ecore_8h_2ebd4a41bdad5b1b99cf01a03bbfbf5d}{Ecore\_\-Idler} $\ast$idler)
+\begin{CompactList}\small\item\em Delete an idler callback from the list to be executed. \item\end{CompactList}\item 
+EAPI \hyperlink{Ecore_8h_6e0b6433dfefa8b89758a98863f38581}{Ecore\_\-Idle\_\-Enterer} $\ast$ \hyperlink{group__Idle__Group_gb6c0951fcf365487f9d5da6d448bcedf}{ecore\_\-idle\_\-enterer\_\-add} (int($\ast$func)(void $\ast$data), const void $\ast$data)
+\begin{CompactList}\small\item\em Add an idle enterer handler. \item\end{CompactList}\item 
+EAPI void $\ast$ \hyperlink{group__Idle__Group_g27c437b6e8838785aff5df4861ae7649}{ecore\_\-idle\_\-enterer\_\-del} (\hyperlink{Ecore_8h_6e0b6433dfefa8b89758a98863f38581}{Ecore\_\-Idle\_\-Enterer} $\ast$idle\_\-enterer)
+\begin{CompactList}\small\item\em Delete an idle enterer callback. \item\end{CompactList}\item 
+EAPI \hyperlink{Ecore_8h_c76a20c78002c2cf5249a7e1c86e8095}{Ecore\_\-Idle\_\-Exiter} $\ast$ \hyperlink{group__Idle__Group_g340847383518405a92b5f1a619edc72b}{ecore\_\-idle\_\-exiter\_\-add} (int($\ast$func)(void $\ast$data), const void $\ast$data)
+\begin{CompactList}\small\item\em Add an idle exiter handler. \item\end{CompactList}\item 
+EAPI void $\ast$ \hyperlink{group__Idle__Group_gee428c5d4cfe03779cb19e44acb11823}{ecore\_\-idle\_\-exiter\_\-del} (\hyperlink{Ecore_8h_c76a20c78002c2cf5249a7e1c86e8095}{Ecore\_\-Idle\_\-Exiter} $\ast$idle\_\-exiter)
+\begin{CompactList}\small\item\em Delete an idle exiter handler from the list to be run on exiting idle state. \item\end{CompactList}\item 
+\hypertarget{group__Ecore__Main__Loop__Group_g7f5463c1d4f3f020968ed06d6e5816cb}{
+EAPI void \hyperlink{group__Ecore__Main__Loop__Group_g7f5463c1d4f3f020968ed06d6e5816cb}{ecore\_\-main\_\-loop\_\-iterate} (void)}
+\label{group__Ecore__Main__Loop__Group_g7f5463c1d4f3f020968ed06d6e5816cb}
+
+\begin{CompactList}\small\item\em Runs a single iteration of the main loop to process everything on the queue. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__Main__Loop__Group_g04daa7648a9d027bed25d27c150fdda7}{ecore\_\-main\_\-loop\_\-begin} (void)
+\begin{CompactList}\small\item\em Runs the application main loop. \item\end{CompactList}\item 
+\hypertarget{group__Ecore__Main__Loop__Group_g329898ea4b32333c12c34cfde48326fd}{
+EAPI void \hyperlink{group__Ecore__Main__Loop__Group_g329898ea4b32333c12c34cfde48326fd}{ecore\_\-main\_\-loop\_\-quit} (void)}
+\label{group__Ecore__Main__Loop__Group_g329898ea4b32333c12c34cfde48326fd}
+
+\begin{CompactList}\small\item\em Quits the main loop once all the events currently on the queue have been processed. \item\end{CompactList}\item 
+EAPI \hyperlink{Ecore_8h_b207e5d7d1cf2f13b1ff93755f695324}{Ecore\_\-Fd\_\-Handler} $\ast$ \hyperlink{group__Ecore__FD__Handler__Group_g6c0a9974e998e5b17c88b74e7eb4e852}{ecore\_\-main\_\-fd\_\-handler\_\-add} (int fd, Ecore\_\-Fd\_\-Handler\_\-Flags flags, int($\ast$func)(void $\ast$data, \hyperlink{Ecore_8h_b207e5d7d1cf2f13b1ff93755f695324}{Ecore\_\-Fd\_\-Handler} $\ast$fd\_\-handler), const void $\ast$data, int($\ast$buf\_\-func)(void $\ast$buf\_\-data, \hyperlink{Ecore_8h_b207e5d7d1cf2f13b1ff93755f695324}{Ecore\_\-Fd\_\-Handler} $\ast$fd\_\-handler), const void $\ast$buf\_\-data)
+\begin{CompactList}\small\item\em Adds a callback for activity on the given file descriptor. \item\end{CompactList}\item 
+EAPI void $\ast$ \hyperlink{group__Ecore__FD__Handler__Group_gd3f12bb7aa3b4240f001dcb27319eec2}{ecore\_\-main\_\-fd\_\-handler\_\-del} (\hyperlink{Ecore_8h_b207e5d7d1cf2f13b1ff93755f695324}{Ecore\_\-Fd\_\-Handler} $\ast$fd\_\-handler)
+\begin{CompactList}\small\item\em Deletes the given FD handler. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__FD__Handler__Group_gbc14e9f2f670e1b1334949e142f858b6}{ecore\_\-main\_\-fd\_\-handler\_\-fd\_\-get} (\hyperlink{Ecore_8h_b207e5d7d1cf2f13b1ff93755f695324}{Ecore\_\-Fd\_\-Handler} $\ast$fd\_\-handler)
+\begin{CompactList}\small\item\em Retrieves the file descriptor that the given handler is handling. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__FD__Handler__Group_g23b775f4dd6d59c83b1066139ddaeb57}{ecore\_\-main\_\-fd\_\-handler\_\-active\_\-get} (\hyperlink{Ecore_8h_b207e5d7d1cf2f13b1ff93755f695324}{Ecore\_\-Fd\_\-Handler} $\ast$fd\_\-handler, Ecore\_\-Fd\_\-Handler\_\-Flags flags)
+\begin{CompactList}\small\item\em Return if read, write or error, or a combination thereof, is active on the file descriptor of the given FD handler. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__FD__Handler__Group_g8e1cecdf75529a274b28df1544e9aec0}{ecore\_\-main\_\-fd\_\-handler\_\-active\_\-set} (\hyperlink{Ecore_8h_b207e5d7d1cf2f13b1ff93755f695324}{Ecore\_\-Fd\_\-Handler} $\ast$fd\_\-handler, Ecore\_\-Fd\_\-Handler\_\-Flags flags)
+\begin{CompactList}\small\item\em Set what active streams the given FD handler should be monitoring. \item\end{CompactList}\item 
+EAPI double \hyperlink{group__Ecore__Time__Group_g43846b079394bb4d098abf5c16dfc544}{ecore\_\-time\_\-get} (void)
+\begin{CompactList}\small\item\em Retrieves the current system time as a floating point value in seconds. \item\end{CompactList}\item 
+EAPI \hyperlink{Ecore_8h_92618001317bf801365479da38c6a870}{Ecore\_\-Timer} $\ast$ \hyperlink{group__Ecore__Time__Group_g8b8fb1c64bf42bc5be09d2f05df51813}{ecore\_\-timer\_\-add} (double in, int($\ast$func)(void $\ast$data), const void $\ast$data)
+\begin{CompactList}\small\item\em Creates a timer to call the given function in the given period of time. \item\end{CompactList}\item 
+EAPI void $\ast$ \hyperlink{group__Ecore__Time__Group_gb182e4c0e65b5b7241f7249de1b1039c}{ecore\_\-timer\_\-del} (\hyperlink{Ecore_8h_92618001317bf801365479da38c6a870}{Ecore\_\-Timer} $\ast$timer)
+\begin{CompactList}\small\item\em Delete the specified timer from the timer list. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__Time__Group_g7e3453623b90b1e182df46976c11d1e3}{ecore\_\-timer\_\-interval\_\-set} (\hyperlink{Ecore_8h_92618001317bf801365479da38c6a870}{Ecore\_\-Timer} $\ast$timer, double in)
+\begin{CompactList}\small\item\em Change the interval the timer ticks of. \item\end{CompactList}\item 
+EAPI \hyperlink{Ecore_8h_9ada227f6aa0096c5c1b3e7b75a61b00}{Ecore\_\-Animator} $\ast$ \hyperlink{Ecore_8h_471cfa6247a477b148112ff824578d33}{ecore\_\-animator\_\-add} (int($\ast$func)(void $\ast$data), const void $\ast$data)
+\begin{CompactList}\small\item\em Add a animator to tick off at every animaton tick during main loop execution. \item\end{CompactList}\item 
+EAPI void $\ast$ \hyperlink{Ecore_8h_be305ca44ea97aa64cb8eb9d4411a18e}{ecore\_\-animator\_\-del} (\hyperlink{Ecore_8h_9ada227f6aa0096c5c1b3e7b75a61b00}{Ecore\_\-Animator} $\ast$animator)
+\begin{CompactList}\small\item\em Delete the specified animator from the animator list. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore_8h_991995e7fe58c88992f6620e98304ec0}{ecore\_\-animator\_\-frametime\_\-set} (double frametime)
+\begin{CompactList}\small\item\em Set the animator call interval in seconds. \item\end{CompactList}\item 
+EAPI double \hyperlink{Ecore_8h_8175a8a4f4299bc48059e4884a0c2aab}{ecore\_\-animator\_\-frametime\_\-get} (void)
+\begin{CompactList}\small\item\em Get the animator call interval in seconds. \item\end{CompactList}\end{CompactItemize}
+\subsection*{Variables}
+\begin{CompactItemize}
+\item 
+\hypertarget{Ecore_8h_1d5f764613eda9fd965c8c772381c09f}{
+EAPI int \hyperlink{Ecore_8h_1d5f764613eda9fd965c8c772381c09f}{ECORE\_\-EXE\_\-EVENT\_\-ADD}}
+\label{Ecore_8h_1d5f764613eda9fd965c8c772381c09f}
+
+\begin{CompactList}\small\item\em A child process has been added. \item\end{CompactList}\item 
+\hypertarget{Ecore_8h_95be6a579ad942b068b064ac6896e92f}{
+EAPI int \hyperlink{Ecore_8h_95be6a579ad942b068b064ac6896e92f}{ECORE\_\-EXE\_\-EVENT\_\-DEL}}
+\label{Ecore_8h_95be6a579ad942b068b064ac6896e92f}
+
+\begin{CompactList}\small\item\em A child process has been deleted (it exited, naming consistant with the rest of ecore). \item\end{CompactList}\item 
+\hypertarget{Ecore_8h_5c071e00f68fca5cbb414d2faad9acb7}{
+EAPI int \hyperlink{Ecore_8h_5c071e00f68fca5cbb414d2faad9acb7}{ECORE\_\-EXE\_\-EVENT\_\-DATA}}
+\label{Ecore_8h_5c071e00f68fca5cbb414d2faad9acb7}
+
+\begin{CompactList}\small\item\em Data from a child process. \item\end{CompactList}\item 
+\hypertarget{Ecore_8h_e52cdfa67c6d91f67266762dff8b5e22}{
+EAPI int \hyperlink{Ecore_8h_e52cdfa67c6d91f67266762dff8b5e22}{ECORE\_\-EXE\_\-EVENT\_\-ERROR}}
+\label{Ecore_8h_e52cdfa67c6d91f67266762dff8b5e22}
+
+\begin{CompactList}\small\item\em Errors from a child process. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+The file that provides the program utility, main loop and timer functions. 
+
+This header provides the Ecore event handling loop. For more details, see \hyperlink{group__Ecore__Main__Loop__Group}{Main Loop Functions}.
+
+For the main loop to be of any use, you need to be able to add events and event handlers. Events for file descriptor events are covered in \hyperlink{group__Ecore__FD__Handler__Group}{File Event Handling Functions}.
+
+Time functions are covered in \hyperlink{group__Ecore__Time__Group}{Ecore Time Functions}.
+
+There is also provision for callbacks for when the loop enters or exits an idle state. See \hyperlink{group__Idle__Group}{Idle Handlers} for more information.
+
+Functions are also provided for spawning child processes using fork. See \hyperlink{group__Ecore__Exe__Basic__Group}{Process Spawning Functions} and \hyperlink{group__Ecore__Exe__Signal__Group}{Spawned Process Signal Functions} for more details. 
+
+\subsection{Enumeration Type Documentation}
+\hypertarget{Ecore_8h_6fb12d2a7c21ff1340c0f69447f91599}{
+\index{Ecore.h@{Ecore.h}!_Ecore_Exe_Flags@{\_\-Ecore\_\-Exe\_\-Flags}}
+\index{_Ecore_Exe_Flags@{\_\-Ecore\_\-Exe\_\-Flags}!Ecore.h@{Ecore.h}}
+\subsubsection[\_\-Ecore\_\-Exe\_\-Flags]{\setlength{\rightskip}{0pt plus 5cm}enum \hyperlink{Ecore_8h_6fb12d2a7c21ff1340c0f69447f91599}{\_\-Ecore\_\-Exe\_\-Flags}}}
+\label{Ecore_8h_6fb12d2a7c21ff1340c0f69447f91599}
+
+
+\begin{Desc}
+\item[Enumerator: ]\par
+\begin{description}
+\index{ECORE_EXE_PIPE_READ@{ECORE\_\-EXE\_\-PIPE\_\-READ}!Ecore.h@{Ecore.h}}\index{Ecore.h@{Ecore.h}!ECORE_EXE_PIPE_READ@{ECORE\_\-EXE\_\-PIPE\_\-READ}}\item[{\em 
+\hypertarget{Ecore_8h_6fb12d2a7c21ff1340c0f69447f9159976bc9e447a456727dc2d686b4682b512}{
+ECORE\_\-EXE\_\-PIPE\_\-READ}
+\label{Ecore_8h_6fb12d2a7c21ff1340c0f69447f9159976bc9e447a456727dc2d686b4682b512}
+}]Exe Pipe Read mask. \index{ECORE_EXE_PIPE_WRITE@{ECORE\_\-EXE\_\-PIPE\_\-WRITE}!Ecore.h@{Ecore.h}}\index{Ecore.h@{Ecore.h}!ECORE_EXE_PIPE_WRITE@{ECORE\_\-EXE\_\-PIPE\_\-WRITE}}\item[{\em 
+\hypertarget{Ecore_8h_6fb12d2a7c21ff1340c0f69447f9159983dcb150caa9f5f4ce548eaa4a92c6af}{
+ECORE\_\-EXE\_\-PIPE\_\-WRITE}
+\label{Ecore_8h_6fb12d2a7c21ff1340c0f69447f9159983dcb150caa9f5f4ce548eaa4a92c6af}
+}]Exe Pipe Write mask. \index{ECORE_EXE_PIPE_ERROR@{ECORE\_\-EXE\_\-PIPE\_\-ERROR}!Ecore.h@{Ecore.h}}\index{Ecore.h@{Ecore.h}!ECORE_EXE_PIPE_ERROR@{ECORE\_\-EXE\_\-PIPE\_\-ERROR}}\item[{\em 
+\hypertarget{Ecore_8h_6fb12d2a7c21ff1340c0f69447f91599d3f4759d4ba470d6f5504621c903011a}{
+ECORE\_\-EXE\_\-PIPE\_\-ERROR}
+\label{Ecore_8h_6fb12d2a7c21ff1340c0f69447f91599d3f4759d4ba470d6f5504621c903011a}
+}]Exe Pipe error mask. \index{ECORE_EXE_PIPE_READ_LINE_BUFFERED@{ECORE\_\-EXE\_\-PIPE\_\-READ\_\-LINE\_\-BUFFERED}!Ecore.h@{Ecore.h}}\index{Ecore.h@{Ecore.h}!ECORE_EXE_PIPE_READ_LINE_BUFFERED@{ECORE\_\-EXE\_\-PIPE\_\-READ\_\-LINE\_\-BUFFERED}}\item[{\em 
+\hypertarget{Ecore_8h_6fb12d2a7c21ff1340c0f69447f91599e97566413d58b792e92369966ffeece5}{
+ECORE\_\-EXE\_\-PIPE\_\-READ\_\-LINE\_\-BUFFERED}
+\label{Ecore_8h_6fb12d2a7c21ff1340c0f69447f91599e97566413d58b792e92369966ffeece5}
+}]Reads are buffered until a newline and delivered 1 event per line. \index{ECORE_EXE_PIPE_ERROR_LINE_BUFFERED@{ECORE\_\-EXE\_\-PIPE\_\-ERROR\_\-LINE\_\-BUFFERED}!Ecore.h@{Ecore.h}}\index{Ecore.h@{Ecore.h}!ECORE_EXE_PIPE_ERROR_LINE_BUFFERED@{ECORE\_\-EXE\_\-PIPE\_\-ERROR\_\-LINE\_\-BUFFERED}}\item[{\em 
+\hypertarget{Ecore_8h_6fb12d2a7c21ff1340c0f69447f91599a8d2dc2d658ba80c75c4fce0c2045583}{
+ECORE\_\-EXE\_\-PIPE\_\-ERROR\_\-LINE\_\-BUFFERED}
+\label{Ecore_8h_6fb12d2a7c21ff1340c0f69447f91599a8d2dc2d658ba80c75c4fce0c2045583}
+}]Errors are buffered until a newline and delivered 1 event per line. \index{ECORE_EXE_PIPE_AUTO@{ECORE\_\-EXE\_\-PIPE\_\-AUTO}!Ecore.h@{Ecore.h}}\index{Ecore.h@{Ecore.h}!ECORE_EXE_PIPE_AUTO@{ECORE\_\-EXE\_\-PIPE\_\-AUTO}}\item[{\em 
+\hypertarget{Ecore_8h_6fb12d2a7c21ff1340c0f69447f915996abaaef6ac55c2317bdd23cf71167062}{
+ECORE\_\-EXE\_\-PIPE\_\-AUTO}
+\label{Ecore_8h_6fb12d2a7c21ff1340c0f69447f915996abaaef6ac55c2317bdd23cf71167062}
+}]stdout and stderr are buffered automatically \index{ECORE_EXE_RESPAWN@{ECORE\_\-EXE\_\-RESPAWN}!Ecore.h@{Ecore.h}}\index{Ecore.h@{Ecore.h}!ECORE_EXE_RESPAWN@{ECORE\_\-EXE\_\-RESPAWN}}\item[{\em 
+\hypertarget{Ecore_8h_6fb12d2a7c21ff1340c0f69447f91599302fabf13b4f24007eba55b9e6041132}{
+ECORE\_\-EXE\_\-RESPAWN}
+\label{Ecore_8h_6fb12d2a7c21ff1340c0f69447f91599302fabf13b4f24007eba55b9e6041132}
+}]FIXME: Exe is restarted if it dies. \index{ECORE_EXE_USE_SH@{ECORE\_\-EXE\_\-USE\_\-SH}!Ecore.h@{Ecore.h}}\index{Ecore.h@{Ecore.h}!ECORE_EXE_USE_SH@{ECORE\_\-EXE\_\-USE\_\-SH}}\item[{\em 
+\hypertarget{Ecore_8h_6fb12d2a7c21ff1340c0f69447f915999ddffda12f29c003ebf2c34506779637}{
+ECORE\_\-EXE\_\-USE\_\-SH}
+\label{Ecore_8h_6fb12d2a7c21ff1340c0f69447f915999ddffda12f29c003ebf2c34506779637}
+}]Use /bin/sh to run the command. \end{description}
+\end{Desc}
+
+\hypertarget{Ecore_8h_b5644f471dfa3bd182619601d9b60608}{
+\index{Ecore.h@{Ecore.h}!_Ecore_Fd_Handler_Flags@{\_\-Ecore\_\-Fd\_\-Handler\_\-Flags}}
+\index{_Ecore_Fd_Handler_Flags@{\_\-Ecore\_\-Fd\_\-Handler\_\-Flags}!Ecore.h@{Ecore.h}}
+\subsubsection[\_\-Ecore\_\-Fd\_\-Handler\_\-Flags]{\setlength{\rightskip}{0pt plus 5cm}enum \hyperlink{Ecore_8h_b5644f471dfa3bd182619601d9b60608}{\_\-Ecore\_\-Fd\_\-Handler\_\-Flags}}}
+\label{Ecore_8h_b5644f471dfa3bd182619601d9b60608}
+
+
+\begin{Desc}
+\item[Enumerator: ]\par
+\begin{description}
+\index{ECORE_FD_READ@{ECORE\_\-FD\_\-READ}!Ecore.h@{Ecore.h}}\index{Ecore.h@{Ecore.h}!ECORE_FD_READ@{ECORE\_\-FD\_\-READ}}\item[{\em 
+\hypertarget{Ecore_8h_b5644f471dfa3bd182619601d9b606081699f804eccf88e7e169a4a20f1d44e7}{
+ECORE\_\-FD\_\-READ}
+\label{Ecore_8h_b5644f471dfa3bd182619601d9b606081699f804eccf88e7e169a4a20f1d44e7}
+}]Fd Read mask. \index{ECORE_FD_WRITE@{ECORE\_\-FD\_\-WRITE}!Ecore.h@{Ecore.h}}\index{Ecore.h@{Ecore.h}!ECORE_FD_WRITE@{ECORE\_\-FD\_\-WRITE}}\item[{\em 
+\hypertarget{Ecore_8h_b5644f471dfa3bd182619601d9b60608654f7e6af4875742c5349c2cc55d1bab}{
+ECORE\_\-FD\_\-WRITE}
+\label{Ecore_8h_b5644f471dfa3bd182619601d9b60608654f7e6af4875742c5349c2cc55d1bab}
+}]Fd Write mask. \index{ECORE_FD_ERROR@{ECORE\_\-FD\_\-ERROR}!Ecore.h@{Ecore.h}}\index{Ecore.h@{Ecore.h}!ECORE_FD_ERROR@{ECORE\_\-FD\_\-ERROR}}\item[{\em 
+\hypertarget{Ecore_8h_b5644f471dfa3bd182619601d9b60608829d91235e3ca5eba61330c96a8074de}{
+ECORE\_\-FD\_\-ERROR}
+\label{Ecore_8h_b5644f471dfa3bd182619601d9b60608829d91235e3ca5eba61330c96a8074de}
+}]Fd Error mask. \end{description}
+\end{Desc}
+
+
+
+\subsection{Function Documentation}
+\hypertarget{Ecore_8h_471cfa6247a477b148112ff824578d33}{
+\index{Ecore.h@{Ecore.h}!ecore_animator_add@{ecore\_\-animator\_\-add}}
+\index{ecore_animator_add@{ecore\_\-animator\_\-add}!Ecore.h@{Ecore.h}}
+\subsubsection[ecore\_\-animator\_\-add]{\setlength{\rightskip}{0pt plus 5cm}EAPI \hyperlink{Ecore_8h_9ada227f6aa0096c5c1b3e7b75a61b00}{Ecore\_\-Animator}$\ast$ ecore\_\-animator\_\-add (int($\ast$)(void $\ast$data) {\em func}, const void $\ast$ {\em data})}}
+\label{Ecore_8h_471cfa6247a477b148112ff824578d33}
+
+
+Add a animator to tick off at every animaton tick during main loop execution. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em func}]The function to call when it ticks off \item[{\em data}]The data to pass to the function \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]A handle to the new animator\end{Desc}
+This function adds a animator and returns its handle on success and NULL on failure. The function {\tt func} will be called every N seconds where N is the frametime interval set by \hyperlink{Ecore_8h_991995e7fe58c88992f6620e98304ec0}{ecore\_\-animator\_\-frametime\_\-set()}. The function will be passed the {\tt data} pointer as its parameter.
+
+When the animator {\tt func} is called, it must return a value of either 1 or 0. If it returns 1, it will be called again at the next tick, or if it returns 0 it will be deleted automatically making any references/handles for it invalid. \hypertarget{Ecore_8h_be305ca44ea97aa64cb8eb9d4411a18e}{
+\index{Ecore.h@{Ecore.h}!ecore_animator_del@{ecore\_\-animator\_\-del}}
+\index{ecore_animator_del@{ecore\_\-animator\_\-del}!Ecore.h@{Ecore.h}}
+\subsubsection[ecore\_\-animator\_\-del]{\setlength{\rightskip}{0pt plus 5cm}EAPI void$\ast$ ecore\_\-animator\_\-del (\hyperlink{Ecore_8h_9ada227f6aa0096c5c1b3e7b75a61b00}{Ecore\_\-Animator} $\ast$ {\em animator})}}
+\label{Ecore_8h_be305ca44ea97aa64cb8eb9d4411a18e}
+
+
+Delete the specified animator from the animator list. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em animator}]The animator to delete \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The data pointer set for the animator\end{Desc}
+Delete the specified {\tt aqnimator} from the set of animators that are executed during main loop execution. This function returns the data parameter that was being passed to the callback on success, or NULL on failure. After this call returns the specified animator object {\tt animator} is invalid and should not be used again. It will not get called again after deletion. \hypertarget{Ecore_8h_8175a8a4f4299bc48059e4884a0c2aab}{
+\index{Ecore.h@{Ecore.h}!ecore_animator_frametime_get@{ecore\_\-animator\_\-frametime\_\-get}}
+\index{ecore_animator_frametime_get@{ecore\_\-animator\_\-frametime\_\-get}!Ecore.h@{Ecore.h}}
+\subsubsection[ecore\_\-animator\_\-frametime\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI double ecore\_\-animator\_\-frametime\_\-get (void)}}
+\label{Ecore_8h_8175a8a4f4299bc48059e4884a0c2aab}
+
+
+Get the animator call interval in seconds. 
+
+\begin{Desc}
+\item[Returns:]The time in second in between animator ticks.\end{Desc}
+this function retrieves the time inbetween animator ticks, in seconds. \hypertarget{Ecore_8h_991995e7fe58c88992f6620e98304ec0}{
+\index{Ecore.h@{Ecore.h}!ecore_animator_frametime_set@{ecore\_\-animator\_\-frametime\_\-set}}
+\index{ecore_animator_frametime_set@{ecore\_\-animator\_\-frametime\_\-set}!Ecore.h@{Ecore.h}}
+\subsubsection[ecore\_\-animator\_\-frametime\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-animator\_\-frametime\_\-set (double {\em frametime})}}
+\label{Ecore_8h_991995e7fe58c88992f6620e98304ec0}
+
+
+Set the animator call interval in seconds. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em frametime}]The time in seconds in between animator ticks.\end{description}
+\end{Desc}
+This function sets the time interval (in seconds) inbetween animator ticks. \hypertarget{Ecore_8h_a74019a7622d9c4521e54580f50bd4cd}{
+\index{Ecore.h@{Ecore.h}!ecore_app_args_get@{ecore\_\-app\_\-args\_\-get}}
+\index{ecore_app_args_get@{ecore\_\-app\_\-args\_\-get}!Ecore.h@{Ecore.h}}
+\subsubsection[ecore\_\-app\_\-args\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-app\_\-args\_\-get (int $\ast$ {\em argc}, char $\ast$$\ast$$\ast$ {\em argv})}}
+\label{Ecore_8h_a74019a7622d9c4521e54580f50bd4cd}
+
+
+Return the programs stored command-line arguments. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em argc}]A pointer to the return value to hold argc \item[{\em argv}]A pointer to the return value to hold argv\end{description}
+\end{Desc}
+When called, this funciton returns the arguments for the program stored by \hyperlink{Ecore_8h_eb02de014af9bfbe960c9f70b085e229}{ecore\_\-app\_\-args\_\-set()}. The integer pointed to by {\tt argc} will be filled, if the pointer is not NULL, and the string array pointer {\tt argv} will be filled also if the pointer is not NULL. The values they are filled with will be the same set by \hyperlink{Ecore_8h_eb02de014af9bfbe960c9f70b085e229}{ecore\_\-app\_\-args\_\-set()}. \hypertarget{Ecore_8h_eb02de014af9bfbe960c9f70b085e229}{
+\index{Ecore.h@{Ecore.h}!ecore_app_args_set@{ecore\_\-app\_\-args\_\-set}}
+\index{ecore_app_args_set@{ecore\_\-app\_\-args\_\-set}!Ecore.h@{Ecore.h}}
+\subsubsection[ecore\_\-app\_\-args\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-app\_\-args\_\-set (int {\em argc}, const char $\ast$$\ast$ {\em argv})}}
+\label{Ecore_8h_eb02de014af9bfbe960c9f70b085e229}
+
+
+Set up the programs command-line arguments. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em argc}]The same as passed as argc to the programs main() function \item[{\em argv}]The same as passed as argv to the programs main() function\end{description}
+\end{Desc}
+A call to this function will store the programs command-line arguments for later use by \hyperlink{Ecore_8h_af096e6a822314947a189c40a5b52a3e}{ecore\_\-app\_\-restart()} or \hyperlink{Ecore_8h_a74019a7622d9c4521e54580f50bd4cd}{ecore\_\-app\_\-args\_\-get()}. \hypertarget{Ecore_8h_af096e6a822314947a189c40a5b52a3e}{
+\index{Ecore.h@{Ecore.h}!ecore_app_restart@{ecore\_\-app\_\-restart}}
+\index{ecore_app_restart@{ecore\_\-app\_\-restart}!Ecore.h@{Ecore.h}}
+\subsubsection[ecore\_\-app\_\-restart]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-app\_\-restart (void)}}
+\label{Ecore_8h_af096e6a822314947a189c40a5b52a3e}
+
+
+Restart the program executable with the command-line arguments stored. 
+
+This function will restart \& re-execute this program in place of itself using the command-line arguments stored by \hyperlink{Ecore_8h_eb02de014af9bfbe960c9f70b085e229}{ecore\_\-app\_\-args\_\-set()}. This is an easy way for a program to restart itself for cleanup purposes, configuration reasons or in the event of a crash. \hypertarget{Ecore_8h_c999f93a7d2a84546fec6db2b54ecc4a}{
+\index{Ecore.h@{Ecore.h}!ecore_event_add@{ecore\_\-event\_\-add}}
+\index{ecore_event_add@{ecore\_\-event\_\-add}!Ecore.h@{Ecore.h}}
+\subsubsection[ecore\_\-event\_\-add]{\setlength{\rightskip}{0pt plus 5cm}EAPI \hyperlink{Ecore_8h_1022fefefa294c3c6be8d3f1924b4e97}{Ecore\_\-Event}$\ast$ ecore\_\-event\_\-add (int {\em type}, void $\ast$ {\em ev}, void($\ast$)(void $\ast$data, void $\ast$ev) {\em func\_\-free}, void $\ast$ {\em data})}}
+\label{Ecore_8h_c999f93a7d2a84546fec6db2b54ecc4a}
+
+
+Add an event to the event queue. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em type}]The event type to add to the end of the event queue \item[{\em ev}]The private data structure for this event type \item[{\em func\_\-free}]The function to be called to free this private structure \item[{\em data}]The data pointer to be passed to the free function \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]A Handle for that event\end{Desc}
+On success this function returns a handle to an event on the event queue, or NULL if it fails. If it succeeds, an event of type {\tt type} will be added to the queue for processing by event handlers added by \hyperlink{Ecore_8h_00cbd01c45d256722d3090e1b7bc74e1}{ecore\_\-event\_\-handler\_\-add()}. The {\tt ev} parameter will be a pointer to the event private data that is specific to that event type. When the event is no longer needed, {\tt func\_\-free} will be called and passed the private structure pointer for cleaning up. If {\tt func\_\-free} is NULL, free() will be called with the private structure pointer. func\_\-free is passed {\tt data} as its data parameter. \hypertarget{Ecore_8h_e8d052b97c036d82d2b44f8ea7cbeb64}{
+\index{Ecore.h@{Ecore.h}!ecore_event_current_event_get@{ecore\_\-event\_\-current\_\-event\_\-get}}
+\index{ecore_event_current_event_get@{ecore\_\-event\_\-current\_\-event\_\-get}!Ecore.h@{Ecore.h}}
+\subsubsection[ecore\_\-event\_\-current\_\-event\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI void$\ast$ ecore\_\-event\_\-current\_\-event\_\-get (void)}}
+\label{Ecore_8h_e8d052b97c036d82d2b44f8ea7cbeb64}
+
+
+Return the current event type pointer handled. 
+
+\begin{Desc}
+\item[Returns:]The current event pointer being handled if inside a handler callback\end{Desc}
+If the program is currently inside an Ecore event handler callback this will return the pointer of the current event being processed. If Ecore is not inside an event handler, NULL will be returned.
+
+This is useful when certain Ecore modules such as Ecore\_\-Evas \char`\"{}swallow\char`\"{} events and not all the original information is passed on. In special cases this extra information may be useful or needed and using this call can let the program access the event data if the type of the event is handled by the program. \hypertarget{Ecore_8h_51773f3086610117744716fe2d3b5e5d}{
+\index{Ecore.h@{Ecore.h}!ecore_event_current_type_get@{ecore\_\-event\_\-current\_\-type\_\-get}}
+\index{ecore_event_current_type_get@{ecore\_\-event\_\-current\_\-type\_\-get}!Ecore.h@{Ecore.h}}
+\subsubsection[ecore\_\-event\_\-current\_\-type\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-event\_\-current\_\-type\_\-get (void)}}
+\label{Ecore_8h_51773f3086610117744716fe2d3b5e5d}
+
+
+Return the current event type being handled. 
+
+\begin{Desc}
+\item[Returns:]The current event type being handled if inside a handler callback\end{Desc}
+If the program is currently inside an Ecore event handler callback this will return the type of the current event being processed. If Ecore is not inside an event handler, ECORE\_\-EVENT\_\-NONE is returned.
+
+This is useful when certain Ecore modules such as Ecore\_\-Evas \char`\"{}swallow\char`\"{} events and not all the original information is passed on. In special cases this extra information may be useful or needed and using this call can let the program know if the event type being handled is one it wants to get more information about. \hypertarget{Ecore_8h_1cf708f8772a4f315060a5b56ded5f2a}{
+\index{Ecore.h@{Ecore.h}!ecore_event_del@{ecore\_\-event\_\-del}}
+\index{ecore_event_del@{ecore\_\-event\_\-del}!Ecore.h@{Ecore.h}}
+\subsubsection[ecore\_\-event\_\-del]{\setlength{\rightskip}{0pt plus 5cm}EAPI void$\ast$ ecore\_\-event\_\-del (\hyperlink{Ecore_8h_1022fefefa294c3c6be8d3f1924b4e97}{Ecore\_\-Event} $\ast$ {\em event})}}
+\label{Ecore_8h_1cf708f8772a4f315060a5b56ded5f2a}
+
+
+Delete an event from the queue. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em event}]The event handle to delete \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The data pointer originally set for the event free function\end{Desc}
+This deletes the event {\tt event} from the event queue, and returns the {\tt data} parameer originally set when adding it with \hyperlink{Ecore_8h_c999f93a7d2a84546fec6db2b54ecc4a}{ecore\_\-event\_\-add()}. This does not immediately call the free function, and it may be called later on cleanup, and so if the free function depends on the data pointer to work, you should defer cleaning of this till the free function is called later. \hypertarget{Ecore_8h_e62a87ca884898ed599517cd6f5d9f74}{
+\index{Ecore.h@{Ecore.h}!ecore_event_filter_add@{ecore\_\-event\_\-filter\_\-add}}
+\index{ecore_event_filter_add@{ecore\_\-event\_\-filter\_\-add}!Ecore.h@{Ecore.h}}
+\subsubsection[ecore\_\-event\_\-filter\_\-add]{\setlength{\rightskip}{0pt plus 5cm}EAPI \hyperlink{Ecore_8h_44e553882342bddffe794345ccb374e8}{Ecore\_\-Event\_\-Filter}$\ast$ ecore\_\-event\_\-filter\_\-add (void $\ast$($\ast$)(void $\ast$data) {\em func\_\-start}, int($\ast$)(void $\ast$data, void $\ast$loop\_\-data, int type, void $\ast$event) {\em func\_\-filter}, void($\ast$)(void $\ast$data, void $\ast$loop\_\-data) {\em func\_\-end}, const void $\ast$ {\em data})}}
+\label{Ecore_8h_e62a87ca884898ed599517cd6f5d9f74}
+
+
+Add a filter the current event queue. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em func\_\-start}]Function to call just before filtering and return data \item[{\em func\_\-filter}]Function to call on each event \item[{\em func\_\-end}]Function to call after the queu has been filtered \item[{\em data}]Data to pass to the filter functions \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]A filter handle\end{Desc}
+This adds a filter to call callbacks to loop through the event queue and filter events out of the queue. On failure NULL is returned. On success a Filter handle is returned. Filters are called on the queue just before Event handler processing to try and remove redundant events. Just as processing starts {\tt func\_\-start} is called and passed the {\tt data} pointer. This function returns a pointer that is used as loop\_\-data that is now passed to {\tt func\_\-filter} as loop\_\-data. {\tt func\_\-filter} is also passed {\tt data} and the event type and private event structure. If this callback returns 0, the event is removed from the queue. If it returns 1, the event is kept. When processing is finished {\tt func\_\-end} is called and is passed the loop\_\-data and {\tt data} pointer to clean up. \hypertarget{Ecore_8h_9d6fad05740824f26ba4901d448f0429}{
+\index{Ecore.h@{Ecore.h}!ecore_event_filter_del@{ecore\_\-event\_\-filter\_\-del}}
+\index{ecore_event_filter_del@{ecore\_\-event\_\-filter\_\-del}!Ecore.h@{Ecore.h}}
+\subsubsection[ecore\_\-event\_\-filter\_\-del]{\setlength{\rightskip}{0pt plus 5cm}EAPI void$\ast$ ecore\_\-event\_\-filter\_\-del (\hyperlink{Ecore_8h_44e553882342bddffe794345ccb374e8}{Ecore\_\-Event\_\-Filter} $\ast$ {\em ef})}}
+\label{Ecore_8h_9d6fad05740824f26ba4901d448f0429}
+
+
+Delete an event filter. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em ef}]The event filter handle \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The data set for the filter\end{Desc}
+Delete a filter that has been added by its {\tt ef} handle. On success this will return the data pointer set when this filter was added. On failure NULL is returned. \hypertarget{Ecore_8h_00cbd01c45d256722d3090e1b7bc74e1}{
+\index{Ecore.h@{Ecore.h}!ecore_event_handler_add@{ecore\_\-event\_\-handler\_\-add}}
+\index{ecore_event_handler_add@{ecore\_\-event\_\-handler\_\-add}!Ecore.h@{Ecore.h}}
+\subsubsection[ecore\_\-event\_\-handler\_\-add]{\setlength{\rightskip}{0pt plus 5cm}EAPI \hyperlink{Ecore_8h_bb4df52ad6467371a2b4c53e2a91be65}{Ecore\_\-Event\_\-Handler}$\ast$ ecore\_\-event\_\-handler\_\-add (int {\em type}, int($\ast$)(void $\ast$data, int type, void $\ast$event) {\em func}, const void $\ast$ {\em data})}}
+\label{Ecore_8h_00cbd01c45d256722d3090e1b7bc74e1}
+
+
+Add an event handler. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em type}]The type of the event this handler will get called for \item[{\em func}]The function to call when the event is found in the queue \item[{\em data}]A data pointer to pass to the called function {\tt func} \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]A new Event handler, or NULL on failure\end{Desc}
+Add an event handler to the list of handlers. This will, on success, return a handle to the event handler object that was created, that can be used later to remove the handler using \hyperlink{Ecore_8h_3e3a748d36d1c5c60bce2a8940f4e2ff}{ecore\_\-event\_\-handler\_\-del()}. The {\tt type} parameter is the iteger of the event type that will trigger this callback to be called. The callback {\tt func} is called when this event is processed and will be passed the event type, a pointer to the private event structure that is specific to that event type, and a data pointer that is provided in this call as the {\tt data} parameter.
+
+When the callback {\tt func} is called, it must return 1 or 0. If it returns 1, It will keep being called as per normal, for each handler set up for that event type. If it returns 0, it will cease processing handlers for that particular event, so all handler set to handle that event type that have not already been called, will not be. \hypertarget{Ecore_8h_3e3a748d36d1c5c60bce2a8940f4e2ff}{
+\index{Ecore.h@{Ecore.h}!ecore_event_handler_del@{ecore\_\-event\_\-handler\_\-del}}
+\index{ecore_event_handler_del@{ecore\_\-event\_\-handler\_\-del}!Ecore.h@{Ecore.h}}
+\subsubsection[ecore\_\-event\_\-handler\_\-del]{\setlength{\rightskip}{0pt plus 5cm}EAPI void$\ast$ ecore\_\-event\_\-handler\_\-del (\hyperlink{Ecore_8h_bb4df52ad6467371a2b4c53e2a91be65}{Ecore\_\-Event\_\-Handler} $\ast$ {\em event\_\-handler})}}
+\label{Ecore_8h_3e3a748d36d1c5c60bce2a8940f4e2ff}
+
+
+Delete an event handler. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em event\_\-handler}]Event handler handle to delete \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]Data passed to handler\end{Desc}
+Delete a specified event handler from the handler list. On success this will delete the event handler and return the pointer passed as {\tt data} when the handler was added by \hyperlink{Ecore_8h_00cbd01c45d256722d3090e1b7bc74e1}{ecore\_\-event\_\-handler\_\-add()}. On failure NULL will be returned. Once a handler is deleted it will no longer be called. \hypertarget{Ecore_8h_2eecd9a96b831f5dca328048d12904c6}{
+\index{Ecore.h@{Ecore.h}!ecore_event_type_new@{ecore\_\-event\_\-type\_\-new}}
+\index{ecore_event_type_new@{ecore\_\-event\_\-type\_\-new}!Ecore.h@{Ecore.h}}
+\subsubsection[ecore\_\-event\_\-type\_\-new]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-event\_\-type\_\-new (void)}}
+\label{Ecore_8h_2eecd9a96b831f5dca328048d12904c6}
+
+
+Allocate a new event type id sensibly and return the new id. 
+
+\begin{Desc}
+\item[Returns:]A new event type id.\end{Desc}
+This function allocates a new event type id and returns it. Once an event type has been allocated it can never be de-allocated during the life of the program. There is no guarantee of the contents of this event ID, or how it is calculated, except that the ID will be unique to the current instance of the process. \hypertarget{Ecore_8h_8af98881ecd1d24072b4fabf216754c4}{
+\index{Ecore.h@{Ecore.h}!ecore_init@{ecore\_\-init}}
+\index{ecore_init@{ecore\_\-init}!Ecore.h@{Ecore.h}}
+\subsubsection[ecore\_\-init]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-init (void)}}
+\label{Ecore_8h_8af98881ecd1d24072b4fabf216754c4}
+
+
+Set up connections, signal handlers, sockets etc. 
+
+\begin{Desc}
+\item[Returns:]1 or greater on success, 0 otherwise\end{Desc}
+This function sets up all singal handlers and the basic event loop. If it succeeds, 1 will be returned, otherwise 0 will be returned.
+
+
+
+\begin{Code}\begin{verbatim} #include <Ecore.h>
+
+ int main(int argc, char **argv)
+ {
+   if (!ecore_init())
+   {
+     printf("ERROR: Cannot init Ecore!\n");
+     return -1;
+   }
+   ecore_main_loop_begin();
+   ecore_shutdown();
+ }
+\end{verbatim}\end{Code}
+
+ \hypertarget{Ecore_8h_c64ef382d78a50e07af9e8c67800a57c}{
+\index{Ecore.h@{Ecore.h}!ecore_shutdown@{ecore\_\-shutdown}}
+\index{ecore_shutdown@{ecore\_\-shutdown}!Ecore.h@{Ecore.h}}
+\subsubsection[ecore\_\-shutdown]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-shutdown (void)}}
+\label{Ecore_8h_c64ef382d78a50e07af9e8c67800a57c}
+
+
+Shut down connections, signal handlers sockets etc. 
+
+This function shuts down all things set up in \hyperlink{Ecore_8h_8af98881ecd1d24072b4fabf216754c4}{ecore\_\-init()} and cleans up all event queues, handlers, filters, timers, idlers, idle enterers/exiters etc. set up after \hyperlink{Ecore_8h_8af98881ecd1d24072b4fabf216754c4}{ecore\_\-init()} was called.
+
+Do not call this function from any callback that may be called from the main loop, as the main loop will then fall over and not function properly. 
\ No newline at end of file
diff --git a/doc/latex/Ecore_ADT_Page.tex b/doc/latex/Ecore_ADT_Page.tex
new file mode 100644
index 0000000..8ac00fb
--- /dev/null
+++ b/doc/latex/Ecore_ADT_Page.tex
@@ -0,0 +1,22 @@
+\hypertarget{Ecore_ADT_Page}{}\section{Ecore Abstract Data Types}\label{Ecore_ADT_Page}
+This page briefly describes the different abstract data types that are provided by the Ecore library for general usage.
+
+You need to include the \hyperlink{Ecore__Data_8h}{Ecore\_\-Data.h } to use them.\hypertarget{Ecore_ADT_Page_Ecore_ADT_List}{}\subsection{List}\label{Ecore_ADT_Page_Ecore_ADT_List}
+A list is a simple data type where one each piece of data points to another piece of data.
+
+Associated modules that describe the List ADT include: \begin{itemize}
+\item \hyperlink{group__Ecore__Data__List__Creation__Group}{List Creation/Destruction Functions} \item \hyperlink{group__Ecore__Data__List__Add__Item__Group}{List Item Adding Functions} \item \hyperlink{group__Ecore__Data__List__Remove__Item__Group}{List Item Removing Functions} \item \hyperlink{group__Ecore__Data__List__Traverse__Group}{List Traversal Functions} \item \hyperlink{group__Ecore__Data__List__Node__Group}{List Node Functions}\end{itemize}
+Examples involving lists include: \begin{itemize}
+\item \hyperlink{list__example_8c-example}{list\_\-example.c }\end{itemize}
+\hypertarget{Ecore_ADT_Page_Ecore_ADT_DList}{}\subsection{Doubly Linked List}\label{Ecore_ADT_Page_Ecore_ADT_DList}
+A doubly linked list is like a linked list, only each piece of data can also point to the piece before it. In other words, you can traverse a doubly linked list in both directions.
+
+Associated modules that describe the DList ADT include: \begin{itemize}
+\item \hyperlink{group__Ecore__Data__DList__Creation__Group}{Doubly Linked List Creation/Destruction Functions} \item \hyperlink{group__Ecore__Data__DList__Add__Item__Group}{Doubly Linked List Adding Functions} \item \hyperlink{group__Ecore__Data__DList__Remove__Item__Group}{Doubly Linked List Removing Functions}\end{itemize}
+\hypertarget{Ecore_ADT_Page_Ecore_ADT_Hash}{}\subsection{Hash}\label{Ecore_ADT_Page_Ecore_ADT_Hash}
+A hash is an abstract data type where one value is associated with another value. Instead of each element of the group being accessible using a number, each element is accessed using another object.
+
+Associated modules that describe the Hash ADT include: \begin{itemize}
+\item \hyperlink{group__Ecore__Data__Hash__ADT__Creation__Group}{Hash Creation Functions} \item \hyperlink{group__Ecore__Data__Hash__ADT__Destruction__Group}{Hash Destruction Functions} \item \hyperlink{group__Ecore__Data__Hash__ADT__Data__Group}{Hash Data Functions}\end{itemize}
+\begin{Desc}
+\item[\hyperlink{todo__todo000002}{Todo}]Finish this. \end{Desc}
diff --git a/doc/latex/Ecore_Config_Page.tex b/doc/latex/Ecore_Config_Page.tex
new file mode 100644
index 0000000..42e4791
--- /dev/null
+++ b/doc/latex/Ecore_Config_Page.tex
@@ -0,0 +1,9 @@
+\hypertarget{Ecore_Config_Page}{}\section{The Enlightened Property Library}\label{Ecore_Config_Page}
+The Enlightened Property Library (Ecore\_\-Config) is an adbstraction from the complexities of writing your own configuration.
+
+It provides many features using the Enlightenment 17 development libraries.
+
+To use the library, you: \begin{itemize}
+\item Set the default values of your properties. \item Load the configuration from a file. You must set the default values first, so that the library knows the correct type of each argument.\end{itemize}
+The following examples show how to use the Enlightened Property Library: \begin{itemize}
+\item \hyperlink{config__basic__example_8c-example}{config\_\-basic\_\-example.c } \item \hyperlink{config__listener__example_8c-example}{config\_\-listener\_\-example.c } \end{itemize}
diff --git a/doc/latex/Ecore_Main_Loop_Page.tex b/doc/latex/Ecore_Main_Loop_Page.tex
new file mode 100644
index 0000000..ed20c28
--- /dev/null
+++ b/doc/latex/Ecore_Main_Loop_Page.tex
@@ -0,0 +1,83 @@
+\hypertarget{Ecore_Main_Loop_Page}{}\section{The Ecore Main Loop}\label{Ecore_Main_Loop_Page}
+\hypertarget{Ecore_Main_Loop_Page_intro}{}\subsection{What is Ecore?}\label{Ecore_Main_Loop_Page_intro}
+Ecore is a clean and tiny event loop library with many modules to do lots of convenient things for a programmer, to save time and effort.
+
+It's small and lean, designed to work on embedded systems all the way to large and powerful multi-cpu workstations. It serialises all system signals, events etc. into a single event queue, that is easily processed without needing to worry about concurrency. A properly written, event-driven program using this kind of programming doesn't need threads, nor has to worry about concurrency. It turns a program into a state machine, and makes it very robust and easy to follow.
+
+Ecore gives you other handy primitives, such as timers to tick over for you and call specified functions at particular times so the programmer can use this to do things, like animate, or time out on connections or tasks that take too long etc.
+
+Idle handlers are provided too, as well as calls on entering an idle state (often a very good time to update the state of the program). All events that enter the system are passed to specific callback functions that the program sets up to handle those events. Handling them is simple and other Ecore modules produce more events on the queue, coming from other sources such as file descriptors etc.
+
+Ecore also lets you have functions called when file descriptors become active for reading or writing, allowing for streamlined, non-blocking IO.
+
+Here is an exmaple of a simple program and its basic event loop flow:
+
+\hypertarget{Ecore_Main_Loop_Page_work}{}\subsection{How does Ecore work?}\label{Ecore_Main_Loop_Page_work}
+Ecore is very easy to learn and use. All the function calls are designed to be easy to remember, explicit in describing what they do, and heavily name-spaced. Ecore programs can start and be very simple.
+
+For example:
+
+
+
+\begin{Code}\begin{verbatim}#include <Ecore.h>
+
+int main(int argc, const char **argv)
+{
+  ecore_init();
+  ecore_app_args_set(argc, argv);
+  ecore_main_loop_begin();
+  ecore_shutdown();
+  return 0;
+}
+\end{verbatim}\end{Code}
+
+
+
+This program is very simple and does't check for errors, but it does start up and begin a main loop waiting for events or timers to tick off. This program doesn't set up any, but now we can expand on this simple program a little more by adding some event handlers and timers.
+
+
+
+\begin{Code}\begin{verbatim}#include <Ecore.h>
+
+Ecore_Timer         *timer1     = NULL;
+Ecore_Event_Handler *handler1   = NULL;
+double               start_time = 0.0;
+
+int timer_func(void *data)
+{
+  printf("Tick timer. Sec: %3.2f\n", ecore_time_get() - start_time);
+  return 1;
+}
+
+int exit_func(void *data, int ev_type, void *ev)
+{
+  Ecore_Event_Signal_Exit *e;
+
+  e = (Ecore_Event_Signal_Exit *)ev;
+  if (e->interrupt)      printf("Exit: interrupt\n");
+  else if (e->quit)      printf("Exit: quit\n");
+  else if (e->terminate) printf("Exit: terminate\n");
+  ecore_main_loop_quit();
+  return 1;
+}
+
+int main(int argc, const char **argv)
+{
+  ecore_init();
+  ecore_app_args_set(argc, argv);  
+  start_time = ecore_time_get();
+  handler1 = ecore_event_handler_add(ECORE_EVENT_SIGNAL_EXIT, exit_func, NULL);
+  timer1 = ecore_timer_add(0.5, timer_func, NULL);  
+  ecore_main_loop_begin();
+  ecore_shutdown();
+  return 0;
+}
+\end{verbatim}\end{Code}
+
+
+
+In the previous example, we initialize our application and get the time at which our program has started so we can calculate an offset. We set up a timer to tick off in 0.5 seconds, and since it returns 1, will keep ticking off every 0.5 seconds until it returns 0, or is deleted by hand. An event handler is set up to call a function - exit\_\-func(), whenever an event of type ECORE\_\-EVENT\_\-SIGNAL\_\-EXIT is received (CTRL-C on the command line will cause such an event to happen). If this event occurs it tells you what kind of exit signal was received, and asks the main loop to quit when it is finished by calling \hyperlink{group__Ecore__Main__Loop__Group_g329898ea4b32333c12c34cfde48326fd}{ecore\_\-main\_\-loop\_\-quit()}.
+
+The handles returned by \hyperlink{group__Ecore__Time__Group_g8b8fb1c64bf42bc5be09d2f05df51813}{ecore\_\-timer\_\-add()} and \hyperlink{Ecore_8h_00cbd01c45d256722d3090e1b7bc74e1}{ecore\_\-event\_\-handler\_\-add()} are only stored here as an example. If you don't need to address the timer or event handler again you don't need to store the result, so just call the function, and don't assign the result to any variable.
+
+This program looks slightly more complex than needed to do these simple things, but in principle, programs don't get any more complex. You add more event handlers, for more events, will have more timers and such, BUT it all follows the same principles as shown in this example. 
\ No newline at end of file
diff --git a/doc/latex/Ecore__Con_8h.tex b/doc/latex/Ecore__Con_8h.tex
new file mode 100644
index 0000000..a18312c
--- /dev/null
+++ b/doc/latex/Ecore__Con_8h.tex
@@ -0,0 +1,81 @@
+\hypertarget{Ecore__Con_8h}{
+\section{Ecore\_\-Con.h File Reference}
+\label{Ecore__Con_8h}\index{Ecore_Con.h@{Ecore\_\-Con.h}}
+}
+Sockets functions. 
+
+\subsection*{Typedefs}
+\begin{CompactItemize}
+\item 
+\hypertarget{Ecore__Con_8h_8254d59597add481f0e2471a845f4231}{
+typedef \_\-Ecore\_\-Con\_\-Server \hyperlink{Ecore__Con_8h_8254d59597add481f0e2471a845f4231}{Ecore\_\-Con\_\-Server}}
+\label{Ecore__Con_8h_8254d59597add481f0e2471a845f4231}
+
+\begin{CompactList}\small\item\em A connection handle. \item\end{CompactList}\item 
+\hypertarget{Ecore__Con_8h_a7126b0163113e6f3f18d9bda2dda423}{
+typedef \_\-Ecore\_\-Con\_\-Client \hyperlink{Ecore__Con_8h_a7126b0163113e6f3f18d9bda2dda423}{Ecore\_\-Con\_\-Client}}
+\label{Ecore__Con_8h_a7126b0163113e6f3f18d9bda2dda423}
+
+\begin{CompactList}\small\item\em A connection handle. \item\end{CompactList}\end{CompactItemize}
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+EAPI int \hyperlink{group__Ecore__Con__Lib__Group_gcf5ecf42c516bb9c8b6759721e9559bd}{ecore\_\-con\_\-init} (void)
+\begin{CompactList}\small\item\em Initialises the Ecore\_\-Con library. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Con__Lib__Group_gccfd8dd2a1187b71339b5cc39dc83938}{ecore\_\-con\_\-shutdown} (void)
+\begin{CompactList}\small\item\em Shuts down the Ecore\_\-Con library. \item\end{CompactList}\item 
+EAPI \hyperlink{Ecore__Con_8h_8254d59597add481f0e2471a845f4231}{Ecore\_\-Con\_\-Server} $\ast$ \hyperlink{group__Ecore__Con__Server__Group_gce4c9656c7bd6eef0d29621d6dd75dee}{ecore\_\-con\_\-server\_\-add} (Ecore\_\-Con\_\-Type type, const char $\ast$name, int port, const void $\ast$data)
+\begin{CompactList}\small\item\em Creates a server to listen for connections. \item\end{CompactList}\item 
+EAPI \hyperlink{Ecore__Con_8h_8254d59597add481f0e2471a845f4231}{Ecore\_\-Con\_\-Server} $\ast$ \hyperlink{group__Ecore__Con__Server__Group_g2cd832b9d0e592559ac13de24634b316}{ecore\_\-con\_\-server\_\-connect} (Ecore\_\-Con\_\-Type type, const char $\ast$name, int port, const void $\ast$data)
+\begin{CompactList}\small\item\em Creates a server object to represent the server listening at the given port. \item\end{CompactList}\item 
+EAPI void $\ast$ \hyperlink{group__Ecore__Con__Server__Group_gdee2f338f3f815a8cbec0288d21918f6}{ecore\_\-con\_\-server\_\-del} (\hyperlink{Ecore__Con_8h_8254d59597add481f0e2471a845f4231}{Ecore\_\-Con\_\-Server} $\ast$svr)
+\begin{CompactList}\small\item\em Closes the connection and frees the given server. \item\end{CompactList}\item 
+EAPI void $\ast$ \hyperlink{group__Ecore__Con__Server__Group_ge7a9fe5aeb2cfa880c7d5098010d1291}{ecore\_\-con\_\-server\_\-data\_\-get} (\hyperlink{Ecore__Con_8h_8254d59597add481f0e2471a845f4231}{Ecore\_\-Con\_\-Server} $\ast$svr)
+\begin{CompactList}\small\item\em Retrieves the data associated with the given server. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Con__Server__Group_g497d30961f7b9e8e5547ef674564efca}{ecore\_\-con\_\-server\_\-connected\_\-get} (\hyperlink{Ecore__Con_8h_8254d59597add481f0e2471a845f4231}{Ecore\_\-Con\_\-Server} $\ast$svr)
+\begin{CompactList}\small\item\em Retrieves whether the given server is currently connected. \item\end{CompactList}\item 
+EAPI Ecore\_\-List $\ast$ \hyperlink{group__Ecore__Con__Server__Group_ga7a54f1b8537c05aae69dae7d3a2e5ff}{ecore\_\-con\_\-server\_\-clients\_\-get} (\hyperlink{Ecore__Con_8h_8254d59597add481f0e2471a845f4231}{Ecore\_\-Con\_\-Server} $\ast$svr)
+\begin{CompactList}\small\item\em Retrieves the current list of clients. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Con__Server__Group_gdf16abc2d4fc16a8b65709eab2cd8337}{ecore\_\-con\_\-server\_\-send} (\hyperlink{Ecore__Con_8h_8254d59597add481f0e2471a845f4231}{Ecore\_\-Con\_\-Server} $\ast$svr, const void $\ast$data, int size)
+\begin{CompactList}\small\item\em Sends the given data to the given server. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__Con__Server__Group_gbaef36c991be8922766611c75372ced4}{ecore\_\-con\_\-server\_\-client\_\-limit\_\-set} (\hyperlink{Ecore__Con_8h_8254d59597add481f0e2471a845f4231}{Ecore\_\-Con\_\-Server} $\ast$svr, int client\_\-limit, char reject\_\-excess\_\-clients)
+\begin{CompactList}\small\item\em Sets a limit on the number of clients that can be handled concurrently by the given server, and a policy on what to do if excess clients try to connect. \item\end{CompactList}\item 
+EAPI char $\ast$ \hyperlink{group__Ecore__Con__Server__Group_gf6d19b6e9dcd751e9a575400f5713b08}{ecore\_\-con\_\-server\_\-ip\_\-get} (\hyperlink{Ecore__Con_8h_8254d59597add481f0e2471a845f4231}{Ecore\_\-Con\_\-Server} $\ast$svr)
+\begin{CompactList}\small\item\em Gets the IP address of a server that has been connected to. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__Con__Server__Group_g3ddb6c88484b59a1f5a5bacb8b6e60fe}{ecore\_\-con\_\-server\_\-flush} (\hyperlink{Ecore__Con_8h_8254d59597add481f0e2471a845f4231}{Ecore\_\-Con\_\-Server} $\ast$svr)
+\begin{CompactList}\small\item\em Flushes all pending data to the given server. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Con__Client__Group_gee84bc7c9239050e9b89a393bfc17dd7}{ecore\_\-con\_\-client\_\-send} (\hyperlink{Ecore__Con_8h_a7126b0163113e6f3f18d9bda2dda423}{Ecore\_\-Con\_\-Client} $\ast$cl, void $\ast$data, int size)
+\begin{CompactList}\small\item\em Sends the given data to the given client. \item\end{CompactList}\item 
+EAPI \hyperlink{Ecore__Con_8h_8254d59597add481f0e2471a845f4231}{Ecore\_\-Con\_\-Server} $\ast$ \hyperlink{group__Ecore__Con__Client__Group_g5d19742ffbfeb987c57d8a4093cce7e6}{ecore\_\-con\_\-client\_\-server\_\-get} (\hyperlink{Ecore__Con_8h_a7126b0163113e6f3f18d9bda2dda423}{Ecore\_\-Con\_\-Client} $\ast$cl)
+\begin{CompactList}\small\item\em Retrieves the server representing the socket the client has connected to. \item\end{CompactList}\item 
+EAPI void $\ast$ \hyperlink{group__Ecore__Con__Client__Group_g6ceed1117e823d3d3dc0d9a2df825464}{ecore\_\-con\_\-client\_\-del} (\hyperlink{Ecore__Con_8h_a7126b0163113e6f3f18d9bda2dda423}{Ecore\_\-Con\_\-Client} $\ast$cl)
+\begin{CompactList}\small\item\em Closes the connection and frees memory allocated to the given client. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__Con__Client__Group_g0c81c3b201d7fa6d48b6f5e99a651edc}{ecore\_\-con\_\-client\_\-data\_\-set} (\hyperlink{Ecore__Con_8h_a7126b0163113e6f3f18d9bda2dda423}{Ecore\_\-Con\_\-Client} $\ast$cl, const void $\ast$data)
+\begin{CompactList}\small\item\em Sets the data associated with the given client to {\tt data}. \item\end{CompactList}\item 
+EAPI void $\ast$ \hyperlink{group__Ecore__Con__Client__Group_ge0ee35b9dcbd7e654504baffe4070488}{ecore\_\-con\_\-client\_\-data\_\-get} (\hyperlink{Ecore__Con_8h_a7126b0163113e6f3f18d9bda2dda423}{Ecore\_\-Con\_\-Client} $\ast$cl)
+\begin{CompactList}\small\item\em Retrieves the data associated with the given client. \item\end{CompactList}\item 
+EAPI char $\ast$ \hyperlink{group__Ecore__Con__Client__Group_g18cb123f1d62299bdfc739b2d1124e14}{ecore\_\-con\_\-client\_\-ip\_\-get} (\hyperlink{Ecore__Con_8h_a7126b0163113e6f3f18d9bda2dda423}{Ecore\_\-Con\_\-Client} $\ast$cl)
+\begin{CompactList}\small\item\em Gets the IP address of a cleint that has connected. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__Con__Client__Group_gccf37688bb1ecbedc8791b5b43c1595c}{ecore\_\-con\_\-client\_\-flush} (\hyperlink{Ecore__Con_8h_a7126b0163113e6f3f18d9bda2dda423}{Ecore\_\-Con\_\-Client} $\ast$cl)
+\begin{CompactList}\small\item\em Flushes all pending data to the given client. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Con__Client__Group_ga5d2328b414bd5ffb01466b853c45709}{ecore\_\-con\_\-ssl\_\-available\_\-get} (void)
+\begin{CompactList}\small\item\em Returns if SSL support is available. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Sockets functions. 
+
+The Ecore Connection Library ( {\tt Ecore\_\-Con} ) provides simple mechanisms for communications between programs using reliable sockets. It saves the programmer from having to worry about file descripters and waiting for incoming connections.
+
+There are two main objects in the {\tt Ecore\_\-Con} library: the {\tt Ecore\_\-Con\_\-Server} and the {\tt Ecore\_\-Con\_\-Client}.
+
+The {\tt Ecore\_\-Con\_\-Server} represents a server to connect to. It is represents a server that can be connected to. It is used regardless of whether the program is acting as a server or client itself.
+
+To create a listening server, call {\tt \hyperlink{group__Ecore__Con__Server__Group_gce4c9656c7bd6eef0d29621d6dd75dee}{ecore\_\-con\_\-server\_\-add()}}.
+
+To connect to a server, call {\tt \hyperlink{group__Ecore__Con__Server__Group_g2cd832b9d0e592559ac13de24634b316}{ecore\_\-con\_\-server\_\-connect()}}. Data can then be sent to the server using the {\tt \hyperlink{group__Ecore__Con__Server__Group_gdf16abc2d4fc16a8b65709eab2cd8337}{ecore\_\-con\_\-server\_\-send()}}.
+
+Whenever a client connection is made to an {\tt Ecore\_\-Con\_\-Server}, a {\tt ECORE\_\-CON\_\-CLIENT\_\-ADD} event is emitted. Any event callbacks that are called receive a {\tt Ecore\_\-Con\_\-Client} object, which represents a connection that that particular client.
+
+Functions are described in the following groupings: \begin{itemize}
+\item \hyperlink{group__Ecore__Con__Lib__Group}{Ecore Connection Library Functions} \item \hyperlink{group__Ecore__Con__Server__Group}{Ecore Connection Server Functions} \item \hyperlink{group__Ecore__Con__Client__Group}{Ecore Connection Client Functions} \end{itemize}
diff --git a/doc/latex/Ecore__Config_8h.tex b/doc/latex/Ecore__Config_8h.tex
new file mode 100644
index 0000000..2b274cf
--- /dev/null
+++ b/doc/latex/Ecore__Config_8h.tex
@@ -0,0 +1,519 @@
+\hypertarget{Ecore__Config_8h}{
+\section{Ecore\_\-Config.h File Reference}
+\label{Ecore__Config_8h}\index{Ecore_Config.h@{Ecore\_\-Config.h}}
+}
+Provides the Enlightened Property Library. 
+
+\subsection*{Data Structures}
+\begin{CompactItemize}
+\item 
+struct \hyperlink{structEcore__Config__Prop}{Ecore\_\-Config\_\-Prop}
+\begin{CompactList}\small\item\em The actual property for storing a key-value pair. \item\end{CompactList}\end{CompactItemize}
+\subsection*{Typedefs}
+\begin{CompactItemize}
+\item 
+\hypertarget{Ecore__Config_8h_57366c1938a04f353bbc64ad6fd231de}{
+typedef int($\ast$) \hyperlink{Ecore__Config_8h_57366c1938a04f353bbc64ad6fd231de}{Ecore\_\-Config\_\-Listener} (const char $\ast$key, const \hyperlink{Ecore__Config_8h_05c0a91293b6d64b4bda030e21a94a16}{Ecore\_\-Config\_\-Type} type, const int tag, void $\ast$data)}
+\label{Ecore__Config_8h_57366c1938a04f353bbc64ad6fd231de}
+
+\begin{CompactList}\small\item\em Property change callback function prototype. \item\end{CompactList}\end{CompactItemize}
+\subsection*{Enumerations}
+\begin{CompactItemize}
+\item 
+enum \hyperlink{Ecore__Config_8h_05c0a91293b6d64b4bda030e21a94a16}{Ecore\_\-Config\_\-Type} \{ \par
+\hyperlink{Ecore__Config_8h_05c0a91293b6d64b4bda030e21a94a16c2237ee005755a649dab9500275e2b5d}{ECORE\_\-CONFIG\_\-NIL} =  0, 
+\par
+\hyperlink{Ecore__Config_8h_05c0a91293b6d64b4bda030e21a94a166bc653e1a23cd40c28461869aeda681b}{ECORE\_\-CONFIG\_\-INT} =  1, 
+\par
+\hyperlink{Ecore__Config_8h_05c0a91293b6d64b4bda030e21a94a16941a14df868adc309dae8d850c123e38}{ECORE\_\-CONFIG\_\-FLT} =  2, 
+\par
+\hyperlink{Ecore__Config_8h_05c0a91293b6d64b4bda030e21a94a168916e418b542d3d98a54d24dd05e3e67}{ECORE\_\-CONFIG\_\-STR} =  3, 
+\par
+\hyperlink{Ecore__Config_8h_05c0a91293b6d64b4bda030e21a94a16411cdc5bce0d42a387a7a6d91a5c1590}{ECORE\_\-CONFIG\_\-RGB} =  4, 
+\par
+\hyperlink{Ecore__Config_8h_05c0a91293b6d64b4bda030e21a94a1606a76d37de9c738e99b2caf0ba504a9d}{ECORE\_\-CONFIG\_\-THM} =  5, 
+\par
+\hyperlink{Ecore__Config_8h_05c0a91293b6d64b4bda030e21a94a162116d13362ca9fa5cb269c63c8aaae5b}{ECORE\_\-CONFIG\_\-BLN} =  6, 
+\par
+\hyperlink{Ecore__Config_8h_05c0a91293b6d64b4bda030e21a94a162b6a0c37c507dd18adf604190e8b6e26}{ECORE\_\-CONFIG\_\-SCT} =  7
+ \}
+\begin{CompactList}\small\item\em Valid configuration property types. \item\end{CompactList}\end{CompactItemize}
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+EAPI \hyperlink{structEcore__Config__Prop}{Ecore\_\-Config\_\-Prop} $\ast$ \hyperlink{group__Ecore__Config__Get__Group_g8453b6c6d12816fc67bc528c890767ea}{ecore\_\-config\_\-get} (const char $\ast$key)
+\begin{CompactList}\small\item\em Returns the property with the given key. \item\end{CompactList}\item 
+EAPI const char $\ast$ \hyperlink{group__Ecore__Config__Property__Group_g04c58473e83ba85d2c382c9d10bc56f9}{ecore\_\-config\_\-type\_\-get} (const \hyperlink{structEcore__Config__Prop}{Ecore\_\-Config\_\-Prop} $\ast$e)
+\begin{CompactList}\small\item\em Returns the type of the property. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Config__Get__Group_g83dc5cc9f1cf931994333c5886c22827}{ecore\_\-config\_\-boolean\_\-get} (const char $\ast$key)
+\begin{CompactList}\small\item\em Returns the specified property as an integer. \item\end{CompactList}\item 
+EAPI char $\ast$ \hyperlink{group__Ecore__Config__Get__Group_g65c1ae4aad5f8cfe9a049895ca8214fe}{ecore\_\-config\_\-string\_\-get} (const char $\ast$key)
+\begin{CompactList}\small\item\em Returns the specified property as a string. \item\end{CompactList}\item 
+EAPI long \hyperlink{group__Ecore__Config__Get__Group_g30e915e424e93cb60fbfb5159f5f7ee8}{ecore\_\-config\_\-int\_\-get} (const char $\ast$key)
+\begin{CompactList}\small\item\em Returns the specified property as a long integer. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Config__Get__Group_g20de581cdf7397b54b6126362a56418a}{ecore\_\-config\_\-argb\_\-get} (const char $\ast$key, int $\ast$a, int $\ast$r, int $\ast$g, int $\ast$b)
+\begin{CompactList}\small\item\em Finds the alpha, red, green and blue values of a color property. \item\end{CompactList}\item 
+EAPI long \hyperlink{group__Ecore__Config__Get__Group_gf7f2ea069a615cdce15fb103108d610d}{ecore\_\-config\_\-argbint\_\-get} (const char $\ast$key)
+\begin{CompactList}\small\item\em Returns a color property as a long. \item\end{CompactList}\item 
+EAPI char $\ast$ \hyperlink{group__Ecore__Config__Get__Group_g5c7821152165c73dcb5c5d6ada024305}{ecore\_\-config\_\-argbstr\_\-get} (const char $\ast$key)
+\begin{CompactList}\small\item\em Returns a color property as a string of hexadecimal characters. \item\end{CompactList}\item 
+EAPI float \hyperlink{group__Ecore__Config__Get__Group_geea46377d8255d0216d5639ead8d92ff}{ecore\_\-config\_\-float\_\-get} (const char $\ast$key)
+\begin{CompactList}\small\item\em Returns the specified property as a float. \item\end{CompactList}\item 
+EAPI char $\ast$ \hyperlink{group__Ecore__Config__Get__Group_g7ecf05eef12f00801301ca2fc07b5bb5}{ecore\_\-config\_\-theme\_\-get} (const char $\ast$key)
+\begin{CompactList}\small\item\em Returns a theme property. \item\end{CompactList}\item 
+EAPI char $\ast$ \hyperlink{group__Ecore__Config__Get__Group_gc9a15f02dd6b027ff52aa8d8ea4ab095}{ecore\_\-config\_\-as\_\-string\_\-get} (const char $\ast$key)
+\begin{CompactList}\small\item\em Retrieves the key as a string. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Config__Property__Group_gb4e20b407d32a502dc3689c1b0bcf60a}{ecore\_\-config\_\-describe} (const char $\ast$key, const char $\ast$desc)
+\begin{CompactList}\small\item\em Sets the description field of the indicated property. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Config__Property__Group_g2684926ce5ad5582e974333db15ba978}{ecore\_\-config\_\-short\_\-opt\_\-set} (const char $\ast$key, char short\_\-opt)
+\begin{CompactList}\small\item\em Set the short option character of a property. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Config__Property__Group_g969ade806f926802e37d14639dc24f75}{ecore\_\-config\_\-long\_\-opt\_\-set} (const char $\ast$key, const char $\ast$long\_\-opt)
+\begin{CompactList}\small\item\em Set the long option string of the property. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Config__Set__Group_ge147ffba6c49474298bcfb1461f593c9}{ecore\_\-config\_\-set} (const char $\ast$key, const char $\ast$val)
+\begin{CompactList}\small\item\em Sets the indicated property to the value indicated by {\em val\/}. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Config__Property__Group_gf1d734bd9aeb5ff8a1094b6d0921cf1b}{ecore\_\-config\_\-typed\_\-set} (const char $\ast$key, const void $\ast$val, int type)
+\begin{CompactList}\small\item\em Sets the indicated property to the given value and type. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Config__Set__Group_g6fbad3ecd7dce0d8ace0e0b5118cc2a6}{ecore\_\-config\_\-boolean\_\-set} (const char $\ast$key, int val)
+\begin{CompactList}\small\item\em Sets the indicated property to the given boolean. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Config__Set__Group_g5445639f28f4e46611e5fe2ba1f46364}{ecore\_\-config\_\-string\_\-set} (const char $\ast$key, const char $\ast$val)
+\begin{CompactList}\small\item\em Sets the indicated property to the given string. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Config__Set__Group_g541dcb58df81de9197ce5533863c4085}{ecore\_\-config\_\-int\_\-set} (const char $\ast$key, int val)
+\begin{CompactList}\small\item\em Sets the indicated property to the given integer. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Config__Set__Group_g0166bb9b3a099bfac7f1c5d58d9d9431}{ecore\_\-config\_\-argb\_\-set} (const char $\ast$key, int a, int r, int g, int b)
+\begin{CompactList}\small\item\em Sets the indicated property to a color value. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Config__Set__Group_gfee1c65f82dfb80959fb05a390ce4141}{ecore\_\-config\_\-argbint\_\-set} (const char $\ast$key, long argb)
+\begin{CompactList}\small\item\em Sets the indicated property to a color value. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Config__Set__Group_g7b7b74438c9b0f9651332b3867b5b131}{ecore\_\-config\_\-argbstr\_\-set} (const char $\ast$key, const char $\ast$val)
+\begin{CompactList}\small\item\em Sets the indicated property to a color value. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Config__Set__Group_gaec767dd5034671bdb8ffab8f4edb4dc}{ecore\_\-config\_\-float\_\-set} (const char $\ast$key, float val)
+\begin{CompactList}\small\item\em Sets the indicated property to the given float value. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Config__Set__Group_g804199f5e845eb07ca6057a7bdfb1b1f}{ecore\_\-config\_\-theme\_\-set} (const char $\ast$key, const char $\ast$val)
+\begin{CompactList}\small\item\em Sets the indicated property to a theme name. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Config__Set__Group_g6e5aa9c33a4d0c42a35a77ba2c48b8e2}{ecore\_\-config\_\-theme\_\-preview\_\-group\_\-set} (const char $\ast$key, const char $\ast$group)
+\begin{CompactList}\small\item\em Sets the theme preview group of an indicated property. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Config__Set__Group_gfab691d111ef16fdd486add2fed4b8bd}{ecore\_\-config\_\-as\_\-string\_\-set} (const char $\ast$key, const char $\ast$val)
+\begin{CompactList}\small\item\em Sets the indicated property to the value given in the string. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Config__Default__Group_g93615990523f103af30ec67759063045}{ecore\_\-config\_\-default} (const char $\ast$key, const char $\ast$val, float lo, float hi, float step)
+\begin{CompactList}\small\item\em Sets the indicated property if it has not already been set or loaded. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Config__Default__Group_gb975ecfba269108f3d33061b8a04c7ca}{ecore\_\-config\_\-boolean\_\-default} (const char $\ast$key, int val)
+\begin{CompactList}\small\item\em Sets the indicated property to the given boolean if the property has not yet been set. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Config__Default__Group_g0ea9a5280c2c263769fede02cf83b223}{ecore\_\-config\_\-int\_\-default} (const char $\ast$key, int val)
+\begin{CompactList}\small\item\em Sets the indicated property to the given integer if the property has not yet been set. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Config__Default__Group_gf041320b27afd2d25382a186e525844d}{ecore\_\-config\_\-int\_\-default\_\-bound} (const char $\ast$key, int val, int lo, int hi, int step)
+\begin{CompactList}\small\item\em Sets the indicated property to the given integer if the property has not yet been set. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Config__Default__Group_g85aa8ecad2a747ac3ee4b1f9b476db64}{ecore\_\-config\_\-string\_\-default} (const char $\ast$key, const char $\ast$val)
+\begin{CompactList}\small\item\em Sets the indicated property to the given string if the property has not yet been set. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Config__Default__Group_g38f3626bd1d59e69e513b04e3a7908ee}{ecore\_\-config\_\-float\_\-default} (const char $\ast$key, float val)
+\begin{CompactList}\small\item\em Sets the indicated property to the given float if the property has not yet been set. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Config__Default__Group_ga62d8a4d3499f6552dc9bd694084af75}{ecore\_\-config\_\-float\_\-default\_\-bound} (const char $\ast$key, float val, float lo, float hi, float step)
+\begin{CompactList}\small\item\em Sets the indicated property to the given float if the property has not yet been set. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Config__Default__Group_g7e05038c1f325bac01f85ce4d479d8ba}{ecore\_\-config\_\-argb\_\-default} (const char $\ast$key, int a, int r, int g, int b)
+\begin{CompactList}\small\item\em Sets the indicated property to a color value if the property has not yet been set. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Config__Default__Group_gac44186cc54f3f31c406813c0f44cf57}{ecore\_\-config\_\-argbint\_\-default} (const char $\ast$key, long argb)
+\begin{CompactList}\small\item\em Sets the indicated property to a color value if the property has not yet been set. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Config__Default__Group_gfc2fc6ce01297b0bcfcd0ebdfca5c2f1}{ecore\_\-config\_\-argbstr\_\-default} (const char $\ast$key, const char $\ast$val)
+\begin{CompactList}\small\item\em Sets the indicated property to a color value if the property has not yet been set. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Config__Default__Group_gd0beb2c67b2b8d6fd5976665e4a6dc44}{ecore\_\-config\_\-theme\_\-default} (const char $\ast$key, const char $\ast$val)
+\begin{CompactList}\small\item\em Sets the indicated property to a theme name if the property has not yet been set. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Config__Struct__Group_g481f406528ecacdb0f91ecb8e8f9bf42}{ecore\_\-config\_\-struct\_\-int\_\-add} (const char $\ast$key, const char $\ast$name, int val)
+\begin{CompactList}\small\item\em Add an int property to the named structure. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Config__Struct__Group_gcdee07879a9f89c333448923c008cd39}{ecore\_\-config\_\-struct\_\-float\_\-add} (const char $\ast$key, const char $\ast$name, float val)
+\begin{CompactList}\small\item\em Add a float property to the named structure. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Config__Struct__Group_gcbae1417d6074d82211ec1c69991ca28}{ecore\_\-config\_\-struct\_\-create} (const char $\ast$key)
+\begin{CompactList}\small\item\em Sets the indicated property to a structure if the property has not yet been set. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Config__Struct__Group_g2a2d784a5325e3497daee85b9399531a}{ecore\_\-config\_\-struct\_\-string\_\-add} (const char $\ast$key, const char $\ast$name, const char $\ast$val)
+\begin{CompactList}\small\item\em Add a string property to the named structure. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Config__Struct__Group_g8a996d734081bafcf1b1c58d9cf6ef7d}{ecore\_\-config\_\-struct\_\-theme\_\-add} (const char $\ast$key, const char $\ast$name, const char $\ast$val)
+\begin{CompactList}\small\item\em Add a theme property to the named structure. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Config__Struct__Group_g666575a0d011b5d88f527a9d85358dc6}{ecore\_\-config\_\-struct\_\-argb\_\-add} (const char $\ast$key, const char $\ast$name, int a, int r, int g, int b)
+\begin{CompactList}\small\item\em Add an argb property to the named structure. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Config__Struct__Group_g7f070dc50cb60ea8d1d9f0b390c2b35d}{ecore\_\-config\_\-struct\_\-boolean\_\-add} (const char $\ast$key, const char $\ast$name, int val)
+\begin{CompactList}\small\item\em Add a boolean property to the named structure. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Config__Struct__Group_g6da0b9663d592bc1333f59d83941d703}{ecore\_\-config\_\-struct\_\-get} (const char $\ast$key, void $\ast$data)
+\begin{CompactList}\small\item\em Get the contents of a defined structure property and load it into the passed C struct. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Config__Listeners__Group_g50ffd2d9a28c501bbd6f512648b7e593}{ecore\_\-config\_\-listen} (const char $\ast$name, const char $\ast$key, \hyperlink{Ecore__Config_8h_57366c1938a04f353bbc64ad6fd231de}{Ecore\_\-Config\_\-Listener} listener, int tag, void $\ast$data)
+\begin{CompactList}\small\item\em Adds a callback function to the list of functions called when a property changes. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Config__Listeners__Group_g9ff2e49dde18e0f4a039c225512b3a2d}{ecore\_\-config\_\-deaf} (const char $\ast$name, const char $\ast$key, \hyperlink{Ecore__Config_8h_57366c1938a04f353bbc64ad6fd231de}{Ecore\_\-Config\_\-Listener} listener)
+\begin{CompactList}\small\item\em Removes a listener callback. \item\end{CompactList}\item 
+EAPI \hyperlink{structEcore__Config__Prop}{Ecore\_\-Config\_\-Prop} $\ast$ \hyperlink{group__Ecore__Config__Property__Group_g038aaaaaf88a144f52139712f2e17360}{ecore\_\-config\_\-dst} (\hyperlink{structEcore__Config__Prop}{Ecore\_\-Config\_\-Prop} $\ast$e)
+\begin{CompactList}\small\item\em Removes the given property from the local configuration and destroys it. \item\end{CompactList}\item 
+EAPI int \hyperlink{Ecore__Config_8h_5ed9e1272c0e42fb7056770cd773fc3b}{ecore\_\-config\_\-type\_\-guess} (const char $\ast$key, const char $\ast$val)
+\begin{CompactList}\small\item\em Tries to guess the type of a property. \item\end{CompactList}\item 
+EAPI Ecore\_\-Config\_\-Bundle $\ast$ \hyperlink{Ecore__Config_8h_7ea0e833e56e8ed49ec8d185f02d05cd}{ecore\_\-config\_\-bundle\_\-new} (Ecore\_\-Config\_\-Server $\ast$srv, const char $\ast$id)
+\begin{CompactList}\small\item\em Creates a new Ecore\_\-Config\_\-Bundle. \item\end{CompactList}\item 
+EAPI Ecore\_\-Config\_\-Bundle $\ast$ \hyperlink{Ecore__Config_8h_7a2f4b261adb89fe121971e8ba893d7f}{ecore\_\-config\_\-bundle\_\-1st\_\-get} (Ecore\_\-Config\_\-Server $\ast$srv)
+\begin{CompactList}\small\item\em Locates the first configuration bundle on the given server. \item\end{CompactList}\item 
+EAPI Ecore\_\-Config\_\-Bundle $\ast$ \hyperlink{Ecore__Config_8h_b7768d4739e3e23d2983d3f050b9acd5}{ecore\_\-config\_\-bundle\_\-next\_\-get} (Ecore\_\-Config\_\-Bundle $\ast$ns)
+\begin{CompactList}\small\item\em Locates the configuration bundle after the given one. \item\end{CompactList}\item 
+EAPI Ecore\_\-Config\_\-Bundle $\ast$ \hyperlink{Ecore__Config_8h_c59039f0fc4cbbfdf6198bf6d717916f}{ecore\_\-config\_\-bundle\_\-by\_\-serial\_\-get} (Ecore\_\-Config\_\-Server $\ast$srv, long serial)
+\begin{CompactList}\small\item\em Locates a configuration bundle on a configuration server based on its serial number. \item\end{CompactList}\item 
+EAPI Ecore\_\-Config\_\-Bundle $\ast$ \hyperlink{Ecore__Config_8h_b0a3f0441545678ee2bead622e0c767c}{ecore\_\-config\_\-bundle\_\-by\_\-label\_\-get} (Ecore\_\-Config\_\-Server $\ast$srv, const char $\ast$label)
+\begin{CompactList}\small\item\em Gets the Ecore\_\-Config\_\-Bundle with the given identifier from the given server. \item\end{CompactList}\item 
+EAPI long \hyperlink{Ecore__Config_8h_da8884e5e0877647e5d3753ca13f16cb}{ecore\_\-config\_\-bundle\_\-serial\_\-get} (Ecore\_\-Config\_\-Bundle $\ast$ns)
+\begin{CompactList}\small\item\em Retrieves the bundle's serial number. \item\end{CompactList}\item 
+EAPI char $\ast$ \hyperlink{Ecore__Config_8h_730c49356b9c685535c8e0989f4cec8c}{ecore\_\-config\_\-bundle\_\-label\_\-get} (Ecore\_\-Config\_\-Bundle $\ast$ns)
+\begin{CompactList}\small\item\em Retrieves the bundle's identifier. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Config__App__Lib__Group_gfdc677e43c328248e10e08d0599c274e}{ecore\_\-config\_\-init} (const char $\ast$name)
+\begin{CompactList}\small\item\em Initializes the Enlightened Property Library. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Config__App__Lib__Group_g4b20caf672ca445f8d21a7b09b666d70}{ecore\_\-config\_\-shutdown} (void)
+\begin{CompactList}\small\item\em Frees memory and shuts down the library for an application. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Config__Lib__Lib__Group_g3cb9d5fd7d8b2693d36ca96173f74d4c}{ecore\_\-config\_\-system\_\-init} (void)
+\begin{CompactList}\small\item\em Initializes the Enlightened Property Library. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Config__Lib__Lib__Group_g925ea8694077c1fc013bb313908d1148}{ecore\_\-config\_\-system\_\-shutdown} (void)
+\begin{CompactList}\small\item\em Frees memory and shuts down the library for other programming libraries. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Config__File__Group_g8e064585346f2234620dbbeb034d406b}{ecore\_\-config\_\-load} (void)
+\begin{CompactList}\small\item\em Loads the default configuration. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Config__File__Group_gfcaee9b135bc412ac41b87fdf72bc289}{ecore\_\-config\_\-file\_\-load} (const char $\ast$file)
+\begin{CompactList}\small\item\em Load the given configuration file to the local configuration. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Config__File__Group_g94318c18d7c19ea2980552edddb88899}{ecore\_\-config\_\-save} (void)
+\begin{CompactList}\small\item\em Saves the current configuration to the default file. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Config__File__Group_gf9b8be68224f804946e7409084ad967e}{ecore\_\-config\_\-file\_\-save} (const char $\ast$file)
+\begin{CompactList}\small\item\em Saves the local configuration to the given file. \item\end{CompactList}\item 
+EAPI int \hyperlink{Ecore__Config_8h_79003f211b1f7a174fccdc6974414991}{ecore\_\-config\_\-evas\_\-font\_\-path\_\-apply} (Evas $\ast$evas)
+\begin{CompactList}\small\item\em Calls evas\_\-font\_\-path\_\-append on {\tt evas} for each of the font names stored in the property \char`\"{}/e/font/path\char`\"{}. \item\end{CompactList}\item 
+EAPI char $\ast$ \hyperlink{Ecore__Config_8h_8a633459c4617a33c4107462f5346ab6}{ecore\_\-config\_\-theme\_\-search\_\-path\_\-get} (void)
+\begin{CompactList}\small\item\em Retrieves the search path used to find themes. \item\end{CompactList}\item 
+EAPI int \hyperlink{Ecore__Config_8h_9d4f7c3e2193de373de27ff1a4128080}{ecore\_\-config\_\-theme\_\-search\_\-path\_\-append} (char $\ast$append)
+\begin{CompactList}\small\item\em Adds the given path to the search path used to find themes. \item\end{CompactList}\item 
+EAPI char $\ast$ \hyperlink{Ecore__Config_8h_793b819965f23985b42ebdca638325d5}{ecore\_\-config\_\-theme\_\-default\_\-path\_\-get} (void)
+\begin{CompactList}\small\item\em Retrieves the default theme search path. \item\end{CompactList}\item 
+EAPI char $\ast$ \hyperlink{Ecore__Config_8h_90d76531ca2cf69c1b691a92ec65aee9}{ecore\_\-config\_\-theme\_\-with\_\-path\_\-from\_\-name\_\-get} (char $\ast$name)
+\begin{CompactList}\small\item\em Retrieve a theme file's full path. \item\end{CompactList}\item 
+EAPI char $\ast$ \hyperlink{Ecore__Config_8h_104448c0651bdbf586cd9300c2f83805}{ecore\_\-config\_\-theme\_\-with\_\-path\_\-get} (const char $\ast$key)
+\begin{CompactList}\small\item\em Retrieves the full path to the theme file of the theme stored in the given property. \item\end{CompactList}\item 
+\hypertarget{Ecore__Config_8h_4d59447d668c752971c2b026e1869af1}{
+EAPI void \hyperlink{Ecore__Config_8h_4d59447d668c752971c2b026e1869af1}{ecore\_\-config\_\-args\_\-display} (void)}
+\label{Ecore__Config_8h_4d59447d668c752971c2b026e1869af1}
+
+\begin{CompactList}\small\item\em Prints the property list of the local configuration bundle to output. \item\end{CompactList}\item 
+EAPI int \hyperlink{Ecore__Config_8h_7f695a96908e0399491f2cf403ebad06}{ecore\_\-config\_\-args\_\-parse} (void)
+\begin{CompactList}\small\item\em Parse the arguments set by \hyperlink{Ecore_8h_eb02de014af9bfbe960c9f70b085e229}{ecore\_\-app\_\-args\_\-set} and set properties accordingly. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore__Config_8h_09708c678e8666b15b9b3d0a4a1b6941}{ecore\_\-config\_\-app\_\-describe} (char $\ast$description)
+\begin{CompactList}\small\item\em Sets the description string used by \hyperlink{Ecore__Config_8h_4d59447d668c752971c2b026e1869af1}{ecore\_\-config\_\-args\_\-display} . \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Config__Create__Group_g14c277a6ad31dbcad672ab61dfa5e4d2}{ecore\_\-config\_\-create} (const char $\ast$key, void $\ast$val, char short\_\-opt, char $\ast$long\_\-opt, char $\ast$desc)
+\begin{CompactList}\small\item\em Creates a new property, if it does not already exist, and sets its attributes to those given. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Config__Create__Group_g72458cbd9bc08ac67a489bedccc9729d}{ecore\_\-config\_\-typed\_\-create} (const char $\ast$key, void $\ast$val, int type, char short\_\-opt, char $\ast$long\_\-opt, char $\ast$desc)
+\begin{CompactList}\small\item\em Creates a new property, if it does not already exist, and sets its attributes to those given. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Config__Create__Group_g3b0938305e64b0237f6e054f9d5f3d36}{ecore\_\-config\_\-boolean\_\-create} (const char $\ast$key, int val, char short\_\-opt, char $\ast$long\_\-opt, char $\ast$desc)
+\begin{CompactList}\small\item\em Creates a new boolean property, if it does not already exist, and sets its attributes to those given. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Config__Create__Group_g18cc88e4f1448c1b6c59f1fb81006736}{ecore\_\-config\_\-int\_\-create} (const char $\ast$key, int val, char short\_\-opt, char $\ast$long\_\-opt, char $\ast$desc)
+\begin{CompactList}\small\item\em Creates a new integer property, if it does not already exist, and sets its attributes to those given. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Config__Create__Group_g7eac241f83ce610c6da1e7b6f03120da}{ecore\_\-config\_\-int\_\-create\_\-bound} (const char $\ast$key, int val, int low, int high, int step, char short\_\-opt, char $\ast$long\_\-opt, char $\ast$desc)
+\begin{CompactList}\small\item\em Creates a new integer property, if it does not already exist, and sets its attributes to those given. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Config__Create__Group_g90a2ffd15afc8781dbacdaef880054ed}{ecore\_\-config\_\-string\_\-create} (const char $\ast$key, char $\ast$val, char short\_\-opt, char $\ast$long\_\-opt, char $\ast$desc)
+\begin{CompactList}\small\item\em Creates a new string property, if it does not already exist, and sets its attributes to those given. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Config__Create__Group_g6be6d9eba77ce43bb7a0c88a035696f8}{ecore\_\-config\_\-float\_\-create} (const char $\ast$key, float val, char short\_\-opt, char $\ast$long\_\-opt, char $\ast$desc)
+\begin{CompactList}\small\item\em Creates a new float property, if it does not already exist, and sets its attributes to those given. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Config__Create__Group_g213c338d2b1db6ffe4ed3a5c656c8e74}{ecore\_\-config\_\-float\_\-create\_\-bound} (const char $\ast$key, float val, float low, float high, float step, char short\_\-opt, char $\ast$long\_\-opt, char $\ast$desc)
+\begin{CompactList}\small\item\em Creates a new float property, if it does not already exist, and sets its attributes to those given. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Config__Create__Group_g982a19b90c5b9ba219ed9d6a0208c0f4}{ecore\_\-config\_\-argb\_\-create} (const char $\ast$key, char $\ast$val, char short\_\-opt, char $\ast$long\_\-opt, char $\ast$desc)
+\begin{CompactList}\small\item\em Creates a new color property, if it does not already exist, and sets its attributes to those given. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Config__Create__Group_g121905447a18020e3e6c52ad6e41faa5}{ecore\_\-config\_\-theme\_\-create} (const char $\ast$key, char $\ast$val, char short\_\-opt, char $\ast$long\_\-opt, char $\ast$desc)
+\begin{CompactList}\small\item\em Creates a new theme property, if it does not already exist, and sets its attributes to those given. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Provides the Enlightened Property Library. 
+
+This file provies all headers and structs for use with Ecore\_\-Config. Using individual header files should not be necessary. 
+
+\subsection{Enumeration Type Documentation}
+\hypertarget{Ecore__Config_8h_05c0a91293b6d64b4bda030e21a94a16}{
+\index{Ecore_Config.h@{Ecore\_\-Config.h}!Ecore_Config_Type@{Ecore\_\-Config\_\-Type}}
+\index{Ecore_Config_Type@{Ecore\_\-Config\_\-Type}!Ecore_Config.h@{Ecore\_\-Config.h}}
+\subsubsection[Ecore\_\-Config\_\-Type]{\setlength{\rightskip}{0pt plus 5cm}enum \hyperlink{Ecore__Config_8h_05c0a91293b6d64b4bda030e21a94a16}{Ecore\_\-Config\_\-Type}}}
+\label{Ecore__Config_8h_05c0a91293b6d64b4bda030e21a94a16}
+
+
+Valid configuration property types. 
+
+\begin{Desc}
+\item[Enumerator: ]\par
+\begin{description}
+\index{ECORE_CONFIG_NIL@{ECORE\_\-CONFIG\_\-NIL}!Ecore_Config.h@{Ecore\_\-Config.h}}\index{Ecore_Config.h@{Ecore\_\-Config.h}!ECORE_CONFIG_NIL@{ECORE\_\-CONFIG\_\-NIL}}\item[{\em 
+\hypertarget{Ecore__Config_8h_05c0a91293b6d64b4bda030e21a94a16c2237ee005755a649dab9500275e2b5d}{
+ECORE\_\-CONFIG\_\-NIL}
+\label{Ecore__Config_8h_05c0a91293b6d64b4bda030e21a94a16c2237ee005755a649dab9500275e2b5d}
+}]Property with no value. \index{ECORE_CONFIG_INT@{ECORE\_\-CONFIG\_\-INT}!Ecore_Config.h@{Ecore\_\-Config.h}}\index{Ecore_Config.h@{Ecore\_\-Config.h}!ECORE_CONFIG_INT@{ECORE\_\-CONFIG\_\-INT}}\item[{\em 
+\hypertarget{Ecore__Config_8h_05c0a91293b6d64b4bda030e21a94a166bc653e1a23cd40c28461869aeda681b}{
+ECORE\_\-CONFIG\_\-INT}
+\label{Ecore__Config_8h_05c0a91293b6d64b4bda030e21a94a166bc653e1a23cd40c28461869aeda681b}
+}]Integer property type. \index{ECORE_CONFIG_FLT@{ECORE\_\-CONFIG\_\-FLT}!Ecore_Config.h@{Ecore\_\-Config.h}}\index{Ecore_Config.h@{Ecore\_\-Config.h}!ECORE_CONFIG_FLT@{ECORE\_\-CONFIG\_\-FLT}}\item[{\em 
+\hypertarget{Ecore__Config_8h_05c0a91293b6d64b4bda030e21a94a16941a14df868adc309dae8d850c123e38}{
+ECORE\_\-CONFIG\_\-FLT}
+\label{Ecore__Config_8h_05c0a91293b6d64b4bda030e21a94a16941a14df868adc309dae8d850c123e38}
+}]Float property type. \index{ECORE_CONFIG_STR@{ECORE\_\-CONFIG\_\-STR}!Ecore_Config.h@{Ecore\_\-Config.h}}\index{Ecore_Config.h@{Ecore\_\-Config.h}!ECORE_CONFIG_STR@{ECORE\_\-CONFIG\_\-STR}}\item[{\em 
+\hypertarget{Ecore__Config_8h_05c0a91293b6d64b4bda030e21a94a168916e418b542d3d98a54d24dd05e3e67}{
+ECORE\_\-CONFIG\_\-STR}
+\label{Ecore__Config_8h_05c0a91293b6d64b4bda030e21a94a168916e418b542d3d98a54d24dd05e3e67}
+}]String property type. \index{ECORE_CONFIG_RGB@{ECORE\_\-CONFIG\_\-RGB}!Ecore_Config.h@{Ecore\_\-Config.h}}\index{Ecore_Config.h@{Ecore\_\-Config.h}!ECORE_CONFIG_RGB@{ECORE\_\-CONFIG\_\-RGB}}\item[{\em 
+\hypertarget{Ecore__Config_8h_05c0a91293b6d64b4bda030e21a94a16411cdc5bce0d42a387a7a6d91a5c1590}{
+ECORE\_\-CONFIG\_\-RGB}
+\label{Ecore__Config_8h_05c0a91293b6d64b4bda030e21a94a16411cdc5bce0d42a387a7a6d91a5c1590}
+}]Colour property type. \index{ECORE_CONFIG_THM@{ECORE\_\-CONFIG\_\-THM}!Ecore_Config.h@{Ecore\_\-Config.h}}\index{Ecore_Config.h@{Ecore\_\-Config.h}!ECORE_CONFIG_THM@{ECORE\_\-CONFIG\_\-THM}}\item[{\em 
+\hypertarget{Ecore__Config_8h_05c0a91293b6d64b4bda030e21a94a1606a76d37de9c738e99b2caf0ba504a9d}{
+ECORE\_\-CONFIG\_\-THM}
+\label{Ecore__Config_8h_05c0a91293b6d64b4bda030e21a94a1606a76d37de9c738e99b2caf0ba504a9d}
+}]Theme property type. \index{ECORE_CONFIG_BLN@{ECORE\_\-CONFIG\_\-BLN}!Ecore_Config.h@{Ecore\_\-Config.h}}\index{Ecore_Config.h@{Ecore\_\-Config.h}!ECORE_CONFIG_BLN@{ECORE\_\-CONFIG\_\-BLN}}\item[{\em 
+\hypertarget{Ecore__Config_8h_05c0a91293b6d64b4bda030e21a94a162116d13362ca9fa5cb269c63c8aaae5b}{
+ECORE\_\-CONFIG\_\-BLN}
+\label{Ecore__Config_8h_05c0a91293b6d64b4bda030e21a94a162116d13362ca9fa5cb269c63c8aaae5b}
+}]Boolean property type. \index{ECORE_CONFIG_SCT@{ECORE\_\-CONFIG\_\-SCT}!Ecore_Config.h@{Ecore\_\-Config.h}}\index{Ecore_Config.h@{Ecore\_\-Config.h}!ECORE_CONFIG_SCT@{ECORE\_\-CONFIG\_\-SCT}}\item[{\em 
+\hypertarget{Ecore__Config_8h_05c0a91293b6d64b4bda030e21a94a162b6a0c37c507dd18adf604190e8b6e26}{
+ECORE\_\-CONFIG\_\-SCT}
+\label{Ecore__Config_8h_05c0a91293b6d64b4bda030e21a94a162b6a0c37c507dd18adf604190e8b6e26}
+}]Structure property type. \end{description}
+\end{Desc}
+
+
+
+\subsection{Function Documentation}
+\hypertarget{Ecore__Config_8h_09708c678e8666b15b9b3d0a4a1b6941}{
+\index{Ecore_Config.h@{Ecore\_\-Config.h}!ecore_config_app_describe@{ecore\_\-config\_\-app\_\-describe}}
+\index{ecore_config_app_describe@{ecore\_\-config\_\-app\_\-describe}!Ecore_Config.h@{Ecore\_\-Config.h}}
+\subsubsection[ecore\_\-config\_\-app\_\-describe]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-config\_\-app\_\-describe (char $\ast$ {\em description})}}
+\label{Ecore__Config_8h_09708c678e8666b15b9b3d0a4a1b6941}
+
+
+Sets the description string used by \hyperlink{Ecore__Config_8h_4d59447d668c752971c2b026e1869af1}{ecore\_\-config\_\-args\_\-display} . 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em description}]Description of application. \end{description}
+\end{Desc}
+\hypertarget{Ecore__Config_8h_7f695a96908e0399491f2cf403ebad06}{
+\index{Ecore_Config.h@{Ecore\_\-Config.h}!ecore_config_args_parse@{ecore\_\-config\_\-args\_\-parse}}
+\index{ecore_config_args_parse@{ecore\_\-config\_\-args\_\-parse}!Ecore_Config.h@{Ecore\_\-Config.h}}
+\subsubsection[ecore\_\-config\_\-args\_\-parse]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-config\_\-args\_\-parse (void)}}
+\label{Ecore__Config_8h_7f695a96908e0399491f2cf403ebad06}
+
+
+Parse the arguments set by \hyperlink{Ecore_8h_eb02de014af9bfbe960c9f70b085e229}{ecore\_\-app\_\-args\_\-set} and set properties accordingly. 
+
+\begin{Desc}
+\item[Returns:]{\tt ECORE\_\-CONFIG\_\-PARSE\_\-CONTINUE} if successful. {\tt ECORE\_\-CONFIG\_\-PARSE\_\-EXIT} is returned if an unrecognised option is found. {\tt ECORE\_\-CONFIG\_\-PARSE\_\-HELP} is returned if help was displayed. \end{Desc}
+\hypertarget{Ecore__Config_8h_7a2f4b261adb89fe121971e8ba893d7f}{
+\index{Ecore_Config.h@{Ecore\_\-Config.h}!ecore_config_bundle_1st_get@{ecore\_\-config\_\-bundle\_\-1st\_\-get}}
+\index{ecore_config_bundle_1st_get@{ecore\_\-config\_\-bundle\_\-1st\_\-get}!Ecore_Config.h@{Ecore\_\-Config.h}}
+\subsubsection[ecore\_\-config\_\-bundle\_\-1st\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI Ecore\_\-Config\_\-Bundle$\ast$ ecore\_\-config\_\-bundle\_\-1st\_\-get (Ecore\_\-Config\_\-Server $\ast$ {\em srv})}}
+\label{Ecore__Config_8h_7a2f4b261adb89fe121971e8ba893d7f}
+
+
+Locates the first configuration bundle on the given server. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em srv}]The configuration server. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]Pointer to the first configuration bundle. \end{Desc}
+\hypertarget{Ecore__Config_8h_b0a3f0441545678ee2bead622e0c767c}{
+\index{Ecore_Config.h@{Ecore\_\-Config.h}!ecore_config_bundle_by_label_get@{ecore\_\-config\_\-bundle\_\-by\_\-label\_\-get}}
+\index{ecore_config_bundle_by_label_get@{ecore\_\-config\_\-bundle\_\-by\_\-label\_\-get}!Ecore_Config.h@{Ecore\_\-Config.h}}
+\subsubsection[ecore\_\-config\_\-bundle\_\-by\_\-label\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI Ecore\_\-Config\_\-Bundle$\ast$ ecore\_\-config\_\-bundle\_\-by\_\-label\_\-get (Ecore\_\-Config\_\-Server $\ast$ {\em srv}, const char $\ast$ {\em label})}}
+\label{Ecore__Config_8h_b0a3f0441545678ee2bead622e0c767c}
+
+
+Gets the Ecore\_\-Config\_\-Bundle with the given identifier from the given server. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em srv}]The configuration server. \item[{\em label}]The bundle's identifier string. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The bundle with the given identifier string, or {\tt NULL} if it could not be found. \end{Desc}
+\hypertarget{Ecore__Config_8h_c59039f0fc4cbbfdf6198bf6d717916f}{
+\index{Ecore_Config.h@{Ecore\_\-Config.h}!ecore_config_bundle_by_serial_get@{ecore\_\-config\_\-bundle\_\-by\_\-serial\_\-get}}
+\index{ecore_config_bundle_by_serial_get@{ecore\_\-config\_\-bundle\_\-by\_\-serial\_\-get}!Ecore_Config.h@{Ecore\_\-Config.h}}
+\subsubsection[ecore\_\-config\_\-bundle\_\-by\_\-serial\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI Ecore\_\-Config\_\-Bundle$\ast$ ecore\_\-config\_\-bundle\_\-by\_\-serial\_\-get (Ecore\_\-Config\_\-Server $\ast$ {\em srv}, long {\em serial})}}
+\label{Ecore__Config_8h_c59039f0fc4cbbfdf6198bf6d717916f}
+
+
+Locates a configuration bundle on a configuration server based on its serial number. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em srv}]The configuration server. \item[{\em serial}]Serial number. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The configuration bundle with the given serial number. \end{Desc}
+\hypertarget{Ecore__Config_8h_730c49356b9c685535c8e0989f4cec8c}{
+\index{Ecore_Config.h@{Ecore\_\-Config.h}!ecore_config_bundle_label_get@{ecore\_\-config\_\-bundle\_\-label\_\-get}}
+\index{ecore_config_bundle_label_get@{ecore\_\-config\_\-bundle\_\-label\_\-get}!Ecore_Config.h@{Ecore\_\-Config.h}}
+\subsubsection[ecore\_\-config\_\-bundle\_\-label\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI char$\ast$ ecore\_\-config\_\-bundle\_\-label\_\-get (Ecore\_\-Config\_\-Bundle $\ast$ {\em ns})}}
+\label{Ecore__Config_8h_730c49356b9c685535c8e0989f4cec8c}
+
+
+Retrieves the bundle's identifier. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em ns}]The configuration bundle. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The bundle's identifer string. \end{Desc}
+\hypertarget{Ecore__Config_8h_7ea0e833e56e8ed49ec8d185f02d05cd}{
+\index{Ecore_Config.h@{Ecore\_\-Config.h}!ecore_config_bundle_new@{ecore\_\-config\_\-bundle\_\-new}}
+\index{ecore_config_bundle_new@{ecore\_\-config\_\-bundle\_\-new}!Ecore_Config.h@{Ecore\_\-Config.h}}
+\subsubsection[ecore\_\-config\_\-bundle\_\-new]{\setlength{\rightskip}{0pt plus 5cm}EAPI Ecore\_\-Config\_\-Bundle$\ast$ ecore\_\-config\_\-bundle\_\-new (Ecore\_\-Config\_\-Server $\ast$ {\em srv}, const char $\ast$ {\em identifier})}}
+\label{Ecore__Config_8h_7ea0e833e56e8ed49ec8d185f02d05cd}
+
+
+Creates a new Ecore\_\-Config\_\-Bundle. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em srv}]Config server. \item[{\em identifier}]Identifier string for the new bundle. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]A pointer to a new Ecore\_\-Config\_\-Bundle. {\tt NULL} is returned if the structure couldn't be allocated. \end{Desc}
+\hypertarget{Ecore__Config_8h_b7768d4739e3e23d2983d3f050b9acd5}{
+\index{Ecore_Config.h@{Ecore\_\-Config.h}!ecore_config_bundle_next_get@{ecore\_\-config\_\-bundle\_\-next\_\-get}}
+\index{ecore_config_bundle_next_get@{ecore\_\-config\_\-bundle\_\-next\_\-get}!Ecore_Config.h@{Ecore\_\-Config.h}}
+\subsubsection[ecore\_\-config\_\-bundle\_\-next\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI Ecore\_\-Config\_\-Bundle$\ast$ ecore\_\-config\_\-bundle\_\-next\_\-get (Ecore\_\-Config\_\-Bundle $\ast$ {\em ns})}}
+\label{Ecore__Config_8h_b7768d4739e3e23d2983d3f050b9acd5}
+
+
+Locates the configuration bundle after the given one. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em ns}]The configuration bundle. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The next configuration bundle. \end{Desc}
+\hypertarget{Ecore__Config_8h_da8884e5e0877647e5d3753ca13f16cb}{
+\index{Ecore_Config.h@{Ecore\_\-Config.h}!ecore_config_bundle_serial_get@{ecore\_\-config\_\-bundle\_\-serial\_\-get}}
+\index{ecore_config_bundle_serial_get@{ecore\_\-config\_\-bundle\_\-serial\_\-get}!Ecore_Config.h@{Ecore\_\-Config.h}}
+\subsubsection[ecore\_\-config\_\-bundle\_\-serial\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI long ecore\_\-config\_\-bundle\_\-serial\_\-get (Ecore\_\-Config\_\-Bundle $\ast$ {\em ns})}}
+\label{Ecore__Config_8h_da8884e5e0877647e5d3753ca13f16cb}
+
+
+Retrieves the bundle's serial number. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em ns}]The configuration bundle. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The bundle's identifier string, or -1 if ns is {\tt NULL}. \end{Desc}
+\hypertarget{Ecore__Config_8h_79003f211b1f7a174fccdc6974414991}{
+\index{Ecore_Config.h@{Ecore\_\-Config.h}!ecore_config_evas_font_path_apply@{ecore\_\-config\_\-evas\_\-font\_\-path\_\-apply}}
+\index{ecore_config_evas_font_path_apply@{ecore\_\-config\_\-evas\_\-font\_\-path\_\-apply}!Ecore_Config.h@{Ecore\_\-Config.h}}
+\subsubsection[ecore\_\-config\_\-evas\_\-font\_\-path\_\-apply]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-config\_\-evas\_\-font\_\-path\_\-apply (Evas $\ast$ {\em evas})}}
+\label{Ecore__Config_8h_79003f211b1f7a174fccdc6974414991}
+
+
+Calls evas\_\-font\_\-path\_\-append on {\tt evas} for each of the font names stored in the property \char`\"{}/e/font/path\char`\"{}. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em evas}]Evas object to append the font names to. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]{\tt ECORE\_\-CONFIG\_\-ERR\_\-SUCC} on success. {\tt ECORE\_\-CONFIG\_\-ERR\_\-NODATA} is returned if the property has not been set. \end{Desc}
+\hypertarget{Ecore__Config_8h_793b819965f23985b42ebdca638325d5}{
+\index{Ecore_Config.h@{Ecore\_\-Config.h}!ecore_config_theme_default_path_get@{ecore\_\-config\_\-theme\_\-default\_\-path\_\-get}}
+\index{ecore_config_theme_default_path_get@{ecore\_\-config\_\-theme\_\-default\_\-path\_\-get}!Ecore_Config.h@{Ecore\_\-Config.h}}
+\subsubsection[ecore\_\-config\_\-theme\_\-default\_\-path\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI char$\ast$ ecore\_\-config\_\-theme\_\-default\_\-path\_\-get (void)}}
+\label{Ecore__Config_8h_793b819965f23985b42ebdca638325d5}
+
+
+Retrieves the default theme search path. 
+
+\begin{Desc}
+\item[Returns:]The default theme search path. \end{Desc}
+\hypertarget{Ecore__Config_8h_9d4f7c3e2193de373de27ff1a4128080}{
+\index{Ecore_Config.h@{Ecore\_\-Config.h}!ecore_config_theme_search_path_append@{ecore\_\-config\_\-theme\_\-search\_\-path\_\-append}}
+\index{ecore_config_theme_search_path_append@{ecore\_\-config\_\-theme\_\-search\_\-path\_\-append}!Ecore_Config.h@{Ecore\_\-Config.h}}
+\subsubsection[ecore\_\-config\_\-theme\_\-search\_\-path\_\-append]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-config\_\-theme\_\-search\_\-path\_\-append (char $\ast$ {\em path})}}
+\label{Ecore__Config_8h_9d4f7c3e2193de373de27ff1a4128080}
+
+
+Adds the given path to the search path used to find themes. 
+
+If the search path is successfully, the new search path will be saved into the property \char`\"{}/e/themes/search\_\-path\char`\"{}. Therefore, this function should be called {\bf after} \hyperlink{group__Ecore__Config__File__Group_g8e064585346f2234620dbbeb034d406b}{ecore\_\-config\_\-load} to allow a user to override the default search path.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em path}]The given \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]{\tt ECORE\_\-CONFIG\_\-ERR\_\-SUCC} on success. {\tt ECORE\_\-CONFIG\_\-ERR\_\-FAIL} will be returned if {\tt path} already exists in the search path. {\tt ECORE\_\-CONFIG\_\-ERR\_\-FAIL} is returned if {\tt path} is {\tt NULL}. \end{Desc}
+\hypertarget{Ecore__Config_8h_8a633459c4617a33c4107462f5346ab6}{
+\index{Ecore_Config.h@{Ecore\_\-Config.h}!ecore_config_theme_search_path_get@{ecore\_\-config\_\-theme\_\-search\_\-path\_\-get}}
+\index{ecore_config_theme_search_path_get@{ecore\_\-config\_\-theme\_\-search\_\-path\_\-get}!Ecore_Config.h@{Ecore\_\-Config.h}}
+\subsubsection[ecore\_\-config\_\-theme\_\-search\_\-path\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI char$\ast$ ecore\_\-config\_\-theme\_\-search\_\-path\_\-get (void)}}
+\label{Ecore__Config_8h_8a633459c4617a33c4107462f5346ab6}
+
+
+Retrieves the search path used to find themes. 
+
+The search path is stored in the property \char`\"{}/e/themes/search\_\-path\char`\"{}. If the property has not been set, the default path used is \char`\"{}/usr/local/share/$<$app\_\-name$>$/themes$|$$\sim$/.e/apps/$<$app\_\-name$>$/themes\char`\"{}. See \hyperlink{Ecore__Config_8h_793b819965f23985b42ebdca638325d5}{ecore\_\-config\_\-theme\_\-default\_\-path\_\-get} for more information about the default path.
+
+\begin{Desc}
+\item[Returns:]The search path. {\tt NULL} is returned if there is no memory left. \end{Desc}
+\hypertarget{Ecore__Config_8h_90d76531ca2cf69c1b691a92ec65aee9}{
+\index{Ecore_Config.h@{Ecore\_\-Config.h}!ecore_config_theme_with_path_from_name_get@{ecore\_\-config\_\-theme\_\-with\_\-path\_\-from\_\-name\_\-get}}
+\index{ecore_config_theme_with_path_from_name_get@{ecore\_\-config\_\-theme\_\-with\_\-path\_\-from\_\-name\_\-get}!Ecore_Config.h@{Ecore\_\-Config.h}}
+\subsubsection[ecore\_\-config\_\-theme\_\-with\_\-path\_\-from\_\-name\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI char$\ast$ ecore\_\-config\_\-theme\_\-with\_\-path\_\-from\_\-name\_\-get (char $\ast$ {\em name})}}
+\label{Ecore__Config_8h_90d76531ca2cf69c1b691a92ec65aee9}
+
+
+Retrieve a theme file's full path. 
+
+The search path for theme files is given by \hyperlink{Ecore__Config_8h_8a633459c4617a33c4107462f5346ab6}{ecore\_\-config\_\-theme\_\-search\_\-path\_\-get} .
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em name}]The name of the theme. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]A full path to the theme on success. {\tt NULL} will be returned if {\tt name} is {\tt NULL} or no theme matching the given name could be found. \end{Desc}
+\hypertarget{Ecore__Config_8h_104448c0651bdbf586cd9300c2f83805}{
+\index{Ecore_Config.h@{Ecore\_\-Config.h}!ecore_config_theme_with_path_get@{ecore\_\-config\_\-theme\_\-with\_\-path\_\-get}}
+\index{ecore_config_theme_with_path_get@{ecore\_\-config\_\-theme\_\-with\_\-path\_\-get}!Ecore_Config.h@{Ecore\_\-Config.h}}
+\subsubsection[ecore\_\-config\_\-theme\_\-with\_\-path\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI char$\ast$ ecore\_\-config\_\-theme\_\-with\_\-path\_\-get (const char $\ast$ {\em key})}}
+\label{Ecore__Config_8h_104448c0651bdbf586cd9300c2f83805}
+
+
+Retrieves the full path to the theme file of the theme stored in the given property. 
+
+The search path for themes is given by \hyperlink{Ecore__Config_8h_8a633459c4617a33c4107462f5346ab6}{ecore\_\-config\_\-theme\_\-search\_\-path\_\-get} .
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em key}]The given property. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]A full path to the theme on success, or {\tt NULL} on failure. This function will fail if no key is specified or not theme matching that given by the property {\tt key} could be found. \end{Desc}
+\hypertarget{Ecore__Config_8h_5ed9e1272c0e42fb7056770cd773fc3b}{
+\index{Ecore_Config.h@{Ecore\_\-Config.h}!ecore_config_type_guess@{ecore\_\-config\_\-type\_\-guess}}
+\index{ecore_config_type_guess@{ecore\_\-config\_\-type\_\-guess}!Ecore_Config.h@{Ecore\_\-Config.h}}
+\subsubsection[ecore\_\-config\_\-type\_\-guess]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-config\_\-type\_\-guess (const char $\ast$ {\em key}, const char $\ast$ {\em val})}}
+\label{Ecore__Config_8h_5ed9e1272c0e42fb7056770cd773fc3b}
+
+
+Tries to guess the type of a property. 
+
+This function first checks to see if the property exists. If it does, then the type of the stored property is returned. Otherwise, the function tries to guess the type of the property based on {\tt val}.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em key}]The property key. \item[{\em val}]The value in string form. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The type of the property determined by the function. Note that if val is {\tt NULL}, {\tt ECORE\_\-CONFIG\_\-NIL} will be returned. \end{Desc}
diff --git a/doc/latex/Ecore__Data_8h.tex b/doc/latex/Ecore__Data_8h.tex
new file mode 100644
index 0000000..dfd1c45
--- /dev/null
+++ b/doc/latex/Ecore__Data_8h.tex
@@ -0,0 +1,1290 @@
+\hypertarget{Ecore__Data_8h}{
+\section{Ecore\_\-Data.h File Reference}
+\label{Ecore__Data_8h}\index{Ecore_Data.h@{Ecore\_\-Data.h}}
+}
+Contains threading, list, hash, debugging and tree functions. 
+
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+EAPI int \hyperlink{Ecore__Data_8h_873cff99843c0dda345a3c954e5fce9d}{ecore\_\-direct\_\-compare} (const void $\ast$key1, const void $\ast$key2)
+\begin{CompactList}\small\item\em Perform a direct comparison of two keys' values. \item\end{CompactList}\item 
+EAPI int \hyperlink{Ecore__Data_8h_b5741521c8d313a5f438747b4aceecee}{ecore\_\-str\_\-compare} (const void $\ast$key1, const void $\ast$key2)
+\begin{CompactList}\small\item\em Perform a string comparison of two keys values. \item\end{CompactList}\item 
+EAPI unsigned int \hyperlink{Ecore__Data_8h_5e800a5b1f86743721609f897e0ae145}{ecore\_\-direct\_\-hash} (const void $\ast$key)
+\begin{CompactList}\small\item\em Just casts the key to an unsigned int. \item\end{CompactList}\item 
+EAPI unsigned int \hyperlink{Ecore__Data_8h_69c9db0132ed426affeaf8312f074d64}{ecore\_\-str\_\-hash} (const void $\ast$key)
+\begin{CompactList}\small\item\em Compute the hash value of a string. \item\end{CompactList}\item 
+EAPI Ecore\_\-List $\ast$ \hyperlink{group__Ecore__Data__List__Creation__Group_g80ada4d782322648df8889e9d7d18ad6}{ecore\_\-list\_\-new} (void)
+\begin{CompactList}\small\item\em Create and initialize a new list. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Data__List__Creation__Group_g06c059777db36f8ecd699d992e148120}{ecore\_\-list\_\-init} (Ecore\_\-List $\ast$list)
+\begin{CompactList}\small\item\em Initialize a list to some sane starting values. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Data__List__Add__Item__Group_gb211707773975890b6406d9282cfcbf5}{ecore\_\-list\_\-append} (Ecore\_\-List $\ast$list, void $\ast$\_\-data)
+\begin{CompactList}\small\item\em Append data to the list. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Data__List__Add__Item__Group_g6b7c6361881c17430313cb1a214c9df6}{ecore\_\-list\_\-prepend} (Ecore\_\-List $\ast$list, void $\ast$\_\-data)
+\begin{CompactList}\small\item\em Prepend data to the beginning of the list. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Data__List__Add__Item__Group_g5ba15c63f0b4e3c4bf45870d086a3ac9}{ecore\_\-list\_\-insert} (Ecore\_\-List $\ast$list, void $\ast$\_\-data)
+\begin{CompactList}\small\item\em Insert data in front of the current point in the list. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Data__List__Add__Item__Group_g87f46b1ee4fa7ca39c676539bf09d3cc}{ecore\_\-list\_\-append\_\-list} (Ecore\_\-List $\ast$list, Ecore\_\-List $\ast$append)
+\begin{CompactList}\small\item\em Append a list to the list. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Data__List__Add__Item__Group_g1622d5b1973ee9b40e1b228d414cd26d}{ecore\_\-list\_\-prepend\_\-list} (Ecore\_\-List $\ast$list, Ecore\_\-List $\ast$prepend)
+\begin{CompactList}\small\item\em Prepend a list to the beginning of the list. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Data__List__Remove__Item__Group_gf0b1bc4dd9841fe85f195e3be77353fa}{ecore\_\-list\_\-remove\_\-destroy} (Ecore\_\-List $\ast$list)
+\begin{CompactList}\small\item\em Remove and free the data in lists current position. \item\end{CompactList}\item 
+EAPI void $\ast$ \hyperlink{group__Ecore__Data__List__Remove__Item__Group_ga1ef518d46ab426978383037d0401486}{ecore\_\-list\_\-remove} (Ecore\_\-List $\ast$list)
+\begin{CompactList}\small\item\em Remove the current item from the list. \item\end{CompactList}\item 
+EAPI void $\ast$ \hyperlink{group__Ecore__Data__List__Remove__Item__Group_g759db54fb9a6a45dc98c83f44f9b7959}{ecore\_\-list\_\-first\_\-remove} (Ecore\_\-List $\ast$list)
+\begin{CompactList}\small\item\em Remove the first item from the list. \item\end{CompactList}\item 
+EAPI void $\ast$ \hyperlink{group__Ecore__Data__List__Remove__Item__Group_g6ab71587df43b0a27359fc0359b85a74}{ecore\_\-list\_\-last\_\-remove} (Ecore\_\-List $\ast$list)
+\begin{CompactList}\small\item\em Remove the last item from the list. \item\end{CompactList}\item 
+EAPI void $\ast$ \hyperlink{Ecore__Data_8h_8007c9f6392ba93d01ceed6bfaae55de}{ecore\_\-list\_\-current} (Ecore\_\-List $\ast$list)
+\begin{CompactList}\small\item\em Retrieve the data pointed to by the current item in {\tt list}. \item\end{CompactList}\item 
+EAPI void $\ast$ \hyperlink{Ecore__Data_8h_7a92850362be110a94db4e1db6e7bfc5}{ecore\_\-list\_\-first} (Ecore\_\-List $\ast$list)
+\begin{CompactList}\small\item\em Retrieve the data pointed to by the first item in {\tt list}. \item\end{CompactList}\item 
+EAPI void $\ast$ \hyperlink{Ecore__Data_8h_cec936a9d81b2735bad6ec9d04e3c8d7}{ecore\_\-list\_\-last} (Ecore\_\-List $\ast$list)
+\begin{CompactList}\small\item\em Retrieve the data pointed to by the last item in {\tt list}. \item\end{CompactList}\item 
+EAPI int \hyperlink{Ecore__Data_8h_30ed4155f8e406a441f3df2bdee84a3a}{ecore\_\-list\_\-index} (Ecore\_\-List $\ast$list)
+\begin{CompactList}\small\item\em Returns the number of the current node. \item\end{CompactList}\item 
+EAPI int \hyperlink{Ecore__Data_8h_fd4513530761fc53e242f74207200ab9}{ecore\_\-list\_\-count} (Ecore\_\-List $\ast$list)
+\begin{CompactList}\small\item\em Find the number of nodes in the list. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Data__List__Traverse__Group_gd981fd3e42031c62e344ec42da2dccb3}{ecore\_\-list\_\-for\_\-each} (Ecore\_\-List $\ast$list, Ecore\_\-For\_\-Each function, void $\ast$user\_\-data)
+\begin{CompactList}\small\item\em Execute function for each node in {\tt list}. \item\end{CompactList}\item 
+EAPI void $\ast$ \hyperlink{group__Ecore__Data__List__Traverse__Group_g0ed72f2fafabf21761391a93fe1e6196}{ecore\_\-list\_\-first\_\-goto} (Ecore\_\-List $\ast$list)
+\begin{CompactList}\small\item\em Make the current item the first item in the list. \item\end{CompactList}\item 
+EAPI void $\ast$ \hyperlink{group__Ecore__Data__List__Traverse__Group_g7bfec15801e3d4a12730352b62364478}{ecore\_\-list\_\-last\_\-goto} (Ecore\_\-List $\ast$list)
+\begin{CompactList}\small\item\em Make the current item the last item in the list. \item\end{CompactList}\item 
+EAPI void $\ast$ \hyperlink{group__Ecore__Data__List__Traverse__Group_gb900744acb5d2cf35b71d9a4b99d3260}{ecore\_\-list\_\-index\_\-goto} (Ecore\_\-List $\ast$list, int index)
+\begin{CompactList}\small\item\em Make the current item the item with the given index number. \item\end{CompactList}\item 
+EAPI void $\ast$ \hyperlink{group__Ecore__Data__List__Traverse__Group_g2c072ae18b640ea104d5a583c28aa0e9}{ecore\_\-list\_\-goto} (Ecore\_\-List $\ast$list, const void $\ast$\_\-data)
+\begin{CompactList}\small\item\em Make the current item the node that contains {\tt data}. \item\end{CompactList}\item 
+EAPI void $\ast$ \hyperlink{Ecore__Data_8h_43fc95655925c9d8eb89c30b993a840f}{ecore\_\-list\_\-next} (Ecore\_\-List $\ast$list)
+\begin{CompactList}\small\item\em Retrieve the data pointed to by the current item, and make the next item the current item. \item\end{CompactList}\item 
+EAPI void $\ast$ \hyperlink{Ecore__Data_8h_77b1d474bdd46db28addc3c46a9960cd}{ecore\_\-list\_\-find} (Ecore\_\-List $\ast$list, Ecore\_\-Compare\_\-Cb function, const void $\ast$user\_\-data)
+\begin{CompactList}\small\item\em Find data in {\tt list} using the compare function {\tt func}. \item\end{CompactList}\item 
+EAPI int \hyperlink{Ecore__Data_8h_caaad871e840c125686153b44d089aef}{ecore\_\-list\_\-sort} (Ecore\_\-List $\ast$list, Ecore\_\-Compare\_\-Cb compare, char order)
+\begin{CompactList}\small\item\em Sort data in {\tt list} using the compare function {\tt compare}. \item\end{CompactList}\item 
+EAPI int \hyperlink{Ecore__Data_8h_a53a279287339285863c33b196845985}{ecore\_\-list\_\-mergesort} (Ecore\_\-List $\ast$list, Ecore\_\-Compare\_\-Cb compare, char order)
+\begin{CompactList}\small\item\em Sort data in {\tt list} using the compare function {\tt compare}. \item\end{CompactList}\item 
+EAPI int \hyperlink{Ecore__Data_8h_cb4438e669ea71a2f554fbb0c7f2c4a7}{ecore\_\-list\_\-heapsort} (Ecore\_\-List $\ast$list, Ecore\_\-Compare\_\-Cb compare, char order)
+\begin{CompactList}\small\item\em Sort data in {\tt list} using the compare function {\tt compare}. \item\end{CompactList}\item 
+EAPI int \hyperlink{Ecore__Data_8h_d29dcb74971eae5c69629d51e5de851a}{ecore\_\-list\_\-empty\_\-is} (Ecore\_\-List $\ast$list)
+\begin{CompactList}\small\item\em Checks the list for any nodes. \item\end{CompactList}\item 
+EAPI int \hyperlink{Ecore__Data_8h_af35de16533e2549d43356de77dbb24c}{ecore\_\-list\_\-clear} (Ecore\_\-List $\ast$list)
+\begin{CompactList}\small\item\em Remove all nodes from {\tt list}. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__Data__List__Creation__Group_g15e19a128b9926c96b999212f2d5b793}{ecore\_\-list\_\-destroy} (Ecore\_\-List $\ast$list)
+\begin{CompactList}\small\item\em Free a list and all of it's nodes. \item\end{CompactList}\item 
+EAPI Ecore\_\-List\_\-Node $\ast$ \hyperlink{group__Ecore__Data__List__Node__Group_gaecc02845c38719dfe67b32c00cf5248}{ecore\_\-list\_\-node\_\-new} (void)
+\begin{CompactList}\small\item\em Allocates and initializes a new list node. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Data__List__Node__Group_g1cda1cfa085463a8b833034c1ab47730}{ecore\_\-list\_\-node\_\-destroy} (Ecore\_\-List\_\-Node $\ast$\_\-e\_\-node, Ecore\_\-Free\_\-Cb free\_\-func)
+\begin{CompactList}\small\item\em Calls the function to free the data and the node. \item\end{CompactList}\item 
+EAPI int \hyperlink{Ecore__Data_8h_348f60c3412d15ffa67abce2cf4c06a5}{ecore\_\-list\_\-free\_\-cb\_\-set} (Ecore\_\-List $\ast$list, Ecore\_\-Free\_\-Cb free\_\-func)
+\begin{CompactList}\small\item\em Set the function for freeing data. \item\end{CompactList}\item 
+EAPI Ecore\_\-DList $\ast$ \hyperlink{group__Ecore__Data__DList__Creation__Group_g6b10331356b28504aedbe6fb5f483a21}{ecore\_\-dlist\_\-new} (void)
+\begin{CompactList}\small\item\em Creates and initialises a new doubly linked list. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Data__DList__Creation__Group_g7958d0f1de2e465f521456f12fad103c}{ecore\_\-dlist\_\-init} (Ecore\_\-DList $\ast$list)
+\begin{CompactList}\small\item\em Initialises a list to some sane starting values. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__Data__DList__Creation__Group_g838f7287130783e63b6ccf9ebbd6d7b2}{ecore\_\-dlist\_\-destroy} (Ecore\_\-DList $\ast$list)
+\begin{CompactList}\small\item\em Frees a doubly linked list and all of its nodes. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Data__DList__Add__Item__Group_gb9ecd4d6c0b462afd43b6703497952dc}{ecore\_\-dlist\_\-append} (Ecore\_\-DList $\ast$\_\-e\_\-dlist, void $\ast$\_\-data)
+\begin{CompactList}\small\item\em Appends data to the given doubly linked list. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Data__DList__Add__Item__Group_g95c60034d74c2200bce2f8cb1e1fd952}{ecore\_\-dlist\_\-prepend} (Ecore\_\-DList $\ast$\_\-e\_\-dlist, void $\ast$\_\-data)
+\begin{CompactList}\small\item\em Adds data to the very beginning of the given doubly linked list. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Data__DList__Add__Item__Group_g222f069fec04411a84c8b874f01c66a3}{ecore\_\-dlist\_\-insert} (Ecore\_\-DList $\ast$\_\-e\_\-dlist, void $\ast$\_\-data)
+\begin{CompactList}\small\item\em Inserts data at the current point in the given doubly linked list. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Data__DList__Add__Item__Group_g04436a308abfaf767d15579d6b7f92d9}{ecore\_\-dlist\_\-append\_\-list} (Ecore\_\-DList $\ast$\_\-e\_\-dlist, Ecore\_\-DList $\ast$append)
+\begin{CompactList}\small\item\em Appends a list to the given doubly linked list. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Data__DList__Add__Item__Group_g220fcae29f75447ebaa00aa204852db1}{ecore\_\-dlist\_\-prepend\_\-list} (Ecore\_\-DList $\ast$\_\-e\_\-dlist, Ecore\_\-DList $\ast$prepend)
+\begin{CompactList}\small\item\em Adds a list to the very beginning of the given doubly linked list. \item\end{CompactList}\item 
+EAPI void $\ast$ \hyperlink{Ecore__Data_8h_9659bf990d5d77609dd1de2e13e82968}{ecore\_\-dlist\_\-current} (Ecore\_\-DList $\ast$list)
+\begin{CompactList}\small\item\em Return the data in the current list item. \item\end{CompactList}\item 
+EAPI int \hyperlink{Ecore__Data_8h_3a96cd6e0c7630a558ffcd8a78640db0}{ecore\_\-dlist\_\-index} (Ecore\_\-DList $\ast$list)
+\begin{CompactList}\small\item\em Retrieves the index of the current node of the given doubly linked list. \item\end{CompactList}\item 
+EAPI void $\ast$ \hyperlink{group__Ecore__Data__DList__Remove__Item__Group_g57c91ac510db4da827353d0f034a6fb8}{ecore\_\-dlist\_\-remove} (Ecore\_\-DList $\ast$\_\-e\_\-dlist)
+\begin{CompactList}\small\item\em Removes the current item from the given doubly linked list. \item\end{CompactList}\item 
+EAPI void $\ast$ \hyperlink{group__Ecore__Data__DList__Remove__Item__Group_g6df23f69806e4a65bde1a4031170ef2c}{ecore\_\-dlist\_\-first\_\-remove} (Ecore\_\-DList $\ast$\_\-e\_\-dlist)
+\begin{CompactList}\small\item\em Removes the first item from the given doubly linked list. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Data__DList__Remove__Item__Group_gd98f5e6976e2da0fcabe4a22a4f704f7}{ecore\_\-dlist\_\-remove\_\-destroy} (Ecore\_\-DList $\ast$list)
+\begin{CompactList}\small\item\em Removes and frees the data at the current position in the given doubly linked list. \item\end{CompactList}\item 
+EAPI void $\ast$ \hyperlink{group__Ecore__Data__DList__Remove__Item__Group_ga8104f45ce30a4d8df091d58c0c56d00}{ecore\_\-dlist\_\-last\_\-remove} (Ecore\_\-DList $\ast$\_\-e\_\-dlist)
+\begin{CompactList}\small\item\em Removes the last item from the given doubly linked list. \item\end{CompactList}\item 
+EAPI void $\ast$ \hyperlink{Ecore__Data_8h_495fb09e9ce3a9782246ab0c67d42e91}{ecore\_\-dlist\_\-first\_\-goto} (Ecore\_\-DList $\ast$\_\-e\_\-dlist)
+\begin{CompactList}\small\item\em Move the current pointer to the first item in the list. \item\end{CompactList}\item 
+EAPI void $\ast$ \hyperlink{Ecore__Data_8h_75afcbcb50a9871b7453b246e63bfb69}{ecore\_\-dlist\_\-last\_\-goto} (Ecore\_\-DList $\ast$\_\-e\_\-dlist)
+\begin{CompactList}\small\item\em Move the pointer to the current item to the last item. \item\end{CompactList}\item 
+EAPI void $\ast$ \hyperlink{Ecore__Data_8h_94ce6bfa15920cdac551e52617edb2ee}{ecore\_\-dlist\_\-index\_\-goto} (Ecore\_\-DList $\ast$\_\-e\_\-dlist, int index)
+\begin{CompactList}\small\item\em Moves the current item to the index number in the given doubly linked list. \item\end{CompactList}\item 
+EAPI void $\ast$ \hyperlink{Ecore__Data_8h_13fa600cdd4847ca1033af311eac32f0}{ecore\_\-dlist\_\-goto} (Ecore\_\-DList $\ast$\_\-e\_\-dlist, void $\ast$\_\-data)
+\begin{CompactList}\small\item\em Move the current item to the node that contains data. \item\end{CompactList}\item 
+EAPI void $\ast$ \hyperlink{Ecore__Data_8h_ebd60d8a08353b75e9206b630178e712}{ecore\_\-dlist\_\-next} (Ecore\_\-DList $\ast$list)
+\begin{CompactList}\small\item\em Move to the next item in the list and return current item. \item\end{CompactList}\item 
+EAPI void $\ast$ \hyperlink{Ecore__Data_8h_d1de9f6428f7270f604b7ce1a078ae4e}{ecore\_\-dlist\_\-previous} (Ecore\_\-DList $\ast$list)
+\begin{CompactList}\small\item\em Move to the previous item and return current item. \item\end{CompactList}\item 
+EAPI int \hyperlink{Ecore__Data_8h_932b3bbec2f04b545a9f422fb05e1030}{ecore\_\-dlist\_\-sort} (Ecore\_\-DList $\ast$list, Ecore\_\-Compare\_\-Cb compare, char order)
+\begin{CompactList}\small\item\em Sort data in {\tt list} using the compare function {\tt compare}. \item\end{CompactList}\item 
+EAPI int \hyperlink{Ecore__Data_8h_30846148d6b7c635b78f880c96911e4e}{ecore\_\-dlist\_\-mergesort} (Ecore\_\-DList $\ast$list, Ecore\_\-Compare\_\-Cb compare, char order)
+\begin{CompactList}\small\item\em Sort data in {\tt list} using the compare function {\tt compare}. \item\end{CompactList}\item 
+EAPI int \hyperlink{Ecore__Data_8h_27646e313158b25161c3175b30437cf6}{ecore\_\-dlist\_\-empty\_\-is} (Ecore\_\-DList $\ast$\_\-e\_\-dlist)
+\begin{CompactList}\small\item\em Returns whether there is anything in the given doubly linked list. \item\end{CompactList}\item 
+EAPI int \hyperlink{Ecore__Data_8h_0ed323ece8036a0c0f3e4f23cbceb5c5}{ecore\_\-dlist\_\-clear} (Ecore\_\-DList $\ast$\_\-e\_\-dlist)
+\begin{CompactList}\small\item\em Remove all nodes from the list. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Data__DList__Creation__Group_gda3e2854278324fcf135e4831aadce71}{ecore\_\-dlist\_\-free\_\-cb\_\-set} (Ecore\_\-DList $\ast$dlist, Ecore\_\-Free\_\-Cb free\_\-func)
+\begin{CompactList}\small\item\em Sets the function used for freeing data stored in a doubly linked list. \item\end{CompactList}\item 
+EAPI Ecore\_\-Hash $\ast$ \hyperlink{group__Ecore__Data__Hash__ADT__Creation__Group_g5de992790f5cc11571b5739299a1f472}{ecore\_\-hash\_\-new} (Ecore\_\-Hash\_\-Cb hash\_\-func, Ecore\_\-Compare\_\-Cb compare)
+\begin{CompactList}\small\item\em Creates and initializes a new hash. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Data__Hash__ADT__Creation__Group_gce3bbd88a3fc2bcc391da07fce9cf1a7}{ecore\_\-hash\_\-init} (Ecore\_\-Hash $\ast$hash, Ecore\_\-Hash\_\-Cb hash\_\-func, Ecore\_\-Compare\_\-Cb compare)
+\begin{CompactList}\small\item\em Initializes the given hash. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Data__Hash__ADT__Destruction__Group_g3f98af9e6362e243a1da0252f93fb540}{ecore\_\-hash\_\-free\_\-key\_\-cb\_\-set} (Ecore\_\-Hash $\ast$hash, Ecore\_\-Free\_\-Cb function)
+\begin{CompactList}\small\item\em Sets the function to destroy the keys of the given hash. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Data__Hash__ADT__Destruction__Group_g0f0a17ac35a89cb7dac73fea23564ddd}{ecore\_\-hash\_\-free\_\-value\_\-cb\_\-set} (Ecore\_\-Hash $\ast$hash, Ecore\_\-Free\_\-Cb function)
+\begin{CompactList}\small\item\em Sets the function to destroy the values in the given hash. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__Data__Hash__ADT__Destruction__Group_g105c167609936be76f83bcae7ceef598}{ecore\_\-hash\_\-destroy} (Ecore\_\-Hash $\ast$hash)
+\begin{CompactList}\small\item\em Frees the hash table and the data contained inside it. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Data__Hash__ADT__Destruction__Group_g2f4df7c58d507297d465395bcd2f57c6}{ecore\_\-hash\_\-count} (Ecore\_\-Hash $\ast$hash)
+\begin{CompactList}\small\item\em Counts the number of nodes in a hash table. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Data__Hash__ADT__Traverse__Group_g2c2ae04b3ce693d317e52e510d0b6e52}{ecore\_\-hash\_\-for\_\-each\_\-node} (Ecore\_\-Hash $\ast$hash, Ecore\_\-For\_\-Each for\_\-each\_\-func, void $\ast$user\_\-data)
+\begin{CompactList}\small\item\em Runs the {\tt for\_\-each\_\-func} function on each entry in the given hash. \item\end{CompactList}\item 
+EAPI Ecore\_\-List $\ast$ \hyperlink{group__Ecore__Data__Hash__ADT__Traverse__Group_geb61f09759a6325a34f797438f1bdce0}{ecore\_\-hash\_\-keys} (Ecore\_\-Hash $\ast$hash)
+\begin{CompactList}\small\item\em Retrieves an ecore\_\-list of all keys in the given hash. \item\end{CompactList}\item 
+EAPI void $\ast$ \hyperlink{group__Ecore__Data__Hash__ADT__Data__Group_g90c2fcaadceee751422bce089bff22e9}{ecore\_\-hash\_\-get} (Ecore\_\-Hash $\ast$hash, const void $\ast$key)
+\begin{CompactList}\small\item\em Retrieves the value associated with the given key from the given hash table. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Data__Hash__ADT__Data__Group_gbac7868d1b39556c7499dc2786ca1fe5}{ecore\_\-hash\_\-set} (Ecore\_\-Hash $\ast$hash, void $\ast$key, void $\ast$value)
+\begin{CompactList}\small\item\em Sets a key-value pair in the given hash table. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Data__Hash__ADT__Data__Group_g64262a142e203f74778cff91bdc46e1e}{ecore\_\-hash\_\-hash\_\-set} (Ecore\_\-Hash $\ast$hash, Ecore\_\-Hash $\ast$set)
+\begin{CompactList}\small\item\em Sets all key-value pairs from set in the given hash table. \item\end{CompactList}\item 
+EAPI void $\ast$ \hyperlink{group__Ecore__Data__Hash__ADT__Data__Group_g1f69d26d118beb108e260bf92f764b77}{ecore\_\-hash\_\-remove} (Ecore\_\-Hash $\ast$hash, const void $\ast$key)
+\begin{CompactList}\small\item\em Removes the value associated with the given key in the given hash table. \item\end{CompactList}\item 
+EAPI void $\ast$ \hyperlink{group__Ecore__Data__Hash__ADT__Data__Group_g9c2c0764302ec227472c3b643864c745}{ecore\_\-hash\_\-find} (Ecore\_\-Hash $\ast$hash, Ecore\_\-Compare\_\-Cb compare, const void $\ast$value)
+\begin{CompactList}\small\item\em Retrieves the first value that matches table. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore__Data_8h_ded8225238100f9e94e840c4eff7e944}{ecore\_\-hash\_\-dump\_\-graph} (Ecore\_\-Hash $\ast$hash)
+\begin{CompactList}\small\item\em Prints the distribution of the given hash table for graphing. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore__Data_8h_166bc0adb5b2130fc86302368581c0c2}{ecore\_\-hash\_\-dump\_\-stats} (Ecore\_\-Hash $\ast$hash)
+\begin{CompactList}\small\item\em Prints the distribution of the given hash table for graphing. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Path__Group_g473c0199a5051f156c5f90620379aa5f}{ecore\_\-path\_\-group\_\-new} (char $\ast$group\_\-name)
+\begin{CompactList}\small\item\em Creates a new path group. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__Path__Group_gab5e4ad6a1bbd4d8f9981428008f8e7d}{ecore\_\-path\_\-group\_\-del} (int group\_\-id)
+\begin{CompactList}\small\item\em Destroys a previously created path group. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__Path__Group_g68a0408334b4a5917cd15f03eed96ba0}{ecore\_\-path\_\-group\_\-add} (int group\_\-id, char $\ast$path)
+\begin{CompactList}\small\item\em Adds a directory to be searched for files. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__Path__Group_gfeca230cd94ad8a5616170c9d015efdb}{ecore\_\-path\_\-group\_\-remove} (int group\_\-id, char $\ast$path)
+\begin{CompactList}\small\item\em Removes the given directory from the given group. \item\end{CompactList}\item 
+EAPI char $\ast$ \hyperlink{group__Ecore__Path__Group_g12f3c1df8f9ef551561409b36377621d}{ecore\_\-path\_\-group\_\-find} (int group\_\-id, char $\ast$name)
+\begin{CompactList}\small\item\em Finds a file in a group of paths. \item\end{CompactList}\item 
+EAPI Ecore\_\-List $\ast$ \hyperlink{group__Ecore__Path__Group_g9f45c0a8e744b56b2b14d1cce60907be}{ecore\_\-path\_\-group\_\-available} (int group\_\-id)
+\begin{CompactList}\small\item\em Retrieves a list of all available files in the given path. \item\end{CompactList}\item 
+EAPI Ecore\_\-Plugin $\ast$ \hyperlink{group__Ecore__Plugin_gd18ad5feab33494fe59e666995f5e50d}{ecore\_\-plugin\_\-load} (int group\_\-id, const char $\ast$plugin)
+\begin{CompactList}\small\item\em Loads the specified plugin from the specified path group. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__Plugin_gcffe2e8b05e697882026a4ab2a8e6a96}{ecore\_\-plugin\_\-unload} (Ecore\_\-Plugin $\ast$plugin)
+\begin{CompactList}\small\item\em Unloads the given plugin from memory. \item\end{CompactList}\item 
+EAPI Ecore\_\-Sheap $\ast$ \hyperlink{Ecore__Data_8h_e7cc60f5c10a25a93a78596ff284ed98}{ecore\_\-sheap\_\-new} (Ecore\_\-Compare\_\-Cb compare, int size)
+\begin{CompactList}\small\item\em Allocate and initialize a new binary heap. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore__Data_8h_98d19b734ebe2a81fc3bbbbc2737d862}{ecore\_\-sheap\_\-destroy} (Ecore\_\-Sheap $\ast$heap)
+\begin{CompactList}\small\item\em Free up the memory used by the heap. \item\end{CompactList}\item 
+EAPI int \hyperlink{Ecore__Data_8h_bde11935b214bd9b3acbac930fbae7ec}{ecore\_\-sheap\_\-init} (Ecore\_\-Sheap $\ast$heap, Ecore\_\-Compare\_\-Cb compare, int size)
+\begin{CompactList}\small\item\em Initialize a binary heap to default values. \item\end{CompactList}\item 
+EAPI int \hyperlink{Ecore__Data_8h_dee5618dc88f909f2097762c261101dd}{ecore\_\-sheap\_\-free\_\-cb\_\-set} (Ecore\_\-Sheap $\ast$heap, Ecore\_\-Free\_\-Cb free\_\-func)
+\begin{CompactList}\small\item\em Set the function for freeing data. \item\end{CompactList}\item 
+EAPI int \hyperlink{Ecore__Data_8h_3fc6a0416b4cb3d09eb7ee2a594c7eb6}{ecore\_\-sheap\_\-insert} (Ecore\_\-Sheap $\ast$heap, void $\ast$data)
+\begin{CompactList}\small\item\em Insert new data into the heap. \item\end{CompactList}\item 
+EAPI void $\ast$ \hyperlink{Ecore__Data_8h_b7bd874a27f5b8f7860c7e2e4893e651}{ecore\_\-sheap\_\-extract} (Ecore\_\-Sheap $\ast$heap)
+\begin{CompactList}\small\item\em Extract the item at the top of the heap. \item\end{CompactList}\item 
+EAPI void $\ast$ \hyperlink{Ecore__Data_8h_3342b30dc12366b169466aafb0954640}{ecore\_\-sheap\_\-extreme} (Ecore\_\-Sheap $\ast$heap)
+\begin{CompactList}\small\item\em Examine the item at the top of the heap. \item\end{CompactList}\item 
+EAPI int \hyperlink{Ecore__Data_8h_be297ee8de1bd957f38731bf3d14efbc}{ecore\_\-sheap\_\-change} (Ecore\_\-Sheap $\ast$heap, void $\ast$item, void $\ast$newval)
+\begin{CompactList}\small\item\em Change the value of the specified item in the heap. \item\end{CompactList}\item 
+EAPI int \hyperlink{Ecore__Data_8h_ad77243ee455d01f3038fadecde342ad}{ecore\_\-sheap\_\-compare\_\-set} (Ecore\_\-Sheap $\ast$heap, Ecore\_\-Compare\_\-Cb compare)
+\begin{CompactList}\small\item\em Change the comparison function for the heap. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore__Data_8h_ac5ec246c5303cecdfba8e4b54561603}{ecore\_\-sheap\_\-order\_\-set} (Ecore\_\-Sheap $\ast$heap, char order)
+\begin{CompactList}\small\item\em Change the order of the heap. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore__Data_8h_f0d1921912193237832b5720b9bd80a9}{ecore\_\-sheap\_\-sort} (Ecore\_\-Sheap $\ast$heap)
+\begin{CompactList}\small\item\em Sort the data in the heap. \item\end{CompactList}\item 
+EAPI int \hyperlink{Ecore__Data_8h_c4977b1a19782b19dde5f4c786f4da7c}{ecore\_\-string\_\-init} (void)
+\begin{CompactList}\small\item\em Initialize the ecore string internal structure. \item\end{CompactList}\item 
+\hypertarget{Ecore__Data_8h_ce032ebe8fc06a10f9d84e03797a8111}{
+EAPI void \hyperlink{Ecore__Data_8h_ce032ebe8fc06a10f9d84e03797a8111}{ecore\_\-string\_\-shutdown} (void)}
+\label{Ecore__Data_8h_ce032ebe8fc06a10f9d84e03797a8111}
+
+\begin{CompactList}\small\item\em Shutdown the ecore string internal structures. \item\end{CompactList}\item 
+EAPI const char $\ast$ \hyperlink{group__Ecore__String__Group_g30c9f103f58a9d2e9b3e31acc99978d8}{ecore\_\-string\_\-instance} (const char $\ast$string)
+\begin{CompactList}\small\item\em Retrieves an instance of a string for use in an ecore program. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__String__Group_gd551844a4defc87dd4623d0b4ad19588}{ecore\_\-string\_\-release} (const char $\ast$string)
+\begin{CompactList}\small\item\em Notes that the given string has lost an instance. \item\end{CompactList}\item 
+EAPI Ecore\_\-Tree $\ast$ \hyperlink{Ecore__Data_8h_e8092547ff422b15de8c9d160d056a93}{ecore\_\-tree\_\-new} (Ecore\_\-Compare\_\-Cb compare\_\-func)
+\begin{CompactList}\small\item\em Allocate a new tree structure. \item\end{CompactList}\item 
+EAPI int \hyperlink{Ecore__Data_8h_03d5b1e09edc6bf6fef84a702b92398b}{ecore\_\-tree\_\-init} (Ecore\_\-Tree $\ast$tree, Ecore\_\-Compare\_\-Cb compare\_\-func)
+\begin{CompactList}\small\item\em Initialize a tree structure to some sane initial values. \item\end{CompactList}\item 
+EAPI int \hyperlink{Ecore__Data_8h_3df247a9cf0c0527c4c683cfa6d026ca}{ecore\_\-tree\_\-destroy} (Ecore\_\-Tree $\ast$tree)
+\begin{CompactList}\small\item\em Free the tree and it's stored data. \item\end{CompactList}\item 
+EAPI int \hyperlink{Ecore__Data_8h_a4ac53575ba20de78505778ed5b433aa}{ecore\_\-tree\_\-empty\_\-is} (Ecore\_\-Tree $\ast$tree)
+\begin{CompactList}\small\item\em Test to see if the tree has any nodes. \item\end{CompactList}\item 
+EAPI void $\ast$ \hyperlink{Ecore__Data_8h_06c55b89a6bdac8d441b34282a12fa83}{ecore\_\-tree\_\-get} (Ecore\_\-Tree $\ast$tree, const void $\ast$key)
+\begin{CompactList}\small\item\em Return the value corresponding to key. \item\end{CompactList}\item 
+EAPI Ecore\_\-Tree\_\-Node $\ast$ \hyperlink{Ecore__Data_8h_ce588048d6380f927e28c534af1afdba}{ecore\_\-tree\_\-get\_\-node} (Ecore\_\-Tree $\ast$tree, const void $\ast$key)
+\begin{CompactList}\small\item\em Return the node corresponding to key. \item\end{CompactList}\item 
+EAPI void $\ast$ \hyperlink{Ecore__Data_8h_f52e7fdca0f27368c7c95d50e386376f}{ecore\_\-tree\_\-closest\_\-larger\_\-get} (Ecore\_\-Tree $\ast$tree, const void $\ast$key)
+\begin{CompactList}\small\item\em Find the closest value greater than or equal to the key. \item\end{CompactList}\item 
+EAPI void $\ast$ \hyperlink{Ecore__Data_8h_77a68da43db9e664c403bf819d737d62}{ecore\_\-tree\_\-closest\_\-smaller\_\-get} (Ecore\_\-Tree $\ast$tree, const void $\ast$key)
+\begin{CompactList}\small\item\em Find the closest value $<$= key. \item\end{CompactList}\item 
+EAPI int \hyperlink{Ecore__Data_8h_e999f4d62c2a91ebce987e8aada33cca}{ecore\_\-tree\_\-set} (Ecore\_\-Tree $\ast$tree, void $\ast$key, void $\ast$value)
+\begin{CompactList}\small\item\em Set the value associated with key to {\em value\/}. \item\end{CompactList}\item 
+EAPI int \hyperlink{Ecore__Data_8h_5c0dbd9de210017842c51b7c3939cc1a}{ecore\_\-tree\_\-remove} (Ecore\_\-Tree $\ast$tree, const void $\ast$key)
+\begin{CompactList}\small\item\em Remove the key from the tree. \item\end{CompactList}\item 
+EAPI int \hyperlink{Ecore__Data_8h_83ebb0d3894f5aaf80142949a5583c1c}{ecore\_\-tree\_\-node\_\-add} (Ecore\_\-Tree $\ast$tree, Ecore\_\-Tree\_\-Node $\ast$node)
+\begin{CompactList}\small\item\em Place a node in the tree. \item\end{CompactList}\item 
+EAPI int \hyperlink{Ecore__Data_8h_1d72ac2a0b21c54698e72bac05c12066}{ecore\_\-tree\_\-node\_\-remove} (Ecore\_\-Tree $\ast$tree, Ecore\_\-Tree\_\-Node $\ast$node)
+\begin{CompactList}\small\item\em Remove the node from the tree. \item\end{CompactList}\item 
+EAPI int \hyperlink{Ecore__Data_8h_bfde6d03be39d04a4d7291d4d6f86810}{ecore\_\-tree\_\-for\_\-each\_\-node} (Ecore\_\-Tree $\ast$tree, Ecore\_\-For\_\-Each for\_\-each\_\-func, void $\ast$user\_\-data)
+\begin{CompactList}\small\item\em Execute the function for each node in the tree. \item\end{CompactList}\item 
+EAPI int \hyperlink{Ecore__Data_8h_684e9299e24fa6db5c81b346be5ea88b}{ecore\_\-tree\_\-for\_\-each\_\-node\_\-value} (Ecore\_\-Tree $\ast$tree, Ecore\_\-For\_\-Each for\_\-each\_\-func, void $\ast$user\_\-data)
+\begin{CompactList}\small\item\em Execute function for each value in the tree. \item\end{CompactList}\item 
+\hypertarget{Ecore__Data_8h_0c42689408b874a7c2bd9e082090fc5b}{
+EAPI Ecore\_\-Strbuf $\ast$ \hyperlink{Ecore__Data_8h_0c42689408b874a7c2bd9e082090fc5b}{ecore\_\-strbuf\_\-new} (void)}
+\label{Ecore__Data_8h_0c42689408b874a7c2bd9e082090fc5b}
+
+\begin{CompactList}\small\item\em Create a new string buffer. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore__Data_8h_838f94eec6bd18242196539e5b914d82}{ecore\_\-strbuf\_\-free} (Ecore\_\-Strbuf $\ast$buf)
+\begin{CompactList}\small\item\em Free a string buffer. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore__Data_8h_e67778c23a633d19d3f30ae03a7bdea5}{ecore\_\-strbuf\_\-append} (Ecore\_\-Strbuf $\ast$buf, const char $\ast$str)
+\begin{CompactList}\small\item\em Append a string to a buffer, reallocating as necessary. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore__Data_8h_3ed82332312fcbda9e72b4cb0b45c401}{ecore\_\-strbuf\_\-append\_\-char} (Ecore\_\-Strbuf $\ast$buf, char c)
+\begin{CompactList}\small\item\em Append a character to a string buffer, reallocating as necessary. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore__Data_8h_cfb0680131457a82291765c17f5ba5ae}{ecore\_\-strbuf\_\-insert} (Ecore\_\-Strbuf $\ast$buf, const char $\ast$str, size\_\-t pos)
+\begin{CompactList}\small\item\em Insert a string to a buffer, reallocating as necessary. \item\end{CompactList}\item 
+EAPI const char $\ast$ \hyperlink{Ecore__Data_8h_85137f7f462c5903c056e200c48a6d99}{ecore\_\-strbuf\_\-string\_\-get} (Ecore\_\-Strbuf $\ast$buf)
+\begin{CompactList}\small\item\em Retrieve a pointer to the contents of a string buffer. \item\end{CompactList}\item 
+EAPI size\_\-t \hyperlink{Ecore__Data_8h_c94cffd46ac2eccb0142ffa170a0d148}{ecore\_\-strbuf\_\-length\_\-get} (Ecore\_\-Strbuf $\ast$buf)
+\begin{CompactList}\small\item\em Retrieve the length of the string buffer content. \item\end{CompactList}\item 
+EAPI int \hyperlink{Ecore__Data_8h_4e0d78626cac5d2e0ac67038ed079f7a}{ecore\_\-strbuf\_\-replace} (Ecore\_\-Strbuf $\ast$buf, const char $\ast$str, const char $\ast$with, unsigned int n)
+\begin{CompactList}\small\item\em Replace the n-th string with an other string. \item\end{CompactList}\item 
+EAPI int \hyperlink{Ecore__Data_8h_c3fe25ffafcc403f4f0178fc18069a69}{ecore\_\-strbuf\_\-replace\_\-all} (Ecore\_\-Strbuf $\ast$buf, const char $\ast$str, const char $\ast$with)
+\begin{CompactList}\small\item\em Replace all strings with an other string. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Contains threading, list, hash, debugging and tree functions. 
+
+
+
+\subsection{Function Documentation}
+\hypertarget{Ecore__Data_8h_873cff99843c0dda345a3c954e5fce9d}{
+\index{Ecore_Data.h@{Ecore\_\-Data.h}!ecore_direct_compare@{ecore\_\-direct\_\-compare}}
+\index{ecore_direct_compare@{ecore\_\-direct\_\-compare}!Ecore_Data.h@{Ecore\_\-Data.h}}
+\subsubsection[ecore\_\-direct\_\-compare]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-direct\_\-compare (const void $\ast$ {\em key1}, const void $\ast$ {\em key2})}}
+\label{Ecore__Data_8h_873cff99843c0dda345a3c954e5fce9d}
+
+
+Perform a direct comparison of two keys' values. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em key1}]The first key to compare \item[{\em key2}]The second key to compare \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]A strcmp style value to indicate the larger key \end{Desc}
+\hypertarget{Ecore__Data_8h_5e800a5b1f86743721609f897e0ae145}{
+\index{Ecore_Data.h@{Ecore\_\-Data.h}!ecore_direct_hash@{ecore\_\-direct\_\-hash}}
+\index{ecore_direct_hash@{ecore\_\-direct\_\-hash}!Ecore_Data.h@{Ecore\_\-Data.h}}
+\subsubsection[ecore\_\-direct\_\-hash]{\setlength{\rightskip}{0pt plus 5cm}EAPI unsigned int ecore\_\-direct\_\-hash (const void $\ast$ {\em key})}}
+\label{Ecore__Data_8h_5e800a5b1f86743721609f897e0ae145}
+
+
+Just casts the key to an unsigned int. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em key}]The key to return compute a hash value \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The key cast to an unsigned int. \end{Desc}
+\hypertarget{Ecore__Data_8h_0ed323ece8036a0c0f3e4f23cbceb5c5}{
+\index{Ecore_Data.h@{Ecore\_\-Data.h}!ecore_dlist_clear@{ecore\_\-dlist\_\-clear}}
+\index{ecore_dlist_clear@{ecore\_\-dlist\_\-clear}!Ecore_Data.h@{Ecore\_\-Data.h}}
+\subsubsection[ecore\_\-dlist\_\-clear]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-dlist\_\-clear (Ecore\_\-DList $\ast$ {\em list})}}
+\label{Ecore__Data_8h_0ed323ece8036a0c0f3e4f23cbceb5c5}
+
+
+Remove all nodes from the list. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em list,:}]the list to remove all nodes from\end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]Returns TRUE on success, FALSE on errors \end{Desc}
+\hypertarget{Ecore__Data_8h_9659bf990d5d77609dd1de2e13e82968}{
+\index{Ecore_Data.h@{Ecore\_\-Data.h}!ecore_dlist_current@{ecore\_\-dlist\_\-current}}
+\index{ecore_dlist_current@{ecore\_\-dlist\_\-current}!Ecore_Data.h@{Ecore\_\-Data.h}}
+\subsubsection[ecore\_\-dlist\_\-current]{\setlength{\rightskip}{0pt plus 5cm}EAPI void$\ast$ ecore\_\-dlist\_\-current (Ecore\_\-DList $\ast$ {\em list})}}
+\label{Ecore__Data_8h_9659bf990d5d77609dd1de2e13e82968}
+
+
+Return the data in the current list item. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em list,:}]the list to the return the current data \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]Returns value of the current data item, NULL if no current item \end{Desc}
+\hypertarget{Ecore__Data_8h_27646e313158b25161c3175b30437cf6}{
+\index{Ecore_Data.h@{Ecore\_\-Data.h}!ecore_dlist_empty_is@{ecore\_\-dlist\_\-empty\_\-is}}
+\index{ecore_dlist_empty_is@{ecore\_\-dlist\_\-empty\_\-is}!Ecore_Data.h@{Ecore\_\-Data.h}}
+\subsubsection[ecore\_\-dlist\_\-empty\_\-is]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-dlist\_\-empty\_\-is (Ecore\_\-DList $\ast$ {\em list})}}
+\label{Ecore__Data_8h_27646e313158b25161c3175b30437cf6}
+
+
+Returns whether there is anything in the given doubly linked list. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em list}]The given doubly linked list. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]{\tt TRUE} if there are nodes, {\tt FALSE} otherwise. \end{Desc}
+\hypertarget{Ecore__Data_8h_495fb09e9ce3a9782246ab0c67d42e91}{
+\index{Ecore_Data.h@{Ecore\_\-Data.h}!ecore_dlist_first_goto@{ecore\_\-dlist\_\-first\_\-goto}}
+\index{ecore_dlist_first_goto@{ecore\_\-dlist\_\-first\_\-goto}!Ecore_Data.h@{Ecore\_\-Data.h}}
+\subsubsection[ecore\_\-dlist\_\-first\_\-goto]{\setlength{\rightskip}{0pt plus 5cm}EAPI void$\ast$ ecore\_\-dlist\_\-first\_\-goto (Ecore\_\-DList $\ast$ {\em list})}}
+\label{Ecore__Data_8h_495fb09e9ce3a9782246ab0c67d42e91}
+
+
+Move the current pointer to the first item in the list. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em list,:}]the list to change the current to the first item\end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]Returns a pointer to the first item on success, NULL on failure. \end{Desc}
+\hypertarget{Ecore__Data_8h_13fa600cdd4847ca1033af311eac32f0}{
+\index{Ecore_Data.h@{Ecore\_\-Data.h}!ecore_dlist_goto@{ecore\_\-dlist\_\-goto}}
+\index{ecore_dlist_goto@{ecore\_\-dlist\_\-goto}!Ecore_Data.h@{Ecore\_\-Data.h}}
+\subsubsection[ecore\_\-dlist\_\-goto]{\setlength{\rightskip}{0pt plus 5cm}EAPI void$\ast$ ecore\_\-dlist\_\-goto (Ecore\_\-DList $\ast$ {\em list}, void $\ast$ {\em data})}}
+\label{Ecore__Data_8h_13fa600cdd4847ca1033af311eac32f0}
+
+
+Move the current item to the node that contains data. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em list,:}]the list to move the current item in \item[{\em data,:}]the data to find and set the current item to\end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]Returns specified data on success, NULL on error \end{Desc}
+\hypertarget{Ecore__Data_8h_3a96cd6e0c7630a558ffcd8a78640db0}{
+\index{Ecore_Data.h@{Ecore\_\-Data.h}!ecore_dlist_index@{ecore\_\-dlist\_\-index}}
+\index{ecore_dlist_index@{ecore\_\-dlist\_\-index}!Ecore_Data.h@{Ecore\_\-Data.h}}
+\subsubsection[ecore\_\-dlist\_\-index]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-dlist\_\-index (Ecore\_\-DList $\ast$ {\em list})\hspace{0.3cm}{\tt  \mbox{[}inline\mbox{]}}}}
+\label{Ecore__Data_8h_3a96cd6e0c7630a558ffcd8a78640db0}
+
+
+Retrieves the index of the current node of the given doubly linked list. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em list}]The given doubly linked list. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The index of the current node. \end{Desc}
+\hypertarget{Ecore__Data_8h_94ce6bfa15920cdac551e52617edb2ee}{
+\index{Ecore_Data.h@{Ecore\_\-Data.h}!ecore_dlist_index_goto@{ecore\_\-dlist\_\-index\_\-goto}}
+\index{ecore_dlist_index_goto@{ecore\_\-dlist\_\-index\_\-goto}!Ecore_Data.h@{Ecore\_\-Data.h}}
+\subsubsection[ecore\_\-dlist\_\-index\_\-goto]{\setlength{\rightskip}{0pt plus 5cm}EAPI void$\ast$ ecore\_\-dlist\_\-index\_\-goto (Ecore\_\-DList $\ast$ {\em list}, int {\em index})}}
+\label{Ecore__Data_8h_94ce6bfa15920cdac551e52617edb2ee}
+
+
+Moves the current item to the index number in the given doubly linked list. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em list}]The given doubly linked list. \item[{\em index}]The position to move the current item \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The node at specified index on success, {\tt NULL} on error. \end{Desc}
+\hypertarget{Ecore__Data_8h_75afcbcb50a9871b7453b246e63bfb69}{
+\index{Ecore_Data.h@{Ecore\_\-Data.h}!ecore_dlist_last_goto@{ecore\_\-dlist\_\-last\_\-goto}}
+\index{ecore_dlist_last_goto@{ecore\_\-dlist\_\-last\_\-goto}!Ecore_Data.h@{Ecore\_\-Data.h}}
+\subsubsection[ecore\_\-dlist\_\-last\_\-goto]{\setlength{\rightskip}{0pt plus 5cm}EAPI void$\ast$ ecore\_\-dlist\_\-last\_\-goto (Ecore\_\-DList $\ast$ {\em list})}}
+\label{Ecore__Data_8h_75afcbcb50a9871b7453b246e63bfb69}
+
+
+Move the pointer to the current item to the last item. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em list,:}]the list to move the current item pointer to the last \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]Returns a pointer to the last item in the list , NULL if empty. \end{Desc}
+\hypertarget{Ecore__Data_8h_30846148d6b7c635b78f880c96911e4e}{
+\index{Ecore_Data.h@{Ecore\_\-Data.h}!ecore_dlist_mergesort@{ecore\_\-dlist\_\-mergesort}}
+\index{ecore_dlist_mergesort@{ecore\_\-dlist\_\-mergesort}!Ecore_Data.h@{Ecore\_\-Data.h}}
+\subsubsection[ecore\_\-dlist\_\-mergesort]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-dlist\_\-mergesort (Ecore\_\-DList $\ast$ {\em list}, Ecore\_\-Compare\_\-Cb {\em compare}, char {\em order})}}
+\label{Ecore__Data_8h_30846148d6b7c635b78f880c96911e4e}
+
+
+Sort data in {\tt list} using the compare function {\tt compare}. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em list}]The list. \item[{\em compare}]The function to compare the data of {\tt list} \item[{\em order}]The sort direction, possible values are ECORE\_\-SORT\_\-MIN and ECORE\_\-SORT\_\-MAX \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]true on success\end{Desc}
+Mergesort is a stable, in-place sorting algorithm \hypertarget{Ecore__Data_8h_ebd60d8a08353b75e9206b630178e712}{
+\index{Ecore_Data.h@{Ecore\_\-Data.h}!ecore_dlist_next@{ecore\_\-dlist\_\-next}}
+\index{ecore_dlist_next@{ecore\_\-dlist\_\-next}!Ecore_Data.h@{Ecore\_\-Data.h}}
+\subsubsection[ecore\_\-dlist\_\-next]{\setlength{\rightskip}{0pt plus 5cm}EAPI void$\ast$ ecore\_\-dlist\_\-next (Ecore\_\-DList $\ast$ {\em list})}}
+\label{Ecore__Data_8h_ebd60d8a08353b75e9206b630178e712}
+
+
+Move to the next item in the list and return current item. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em list,:}]the list to move to the next item in. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]Returns data in the current list node, or NULL on error \end{Desc}
+\hypertarget{Ecore__Data_8h_d1de9f6428f7270f604b7ce1a078ae4e}{
+\index{Ecore_Data.h@{Ecore\_\-Data.h}!ecore_dlist_previous@{ecore\_\-dlist\_\-previous}}
+\index{ecore_dlist_previous@{ecore\_\-dlist\_\-previous}!Ecore_Data.h@{Ecore\_\-Data.h}}
+\subsubsection[ecore\_\-dlist\_\-previous]{\setlength{\rightskip}{0pt plus 5cm}EAPI void$\ast$ ecore\_\-dlist\_\-previous (Ecore\_\-DList $\ast$ {\em list})}}
+\label{Ecore__Data_8h_d1de9f6428f7270f604b7ce1a078ae4e}
+
+
+Move to the previous item and return current item. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em list,:}]the list to move to the previous item in. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]Returns data in the current list node, or NULL on error \end{Desc}
+\hypertarget{Ecore__Data_8h_932b3bbec2f04b545a9f422fb05e1030}{
+\index{Ecore_Data.h@{Ecore\_\-Data.h}!ecore_dlist_sort@{ecore\_\-dlist\_\-sort}}
+\index{ecore_dlist_sort@{ecore\_\-dlist\_\-sort}!Ecore_Data.h@{Ecore\_\-Data.h}}
+\subsubsection[ecore\_\-dlist\_\-sort]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-dlist\_\-sort (Ecore\_\-List $\ast$ {\em list}, Ecore\_\-Compare\_\-Cb {\em compare}, char {\em order})}}
+\label{Ecore__Data_8h_932b3bbec2f04b545a9f422fb05e1030}
+
+
+Sort data in {\tt list} using the compare function {\tt compare}. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em list}]The list. \item[{\em compare}]The function to compare the data of {\tt list} \item[{\em order}]The sort direction, possible values are ECORE\_\-SORT\_\-MIN and ECORE\_\-SORT\_\-MAX \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]true on success\end{Desc}
+This is a wrapper function for mergesort and heapsort. It tries to choose the fastest algorithm depending on the number of notes. Note: The sort may be unstable. \hypertarget{Ecore__Data_8h_ded8225238100f9e94e840c4eff7e944}{
+\index{Ecore_Data.h@{Ecore\_\-Data.h}!ecore_hash_dump_graph@{ecore\_\-hash\_\-dump\_\-graph}}
+\index{ecore_hash_dump_graph@{ecore\_\-hash\_\-dump\_\-graph}!Ecore_Data.h@{Ecore\_\-Data.h}}
+\subsubsection[ecore\_\-hash\_\-dump\_\-graph]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-hash\_\-dump\_\-graph (Ecore\_\-Hash $\ast$ {\em hash})}}
+\label{Ecore__Data_8h_ded8225238100f9e94e840c4eff7e944}
+
+
+Prints the distribution of the given hash table for graphing. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em hash}]The given hash table. \end{description}
+\end{Desc}
+\hypertarget{Ecore__Data_8h_166bc0adb5b2130fc86302368581c0c2}{
+\index{Ecore_Data.h@{Ecore\_\-Data.h}!ecore_hash_dump_stats@{ecore\_\-hash\_\-dump\_\-stats}}
+\index{ecore_hash_dump_stats@{ecore\_\-hash\_\-dump\_\-stats}!Ecore_Data.h@{Ecore\_\-Data.h}}
+\subsubsection[ecore\_\-hash\_\-dump\_\-stats]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-hash\_\-dump\_\-stats (Ecore\_\-Hash $\ast$ {\em hash})}}
+\label{Ecore__Data_8h_166bc0adb5b2130fc86302368581c0c2}
+
+
+Prints the distribution of the given hash table for graphing. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em hash}]The given hash table. \end{description}
+\end{Desc}
+\hypertarget{Ecore__Data_8h_af35de16533e2549d43356de77dbb24c}{
+\index{Ecore_Data.h@{Ecore\_\-Data.h}!ecore_list_clear@{ecore\_\-list\_\-clear}}
+\index{ecore_list_clear@{ecore\_\-list\_\-clear}!Ecore_Data.h@{Ecore\_\-Data.h}}
+\subsubsection[ecore\_\-list\_\-clear]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-list\_\-clear (Ecore\_\-List $\ast$ {\em list})}}
+\label{Ecore__Data_8h_af35de16533e2549d43356de77dbb24c}
+
+
+Remove all nodes from {\tt list}. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em list}]The list. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]Returns {\tt TRUE} on success, {\tt FALSE} on error. \end{Desc}
+\begin{Desc}
+\item[Note:]The data for each item on the list is not freed by {\tt \hyperlink{Ecore__Data_8h_af35de16533e2549d43356de77dbb24c}{ecore\_\-list\_\-clear()}}. \end{Desc}
+\hypertarget{Ecore__Data_8h_fd4513530761fc53e242f74207200ab9}{
+\index{Ecore_Data.h@{Ecore\_\-Data.h}!ecore_list_count@{ecore\_\-list\_\-count}}
+\index{ecore_list_count@{ecore\_\-list\_\-count}!Ecore_Data.h@{Ecore\_\-Data.h}}
+\subsubsection[ecore\_\-list\_\-count]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-list\_\-count (Ecore\_\-List $\ast$ {\em list})}}
+\label{Ecore__Data_8h_fd4513530761fc53e242f74207200ab9}
+
+
+Find the number of nodes in the list. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em list}]The list to find the number of nodes \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The number of nodes in the list. \end{Desc}
+\hypertarget{Ecore__Data_8h_8007c9f6392ba93d01ceed6bfaae55de}{
+\index{Ecore_Data.h@{Ecore\_\-Data.h}!ecore_list_current@{ecore\_\-list\_\-current}}
+\index{ecore_list_current@{ecore\_\-list\_\-current}!Ecore_Data.h@{Ecore\_\-Data.h}}
+\subsubsection[ecore\_\-list\_\-current]{\setlength{\rightskip}{0pt plus 5cm}EAPI void$\ast$ ecore\_\-list\_\-current (Ecore\_\-List $\ast$ {\em list})\hspace{0.3cm}{\tt  \mbox{[}inline\mbox{]}}}}
+\label{Ecore__Data_8h_8007c9f6392ba93d01ceed6bfaae55de}
+
+
+Retrieve the data pointed to by the current item in {\tt list}. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em list}]The list. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]Returns the data at current position, can be {\tt NULL}. \end{Desc}
+\hypertarget{Ecore__Data_8h_d29dcb74971eae5c69629d51e5de851a}{
+\index{Ecore_Data.h@{Ecore\_\-Data.h}!ecore_list_empty_is@{ecore\_\-list\_\-empty\_\-is}}
+\index{ecore_list_empty_is@{ecore\_\-list\_\-empty\_\-is}!Ecore_Data.h@{Ecore\_\-Data.h}}
+\subsubsection[ecore\_\-list\_\-empty\_\-is]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-list\_\-empty\_\-is (Ecore\_\-List $\ast$ {\em list})}}
+\label{Ecore__Data_8h_d29dcb74971eae5c69629d51e5de851a}
+
+
+Checks the list for any nodes. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em list}]The list to check for nodes \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]{\tt TRUE} if no nodes in list, {\tt FALSE} if the list contains nodes \end{Desc}
+\hypertarget{Ecore__Data_8h_77b1d474bdd46db28addc3c46a9960cd}{
+\index{Ecore_Data.h@{Ecore\_\-Data.h}!ecore_list_find@{ecore\_\-list\_\-find}}
+\index{ecore_list_find@{ecore\_\-list\_\-find}!Ecore_Data.h@{Ecore\_\-Data.h}}
+\subsubsection[ecore\_\-list\_\-find]{\setlength{\rightskip}{0pt plus 5cm}EAPI void$\ast$ ecore\_\-list\_\-find (Ecore\_\-List $\ast$ {\em list}, Ecore\_\-Compare\_\-Cb {\em function}, const void $\ast$ {\em user\_\-data})}}
+\label{Ecore__Data_8h_77b1d474bdd46db28addc3c46a9960cd}
+
+
+Find data in {\tt list} using the compare function {\tt func}. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em list}]The list. \item[{\em function}]The function to test each node of {\tt list} with \item[{\em user\_\-data}]Data to match against (used by {\tt function}) \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]the first matching data node, or NULL if none match \end{Desc}
+\hypertarget{Ecore__Data_8h_7a92850362be110a94db4e1db6e7bfc5}{
+\index{Ecore_Data.h@{Ecore\_\-Data.h}!ecore_list_first@{ecore\_\-list\_\-first}}
+\index{ecore_list_first@{ecore\_\-list\_\-first}!Ecore_Data.h@{Ecore\_\-Data.h}}
+\subsubsection[ecore\_\-list\_\-first]{\setlength{\rightskip}{0pt plus 5cm}EAPI void$\ast$ ecore\_\-list\_\-first (Ecore\_\-List $\ast$ {\em list})\hspace{0.3cm}{\tt  \mbox{[}inline\mbox{]}}}}
+\label{Ecore__Data_8h_7a92850362be110a94db4e1db6e7bfc5}
+
+
+Retrieve the data pointed to by the first item in {\tt list}. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em list}]The list. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]Returns the data at current position, can be {\tt NULL}. \end{Desc}
+\hypertarget{Ecore__Data_8h_348f60c3412d15ffa67abce2cf4c06a5}{
+\index{Ecore_Data.h@{Ecore\_\-Data.h}!ecore_list_free_cb_set@{ecore\_\-list\_\-free\_\-cb\_\-set}}
+\index{ecore_list_free_cb_set@{ecore\_\-list\_\-free\_\-cb\_\-set}!Ecore_Data.h@{Ecore\_\-Data.h}}
+\subsubsection[ecore\_\-list\_\-free\_\-cb\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-list\_\-free\_\-cb\_\-set (Ecore\_\-List $\ast$ {\em list}, Ecore\_\-Free\_\-Cb {\em free\_\-func})}}
+\label{Ecore__Data_8h_348f60c3412d15ffa67abce2cf4c06a5}
+
+
+Set the function for freeing data. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em list}]The list that will use this function when nodes are destroyed. \item[{\em free\_\-func}]The function that will free the key data. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]{\tt TRUE} on successful set, {\tt FALSE} otherwise. \end{Desc}
+\hypertarget{Ecore__Data_8h_cb4438e669ea71a2f554fbb0c7f2c4a7}{
+\index{Ecore_Data.h@{Ecore\_\-Data.h}!ecore_list_heapsort@{ecore\_\-list\_\-heapsort}}
+\index{ecore_list_heapsort@{ecore\_\-list\_\-heapsort}!Ecore_Data.h@{Ecore\_\-Data.h}}
+\subsubsection[ecore\_\-list\_\-heapsort]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-list\_\-heapsort (Ecore\_\-List $\ast$ {\em list}, Ecore\_\-Compare\_\-Cb {\em compare}, char {\em order})}}
+\label{Ecore__Data_8h_cb4438e669ea71a2f554fbb0c7f2c4a7}
+
+
+Sort data in {\tt list} using the compare function {\tt compare}. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em list}]The list. \item[{\em compare}]The function to compare the data of {\tt list} \item[{\em order}]The sort direction, possible values are ECORE\_\-SORT\_\-MIN and ECORE\_\-SORT\_\-MAX \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]true on success\end{Desc}
+Heapsort is a unstable sorting algorithm, it needs to allocate extra memomry, but there for it is for a great number of nodes faster than mergesort \hypertarget{Ecore__Data_8h_30ed4155f8e406a441f3df2bdee84a3a}{
+\index{Ecore_Data.h@{Ecore\_\-Data.h}!ecore_list_index@{ecore\_\-list\_\-index}}
+\index{ecore_list_index@{ecore\_\-list\_\-index}!Ecore_Data.h@{Ecore\_\-Data.h}}
+\subsubsection[ecore\_\-list\_\-index]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-list\_\-index (Ecore\_\-List $\ast$ {\em list})}}
+\label{Ecore__Data_8h_30ed4155f8e406a441f3df2bdee84a3a}
+
+
+Returns the number of the current node. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em list}]The list to return the number of the current node. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The number of the current node in the list. \end{Desc}
+\hypertarget{Ecore__Data_8h_cec936a9d81b2735bad6ec9d04e3c8d7}{
+\index{Ecore_Data.h@{Ecore\_\-Data.h}!ecore_list_last@{ecore\_\-list\_\-last}}
+\index{ecore_list_last@{ecore\_\-list\_\-last}!Ecore_Data.h@{Ecore\_\-Data.h}}
+\subsubsection[ecore\_\-list\_\-last]{\setlength{\rightskip}{0pt plus 5cm}EAPI void$\ast$ ecore\_\-list\_\-last (Ecore\_\-List $\ast$ {\em list})\hspace{0.3cm}{\tt  \mbox{[}inline\mbox{]}}}}
+\label{Ecore__Data_8h_cec936a9d81b2735bad6ec9d04e3c8d7}
+
+
+Retrieve the data pointed to by the last item in {\tt list}. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em list}]The list. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]Returns the data at current position, can be {\tt NULL}. \end{Desc}
+\hypertarget{Ecore__Data_8h_a53a279287339285863c33b196845985}{
+\index{Ecore_Data.h@{Ecore\_\-Data.h}!ecore_list_mergesort@{ecore\_\-list\_\-mergesort}}
+\index{ecore_list_mergesort@{ecore\_\-list\_\-mergesort}!Ecore_Data.h@{Ecore\_\-Data.h}}
+\subsubsection[ecore\_\-list\_\-mergesort]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-list\_\-mergesort (Ecore\_\-List $\ast$ {\em list}, Ecore\_\-Compare\_\-Cb {\em compare}, char {\em order})}}
+\label{Ecore__Data_8h_a53a279287339285863c33b196845985}
+
+
+Sort data in {\tt list} using the compare function {\tt compare}. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em list}]The list. \item[{\em compare}]The function to compare the data of {\tt list} \item[{\em order}]The sort direction, possible values are ECORE\_\-SORT\_\-MIN and ECORE\_\-SORT\_\-MAX \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]true on success\end{Desc}
+Mergesort is a stable, in-place sorting algorithm \hypertarget{Ecore__Data_8h_43fc95655925c9d8eb89c30b993a840f}{
+\index{Ecore_Data.h@{Ecore\_\-Data.h}!ecore_list_next@{ecore\_\-list\_\-next}}
+\index{ecore_list_next@{ecore\_\-list\_\-next}!Ecore_Data.h@{Ecore\_\-Data.h}}
+\subsubsection[ecore\_\-list\_\-next]{\setlength{\rightskip}{0pt plus 5cm}EAPI void$\ast$ ecore\_\-list\_\-next (Ecore\_\-List $\ast$ {\em list})\hspace{0.3cm}{\tt  \mbox{[}inline\mbox{]}}}}
+\label{Ecore__Data_8h_43fc95655925c9d8eb89c30b993a840f}
+
+
+Retrieve the data pointed to by the current item, and make the next item the current item. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em list}]The list to retrieve data from. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The current item in the list on success, {\tt NULL} on failure. \end{Desc}
+\hypertarget{Ecore__Data_8h_caaad871e840c125686153b44d089aef}{
+\index{Ecore_Data.h@{Ecore\_\-Data.h}!ecore_list_sort@{ecore\_\-list\_\-sort}}
+\index{ecore_list_sort@{ecore\_\-list\_\-sort}!Ecore_Data.h@{Ecore\_\-Data.h}}
+\subsubsection[ecore\_\-list\_\-sort]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-list\_\-sort (Ecore\_\-List $\ast$ {\em list}, Ecore\_\-Compare\_\-Cb {\em compare}, char {\em order})}}
+\label{Ecore__Data_8h_caaad871e840c125686153b44d089aef}
+
+
+Sort data in {\tt list} using the compare function {\tt compare}. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em list}]The list. \item[{\em compare}]The function to compare the data of {\tt list} \item[{\em order}]The sort direction, possible values are ECORE\_\-SORT\_\-MIN and ECORE\_\-SORT\_\-MAX \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]true on success\end{Desc}
+This is a wrapper function for mergesort and heapsort. It tries to choose the fastest algorithm depending on the number of notes. Note: The sort may be unstable. \hypertarget{Ecore__Data_8h_be297ee8de1bd957f38731bf3d14efbc}{
+\index{Ecore_Data.h@{Ecore\_\-Data.h}!ecore_sheap_change@{ecore\_\-sheap\_\-change}}
+\index{ecore_sheap_change@{ecore\_\-sheap\_\-change}!Ecore_Data.h@{Ecore\_\-Data.h}}
+\subsubsection[ecore\_\-sheap\_\-change]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-sheap\_\-change (Ecore\_\-Sheap $\ast$ {\em heap}, void $\ast$ {\em item}, void $\ast$ {\em newval})}}
+\label{Ecore__Data_8h_be297ee8de1bd957f38731bf3d14efbc}
+
+
+Change the value of the specified item in the heap. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em heap}]The heap to search for the item to change \item[{\em item}]The item in the heap to change \item[{\em newval}]The new value assigned to the item in the heap \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]TRUE on success, FALSE on failure. \end{Desc}
+\begin{Desc}
+\item[Note:]The heap does not free the old data since it must be passed in, so the caller can perform the free if desired. \end{Desc}
+\hypertarget{Ecore__Data_8h_ad77243ee455d01f3038fadecde342ad}{
+\index{Ecore_Data.h@{Ecore\_\-Data.h}!ecore_sheap_compare_set@{ecore\_\-sheap\_\-compare\_\-set}}
+\index{ecore_sheap_compare_set@{ecore\_\-sheap\_\-compare\_\-set}!Ecore_Data.h@{Ecore\_\-Data.h}}
+\subsubsection[ecore\_\-sheap\_\-compare\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-sheap\_\-compare\_\-set (Ecore\_\-Sheap $\ast$ {\em heap}, Ecore\_\-Compare\_\-Cb {\em compare})}}
+\label{Ecore__Data_8h_ad77243ee455d01f3038fadecde342ad}
+
+
+Change the comparison function for the heap. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em heap}]The heap to change comparison function \item[{\em compare}]The new function for comparing nodes \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]TRUE on success, FALSE on failure.\end{Desc}
+The comparison function is changed to  and the heap is heapified by the new comparison. \hypertarget{Ecore__Data_8h_98d19b734ebe2a81fc3bbbbc2737d862}{
+\index{Ecore_Data.h@{Ecore\_\-Data.h}!ecore_sheap_destroy@{ecore\_\-sheap\_\-destroy}}
+\index{ecore_sheap_destroy@{ecore\_\-sheap\_\-destroy}!Ecore_Data.h@{Ecore\_\-Data.h}}
+\subsubsection[ecore\_\-sheap\_\-destroy]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-sheap\_\-destroy (Ecore\_\-Sheap $\ast$ {\em heap})}}
+\label{Ecore__Data_8h_98d19b734ebe2a81fc3bbbbc2737d862}
+
+
+Free up the memory used by the heap. 
+
+Frees the memory used by {\em heap\/}, calls the destroy function on each data item if necessary.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em heap}]The heap to be freed \end{description}
+\end{Desc}
+\hypertarget{Ecore__Data_8h_b7bd874a27f5b8f7860c7e2e4893e651}{
+\index{Ecore_Data.h@{Ecore\_\-Data.h}!ecore_sheap_extract@{ecore\_\-sheap\_\-extract}}
+\index{ecore_sheap_extract@{ecore\_\-sheap\_\-extract}!Ecore_Data.h@{Ecore\_\-Data.h}}
+\subsubsection[ecore\_\-sheap\_\-extract]{\setlength{\rightskip}{0pt plus 5cm}EAPI void$\ast$ ecore\_\-sheap\_\-extract (Ecore\_\-Sheap $\ast$ {\em heap})}}
+\label{Ecore__Data_8h_b7bd874a27f5b8f7860c7e2e4893e651}
+
+
+Extract the item at the top of the heap. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em heap}]The heap to remove the top item \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The top item of the heap on success, NULL on failure. \end{Desc}
+\begin{Desc}
+\item[Note:]The extract function maintains the heap properties after the extract. \end{Desc}
+\hypertarget{Ecore__Data_8h_3342b30dc12366b169466aafb0954640}{
+\index{Ecore_Data.h@{Ecore\_\-Data.h}!ecore_sheap_extreme@{ecore\_\-sheap\_\-extreme}}
+\index{ecore_sheap_extreme@{ecore\_\-sheap\_\-extreme}!Ecore_Data.h@{Ecore\_\-Data.h}}
+\subsubsection[ecore\_\-sheap\_\-extreme]{\setlength{\rightskip}{0pt plus 5cm}EAPI void$\ast$ ecore\_\-sheap\_\-extreme (Ecore\_\-Sheap $\ast$ {\em heap})}}
+\label{Ecore__Data_8h_3342b30dc12366b169466aafb0954640}
+
+
+Examine the item at the top of the heap. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em heap}]The heap to examine the top item \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The top item of the heap on success, NULL on failure. \end{Desc}
+\begin{Desc}
+\item[Note:]The function does not alter the heap. \end{Desc}
+\hypertarget{Ecore__Data_8h_dee5618dc88f909f2097762c261101dd}{
+\index{Ecore_Data.h@{Ecore\_\-Data.h}!ecore_sheap_free_cb_set@{ecore\_\-sheap\_\-free\_\-cb\_\-set}}
+\index{ecore_sheap_free_cb_set@{ecore\_\-sheap\_\-free\_\-cb\_\-set}!Ecore_Data.h@{Ecore\_\-Data.h}}
+\subsubsection[ecore\_\-sheap\_\-free\_\-cb\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-sheap\_\-free\_\-cb\_\-set (Ecore\_\-Sheap $\ast$ {\em heap}, Ecore\_\-Free\_\-Cb {\em free\_\-func})}}
+\label{Ecore__Data_8h_dee5618dc88f909f2097762c261101dd}
+
+
+Set the function for freeing data. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em heap}]The heap that will use this function when nodes are destroyed. \item[{\em free\_\-func}]The function that will free the key data. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]{\tt TRUE} on successful set, {\tt FALSE} otherwise. \end{Desc}
+\hypertarget{Ecore__Data_8h_bde11935b214bd9b3acbac930fbae7ec}{
+\index{Ecore_Data.h@{Ecore\_\-Data.h}!ecore_sheap_init@{ecore\_\-sheap\_\-init}}
+\index{ecore_sheap_init@{ecore\_\-sheap\_\-init}!Ecore_Data.h@{Ecore\_\-Data.h}}
+\subsubsection[ecore\_\-sheap\_\-init]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-sheap\_\-init (Ecore\_\-Sheap $\ast$ {\em heap}, Ecore\_\-Compare\_\-Cb {\em compare}, int {\em size})}}
+\label{Ecore__Data_8h_bde11935b214bd9b3acbac930fbae7ec}
+
+
+Initialize a binary heap to default values. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em heap}]The heap to initialize \item[{\em compare}]The function for comparing keys, NULL for direct comparison \item[{\em size}]The number of elements to allow in the heap \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]TRUE on success, FALSE on failure \end{Desc}
+\hypertarget{Ecore__Data_8h_3fc6a0416b4cb3d09eb7ee2a594c7eb6}{
+\index{Ecore_Data.h@{Ecore\_\-Data.h}!ecore_sheap_insert@{ecore\_\-sheap\_\-insert}}
+\index{ecore_sheap_insert@{ecore\_\-sheap\_\-insert}!Ecore_Data.h@{Ecore\_\-Data.h}}
+\subsubsection[ecore\_\-sheap\_\-insert]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-sheap\_\-insert (Ecore\_\-Sheap $\ast$ {\em heap}, void $\ast$ {\em data})}}
+\label{Ecore__Data_8h_3fc6a0416b4cb3d09eb7ee2a594c7eb6}
+
+
+Insert new data into the heap. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em heap}]The heap to insert {\em data\/}. \item[{\em data}]The data to add to {\em heap\/}. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]TRUE on success, NULL on failure. Increases the size of the heap if it becomes larger than available space. \end{Desc}
+\hypertarget{Ecore__Data_8h_e7cc60f5c10a25a93a78596ff284ed98}{
+\index{Ecore_Data.h@{Ecore\_\-Data.h}!ecore_sheap_new@{ecore\_\-sheap\_\-new}}
+\index{ecore_sheap_new@{ecore\_\-sheap\_\-new}!Ecore_Data.h@{Ecore\_\-Data.h}}
+\subsubsection[ecore\_\-sheap\_\-new]{\setlength{\rightskip}{0pt plus 5cm}EAPI Ecore\_\-Sheap$\ast$ ecore\_\-sheap\_\-new (Ecore\_\-Compare\_\-Cb {\em compare}, int {\em size})}}
+\label{Ecore__Data_8h_e7cc60f5c10a25a93a78596ff284ed98}
+
+
+Allocate and initialize a new binary heap. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em compare}]The function for comparing keys, NULL for direct comparison \item[{\em size}]The number of elements to allow in the heap \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]A pointer to the newly allocated binary heap on success, NULL on failure. \end{Desc}
+\hypertarget{Ecore__Data_8h_ac5ec246c5303cecdfba8e4b54561603}{
+\index{Ecore_Data.h@{Ecore\_\-Data.h}!ecore_sheap_order_set@{ecore\_\-sheap\_\-order\_\-set}}
+\index{ecore_sheap_order_set@{ecore\_\-sheap\_\-order\_\-set}!Ecore_Data.h@{Ecore\_\-Data.h}}
+\subsubsection[ecore\_\-sheap\_\-order\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-sheap\_\-order\_\-set (Ecore\_\-Sheap $\ast$ {\em heap}, char {\em order})}}
+\label{Ecore__Data_8h_ac5ec246c5303cecdfba8e4b54561603}
+
+
+Change the order of the heap. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em heap}]The heap to change the order \item[{\em order}]The new order of the heap\end{description}
+\end{Desc}
+Changes the heap order of  and re-heapifies the data to this new order. The default order is a min heap. \hypertarget{Ecore__Data_8h_f0d1921912193237832b5720b9bd80a9}{
+\index{Ecore_Data.h@{Ecore\_\-Data.h}!ecore_sheap_sort@{ecore\_\-sheap\_\-sort}}
+\index{ecore_sheap_sort@{ecore\_\-sheap\_\-sort}!Ecore_Data.h@{Ecore\_\-Data.h}}
+\subsubsection[ecore\_\-sheap\_\-sort]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-sheap\_\-sort (Ecore\_\-Sheap $\ast$ {\em heap})}}
+\label{Ecore__Data_8h_f0d1921912193237832b5720b9bd80a9}
+
+
+Sort the data in the heap. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em heap}]The heap to be sorted\end{description}
+\end{Desc}
+Sorts the data in the heap into the order that is used for the heap's data. \hypertarget{Ecore__Data_8h_b5741521c8d313a5f438747b4aceecee}{
+\index{Ecore_Data.h@{Ecore\_\-Data.h}!ecore_str_compare@{ecore\_\-str\_\-compare}}
+\index{ecore_str_compare@{ecore\_\-str\_\-compare}!Ecore_Data.h@{Ecore\_\-Data.h}}
+\subsubsection[ecore\_\-str\_\-compare]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-str\_\-compare (const void $\ast$ {\em key1}, const void $\ast$ {\em key2})}}
+\label{Ecore__Data_8h_b5741521c8d313a5f438747b4aceecee}
+
+
+Perform a string comparison of two keys values. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em key1}]The first key to compare \item[{\em key2}]The second key to compare \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]A strcmp style value to indicate the larger key \end{Desc}
+\hypertarget{Ecore__Data_8h_69c9db0132ed426affeaf8312f074d64}{
+\index{Ecore_Data.h@{Ecore\_\-Data.h}!ecore_str_hash@{ecore\_\-str\_\-hash}}
+\index{ecore_str_hash@{ecore\_\-str\_\-hash}!Ecore_Data.h@{Ecore\_\-Data.h}}
+\subsubsection[ecore\_\-str\_\-hash]{\setlength{\rightskip}{0pt plus 5cm}EAPI unsigned int ecore\_\-str\_\-hash (const void $\ast$ {\em key})}}
+\label{Ecore__Data_8h_69c9db0132ed426affeaf8312f074d64}
+
+
+Compute the hash value of a string. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em key}]A pointer to the string to compute a hash value \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]A computed hash value for {\em key\/}. \end{Desc}
+\hypertarget{Ecore__Data_8h_e67778c23a633d19d3f30ae03a7bdea5}{
+\index{Ecore_Data.h@{Ecore\_\-Data.h}!ecore_strbuf_append@{ecore\_\-strbuf\_\-append}}
+\index{ecore_strbuf_append@{ecore\_\-strbuf\_\-append}!Ecore_Data.h@{Ecore\_\-Data.h}}
+\subsubsection[ecore\_\-strbuf\_\-append]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-strbuf\_\-append (Ecore\_\-Strbuf $\ast$ {\em buf}, const char $\ast$ {\em str})}}
+\label{Ecore__Data_8h_e67778c23a633d19d3f30ae03a7bdea5}
+
+
+Append a string to a buffer, reallocating as necessary. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em buf}]the Ecore\_\-Strbuf to append to \item[{\em str}]the string to append \end{description}
+\end{Desc}
+\hypertarget{Ecore__Data_8h_3ed82332312fcbda9e72b4cb0b45c401}{
+\index{Ecore_Data.h@{Ecore\_\-Data.h}!ecore_strbuf_append_char@{ecore\_\-strbuf\_\-append\_\-char}}
+\index{ecore_strbuf_append_char@{ecore\_\-strbuf\_\-append\_\-char}!Ecore_Data.h@{Ecore\_\-Data.h}}
+\subsubsection[ecore\_\-strbuf\_\-append\_\-char]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-strbuf\_\-append\_\-char (Ecore\_\-Strbuf $\ast$ {\em buf}, char {\em c})}}
+\label{Ecore__Data_8h_3ed82332312fcbda9e72b4cb0b45c401}
+
+
+Append a character to a string buffer, reallocating as necessary. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em buf}]the Ecore\_\-Strbuf to append to \item[{\em c}]the char to append \end{description}
+\end{Desc}
+\hypertarget{Ecore__Data_8h_838f94eec6bd18242196539e5b914d82}{
+\index{Ecore_Data.h@{Ecore\_\-Data.h}!ecore_strbuf_free@{ecore\_\-strbuf\_\-free}}
+\index{ecore_strbuf_free@{ecore\_\-strbuf\_\-free}!Ecore_Data.h@{Ecore\_\-Data.h}}
+\subsubsection[ecore\_\-strbuf\_\-free]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-strbuf\_\-free (Ecore\_\-Strbuf $\ast$ {\em buf})}}
+\label{Ecore__Data_8h_838f94eec6bd18242196539e5b914d82}
+
+
+Free a string buffer. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em buf}]the buffer to free \end{description}
+\end{Desc}
+\hypertarget{Ecore__Data_8h_cfb0680131457a82291765c17f5ba5ae}{
+\index{Ecore_Data.h@{Ecore\_\-Data.h}!ecore_strbuf_insert@{ecore\_\-strbuf\_\-insert}}
+\index{ecore_strbuf_insert@{ecore\_\-strbuf\_\-insert}!Ecore_Data.h@{Ecore\_\-Data.h}}
+\subsubsection[ecore\_\-strbuf\_\-insert]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-strbuf\_\-insert (Ecore\_\-Strbuf $\ast$ {\em buf}, const char $\ast$ {\em str}, size\_\-t {\em pos})}}
+\label{Ecore__Data_8h_cfb0680131457a82291765c17f5ba5ae}
+
+
+Insert a string to a buffer, reallocating as necessary. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em buf}]the Ecore\_\-Strbuf to insert \item[{\em str}]the string to insert \item[{\em pos}]the position to insert the string \end{description}
+\end{Desc}
+\hypertarget{Ecore__Data_8h_c94cffd46ac2eccb0142ffa170a0d148}{
+\index{Ecore_Data.h@{Ecore\_\-Data.h}!ecore_strbuf_length_get@{ecore\_\-strbuf\_\-length\_\-get}}
+\index{ecore_strbuf_length_get@{ecore\_\-strbuf\_\-length\_\-get}!Ecore_Data.h@{Ecore\_\-Data.h}}
+\subsubsection[ecore\_\-strbuf\_\-length\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI size\_\-t ecore\_\-strbuf\_\-length\_\-get (Ecore\_\-Strbuf $\ast$ {\em buf})}}
+\label{Ecore__Data_8h_c94cffd46ac2eccb0142ffa170a0d148}
+
+
+Retrieve the length of the string buffer content. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em buf}]the buffer \end{description}
+\end{Desc}
+\hypertarget{Ecore__Data_8h_4e0d78626cac5d2e0ac67038ed079f7a}{
+\index{Ecore_Data.h@{Ecore\_\-Data.h}!ecore_strbuf_replace@{ecore\_\-strbuf\_\-replace}}
+\index{ecore_strbuf_replace@{ecore\_\-strbuf\_\-replace}!Ecore_Data.h@{Ecore\_\-Data.h}}
+\subsubsection[ecore\_\-strbuf\_\-replace]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-strbuf\_\-replace (Ecore\_\-Strbuf $\ast$ {\em buf}, const char $\ast$ {\em str}, const char $\ast$ {\em with}, unsigned int {\em n})}}
+\label{Ecore__Data_8h_4e0d78626cac5d2e0ac67038ed079f7a}
+
+
+Replace the n-th string with an other string. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em buf}]the Ecore\_\-Strbuf to work with \item[{\em str}]the string to replace \item[{\em with}]the replaceing string \item[{\em n}]the number of the fitting string\end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]true on success \end{Desc}
+\hypertarget{Ecore__Data_8h_c3fe25ffafcc403f4f0178fc18069a69}{
+\index{Ecore_Data.h@{Ecore\_\-Data.h}!ecore_strbuf_replace_all@{ecore\_\-strbuf\_\-replace\_\-all}}
+\index{ecore_strbuf_replace_all@{ecore\_\-strbuf\_\-replace\_\-all}!Ecore_Data.h@{Ecore\_\-Data.h}}
+\subsubsection[ecore\_\-strbuf\_\-replace\_\-all]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-strbuf\_\-replace\_\-all (Ecore\_\-Strbuf $\ast$ {\em buf}, const char $\ast$ {\em str}, const char $\ast$ {\em with})}}
+\label{Ecore__Data_8h_c3fe25ffafcc403f4f0178fc18069a69}
+
+
+Replace all strings with an other string. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em buf}]the Ecore\_\-Strbuf to work with \item[{\em str}]the string to replace \item[{\em with}]the replaceing string\end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]how often the string was replaced \end{Desc}
+\hypertarget{Ecore__Data_8h_85137f7f462c5903c056e200c48a6d99}{
+\index{Ecore_Data.h@{Ecore\_\-Data.h}!ecore_strbuf_string_get@{ecore\_\-strbuf\_\-string\_\-get}}
+\index{ecore_strbuf_string_get@{ecore\_\-strbuf\_\-string\_\-get}!Ecore_Data.h@{Ecore\_\-Data.h}}
+\subsubsection[ecore\_\-strbuf\_\-string\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI const char$\ast$ ecore\_\-strbuf\_\-string\_\-get (Ecore\_\-Strbuf $\ast$ {\em buf})}}
+\label{Ecore__Data_8h_85137f7f462c5903c056e200c48a6d99}
+
+
+Retrieve a pointer to the contents of a string buffer. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em buf}]the buffer\end{description}
+\end{Desc}
+This pointer must not be modified, and will no longer be valid if the Ecore\_\-Strbuf is modified. \hypertarget{Ecore__Data_8h_c4977b1a19782b19dde5f4c786f4da7c}{
+\index{Ecore_Data.h@{Ecore\_\-Data.h}!ecore_string_init@{ecore\_\-string\_\-init}}
+\index{ecore_string_init@{ecore\_\-string\_\-init}!Ecore_Data.h@{Ecore\_\-Data.h}}
+\subsubsection[ecore\_\-string\_\-init]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-string\_\-init (void)}}
+\label{Ecore__Data_8h_c4977b1a19782b19dde5f4c786f4da7c}
+
+
+Initialize the ecore string internal structure. 
+
+\begin{Desc}
+\item[Returns:]Zero on failure, non-zero on successful initialization. \end{Desc}
+\hypertarget{Ecore__Data_8h_f52e7fdca0f27368c7c95d50e386376f}{
+\index{Ecore_Data.h@{Ecore\_\-Data.h}!ecore_tree_closest_larger_get@{ecore\_\-tree\_\-closest\_\-larger\_\-get}}
+\index{ecore_tree_closest_larger_get@{ecore\_\-tree\_\-closest\_\-larger\_\-get}!Ecore_Data.h@{Ecore\_\-Data.h}}
+\subsubsection[ecore\_\-tree\_\-closest\_\-larger\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI void$\ast$ ecore\_\-tree\_\-closest\_\-larger\_\-get (Ecore\_\-Tree $\ast$ {\em tree}, const void $\ast$ {\em key})}}
+\label{Ecore__Data_8h_f52e7fdca0f27368c7c95d50e386376f}
+
+
+Find the closest value greater than or equal to the key. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em tree}]The tree to search. \item[{\em key}]The key to search for in {\em tree\/}. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]NULL if no valid nodes, otherwise the node greater than or equal to the key \end{Desc}
+\hypertarget{Ecore__Data_8h_77a68da43db9e664c403bf819d737d62}{
+\index{Ecore_Data.h@{Ecore\_\-Data.h}!ecore_tree_closest_smaller_get@{ecore\_\-tree\_\-closest\_\-smaller\_\-get}}
+\index{ecore_tree_closest_smaller_get@{ecore\_\-tree\_\-closest\_\-smaller\_\-get}!Ecore_Data.h@{Ecore\_\-Data.h}}
+\subsubsection[ecore\_\-tree\_\-closest\_\-smaller\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI void$\ast$ ecore\_\-tree\_\-closest\_\-smaller\_\-get (Ecore\_\-Tree $\ast$ {\em tree}, const void $\ast$ {\em key})}}
+\label{Ecore__Data_8h_77a68da43db9e664c403bf819d737d62}
+
+
+Find the closest value $<$= key. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em tree}]the tree to search \item[{\em key}]the key to search for in tree \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]Returns NULL if no valid nodes, otherwise the node $<$= key \end{Desc}
+\hypertarget{Ecore__Data_8h_3df247a9cf0c0527c4c683cfa6d026ca}{
+\index{Ecore_Data.h@{Ecore\_\-Data.h}!ecore_tree_destroy@{ecore\_\-tree\_\-destroy}}
+\index{ecore_tree_destroy@{ecore\_\-tree\_\-destroy}!Ecore_Data.h@{Ecore\_\-Data.h}}
+\subsubsection[ecore\_\-tree\_\-destroy]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-tree\_\-destroy (Ecore\_\-Tree $\ast$ {\em tree})}}
+\label{Ecore__Data_8h_3df247a9cf0c0527c4c683cfa6d026ca}
+
+
+Free the tree and it's stored data. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em tree,:}]the tree to destroy\end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]Returns TRUE if tree destroyed successfully, FALSE if not. \end{Desc}
+\hypertarget{Ecore__Data_8h_a4ac53575ba20de78505778ed5b433aa}{
+\index{Ecore_Data.h@{Ecore\_\-Data.h}!ecore_tree_empty_is@{ecore\_\-tree\_\-empty\_\-is}}
+\index{ecore_tree_empty_is@{ecore\_\-tree\_\-empty\_\-is}!Ecore_Data.h@{Ecore\_\-Data.h}}
+\subsubsection[ecore\_\-tree\_\-empty\_\-is]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-tree\_\-empty\_\-is (Ecore\_\-Tree $\ast$ {\em tree})}}
+\label{Ecore__Data_8h_a4ac53575ba20de78505778ed5b433aa}
+
+
+Test to see if the tree has any nodes. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em tree,:}]the tree to check for nodes \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]Returns TRUE if no nodes exist, FALSE otherwise \end{Desc}
+\hypertarget{Ecore__Data_8h_bfde6d03be39d04a4d7291d4d6f86810}{
+\index{Ecore_Data.h@{Ecore\_\-Data.h}!ecore_tree_for_each_node@{ecore\_\-tree\_\-for\_\-each\_\-node}}
+\index{ecore_tree_for_each_node@{ecore\_\-tree\_\-for\_\-each\_\-node}!Ecore_Data.h@{Ecore\_\-Data.h}}
+\subsubsection[ecore\_\-tree\_\-for\_\-each\_\-node]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-tree\_\-for\_\-each\_\-node (Ecore\_\-Tree $\ast$ {\em tree}, Ecore\_\-For\_\-Each {\em for\_\-each\_\-func}, void $\ast$ {\em user\_\-data})}}
+\label{Ecore__Data_8h_bfde6d03be39d04a4d7291d4d6f86810}
+
+
+Execute the function for each node in the tree. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em tree,:}]the tree to traverse \item[{\em for\_\-each\_\-func,:}]the function to execute for each node \item[{\em user\_\-data,:}]data passed to each for\_\-each\_\-func call \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]Returns TRUE on success, FALSE on failure. \end{Desc}
+\hypertarget{Ecore__Data_8h_684e9299e24fa6db5c81b346be5ea88b}{
+\index{Ecore_Data.h@{Ecore\_\-Data.h}!ecore_tree_for_each_node_value@{ecore\_\-tree\_\-for\_\-each\_\-node\_\-value}}
+\index{ecore_tree_for_each_node_value@{ecore\_\-tree\_\-for\_\-each\_\-node\_\-value}!Ecore_Data.h@{Ecore\_\-Data.h}}
+\subsubsection[ecore\_\-tree\_\-for\_\-each\_\-node\_\-value]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-tree\_\-for\_\-each\_\-node\_\-value (Ecore\_\-Tree $\ast$ {\em tree}, Ecore\_\-For\_\-Each {\em for\_\-each\_\-func}, void $\ast$ {\em user\_\-data})}}
+\label{Ecore__Data_8h_684e9299e24fa6db5c81b346be5ea88b}
+
+
+Execute function for each value in the tree. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em tree,:}]the tree to traverse \item[{\em for\_\-each\_\-func,:}]the function to execute for each value in the tree \item[{\em user\_\-data,:}]data passed to each for\_\-each\_\-func call \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]Returns TRUE on success, FALSE on failure. \end{Desc}
+\hypertarget{Ecore__Data_8h_06c55b89a6bdac8d441b34282a12fa83}{
+\index{Ecore_Data.h@{Ecore\_\-Data.h}!ecore_tree_get@{ecore\_\-tree\_\-get}}
+\index{ecore_tree_get@{ecore\_\-tree\_\-get}!Ecore_Data.h@{Ecore\_\-Data.h}}
+\subsubsection[ecore\_\-tree\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI void$\ast$ ecore\_\-tree\_\-get (Ecore\_\-Tree $\ast$ {\em tree}, const void $\ast$ {\em key})}}
+\label{Ecore__Data_8h_06c55b89a6bdac8d441b34282a12fa83}
+
+
+Return the value corresponding to key. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em tree,:}]the tree to search \item[{\em key,:}]the key to search for in {\em tree\/} \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]Returns the value corresponding to the key if found, otherwise NULL. \end{Desc}
+\hypertarget{Ecore__Data_8h_ce588048d6380f927e28c534af1afdba}{
+\index{Ecore_Data.h@{Ecore\_\-Data.h}!ecore_tree_get_node@{ecore\_\-tree\_\-get\_\-node}}
+\index{ecore_tree_get_node@{ecore\_\-tree\_\-get\_\-node}!Ecore_Data.h@{Ecore\_\-Data.h}}
+\subsubsection[ecore\_\-tree\_\-get\_\-node]{\setlength{\rightskip}{0pt plus 5cm}EAPI Ecore\_\-Tree\_\-Node$\ast$ ecore\_\-tree\_\-get\_\-node (Ecore\_\-Tree $\ast$ {\em tree}, const void $\ast$ {\em key})}}
+\label{Ecore__Data_8h_ce588048d6380f927e28c534af1afdba}
+
+
+Return the node corresponding to key. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em tree,:}]the tree to search \item[{\em key,:}]the key to search for in the tree\end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]Returns the node corresponding to the key if found, otherwise NULL. \end{Desc}
+\hypertarget{Ecore__Data_8h_03d5b1e09edc6bf6fef84a702b92398b}{
+\index{Ecore_Data.h@{Ecore\_\-Data.h}!ecore_tree_init@{ecore\_\-tree\_\-init}}
+\index{ecore_tree_init@{ecore\_\-tree\_\-init}!Ecore_Data.h@{Ecore\_\-Data.h}}
+\subsubsection[ecore\_\-tree\_\-init]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-tree\_\-init (Ecore\_\-Tree $\ast$ {\em new\_\-tree}, Ecore\_\-Compare\_\-Cb {\em compare\_\-func})}}
+\label{Ecore__Data_8h_03d5b1e09edc6bf6fef84a702b92398b}
+
+
+Initialize a tree structure to some sane initial values. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em new\_\-tree,:}]the new tree structure to be initialized \item[{\em compare\_\-func,:}]the function used to compare node keys \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]Returns TRUE on successful initialization, FALSE on an error \end{Desc}
+\hypertarget{Ecore__Data_8h_e8092547ff422b15de8c9d160d056a93}{
+\index{Ecore_Data.h@{Ecore\_\-Data.h}!ecore_tree_new@{ecore\_\-tree\_\-new}}
+\index{ecore_tree_new@{ecore\_\-tree\_\-new}!Ecore_Data.h@{Ecore\_\-Data.h}}
+\subsubsection[ecore\_\-tree\_\-new]{\setlength{\rightskip}{0pt plus 5cm}EAPI Ecore\_\-Tree$\ast$ ecore\_\-tree\_\-new (Ecore\_\-Compare\_\-Cb {\em compare\_\-func})}}
+\label{Ecore__Data_8h_e8092547ff422b15de8c9d160d056a93}
+
+
+Allocate a new tree structure. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em compare\_\-func,:}]function used to compare the two values \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]Returns NULL if the operation fails, otherwise the new tree \end{Desc}
+\hypertarget{Ecore__Data_8h_83ebb0d3894f5aaf80142949a5583c1c}{
+\index{Ecore_Data.h@{Ecore\_\-Data.h}!ecore_tree_node_add@{ecore\_\-tree\_\-node\_\-add}}
+\index{ecore_tree_node_add@{ecore\_\-tree\_\-node\_\-add}!Ecore_Data.h@{Ecore\_\-Data.h}}
+\subsubsection[ecore\_\-tree\_\-node\_\-add]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-tree\_\-node\_\-add (Ecore\_\-Tree $\ast$ {\em tree}, Ecore\_\-Tree\_\-Node $\ast$ {\em node})}}
+\label{Ecore__Data_8h_83ebb0d3894f5aaf80142949a5583c1c}
+
+
+Place a node in the tree. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em tree}]The tree to add {\em node\/}. \item[{\em node}]The node to add to {\em tree\/}. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]TRUE on a successful add, FALSE otherwise. \end{Desc}
+\hypertarget{Ecore__Data_8h_1d72ac2a0b21c54698e72bac05c12066}{
+\index{Ecore_Data.h@{Ecore\_\-Data.h}!ecore_tree_node_remove@{ecore\_\-tree\_\-node\_\-remove}}
+\index{ecore_tree_node_remove@{ecore\_\-tree\_\-node\_\-remove}!Ecore_Data.h@{Ecore\_\-Data.h}}
+\subsubsection[ecore\_\-tree\_\-node\_\-remove]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-tree\_\-node\_\-remove (Ecore\_\-Tree $\ast$ {\em tree}, Ecore\_\-Tree\_\-Node $\ast$ {\em node})}}
+\label{Ecore__Data_8h_1d72ac2a0b21c54698e72bac05c12066}
+
+
+Remove the node from the tree. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em tree}]The tree to remove {\em node\/} from. \item[{\em node}]The node to remove from {\em tree\/}. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]TRUE on a successful remove, FALSE otherwise. \end{Desc}
+\hypertarget{Ecore__Data_8h_5c0dbd9de210017842c51b7c3939cc1a}{
+\index{Ecore_Data.h@{Ecore\_\-Data.h}!ecore_tree_remove@{ecore\_\-tree\_\-remove}}
+\index{ecore_tree_remove@{ecore\_\-tree\_\-remove}!Ecore_Data.h@{Ecore\_\-Data.h}}
+\subsubsection[ecore\_\-tree\_\-remove]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-tree\_\-remove (Ecore\_\-Tree $\ast$ {\em tree}, const void $\ast$ {\em key})}}
+\label{Ecore__Data_8h_5c0dbd9de210017842c51b7c3939cc1a}
+
+
+Remove the key from the tree. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em tree}]The tree to remove {\em key\/}. \item[{\em key}]The key to remove from {\em tree\/}. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]TRUE on a successful remove, FALSE otherwise. \end{Desc}
+\hypertarget{Ecore__Data_8h_e999f4d62c2a91ebce987e8aada33cca}{
+\index{Ecore_Data.h@{Ecore\_\-Data.h}!ecore_tree_set@{ecore\_\-tree\_\-set}}
+\index{ecore_tree_set@{ecore\_\-tree\_\-set}!Ecore_Data.h@{Ecore\_\-Data.h}}
+\subsubsection[ecore\_\-tree\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-tree\_\-set (Ecore\_\-Tree $\ast$ {\em tree}, void $\ast$ {\em key}, void $\ast$ {\em value})}}
+\label{Ecore__Data_8h_e999f4d62c2a91ebce987e8aada33cca}
+
+
+Set the value associated with key to {\em value\/}. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em tree}]The tree that contains the key/value pair. \item[{\em key}]The key to identify which node to set a value. \item[{\em value}]Value to set the found node. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]TRUE if successful, FALSE if not. \end{Desc}
diff --git a/doc/latex/Ecore__Desktop_8h.tex b/doc/latex/Ecore__Desktop_8h.tex
new file mode 100644
index 0000000..3652bf3
--- /dev/null
+++ b/doc/latex/Ecore__Desktop_8h.tex
@@ -0,0 +1,105 @@
+\hypertarget{Ecore__Desktop_8h}{
+\section{Ecore\_\-Desktop.h File Reference}
+\label{Ecore__Desktop_8h}\index{Ecore_Desktop.h@{Ecore\_\-Desktop.h}}
+}
+The file that provides the freedesktop.org desktop, icon, and menu functions. 
+
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+char $\ast$ \hyperlink{Ecore__Desktop_8h_a27fc6c1028930fface2ec12e0978428}{ecore\_\-desktop\_\-paths\_\-file\_\-find} (Ecore\_\-List $\ast$paths, const char $\ast$file, int sub, int($\ast$func)(void $\ast$data, const char $\ast$path), void $\ast$data)
+\begin{CompactList}\small\item\em Search for a file in fdo compatible locations. \item\end{CompactList}\item 
+Ecore\_\-Hash $\ast$ \hyperlink{Ecore__Desktop_8h_c35fd9f58ece7370201702d09480fd7e}{ecore\_\-desktop\_\-paths\_\-to\_\-hash} (const char $\ast$paths)
+\begin{CompactList}\small\item\em Split a list of paths into an Ecore\_\-Hash. \item\end{CompactList}\item 
+Ecore\_\-List $\ast$ \hyperlink{Ecore__Desktop_8h_9054fb4145a6c0b7356a48a59ce11ee0}{ecore\_\-desktop\_\-paths\_\-to\_\-list} (const char $\ast$paths)
+\begin{CompactList}\small\item\em Split a list of paths into an Ecore\_\-Hash. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Desktop__Main__Group_gcbc8e90e58b724aa9bf71662245f0d3b}{ecore\_\-desktop\_\-init} (void)
+\begin{CompactList}\small\item\em Setup what ever needs to be setup to support Ecore\_\-Desktop. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Desktop__Main__Group_gb7c84f7f35197af1367adcf1c391d8b0}{ecore\_\-desktop\_\-shutdown} (void)
+\begin{CompactList}\small\item\em Tear down what ever needs to be torn down to support Ecore\_\-Desktop. \item\end{CompactList}\item 
+Ecore\_\-Hash $\ast$ \hyperlink{group__Ecore__Desktop__Main__Group_g771417e482733a68b8853c142ae2ab7e}{ecore\_\-desktop\_\-ini\_\-get} (const char $\ast$file)
+\begin{CompactList}\small\item\em Get the contents of a .ini style file. \item\end{CompactList}\item 
+Ecore\_\-Desktop $\ast$ \hyperlink{group__Ecore__Desktop__Main__Group_g954f3b1b0a81250a072844e8b51e2bf8}{ecore\_\-desktop\_\-get} (const char $\ast$file, const char $\ast$lang)
+\begin{CompactList}\small\item\em Get the contents of a .desktop file. \item\end{CompactList}\item 
+void \hyperlink{group__Ecore__Desktop__Main__Group_g61bac27920d4b04e21882a79d2610219}{ecore\_\-desktop\_\-destroy} (Ecore\_\-Desktop $\ast$desktop)
+\begin{CompactList}\small\item\em Free whatever resources are used by an Ecore\_\-Desktop. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Desktop__Icon__Group_g8eb4511d3b31e25472198335154653db}{ecore\_\-desktop\_\-icon\_\-init} (void)
+\begin{CompactList}\small\item\em Setup what ever needs to be setup to support ecore\_\-desktop\_\-icon. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Desktop__Icon__Group_g87efafddfda52dfb70ff56d721be7ec2}{ecore\_\-desktop\_\-icon\_\-shutdown} (void)
+\begin{CompactList}\small\item\em Tear down what ever needs to be torn down to support ecore\_\-desktop\_\-ycon. \item\end{CompactList}\item 
+EAPI char $\ast$ \hyperlink{group__Ecore__Desktop__Icon__Group_g60c2a21d6b52143cafcbbbd312fd932c}{ecore\_\-desktop\_\-icon\_\-find} (const char $\ast$icon, const char $\ast$icon\_\-size, const char $\ast$icon\_\-theme)
+\begin{CompactList}\small\item\em Find the path to an icon. \item\end{CompactList}\item 
+void \hyperlink{group__Ecore__Desktop__Icon__Group_g73a8ff071454e48b4be88eeedd4a89d1}{ecore\_\-desktop\_\-icon\_\-theme\_\-destroy} (Ecore\_\-Desktop\_\-Icon\_\-Theme $\ast$icon\_\-theme)
+\begin{CompactList}\small\item\em Free whatever resources are used by an Ecore\_\-Desktop\_\-Icon\_\-Theme. \item\end{CompactList}\item 
+Ecore\_\-Desktop\_\-Tree $\ast$ \hyperlink{group__Ecore__Desktop__Menu__Group_g479a22ac6910dbb6e991278243bfd7cd}{ecore\_\-desktop\_\-menu\_\-get} (char $\ast$file)
+\begin{CompactList}\small\item\em Decode a freedesktop.org menu XML jungle. \item\end{CompactList}\item 
+char $\ast$ \hyperlink{group__Ecore__Desktop__Main__Group_g391bcf733c23f74642356c08ba58d549}{ecore\_\-desktop\_\-home\_\-get} (void)
+\begin{CompactList}\small\item\em Get and massage the users home directory. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+The file that provides the freedesktop.org desktop, icon, and menu functions. 
+
+This header provides the Ecore\_\-Desktop freedesktop.org desktop, icon, and menu handling functions, as well as ancillary functions for searching freedesktop.org specific paths. Other freedesktop.org specifications make use of similar files, paths, and icons, implementors can use / extend this code to suit.
+
+Ecore\_\-Desktop is not for every freedesktop.org specification, just those that are associated with .desktop files.
+
+For path searching details, see Ecore\_\-Desktop\_\-Paths\_\-Group.
+
+For desktop file details, see \hyperlink{group__Ecore__Desktop__Main__Group}{.desktop file Functions}.
+
+For icon theme details, see \hyperlink{group__Ecore__Desktop__Icon__Group}{icon theme Functions}.
+
+For menu file details, see \hyperlink{group__Ecore__Desktop__Menu__Group}{menu Functions}. 
+
+\subsection{Function Documentation}
+\hypertarget{Ecore__Desktop_8h_a27fc6c1028930fface2ec12e0978428}{
+\index{Ecore_Desktop.h@{Ecore\_\-Desktop.h}!ecore_desktop_paths_file_find@{ecore\_\-desktop\_\-paths\_\-file\_\-find}}
+\index{ecore_desktop_paths_file_find@{ecore\_\-desktop\_\-paths\_\-file\_\-find}!Ecore_Desktop.h@{Ecore\_\-Desktop.h}}
+\subsubsection[ecore\_\-desktop\_\-paths\_\-file\_\-find]{\setlength{\rightskip}{0pt plus 5cm}char$\ast$ ecore\_\-desktop\_\-paths\_\-file\_\-find (Ecore\_\-List $\ast$ {\em paths}, const char $\ast$ {\em file}, int {\em sub}, int($\ast$)(void $\ast$data, const char $\ast$path) {\em func}, void $\ast$ {\em data})}}
+\label{Ecore__Desktop_8h_a27fc6c1028930fface2ec12e0978428}
+
+
+Search for a file in fdo compatible locations. 
+
+This will search through all the diretories of a particular type, looking for the file. It will recurse into subdirectories. If func is NULL, then only the first file found will be returned. If func is defined, then each file found will be passed to func, until func returns 1.
+
+The returned string will have to be freed eventually.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em type}]The type of directories to search. \item[{\em file}]The file to search for. \item[{\em sub}]Levels of sub directories to search, -1 = all, 0 = none. \item[{\em func}]A function to call for each file found. \item[{\em data}]A pointer to pass on to func. \end{description}
+\end{Desc}
+\hypertarget{Ecore__Desktop_8h_c35fd9f58ece7370201702d09480fd7e}{
+\index{Ecore_Desktop.h@{Ecore\_\-Desktop.h}!ecore_desktop_paths_to_hash@{ecore\_\-desktop\_\-paths\_\-to\_\-hash}}
+\index{ecore_desktop_paths_to_hash@{ecore\_\-desktop\_\-paths\_\-to\_\-hash}!Ecore_Desktop.h@{Ecore\_\-Desktop.h}}
+\subsubsection[ecore\_\-desktop\_\-paths\_\-to\_\-hash]{\setlength{\rightskip}{0pt plus 5cm}Ecore\_\-Hash$\ast$ ecore\_\-desktop\_\-paths\_\-to\_\-hash (const char $\ast$ {\em paths})}}
+\label{Ecore__Desktop_8h_c35fd9f58ece7370201702d09480fd7e}
+
+
+Split a list of paths into an Ecore\_\-Hash. 
+
+The list of paths can use any one of ;:, to seperate the paths. You can also escape the :;, with $\backslash$.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em paths}]A list of paths. \end{description}
+\end{Desc}
+\hypertarget{Ecore__Desktop_8h_9054fb4145a6c0b7356a48a59ce11ee0}{
+\index{Ecore_Desktop.h@{Ecore\_\-Desktop.h}!ecore_desktop_paths_to_list@{ecore\_\-desktop\_\-paths\_\-to\_\-list}}
+\index{ecore_desktop_paths_to_list@{ecore\_\-desktop\_\-paths\_\-to\_\-list}!Ecore_Desktop.h@{Ecore\_\-Desktop.h}}
+\subsubsection[ecore\_\-desktop\_\-paths\_\-to\_\-list]{\setlength{\rightskip}{0pt plus 5cm}Ecore\_\-List$\ast$ ecore\_\-desktop\_\-paths\_\-to\_\-list (const char $\ast$ {\em paths})}}
+\label{Ecore__Desktop_8h_9054fb4145a6c0b7356a48a59ce11ee0}
+
+
+Split a list of paths into an Ecore\_\-Hash. 
+
+The list of paths can use any one of ;:, to seperate the paths. You can also escape the :;, with $\backslash$.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em paths}]A list of paths. \end{description}
+\end{Desc}
diff --git a/doc/latex/Ecore__Evas_8h.tex b/doc/latex/Ecore__Evas_8h.tex
new file mode 100644
index 0000000..badf19c
--- /dev/null
+++ b/doc/latex/Ecore__Evas_8h.tex
@@ -0,0 +1,1540 @@
+\hypertarget{Ecore__Evas_8h}{
+\section{Ecore\_\-Evas.h File Reference}
+\label{Ecore__Evas_8h}\index{Ecore_Evas.h@{Ecore\_\-Evas.h}}
+}
+Evas wrapper functions. 
+
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+EAPI int \hyperlink{Ecore__Evas_8h_bc4b2696e9fc607bb2a63a430cbdfd3b}{ecore\_\-evas\_\-engine\_\-type\_\-supported\_\-get} (Ecore\_\-Evas\_\-Engine\_\-Type engine)
+\begin{CompactList}\small\item\em Query if a particular renginering engine target has support. \item\end{CompactList}\item 
+EAPI int \hyperlink{Ecore__Evas_8h_32ddbb6457033ad435a177eb0c4fe235}{ecore\_\-evas\_\-init} (void)
+\begin{CompactList}\small\item\em Init the Evas system. \item\end{CompactList}\item 
+EAPI int \hyperlink{Ecore__Evas_8h_b8fa311077f749190c9b622f672b2214}{ecore\_\-evas\_\-shutdown} (void)
+\begin{CompactList}\small\item\em Shut down the Evas system. \item\end{CompactList}\item 
+EAPI Ecore\_\-Evas $\ast$ \hyperlink{Ecore__Evas_8h_71ca9d720d2df05a5e935c9ea8451051}{ecore\_\-evas\_\-software\_\-x11\_\-new} (const char $\ast$disp\_\-name, Ecore\_\-X\_\-Window parent, int x, int y, int w, int h)
+\begin{CompactList}\small\item\em To be documented. \item\end{CompactList}\item 
+EAPI Ecore\_\-X\_\-Window \hyperlink{Ecore__Evas_8h_1c8b44d2525681127dabd8ed8cf3058c}{ecore\_\-evas\_\-software\_\-x11\_\-window\_\-get} (Ecore\_\-Evas $\ast$ee)
+\begin{CompactList}\small\item\em To be documented. \item\end{CompactList}\item 
+EAPI Ecore\_\-X\_\-Window \hyperlink{Ecore__Evas_8h_c42c6b4bc269b867b66dd4d4550f4892}{ecore\_\-evas\_\-software\_\-x11\_\-subwindow\_\-get} (Ecore\_\-Evas $\ast$ee)
+\begin{CompactList}\small\item\em To be documented. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore__Evas_8h_76c307ce78a33cae7782bfe4f753fc40}{ecore\_\-evas\_\-software\_\-x11\_\-direct\_\-resize\_\-set} (Ecore\_\-Evas $\ast$ee, int on)
+\begin{CompactList}\small\item\em To be documented. \item\end{CompactList}\item 
+EAPI int \hyperlink{Ecore__Evas_8h_1e65de06d77e196c9bccad8e89c5145d}{ecore\_\-evas\_\-software\_\-x11\_\-direct\_\-resize\_\-get} (Ecore\_\-Evas $\ast$ee)
+\begin{CompactList}\small\item\em To be documented. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore__Evas_8h_7cf6203a7a335fbf30aaa0612c0eafce}{ecore\_\-evas\_\-software\_\-x11\_\-extra\_\-event\_\-window\_\-add} (Ecore\_\-Evas $\ast$ee, Ecore\_\-X\_\-Window win)
+\begin{CompactList}\small\item\em To be documented. \item\end{CompactList}\item 
+EAPI Ecore\_\-Evas $\ast$ \hyperlink{Ecore__Evas_8h_1443fa9af8143a48dadc27eaa51d7c5e}{ecore\_\-evas\_\-gl\_\-x11\_\-new} (const char $\ast$disp\_\-name, Ecore\_\-X\_\-Window parent, int x, int y, int w, int h)
+\begin{CompactList}\small\item\em To be documented. \item\end{CompactList}\item 
+EAPI Ecore\_\-X\_\-Window \hyperlink{Ecore__Evas_8h_01416243f7ec46390b9e4b7077d0c34d}{ecore\_\-evas\_\-gl\_\-x11\_\-window\_\-get} (Ecore\_\-Evas $\ast$ee)
+\begin{CompactList}\small\item\em To be documented. \item\end{CompactList}\item 
+EAPI Ecore\_\-X\_\-Window \hyperlink{Ecore__Evas_8h_7cf23aca7d775e694fbfa40c6a96b78e}{ecore\_\-evas\_\-gl\_\-x11\_\-subwindow\_\-get} (Ecore\_\-Evas $\ast$ee)
+\begin{CompactList}\small\item\em To be documented. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore__Evas_8h_3fcbd7b8d384a69a03e4beaea106072a}{ecore\_\-evas\_\-gl\_\-x11\_\-direct\_\-resize\_\-set} (Ecore\_\-Evas $\ast$ee, int on)
+\begin{CompactList}\small\item\em To be documented. \item\end{CompactList}\item 
+EAPI int \hyperlink{Ecore__Evas_8h_80ad6c606327f9f7b78171347ecd1e2d}{ecore\_\-evas\_\-gl\_\-x11\_\-direct\_\-resize\_\-get} (Ecore\_\-Evas $\ast$ee)
+\begin{CompactList}\small\item\em To be documented. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore__Evas_8h_f363b728e3d00a3c6230d9427b40a8c9}{ecore\_\-evas\_\-gl\_\-x11\_\-extra\_\-event\_\-window\_\-add} (Ecore\_\-Evas $\ast$ee, Ecore\_\-X\_\-Window win)
+\begin{CompactList}\small\item\em To be documented. \item\end{CompactList}\item 
+EAPI Ecore\_\-Evas $\ast$ \hyperlink{Ecore__Evas_8h_8fb98e6849e50eb5b34cbc5cb703e309}{ecore\_\-evas\_\-xrender\_\-x11\_\-new} (const char $\ast$disp\_\-name, Ecore\_\-X\_\-Window parent, int x, int y, int w, int h)
+\begin{CompactList}\small\item\em To be documented. \item\end{CompactList}\item 
+EAPI Ecore\_\-X\_\-Window \hyperlink{Ecore__Evas_8h_29aaa25c35a8db50b34657d4cc7cdbde}{ecore\_\-evas\_\-xrender\_\-x11\_\-window\_\-get} (Ecore\_\-Evas $\ast$ee)
+\begin{CompactList}\small\item\em To be documented. \item\end{CompactList}\item 
+EAPI Ecore\_\-X\_\-Window \hyperlink{Ecore__Evas_8h_ad08fb8be571096fc8c40d2a7f63734b}{ecore\_\-evas\_\-xrender\_\-x11\_\-subwindow\_\-get} (Ecore\_\-Evas $\ast$ee)
+\begin{CompactList}\small\item\em To be documented. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore__Evas_8h_631f3af9a5afceaed0fe37c904d2e15a}{ecore\_\-evas\_\-xrender\_\-x11\_\-direct\_\-resize\_\-set} (Ecore\_\-Evas $\ast$ee, int on)
+\begin{CompactList}\small\item\em To be documented. \item\end{CompactList}\item 
+EAPI int \hyperlink{Ecore__Evas_8h_3c47880083f800888946e4924c477baa}{ecore\_\-evas\_\-xrender\_\-x11\_\-direct\_\-resize\_\-get} (Ecore\_\-Evas $\ast$ee)
+\begin{CompactList}\small\item\em To be documented. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore__Evas_8h_352cb2682bf16ed80493dd91d43228de}{ecore\_\-evas\_\-xrender\_\-x11\_\-extra\_\-event\_\-window\_\-add} (Ecore\_\-Evas $\ast$ee, Ecore\_\-X\_\-Window win)
+\begin{CompactList}\small\item\em To be documented. \item\end{CompactList}\item 
+EAPI Ecore\_\-Evas $\ast$ \hyperlink{Ecore__Evas_8h_3f2e1e619c7d907d8efef7dd64fc1312}{ecore\_\-evas\_\-software\_\-x11\_\-16\_\-new} (const char $\ast$disp\_\-name, Ecore\_\-X\_\-Window parent, int x, int y, int w, int h)
+\begin{CompactList}\small\item\em To be documented. \item\end{CompactList}\item 
+EAPI Ecore\_\-X\_\-Window \hyperlink{Ecore__Evas_8h_d1706d6cdbc8b19e13ea3635c8499bdc}{ecore\_\-evas\_\-software\_\-x11\_\-16\_\-window\_\-get} (Ecore\_\-Evas $\ast$ee)
+\begin{CompactList}\small\item\em To be documented. \item\end{CompactList}\item 
+EAPI Ecore\_\-X\_\-Window \hyperlink{Ecore__Evas_8h_69a56a28479edb8882e33af387c94322}{ecore\_\-evas\_\-software\_\-x11\_\-16\_\-subwindow\_\-get} (Ecore\_\-Evas $\ast$ee)
+\begin{CompactList}\small\item\em To be documented. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore__Evas_8h_83a733bd5ec9f235dc55d44e83461688}{ecore\_\-evas\_\-software\_\-x11\_\-16\_\-direct\_\-resize\_\-set} (Ecore\_\-Evas $\ast$ee, int on)
+\begin{CompactList}\small\item\em To be documented. \item\end{CompactList}\item 
+EAPI int \hyperlink{Ecore__Evas_8h_b7e5640d0ad3b227f6a6c366bbc3efd8}{ecore\_\-evas\_\-software\_\-x11\_\-16\_\-direct\_\-resize\_\-get} (Ecore\_\-Evas $\ast$ee)
+\begin{CompactList}\small\item\em To be documented. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore__Evas_8h_15556471f3eebcd39e81ad53e5907b20}{ecore\_\-evas\_\-software\_\-x11\_\-16\_\-extra\_\-event\_\-window\_\-add} (Ecore\_\-Evas $\ast$ee, Ecore\_\-X\_\-Window win)
+\begin{CompactList}\small\item\em To be documented. \item\end{CompactList}\item 
+EAPI Ecore\_\-Evas $\ast$ \hyperlink{Ecore__Evas_8h_5cc1b514f94ed87dbc527dabe2fb85d3}{ecore\_\-evas\_\-fb\_\-new} (char $\ast$disp\_\-name, int rotation, int w, int h)
+\begin{CompactList}\small\item\em To be documented. \item\end{CompactList}\item 
+EAPI Ecore\_\-Evas $\ast$ \hyperlink{Ecore__Evas_8h_c2e1f186eb493faf7cee9771fb16f49e}{ecore\_\-evas\_\-buffer\_\-new} (int w, int h)
+\begin{CompactList}\small\item\em To be documented. \item\end{CompactList}\item 
+EAPI Ecore\_\-Evas $\ast$ \hyperlink{Ecore__Evas_8h_88ed3de3520605d45edbe486b0e11ddb}{ecore\_\-evas\_\-ecore\_\-evas\_\-get} (Evas $\ast$e)
+\begin{CompactList}\small\item\em Return the Ecore\_\-Evas for this Evas. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore__Evas_8h_d3ec61f2aa03df4d3dbfd0d311e0c8dc}{ecore\_\-evas\_\-free} (Ecore\_\-Evas $\ast$ee)
+\begin{CompactList}\small\item\em Free an Ecore\_\-Evas. \item\end{CompactList}\item 
+EAPI void $\ast$ \hyperlink{Ecore__Evas_8h_52b46b435d64eb33510402d970bc6c58}{ecore\_\-evas\_\-data\_\-get} (Ecore\_\-Evas $\ast$ee, const char $\ast$key)
+\begin{CompactList}\small\item\em Retrieve user data associated with an Ecore\_\-Evas. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore__Evas_8h_a86c5abd200a02711aced53d27b9ddb2}{ecore\_\-evas\_\-data\_\-set} (Ecore\_\-Evas $\ast$ee, const char $\ast$key, const void $\ast$data)
+\begin{CompactList}\small\item\em Store user data in an Ecore\_\-Evas structure. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore__Evas_8h_6b7fd75fe90e50d5c132cb96f0e495fa}{ecore\_\-evas\_\-callback\_\-resize\_\-set} (Ecore\_\-Evas $\ast$ee, void($\ast$func)(Ecore\_\-Evas $\ast$ee))
+\begin{CompactList}\small\item\em Set a callback for Ecore\_\-Evas resize events. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore__Evas_8h_49b467d2d7000c75268fe96bd16b50f6}{ecore\_\-evas\_\-callback\_\-move\_\-set} (Ecore\_\-Evas $\ast$ee, void($\ast$func)(Ecore\_\-Evas $\ast$ee))
+\begin{CompactList}\small\item\em Set a callback for Ecore\_\-Evas move events. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore__Evas_8h_8a7f19c1df20409e77252db41822bbeb}{ecore\_\-evas\_\-callback\_\-show\_\-set} (Ecore\_\-Evas $\ast$ee, void($\ast$func)(Ecore\_\-Evas $\ast$ee))
+\begin{CompactList}\small\item\em Set a callback for Ecore\_\-Evas show events. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore__Evas_8h_e5563cac2111859962581006b5dfe5f0}{ecore\_\-evas\_\-callback\_\-hide\_\-set} (Ecore\_\-Evas $\ast$ee, void($\ast$func)(Ecore\_\-Evas $\ast$ee))
+\begin{CompactList}\small\item\em Set a callback for Ecore\_\-Evas hide events. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore__Evas_8h_9912554099331d356d6a06ad61771292}{ecore\_\-evas\_\-callback\_\-delete\_\-request\_\-set} (Ecore\_\-Evas $\ast$ee, void($\ast$func)(Ecore\_\-Evas $\ast$ee))
+\begin{CompactList}\small\item\em Set a callback for Ecore\_\-Evas delete request events. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore__Evas_8h_7ab7f2947c462d921b2e155ead3639bc}{ecore\_\-evas\_\-callback\_\-destroy\_\-set} (Ecore\_\-Evas $\ast$ee, void($\ast$func)(Ecore\_\-Evas $\ast$ee))
+\begin{CompactList}\small\item\em Set a callback for Ecore\_\-Evas destroy events. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore__Evas_8h_fff2fe94b6c8df71bbbc97340cad73e7}{ecore\_\-evas\_\-callback\_\-focus\_\-in\_\-set} (Ecore\_\-Evas $\ast$ee, void($\ast$func)(Ecore\_\-Evas $\ast$ee))
+\begin{CompactList}\small\item\em Set a callback for Ecore\_\-Evas focus in events. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore__Evas_8h_e0bc135143047aaf0b0fdeef2cf2bada}{ecore\_\-evas\_\-callback\_\-focus\_\-out\_\-set} (Ecore\_\-Evas $\ast$ee, void($\ast$func)(Ecore\_\-Evas $\ast$ee))
+\begin{CompactList}\small\item\em Set a callback for Ecore\_\-Evas focus out events. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore__Evas_8h_2508e64c07207a626863d19374a9b37a}{ecore\_\-evas\_\-callback\_\-sticky\_\-set} (Ecore\_\-Evas $\ast$ee, void($\ast$func)(Ecore\_\-Evas $\ast$ee))
+\begin{CompactList}\small\item\em Set a callback for Ecore\_\-Evas sticky events. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore__Evas_8h_6abaf03f8aa22bfb17703f5295a62df6}{ecore\_\-evas\_\-callback\_\-unsticky\_\-set} (Ecore\_\-Evas $\ast$ee, void($\ast$func)(Ecore\_\-Evas $\ast$ee))
+\begin{CompactList}\small\item\em Set a callback for Ecore\_\-Evas un-sticky events. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore__Evas_8h_32180b12699e0d1a6003029a7f070c65}{ecore\_\-evas\_\-callback\_\-mouse\_\-in\_\-set} (Ecore\_\-Evas $\ast$ee, void($\ast$func)(Ecore\_\-Evas $\ast$ee))
+\begin{CompactList}\small\item\em Set a callback for Ecore\_\-Evas mouse in events. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore__Evas_8h_cf1f07b10125280402bc55683954c8bf}{ecore\_\-evas\_\-callback\_\-mouse\_\-out\_\-set} (Ecore\_\-Evas $\ast$ee, void($\ast$func)(Ecore\_\-Evas $\ast$ee))
+\begin{CompactList}\small\item\em Set a callback for Ecore\_\-Evas mouse out events. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore__Evas_8h_d4a946724882b3351b409d0decc70fea}{ecore\_\-evas\_\-callback\_\-pre\_\-render\_\-set} (Ecore\_\-Evas $\ast$ee, void($\ast$func)(Ecore\_\-Evas $\ast$ee))
+\begin{CompactList}\small\item\em Set a callback for Ecore\_\-Evas mouse pre render events. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore__Evas_8h_a65598d1d54d46716c915232679a9bc1}{ecore\_\-evas\_\-callback\_\-post\_\-render\_\-set} (Ecore\_\-Evas $\ast$ee, void($\ast$func)(Ecore\_\-Evas $\ast$ee))
+\begin{CompactList}\small\item\em Set a callback for Ecore\_\-Evas mouse post render events. \item\end{CompactList}\item 
+EAPI Evas $\ast$ \hyperlink{Ecore__Evas_8h_926506fa5e88811c891ce130e0ab8338}{ecore\_\-evas\_\-get} (Ecore\_\-Evas $\ast$ee)
+\begin{CompactList}\small\item\em Get an Ecore\_\-Evas's Evas. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore__Evas_8h_f76a90bbc13f6196e77d9c513a18941b}{ecore\_\-evas\_\-move} (Ecore\_\-Evas $\ast$ee, int x, int y)
+\begin{CompactList}\small\item\em Move an Ecore\_\-Evas. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore__Evas_8h_8794487154ca3dc1c71b5bd4542bbf58}{ecore\_\-evas\_\-managed\_\-move} (Ecore\_\-Evas $\ast$ee, int x, int y)
+\begin{CompactList}\small\item\em Provide Managed move co-ordinates for an Ecore\_\-Evas. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore__Evas_8h_3109b574eca21cd8b57a749c362dba3e}{ecore\_\-evas\_\-resize} (Ecore\_\-Evas $\ast$ee, int w, int h)
+\begin{CompactList}\small\item\em Resize an Ecore\_\-Evas. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore__Evas_8h_71abc5b649e5c35bf40c54d5239360f3}{ecore\_\-evas\_\-move\_\-resize} (Ecore\_\-Evas $\ast$ee, int x, int y, int w, int h)
+\begin{CompactList}\small\item\em Resize an Ecore\_\-Evas. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore__Evas_8h_92ee70061f83897d889ca1dbbe98a55f}{ecore\_\-evas\_\-geometry\_\-get} (Ecore\_\-Evas $\ast$ee, int $\ast$x, int $\ast$y, int $\ast$w, int $\ast$h)
+\begin{CompactList}\small\item\em Get the geometry of an Ecore\_\-Evas. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore__Evas_8h_4166fe6060002a30a3e2c623fd7d4eec}{ecore\_\-evas\_\-rotation\_\-set} (Ecore\_\-Evas $\ast$ee, int rot)
+\begin{CompactList}\small\item\em Set the rotation of an Ecore\_\-Evas' window. \item\end{CompactList}\item 
+EAPI int \hyperlink{Ecore__Evas_8h_4b85e41ef3473d9c8bc18468cf6b7d14}{ecore\_\-evas\_\-rotation\_\-get} (Ecore\_\-Evas $\ast$ee)
+\begin{CompactList}\small\item\em Set the rotation of an Ecore\_\-Evas' window. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore__Evas_8h_902db12006699064409307cba6c2637d}{ecore\_\-evas\_\-shaped\_\-set} (Ecore\_\-Evas $\ast$ee, int shaped)
+\begin{CompactList}\small\item\em Set whether an Ecore\_\-Evas is shaped or not. \item\end{CompactList}\item 
+EAPI int \hyperlink{Ecore__Evas_8h_1b752d49f95174806c7e9148ba60c2e4}{ecore\_\-evas\_\-shaped\_\-get} (Ecore\_\-Evas $\ast$ee)
+\begin{CompactList}\small\item\em Query whether an Ecore\_\-Evas is shaped or not. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore__Evas_8h_eba22cdb7622b33729d26a6407dcf0a6}{ecore\_\-evas\_\-alpha\_\-set} (Ecore\_\-Evas $\ast$ee, int alpha)
+\begin{CompactList}\small\item\em Set whether an Ecore\_\-Evas has an alpha channel or not. \item\end{CompactList}\item 
+EAPI int \hyperlink{Ecore__Evas_8h_04ba329fce850504e3538ea0be7a4b5c}{ecore\_\-evas\_\-alpha\_\-get} (Ecore\_\-Evas $\ast$ee)
+\begin{CompactList}\small\item\em Query whether an Ecore\_\-Evas has an alpha channel. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore__Evas_8h_4953047ff97d4f1b0d75a7d513d4f317}{ecore\_\-evas\_\-show} (Ecore\_\-Evas $\ast$ee)
+\begin{CompactList}\small\item\em Show an Ecore\_\-Evas' window. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore__Evas_8h_0c4c806d5873a4528334e398d28940d4}{ecore\_\-evas\_\-hide} (Ecore\_\-Evas $\ast$ee)
+\begin{CompactList}\small\item\em Hide an Ecore\_\-Evas' window. \item\end{CompactList}\item 
+EAPI int \hyperlink{Ecore__Evas_8h_81ec64435d60ec828d6ae09d73f8bca6}{ecore\_\-evas\_\-visibility\_\-get} (Ecore\_\-Evas $\ast$ee)
+\begin{CompactList}\small\item\em Query whether an Ecore\_\-Evas' window is visible or not. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore__Evas_8h_6ed264f0f364409f13f8f7440153ee10}{ecore\_\-evas\_\-raise} (Ecore\_\-Evas $\ast$ee)
+\begin{CompactList}\small\item\em Raise and Ecore\_\-Evas' window. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore__Evas_8h_fa764e78c265576e6313eaf8bf34d1e9}{ecore\_\-evas\_\-lower} (Ecore\_\-Evas $\ast$ee)
+\begin{CompactList}\small\item\em Lower an Ecore\_\-Evas' window. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore__Evas_8h_3b2832e0373bbafae2bb7143618535c1}{ecore\_\-evas\_\-title\_\-set} (Ecore\_\-Evas $\ast$ee, const char $\ast$t)
+\begin{CompactList}\small\item\em Set the title of an Ecore\_\-Evas' window. \item\end{CompactList}\item 
+EAPI const char $\ast$ \hyperlink{Ecore__Evas_8h_c09c6b713c369c5b2edb7870cde710aa}{ecore\_\-evas\_\-title\_\-get} (Ecore\_\-Evas $\ast$ee)
+\begin{CompactList}\small\item\em Get the title of an Ecore\_\-Evas' window. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore__Evas_8h_14bbe9c52d2d85e18e0a35819fb0330a}{ecore\_\-evas\_\-name\_\-class\_\-set} (Ecore\_\-Evas $\ast$ee, const char $\ast$n, const char $\ast$c)
+\begin{CompactList}\small\item\em Set the name and class of an Ecore\_\-Evas' window. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore__Evas_8h_204d3455ace3cc2e882e9f0d3b28281b}{ecore\_\-evas\_\-name\_\-class\_\-get} (Ecore\_\-Evas $\ast$ee, const char $\ast$$\ast$n, const char $\ast$$\ast$c)
+\begin{CompactList}\small\item\em Get the name and class of an Ecore\_\-Evas' window {\tt ee} The Ecore\_\-Evas to query {\tt n} A pointer to a string to place the name in. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore__Evas_8h_63abcee3b625bd6410fe8eb46b2a5d9c}{ecore\_\-evas\_\-size\_\-min\_\-set} (Ecore\_\-Evas $\ast$ee, int w, int h)
+\begin{CompactList}\small\item\em Set the min size of an Ecore\_\-Evas' window. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore__Evas_8h_039a04ca2b231f2b0ab0b9b2db7352b6}{ecore\_\-evas\_\-size\_\-min\_\-get} (Ecore\_\-Evas $\ast$ee, int $\ast$w, int $\ast$h)
+\begin{CompactList}\small\item\em Get the min size of an Ecore\_\-Evas' window. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore__Evas_8h_c9ad3e25ab3f2bea8be726d24df62902}{ecore\_\-evas\_\-size\_\-max\_\-set} (Ecore\_\-Evas $\ast$ee, int w, int h)
+\begin{CompactList}\small\item\em Set the max size of an Ecore\_\-Evas' window. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore__Evas_8h_a07452ff374eed4ddeb94c5cde89c300}{ecore\_\-evas\_\-size\_\-max\_\-get} (Ecore\_\-Evas $\ast$ee, int $\ast$w, int $\ast$h)
+\begin{CompactList}\small\item\em Get the max size of an Ecore\_\-Evas' window. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore__Evas_8h_540886b523486b791729d5d3f62f9fce}{ecore\_\-evas\_\-size\_\-base\_\-set} (Ecore\_\-Evas $\ast$ee, int w, int h)
+\begin{CompactList}\small\item\em Set the base size of an Ecore\_\-Evas' window. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore__Evas_8h_3bae432e14325ddb86d630ee7550c850}{ecore\_\-evas\_\-size\_\-base\_\-get} (Ecore\_\-Evas $\ast$ee, int $\ast$w, int $\ast$h)
+\begin{CompactList}\small\item\em Get the base size of an Ecore\_\-Evas' window. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore__Evas_8h_b794b84a4f53e7fc36d5e87882185dc5}{ecore\_\-evas\_\-size\_\-step\_\-set} (Ecore\_\-Evas $\ast$ee, int w, int h)
+\begin{CompactList}\small\item\em Set the step size of an Ecore\_\-Evas. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore__Evas_8h_8a4fcf6e756e8916cb4646e76aaa69e9}{ecore\_\-evas\_\-size\_\-step\_\-get} (Ecore\_\-Evas $\ast$ee, int $\ast$w, int $\ast$h)
+\begin{CompactList}\small\item\em Get the step size of an Ecore\_\-Evas' window. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore__Evas_8h_9f8b0f14a2723f9a4bf2f2b1906d04e0}{ecore\_\-evas\_\-cursor\_\-set} (Ecore\_\-Evas $\ast$ee, const char $\ast$file, int layer, int hot\_\-x, int hot\_\-y)
+\begin{CompactList}\small\item\em Set the cursor of an Ecore\_\-Evas. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore__Evas_8h_f8829999536db76973c698a03f2e08ba}{ecore\_\-evas\_\-cursor\_\-get} (Ecore\_\-Evas $\ast$ee, char $\ast$$\ast$file, int $\ast$layer, int $\ast$hot\_\-x, int $\ast$hot\_\-y)
+\begin{CompactList}\small\item\em Get information about an Ecore\_\-Evas' cursor. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore__Evas_8h_0f5369c1b007fda38d783f2be8ca0815}{ecore\_\-evas\_\-layer\_\-set} (Ecore\_\-Evas $\ast$ee, int layer)
+\begin{CompactList}\small\item\em Set the layer of an Ecore\_\-Evas' window. \item\end{CompactList}\item 
+EAPI int \hyperlink{Ecore__Evas_8h_eb256f761802d4aa89189feb4181fb9e}{ecore\_\-evas\_\-layer\_\-get} (Ecore\_\-Evas $\ast$ee)
+\begin{CompactList}\small\item\em Get the layer of an Ecore\_\-Evas' window. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore__Evas_8h_e68939596444cee858e670a3800f3f1e}{ecore\_\-evas\_\-focus\_\-set} (Ecore\_\-Evas $\ast$ee, int on)
+\begin{CompactList}\small\item\em Set the focus of an Ecore\_\-Evas' window. \item\end{CompactList}\item 
+EAPI int \hyperlink{Ecore__Evas_8h_d6315b8ab8bf71c34e00c91aa35ac8d5}{ecore\_\-evas\_\-focus\_\-get} (Ecore\_\-Evas $\ast$ee)
+\begin{CompactList}\small\item\em Query whether an Ecore\_\-Evas' window is focused or not. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore__Evas_8h_ab0146f73bf54250b9dfe43b86391887}{ecore\_\-evas\_\-iconified\_\-set} (Ecore\_\-Evas $\ast$ee, int on)
+\begin{CompactList}\small\item\em Iconify or uniconify an Ecore\_\-Evas' window. \item\end{CompactList}\item 
+EAPI int \hyperlink{Ecore__Evas_8h_b6125e3cf39422e4b1a30376018454ed}{ecore\_\-evas\_\-iconified\_\-get} (Ecore\_\-Evas $\ast$ee)
+\begin{CompactList}\small\item\em Query whether an Ecore\_\-Evas' window is iconified or not. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore__Evas_8h_aedfd511a170ae82cc0b26dc16341fc0}{ecore\_\-evas\_\-borderless\_\-set} (Ecore\_\-Evas $\ast$ee, int on)
+\begin{CompactList}\small\item\em Set whether an Ecore\_\-Evas' window is borderless or not. \item\end{CompactList}\item 
+EAPI int \hyperlink{Ecore__Evas_8h_e6a25044aec4ad5bb845ef71d4cf96dd}{ecore\_\-evas\_\-borderless\_\-get} (Ecore\_\-Evas $\ast$ee)
+\begin{CompactList}\small\item\em Query whether an Ecore\_\-Evas' window is borderless or not. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore__Evas_8h_77f3671d737d3675a38acc059997d3fb}{ecore\_\-evas\_\-override\_\-set} (Ecore\_\-Evas $\ast$ee, int on)
+\begin{CompactList}\small\item\em Tell the WM whether or not to ignore an Ecore\_\-Evas' window. \item\end{CompactList}\item 
+EAPI int \hyperlink{Ecore__Evas_8h_53fdce2670be1ca9464bb6934913a126}{ecore\_\-evas\_\-override\_\-get} (Ecore\_\-Evas $\ast$ee)
+\begin{CompactList}\small\item\em Query whether an Ecore\_\-Evas' window is overridden or not. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore__Evas_8h_2fc7cf9da168c3dd6aa5282798037333}{ecore\_\-evas\_\-maximized\_\-set} (Ecore\_\-Evas $\ast$ee, int on)
+\begin{CompactList}\small\item\em Maximize (or unmaximize) an Ecore\_\-Evas' window. \item\end{CompactList}\item 
+EAPI int \hyperlink{Ecore__Evas_8h_55a913dd5ceb00e7c586805d75ea2576}{ecore\_\-evas\_\-maximized\_\-get} (Ecore\_\-Evas $\ast$ee)
+\begin{CompactList}\small\item\em Query whether an Ecore\_\-Evas' window is maximized or not. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore__Evas_8h_0496b4481f882798fe64dc309cdeb4e3}{ecore\_\-evas\_\-fullscreen\_\-set} (Ecore\_\-Evas $\ast$ee, int on)
+\begin{CompactList}\small\item\em Set whether or not an Ecore\_\-Evas' window is fullscreen. \item\end{CompactList}\item 
+EAPI int \hyperlink{Ecore__Evas_8h_0d706aeb6812c0611414da54e8b57e5a}{ecore\_\-evas\_\-fullscreen\_\-get} (Ecore\_\-Evas $\ast$ee)
+\begin{CompactList}\small\item\em Query whether an Ecore\_\-Evas' window is fullscreen or not. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore__Evas_8h_32ba9dd773514ebf4cd874006e578e5a}{ecore\_\-evas\_\-avoid\_\-damage\_\-set} (Ecore\_\-Evas $\ast$ee, int on)
+\begin{CompactList}\small\item\em Set whether or not an Ecore\_\-Evas' window should avoid damage. \item\end{CompactList}\item 
+EAPI int \hyperlink{Ecore__Evas_8h_5a00f4d3d3a50ed8a4b2c6eeedd0e965}{ecore\_\-evas\_\-avoid\_\-damage\_\-get} (Ecore\_\-Evas $\ast$ee)
+\begin{CompactList}\small\item\em Query whether an Ecore\_\-Evas' window avoids damage or not. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore__Evas_8h_fb818d7cb8ab256c9a6c680771f5e4ae}{ecore\_\-evas\_\-withdrawn\_\-set} (Ecore\_\-Evas $\ast$ee, int withdrawn)
+\begin{CompactList}\small\item\em Set the withdrawn state of an Ecore\_\-Evas' window. \item\end{CompactList}\item 
+EAPI int \hyperlink{Ecore__Evas_8h_3fb10d2496f86682b25f86b9bdd52aa7}{ecore\_\-evas\_\-withdrawn\_\-get} (Ecore\_\-Evas $\ast$ee)
+\begin{CompactList}\small\item\em Returns the withdrawn state of an Ecore\_\-Evas' window. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore__Evas_8h_63f6c80dc8a1b0caf92febadfe7d24ab}{ecore\_\-evas\_\-sticky\_\-set} (Ecore\_\-Evas $\ast$ee, int sticky)
+\begin{CompactList}\small\item\em Set the sticky state of an Ecore\_\-Evas window. \item\end{CompactList}\item 
+EAPI int \hyperlink{Ecore__Evas_8h_6685668b3401b799a1cb6a552106580d}{ecore\_\-evas\_\-sticky\_\-get} (Ecore\_\-Evas $\ast$ee)
+\begin{CompactList}\small\item\em Returns the sticky state of an Ecore\_\-Evas' window. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore__Evas_8h_ff64dfe8ae5fba1a1947ee66f5559abc}{ecore\_\-evas\_\-ignore\_\-events\_\-set} (Ecore\_\-Evas $\ast$ee, int ignore)
+\begin{CompactList}\small\item\em Set if this evas should ignore events. \item\end{CompactList}\item 
+EAPI int \hyperlink{Ecore__Evas_8h_42ff99b78320257c0d7fe68bf2460f2c}{ecore\_\-evas\_\-ignore\_\-events\_\-get} (Ecore\_\-Evas $\ast$ee)
+\begin{CompactList}\small\item\em Returns the ignore state of an Ecore\_\-Evas' window. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Evas wrapper functions. 
+
+
+
+\subsection{Function Documentation}
+\hypertarget{Ecore__Evas_8h_04ba329fce850504e3538ea0be7a4b5c}{
+\index{Ecore_Evas.h@{Ecore\_\-Evas.h}!ecore_evas_alpha_get@{ecore\_\-evas\_\-alpha\_\-get}}
+\index{ecore_evas_alpha_get@{ecore\_\-evas\_\-alpha\_\-get}!Ecore_Evas.h@{Ecore\_\-Evas.h}}
+\subsubsection[ecore\_\-evas\_\-alpha\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-evas\_\-alpha\_\-get (Ecore\_\-Evas $\ast$ {\em ee})}}
+\label{Ecore__Evas_8h_04ba329fce850504e3538ea0be7a4b5c}
+
+
+Query whether an Ecore\_\-Evas has an alpha channel. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em ee}]The Ecore\_\-Evas to query. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]1 if ee has an alpha channel, 0 if it does not.\end{Desc}
+This function returns 1 if {\tt ee} has an alpha channel, and 0 if it does not. \hypertarget{Ecore__Evas_8h_eba22cdb7622b33729d26a6407dcf0a6}{
+\index{Ecore_Evas.h@{Ecore\_\-Evas.h}!ecore_evas_alpha_set@{ecore\_\-evas\_\-alpha\_\-set}}
+\index{ecore_evas_alpha_set@{ecore\_\-evas\_\-alpha\_\-set}!Ecore_Evas.h@{Ecore\_\-Evas.h}}
+\subsubsection[ecore\_\-evas\_\-alpha\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-evas\_\-alpha\_\-set (Ecore\_\-Evas $\ast$ {\em ee}, int {\em alpha})}}
+\label{Ecore__Evas_8h_eba22cdb7622b33729d26a6407dcf0a6}
+
+
+Set whether an Ecore\_\-Evas has an alpha channel or not. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em ee}]The Ecore\_\-Evas to shape \item[{\em alpha}]1 to enable the alpha channel, 0 to disable it\end{description}
+\end{Desc}
+This function allows you to make an Ecore\_\-Evas translucent using an alpha channel. See \hyperlink{Ecore__Evas_8h_902db12006699064409307cba6c2637d}{ecore\_\-evas\_\-shaped\_\-set()} for details. The difference between a shaped window and a window with an alpha channel is that an alpha channel supports multiple levels of transpararency, as opposed to the 1 bit transparency of a shaped window (a pixel is either opaque, or it's transparent). \hypertarget{Ecore__Evas_8h_5a00f4d3d3a50ed8a4b2c6eeedd0e965}{
+\index{Ecore_Evas.h@{Ecore\_\-Evas.h}!ecore_evas_avoid_damage_get@{ecore\_\-evas\_\-avoid\_\-damage\_\-get}}
+\index{ecore_evas_avoid_damage_get@{ecore\_\-evas\_\-avoid\_\-damage\_\-get}!Ecore_Evas.h@{Ecore\_\-Evas.h}}
+\subsubsection[ecore\_\-evas\_\-avoid\_\-damage\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-evas\_\-avoid\_\-damage\_\-get (Ecore\_\-Evas $\ast$ {\em ee})}}
+\label{Ecore__Evas_8h_5a00f4d3d3a50ed8a4b2c6eeedd0e965}
+
+
+Query whether an Ecore\_\-Evas' window avoids damage or not. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em ee}]The Ecore\_\-Evas to set \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]1 if {\tt ee} avoids damage, 0 if not. \end{Desc}
+\hypertarget{Ecore__Evas_8h_32ba9dd773514ebf4cd874006e578e5a}{
+\index{Ecore_Evas.h@{Ecore\_\-Evas.h}!ecore_evas_avoid_damage_set@{ecore\_\-evas\_\-avoid\_\-damage\_\-set}}
+\index{ecore_evas_avoid_damage_set@{ecore\_\-evas\_\-avoid\_\-damage\_\-set}!Ecore_Evas.h@{Ecore\_\-Evas.h}}
+\subsubsection[ecore\_\-evas\_\-avoid\_\-damage\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-evas\_\-avoid\_\-damage\_\-set (Ecore\_\-Evas $\ast$ {\em ee}, int {\em on})}}
+\label{Ecore__Evas_8h_32ba9dd773514ebf4cd874006e578e5a}
+
+
+Set whether or not an Ecore\_\-Evas' window should avoid damage. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em ee}]The Ecore\_\-Evas \item[{\em on}]1 to avoid damage, 0 to not\end{description}
+\end{Desc}
+This function causes {\tt ee} to be drawn to a pixmap to avoid recalculations. On expose events it will copy from the pixmap to the window. \hypertarget{Ecore__Evas_8h_e6a25044aec4ad5bb845ef71d4cf96dd}{
+\index{Ecore_Evas.h@{Ecore\_\-Evas.h}!ecore_evas_borderless_get@{ecore\_\-evas\_\-borderless\_\-get}}
+\index{ecore_evas_borderless_get@{ecore\_\-evas\_\-borderless\_\-get}!Ecore_Evas.h@{Ecore\_\-Evas.h}}
+\subsubsection[ecore\_\-evas\_\-borderless\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-evas\_\-borderless\_\-get (Ecore\_\-Evas $\ast$ {\em ee})}}
+\label{Ecore__Evas_8h_e6a25044aec4ad5bb845ef71d4cf96dd}
+
+
+Query whether an Ecore\_\-Evas' window is borderless or not. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em ee}]The Ecore\_\-Evas to set \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]1 if {\tt ee} is borderless, 0 if not. \end{Desc}
+\hypertarget{Ecore__Evas_8h_aedfd511a170ae82cc0b26dc16341fc0}{
+\index{Ecore_Evas.h@{Ecore\_\-Evas.h}!ecore_evas_borderless_set@{ecore\_\-evas\_\-borderless\_\-set}}
+\index{ecore_evas_borderless_set@{ecore\_\-evas\_\-borderless\_\-set}!Ecore_Evas.h@{Ecore\_\-Evas.h}}
+\subsubsection[ecore\_\-evas\_\-borderless\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-evas\_\-borderless\_\-set (Ecore\_\-Evas $\ast$ {\em ee}, int {\em on})}}
+\label{Ecore__Evas_8h_aedfd511a170ae82cc0b26dc16341fc0}
+
+
+Set whether an Ecore\_\-Evas' window is borderless or not. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em ee}]The Ecore\_\-Evas \item[{\em on}]1 for borderless, 0 for bordered.\end{description}
+\end{Desc}
+This function makes {\tt ee} borderless if {\tt on} is 1, or bordered if {\tt on} is 0. \hypertarget{Ecore__Evas_8h_c2e1f186eb493faf7cee9771fb16f49e}{
+\index{Ecore_Evas.h@{Ecore\_\-Evas.h}!ecore_evas_buffer_new@{ecore\_\-evas\_\-buffer\_\-new}}
+\index{ecore_evas_buffer_new@{ecore\_\-evas\_\-buffer\_\-new}!Ecore_Evas.h@{Ecore\_\-Evas.h}}
+\subsubsection[ecore\_\-evas\_\-buffer\_\-new]{\setlength{\rightskip}{0pt plus 5cm}EAPI Ecore\_\-Evas$\ast$ ecore\_\-evas\_\-buffer\_\-new (int {\em w}, int {\em h})}}
+\label{Ecore__Evas_8h_c2e1f186eb493faf7cee9771fb16f49e}
+
+
+To be documented. 
+
+FIXME: To be fixed. \hypertarget{Ecore__Evas_8h_9912554099331d356d6a06ad61771292}{
+\index{Ecore_Evas.h@{Ecore\_\-Evas.h}!ecore_evas_callback_delete_request_set@{ecore\_\-evas\_\-callback\_\-delete\_\-request\_\-set}}
+\index{ecore_evas_callback_delete_request_set@{ecore\_\-evas\_\-callback\_\-delete\_\-request\_\-set}!Ecore_Evas.h@{Ecore\_\-Evas.h}}
+\subsubsection[ecore\_\-evas\_\-callback\_\-delete\_\-request\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-evas\_\-callback\_\-delete\_\-request\_\-set (Ecore\_\-Evas $\ast$ {\em ee}, void($\ast$)(Ecore\_\-Evas $\ast$ee) {\em func})}}
+\label{Ecore__Evas_8h_9912554099331d356d6a06ad61771292}
+
+
+Set a callback for Ecore\_\-Evas delete request events. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em ee}]The Ecore\_\-Evas to set callbacks on \item[{\em func}]The function to call\end{description}
+\end{Desc}
+A call to this function will set a callback on an Ecore\_\-Evas, causing {\tt func} to be called whenever {\tt ee} gets a delete request. \hypertarget{Ecore__Evas_8h_7ab7f2947c462d921b2e155ead3639bc}{
+\index{Ecore_Evas.h@{Ecore\_\-Evas.h}!ecore_evas_callback_destroy_set@{ecore\_\-evas\_\-callback\_\-destroy\_\-set}}
+\index{ecore_evas_callback_destroy_set@{ecore\_\-evas\_\-callback\_\-destroy\_\-set}!Ecore_Evas.h@{Ecore\_\-Evas.h}}
+\subsubsection[ecore\_\-evas\_\-callback\_\-destroy\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-evas\_\-callback\_\-destroy\_\-set (Ecore\_\-Evas $\ast$ {\em ee}, void($\ast$)(Ecore\_\-Evas $\ast$ee) {\em func})}}
+\label{Ecore__Evas_8h_7ab7f2947c462d921b2e155ead3639bc}
+
+
+Set a callback for Ecore\_\-Evas destroy events. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em ee}]The Ecore\_\-Evas to set callbacks on \item[{\em func}]The function to call\end{description}
+\end{Desc}
+A call to this function will set a callback on an Ecore\_\-Evas, causing {\tt func} to be called whenever {\tt ee} is destroyed. \hypertarget{Ecore__Evas_8h_fff2fe94b6c8df71bbbc97340cad73e7}{
+\index{Ecore_Evas.h@{Ecore\_\-Evas.h}!ecore_evas_callback_focus_in_set@{ecore\_\-evas\_\-callback\_\-focus\_\-in\_\-set}}
+\index{ecore_evas_callback_focus_in_set@{ecore\_\-evas\_\-callback\_\-focus\_\-in\_\-set}!Ecore_Evas.h@{Ecore\_\-Evas.h}}
+\subsubsection[ecore\_\-evas\_\-callback\_\-focus\_\-in\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-evas\_\-callback\_\-focus\_\-in\_\-set (Ecore\_\-Evas $\ast$ {\em ee}, void($\ast$)(Ecore\_\-Evas $\ast$ee) {\em func})}}
+\label{Ecore__Evas_8h_fff2fe94b6c8df71bbbc97340cad73e7}
+
+
+Set a callback for Ecore\_\-Evas focus in events. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em ee}]The Ecore\_\-Evas to set callbacks on \item[{\em func}]The function to call\end{description}
+\end{Desc}
+A call to this function will set a callback on an Ecore\_\-Evas, causing {\tt func} to be called whenever {\tt ee} gets focus. \hypertarget{Ecore__Evas_8h_e0bc135143047aaf0b0fdeef2cf2bada}{
+\index{Ecore_Evas.h@{Ecore\_\-Evas.h}!ecore_evas_callback_focus_out_set@{ecore\_\-evas\_\-callback\_\-focus\_\-out\_\-set}}
+\index{ecore_evas_callback_focus_out_set@{ecore\_\-evas\_\-callback\_\-focus\_\-out\_\-set}!Ecore_Evas.h@{Ecore\_\-Evas.h}}
+\subsubsection[ecore\_\-evas\_\-callback\_\-focus\_\-out\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-evas\_\-callback\_\-focus\_\-out\_\-set (Ecore\_\-Evas $\ast$ {\em ee}, void($\ast$)(Ecore\_\-Evas $\ast$ee) {\em func})}}
+\label{Ecore__Evas_8h_e0bc135143047aaf0b0fdeef2cf2bada}
+
+
+Set a callback for Ecore\_\-Evas focus out events. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em ee}]The Ecore\_\-Evas to set callbacks on \item[{\em func}]The function to call\end{description}
+\end{Desc}
+A call to this function will set a callback on an Ecore\_\-Evas, causing {\tt func} to be called whenever {\tt ee} loses focus. \hypertarget{Ecore__Evas_8h_e5563cac2111859962581006b5dfe5f0}{
+\index{Ecore_Evas.h@{Ecore\_\-Evas.h}!ecore_evas_callback_hide_set@{ecore\_\-evas\_\-callback\_\-hide\_\-set}}
+\index{ecore_evas_callback_hide_set@{ecore\_\-evas\_\-callback\_\-hide\_\-set}!Ecore_Evas.h@{Ecore\_\-Evas.h}}
+\subsubsection[ecore\_\-evas\_\-callback\_\-hide\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-evas\_\-callback\_\-hide\_\-set (Ecore\_\-Evas $\ast$ {\em ee}, void($\ast$)(Ecore\_\-Evas $\ast$ee) {\em func})}}
+\label{Ecore__Evas_8h_e5563cac2111859962581006b5dfe5f0}
+
+
+Set a callback for Ecore\_\-Evas hide events. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em ee}]The Ecore\_\-Evas to set callbacks on \item[{\em func}]The function to call\end{description}
+\end{Desc}
+A call to this function will set a callback on an Ecore\_\-Evas, causing {\tt func} to be called whenever {\tt ee} is hidden. \hypertarget{Ecore__Evas_8h_32180b12699e0d1a6003029a7f070c65}{
+\index{Ecore_Evas.h@{Ecore\_\-Evas.h}!ecore_evas_callback_mouse_in_set@{ecore\_\-evas\_\-callback\_\-mouse\_\-in\_\-set}}
+\index{ecore_evas_callback_mouse_in_set@{ecore\_\-evas\_\-callback\_\-mouse\_\-in\_\-set}!Ecore_Evas.h@{Ecore\_\-Evas.h}}
+\subsubsection[ecore\_\-evas\_\-callback\_\-mouse\_\-in\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-evas\_\-callback\_\-mouse\_\-in\_\-set (Ecore\_\-Evas $\ast$ {\em ee}, void($\ast$)(Ecore\_\-Evas $\ast$ee) {\em func})}}
+\label{Ecore__Evas_8h_32180b12699e0d1a6003029a7f070c65}
+
+
+Set a callback for Ecore\_\-Evas mouse in events. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em ee}]The Ecore\_\-Evas to set callbacks on \item[{\em func}]The function to call\end{description}
+\end{Desc}
+A call to this function will set a callback on an Ecore\_\-Evas, causing {\tt func} to be called whenever the mouse enters {\tt ee}. \hypertarget{Ecore__Evas_8h_cf1f07b10125280402bc55683954c8bf}{
+\index{Ecore_Evas.h@{Ecore\_\-Evas.h}!ecore_evas_callback_mouse_out_set@{ecore\_\-evas\_\-callback\_\-mouse\_\-out\_\-set}}
+\index{ecore_evas_callback_mouse_out_set@{ecore\_\-evas\_\-callback\_\-mouse\_\-out\_\-set}!Ecore_Evas.h@{Ecore\_\-Evas.h}}
+\subsubsection[ecore\_\-evas\_\-callback\_\-mouse\_\-out\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-evas\_\-callback\_\-mouse\_\-out\_\-set (Ecore\_\-Evas $\ast$ {\em ee}, void($\ast$)(Ecore\_\-Evas $\ast$ee) {\em func})}}
+\label{Ecore__Evas_8h_cf1f07b10125280402bc55683954c8bf}
+
+
+Set a callback for Ecore\_\-Evas mouse out events. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em ee}]The Ecore\_\-Evas to set callbacks on \item[{\em func}]The function to call\end{description}
+\end{Desc}
+A call to this function will set a callback on an Ecore\_\-Evas, causing {\tt func} to be called whenever the mouse leaves {\tt ee}. \hypertarget{Ecore__Evas_8h_49b467d2d7000c75268fe96bd16b50f6}{
+\index{Ecore_Evas.h@{Ecore\_\-Evas.h}!ecore_evas_callback_move_set@{ecore\_\-evas\_\-callback\_\-move\_\-set}}
+\index{ecore_evas_callback_move_set@{ecore\_\-evas\_\-callback\_\-move\_\-set}!Ecore_Evas.h@{Ecore\_\-Evas.h}}
+\subsubsection[ecore\_\-evas\_\-callback\_\-move\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-evas\_\-callback\_\-move\_\-set (Ecore\_\-Evas $\ast$ {\em ee}, void($\ast$)(Ecore\_\-Evas $\ast$ee) {\em func})}}
+\label{Ecore__Evas_8h_49b467d2d7000c75268fe96bd16b50f6}
+
+
+Set a callback for Ecore\_\-Evas move events. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em ee}]The Ecore\_\-Evas to set callbacks on \item[{\em func}]The function to call\end{description}
+\end{Desc}
+A call to this function will set a callback on an Ecore\_\-Evas, causing {\tt func} to be called whenever {\tt ee} is moved. \hypertarget{Ecore__Evas_8h_a65598d1d54d46716c915232679a9bc1}{
+\index{Ecore_Evas.h@{Ecore\_\-Evas.h}!ecore_evas_callback_post_render_set@{ecore\_\-evas\_\-callback\_\-post\_\-render\_\-set}}
+\index{ecore_evas_callback_post_render_set@{ecore\_\-evas\_\-callback\_\-post\_\-render\_\-set}!Ecore_Evas.h@{Ecore\_\-Evas.h}}
+\subsubsection[ecore\_\-evas\_\-callback\_\-post\_\-render\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-evas\_\-callback\_\-post\_\-render\_\-set (Ecore\_\-Evas $\ast$ {\em ee}, void($\ast$)(Ecore\_\-Evas $\ast$ee) {\em func})}}
+\label{Ecore__Evas_8h_a65598d1d54d46716c915232679a9bc1}
+
+
+Set a callback for Ecore\_\-Evas mouse post render events. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em ee}]The Ecore\_\-Evas to set callbacks on \item[{\em func}]The function to call\end{description}
+\end{Desc}
+A call to this function will set a callback on an Ecore\_\-Evas, causing {\tt func} to be called just after the evas in {\tt ee} is rendered. \hypertarget{Ecore__Evas_8h_d4a946724882b3351b409d0decc70fea}{
+\index{Ecore_Evas.h@{Ecore\_\-Evas.h}!ecore_evas_callback_pre_render_set@{ecore\_\-evas\_\-callback\_\-pre\_\-render\_\-set}}
+\index{ecore_evas_callback_pre_render_set@{ecore\_\-evas\_\-callback\_\-pre\_\-render\_\-set}!Ecore_Evas.h@{Ecore\_\-Evas.h}}
+\subsubsection[ecore\_\-evas\_\-callback\_\-pre\_\-render\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-evas\_\-callback\_\-pre\_\-render\_\-set (Ecore\_\-Evas $\ast$ {\em ee}, void($\ast$)(Ecore\_\-Evas $\ast$ee) {\em func})}}
+\label{Ecore__Evas_8h_d4a946724882b3351b409d0decc70fea}
+
+
+Set a callback for Ecore\_\-Evas mouse pre render events. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em ee}]The Ecore\_\-Evas to set callbacks on \item[{\em func}]The function to call\end{description}
+\end{Desc}
+A call to this function will set a callback on an Ecore\_\-Evas, causing {\tt func} to be called just before the evas in {\tt ee} is rendered. \hypertarget{Ecore__Evas_8h_6b7fd75fe90e50d5c132cb96f0e495fa}{
+\index{Ecore_Evas.h@{Ecore\_\-Evas.h}!ecore_evas_callback_resize_set@{ecore\_\-evas\_\-callback\_\-resize\_\-set}}
+\index{ecore_evas_callback_resize_set@{ecore\_\-evas\_\-callback\_\-resize\_\-set}!Ecore_Evas.h@{Ecore\_\-Evas.h}}
+\subsubsection[ecore\_\-evas\_\-callback\_\-resize\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-evas\_\-callback\_\-resize\_\-set (Ecore\_\-Evas $\ast$ {\em ee}, void($\ast$)(Ecore\_\-Evas $\ast$ee) {\em func})}}
+\label{Ecore__Evas_8h_6b7fd75fe90e50d5c132cb96f0e495fa}
+
+
+Set a callback for Ecore\_\-Evas resize events. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em ee}]The Ecore\_\-Evas to set callbacks on \item[{\em func}]The function to call\end{description}
+\end{Desc}
+A call to this function will set a callback on an Ecore\_\-Evas, causing {\tt func} to be called whenever {\tt ee} is resized. \hypertarget{Ecore__Evas_8h_8a7f19c1df20409e77252db41822bbeb}{
+\index{Ecore_Evas.h@{Ecore\_\-Evas.h}!ecore_evas_callback_show_set@{ecore\_\-evas\_\-callback\_\-show\_\-set}}
+\index{ecore_evas_callback_show_set@{ecore\_\-evas\_\-callback\_\-show\_\-set}!Ecore_Evas.h@{Ecore\_\-Evas.h}}
+\subsubsection[ecore\_\-evas\_\-callback\_\-show\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-evas\_\-callback\_\-show\_\-set (Ecore\_\-Evas $\ast$ {\em ee}, void($\ast$)(Ecore\_\-Evas $\ast$ee) {\em func})}}
+\label{Ecore__Evas_8h_8a7f19c1df20409e77252db41822bbeb}
+
+
+Set a callback for Ecore\_\-Evas show events. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em ee}]The Ecore\_\-Evas to set callbacks on \item[{\em func}]The function to call\end{description}
+\end{Desc}
+A call to this function will set a callback on an Ecore\_\-Evas, causing {\tt func} to be called whenever {\tt ee} is shown. \hypertarget{Ecore__Evas_8h_2508e64c07207a626863d19374a9b37a}{
+\index{Ecore_Evas.h@{Ecore\_\-Evas.h}!ecore_evas_callback_sticky_set@{ecore\_\-evas\_\-callback\_\-sticky\_\-set}}
+\index{ecore_evas_callback_sticky_set@{ecore\_\-evas\_\-callback\_\-sticky\_\-set}!Ecore_Evas.h@{Ecore\_\-Evas.h}}
+\subsubsection[ecore\_\-evas\_\-callback\_\-sticky\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-evas\_\-callback\_\-sticky\_\-set (Ecore\_\-Evas $\ast$ {\em ee}, void($\ast$)(Ecore\_\-Evas $\ast$ee) {\em func})}}
+\label{Ecore__Evas_8h_2508e64c07207a626863d19374a9b37a}
+
+
+Set a callback for Ecore\_\-Evas sticky events. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em ee}]The Ecore\_\-Evas to set callbacks on \item[{\em func}]The function to call\end{description}
+\end{Desc}
+A call to this function will set a callback on an Ecore\_\-Evas, causing {\tt func} to be called whenever {\tt ee} becomes sticky. \hypertarget{Ecore__Evas_8h_6abaf03f8aa22bfb17703f5295a62df6}{
+\index{Ecore_Evas.h@{Ecore\_\-Evas.h}!ecore_evas_callback_unsticky_set@{ecore\_\-evas\_\-callback\_\-unsticky\_\-set}}
+\index{ecore_evas_callback_unsticky_set@{ecore\_\-evas\_\-callback\_\-unsticky\_\-set}!Ecore_Evas.h@{Ecore\_\-Evas.h}}
+\subsubsection[ecore\_\-evas\_\-callback\_\-unsticky\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-evas\_\-callback\_\-unsticky\_\-set (Ecore\_\-Evas $\ast$ {\em ee}, void($\ast$)(Ecore\_\-Evas $\ast$ee) {\em func})}}
+\label{Ecore__Evas_8h_6abaf03f8aa22bfb17703f5295a62df6}
+
+
+Set a callback for Ecore\_\-Evas un-sticky events. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em ee}]The Ecore\_\-Evas to set callbacks on \item[{\em func}]The function to call\end{description}
+\end{Desc}
+A call to this function will set a callback on an Ecore\_\-Evas, causing {\tt func} to be called whenever {\tt ee} becomes un-sticky. \hypertarget{Ecore__Evas_8h_f8829999536db76973c698a03f2e08ba}{
+\index{Ecore_Evas.h@{Ecore\_\-Evas.h}!ecore_evas_cursor_get@{ecore\_\-evas\_\-cursor\_\-get}}
+\index{ecore_evas_cursor_get@{ecore\_\-evas\_\-cursor\_\-get}!Ecore_Evas.h@{Ecore\_\-Evas.h}}
+\subsubsection[ecore\_\-evas\_\-cursor\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-evas\_\-cursor\_\-get (Ecore\_\-Evas $\ast$ {\em ee}, char $\ast$$\ast$ {\em file}, int $\ast$ {\em layer}, int $\ast$ {\em hot\_\-x}, int $\ast$ {\em hot\_\-y})}}
+\label{Ecore__Evas_8h_f8829999536db76973c698a03f2e08ba}
+
+
+Get information about an Ecore\_\-Evas' cursor. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em ee}]The Ecore\_\-Evas to set \item[{\em file}]A pointer to a string to place the cursor file name in. \item[{\em layer}]A pointer to an int to place the cursor's layer in.. \item[{\em hot\_\-x}]A pointer to an int to place the cursor's hot\_\-x coordinate in. \item[{\em hot\_\-y}]A pointer to an int to place the cursor's hot\_\-y coordinate in.\end{description}
+\end{Desc}
+This function queries information about an Ecore\_\-Evas' cursor. \hypertarget{Ecore__Evas_8h_9f8b0f14a2723f9a4bf2f2b1906d04e0}{
+\index{Ecore_Evas.h@{Ecore\_\-Evas.h}!ecore_evas_cursor_set@{ecore\_\-evas\_\-cursor\_\-set}}
+\index{ecore_evas_cursor_set@{ecore\_\-evas\_\-cursor\_\-set}!Ecore_Evas.h@{Ecore\_\-Evas.h}}
+\subsubsection[ecore\_\-evas\_\-cursor\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-evas\_\-cursor\_\-set (Ecore\_\-Evas $\ast$ {\em ee}, const char $\ast$ {\em file}, int {\em layer}, int {\em hot\_\-x}, int {\em hot\_\-y})}}
+\label{Ecore__Evas_8h_9f8b0f14a2723f9a4bf2f2b1906d04e0}
+
+
+Set the cursor of an Ecore\_\-Evas. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em ee}]The Ecore\_\-Evas \item[{\em file}]The path to an image file for the cursor \item[{\em layer}]\item[{\em hot\_\-x}]The x coordinate of the cursor's hot spot \item[{\em hot\_\-y}]The y coordinate of the cursor's hot spot\end{description}
+\end{Desc}
+This function makes the mouse cursor over {\tt ee} be the image specified by {\tt file}. The actual point within the image that the mouse is at is specified by {\tt hot\_\-x} and {\tt hot\_\-y}, which are coordinates with respect to the top left corner of the cursor image. \hypertarget{Ecore__Evas_8h_52b46b435d64eb33510402d970bc6c58}{
+\index{Ecore_Evas.h@{Ecore\_\-Evas.h}!ecore_evas_data_get@{ecore\_\-evas\_\-data\_\-get}}
+\index{ecore_evas_data_get@{ecore\_\-evas\_\-data\_\-get}!Ecore_Evas.h@{Ecore\_\-Evas.h}}
+\subsubsection[ecore\_\-evas\_\-data\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI void$\ast$ ecore\_\-evas\_\-data\_\-get (Ecore\_\-Evas $\ast$ {\em ee}, const char $\ast$ {\em key})}}
+\label{Ecore__Evas_8h_52b46b435d64eb33510402d970bc6c58}
+
+
+Retrieve user data associated with an Ecore\_\-Evas. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em ee}]The Ecore\_\-Evas to retrieve the user data from. \item[{\em key}]The key which the user data to be retrieved is associated with.\end{description}
+\end{Desc}
+This function retrieves user specific data that has been stored within an Ecore\_\-Evas structure with \hyperlink{Ecore__Evas_8h_a86c5abd200a02711aced53d27b9ddb2}{ecore\_\-evas\_\-data\_\-set()}.
+
+\begin{Desc}
+\item[Returns:]NULL on error or no data found, A pointer to the user data on success.\end{Desc}
+\begin{Desc}
+\item[See also:]\hyperlink{Ecore__Evas_8h_a86c5abd200a02711aced53d27b9ddb2}{ecore\_\-evas\_\-data\_\-set} \end{Desc}
+\hypertarget{Ecore__Evas_8h_a86c5abd200a02711aced53d27b9ddb2}{
+\index{Ecore_Evas.h@{Ecore\_\-Evas.h}!ecore_evas_data_set@{ecore\_\-evas\_\-data\_\-set}}
+\index{ecore_evas_data_set@{ecore\_\-evas\_\-data\_\-set}!Ecore_Evas.h@{Ecore\_\-Evas.h}}
+\subsubsection[ecore\_\-evas\_\-data\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-evas\_\-data\_\-set (Ecore\_\-Evas $\ast$ {\em ee}, const char $\ast$ {\em key}, const void $\ast$ {\em data})}}
+\label{Ecore__Evas_8h_a86c5abd200a02711aced53d27b9ddb2}
+
+
+Store user data in an Ecore\_\-Evas structure. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em ee\-The}]Ecore\_\-Evas to store the user data in. \item[{\em key\-A}]unique string to associate the user data against. Cannot be NULL. \item[{\em data\-A}]pointer to the user data to store.\end{description}
+\end{Desc}
+This function associates the {\tt data} with a {\tt key} which is stored by the Ecore\_\-Evas {\tt ee}. Be aware that a call to \hyperlink{Ecore__Evas_8h_d3ec61f2aa03df4d3dbfd0d311e0c8dc}{ecore\_\-evas\_\-free()} will not free any memory for the associated user data, this is the responsibility of the caller.
+
+\begin{Desc}
+\item[See also:]\hyperlink{Ecore__Evas_8h_d3ec61f2aa03df4d3dbfd0d311e0c8dc}{ecore\_\-evas\_\-free} \end{Desc}
+\hypertarget{Ecore__Evas_8h_88ed3de3520605d45edbe486b0e11ddb}{
+\index{Ecore_Evas.h@{Ecore\_\-Evas.h}!ecore_evas_ecore_evas_get@{ecore\_\-evas\_\-ecore\_\-evas\_\-get}}
+\index{ecore_evas_ecore_evas_get@{ecore\_\-evas\_\-ecore\_\-evas\_\-get}!Ecore_Evas.h@{Ecore\_\-Evas.h}}
+\subsubsection[ecore\_\-evas\_\-ecore\_\-evas\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI Ecore\_\-Evas$\ast$ ecore\_\-evas\_\-ecore\_\-evas\_\-get (Evas $\ast$ {\em e})}}
+\label{Ecore__Evas_8h_88ed3de3520605d45edbe486b0e11ddb}
+
+
+Return the Ecore\_\-Evas for this Evas. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em e}]The Evas to get the Ecore\_\-Evas from \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The Ecore\_\-Evas that holds this Evas \end{Desc}
+\hypertarget{Ecore__Evas_8h_bc4b2696e9fc607bb2a63a430cbdfd3b}{
+\index{Ecore_Evas.h@{Ecore\_\-Evas.h}!ecore_evas_engine_type_supported_get@{ecore\_\-evas\_\-engine\_\-type\_\-supported\_\-get}}
+\index{ecore_evas_engine_type_supported_get@{ecore\_\-evas\_\-engine\_\-type\_\-supported\_\-get}!Ecore_Evas.h@{Ecore\_\-Evas.h}}
+\subsubsection[ecore\_\-evas\_\-engine\_\-type\_\-supported\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-evas\_\-engine\_\-type\_\-supported\_\-get (Ecore\_\-Evas\_\-Engine\_\-Type {\em engine})}}
+\label{Ecore__Evas_8h_bc4b2696e9fc607bb2a63a430cbdfd3b}
+
+
+Query if a particular renginering engine target has support. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em engine}]The engine to check support for \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]1 if the particualr engine is supported, 0 if it is not\end{Desc}
+Query if engine\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em engine}]is supported by ecore\_\-evas. 1 is returned if it is, and 0 is returned if it is not supported. \end{description}
+\end{Desc}
+\hypertarget{Ecore__Evas_8h_5cc1b514f94ed87dbc527dabe2fb85d3}{
+\index{Ecore_Evas.h@{Ecore\_\-Evas.h}!ecore_evas_fb_new@{ecore\_\-evas\_\-fb\_\-new}}
+\index{ecore_evas_fb_new@{ecore\_\-evas\_\-fb\_\-new}!Ecore_Evas.h@{Ecore\_\-Evas.h}}
+\subsubsection[ecore\_\-evas\_\-fb\_\-new]{\setlength{\rightskip}{0pt plus 5cm}EAPI Ecore\_\-Evas$\ast$ ecore\_\-evas\_\-fb\_\-new (char $\ast$ {\em disp\_\-name}, int {\em rotation}, int {\em w}, int {\em h})}}
+\label{Ecore__Evas_8h_5cc1b514f94ed87dbc527dabe2fb85d3}
+
+
+To be documented. 
+
+FIXME: To be fixed. \hypertarget{Ecore__Evas_8h_d6315b8ab8bf71c34e00c91aa35ac8d5}{
+\index{Ecore_Evas.h@{Ecore\_\-Evas.h}!ecore_evas_focus_get@{ecore\_\-evas\_\-focus\_\-get}}
+\index{ecore_evas_focus_get@{ecore\_\-evas\_\-focus\_\-get}!Ecore_Evas.h@{Ecore\_\-Evas.h}}
+\subsubsection[ecore\_\-evas\_\-focus\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-evas\_\-focus\_\-get (Ecore\_\-Evas $\ast$ {\em ee})}}
+\label{Ecore__Evas_8h_d6315b8ab8bf71c34e00c91aa35ac8d5}
+
+
+Query whether an Ecore\_\-Evas' window is focused or not. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em ee}]The Ecore\_\-Evas to set \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]1 if {\tt ee} if focused, 0 if not. \end{Desc}
+\hypertarget{Ecore__Evas_8h_e68939596444cee858e670a3800f3f1e}{
+\index{Ecore_Evas.h@{Ecore\_\-Evas.h}!ecore_evas_focus_set@{ecore\_\-evas\_\-focus\_\-set}}
+\index{ecore_evas_focus_set@{ecore\_\-evas\_\-focus\_\-set}!Ecore_Evas.h@{Ecore\_\-Evas.h}}
+\subsubsection[ecore\_\-evas\_\-focus\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-evas\_\-focus\_\-set (Ecore\_\-Evas $\ast$ {\em ee}, int {\em on})}}
+\label{Ecore__Evas_8h_e68939596444cee858e670a3800f3f1e}
+
+
+Set the focus of an Ecore\_\-Evas' window. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em ee}]The Ecore\_\-Evas \item[{\em on}]1 for focus, 0 to defocus.\end{description}
+\end{Desc}
+This function focuses {\tt ee} if {\tt on} is 1, or defocuses {\tt ee} if {\tt on} is 0. \hypertarget{Ecore__Evas_8h_d3ec61f2aa03df4d3dbfd0d311e0c8dc}{
+\index{Ecore_Evas.h@{Ecore\_\-Evas.h}!ecore_evas_free@{ecore\_\-evas\_\-free}}
+\index{ecore_evas_free@{ecore\_\-evas\_\-free}!Ecore_Evas.h@{Ecore\_\-Evas.h}}
+\subsubsection[ecore\_\-evas\_\-free]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-evas\_\-free (Ecore\_\-Evas $\ast$ {\em ee})}}
+\label{Ecore__Evas_8h_d3ec61f2aa03df4d3dbfd0d311e0c8dc}
+
+
+Free an Ecore\_\-Evas. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em ee}]The Ecore\_\-Evas to free\end{description}
+\end{Desc}
+This frees up any memory used by the Ecore\_\-Evas. \hypertarget{Ecore__Evas_8h_0d706aeb6812c0611414da54e8b57e5a}{
+\index{Ecore_Evas.h@{Ecore\_\-Evas.h}!ecore_evas_fullscreen_get@{ecore\_\-evas\_\-fullscreen\_\-get}}
+\index{ecore_evas_fullscreen_get@{ecore\_\-evas\_\-fullscreen\_\-get}!Ecore_Evas.h@{Ecore\_\-Evas.h}}
+\subsubsection[ecore\_\-evas\_\-fullscreen\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-evas\_\-fullscreen\_\-get (Ecore\_\-Evas $\ast$ {\em ee})}}
+\label{Ecore__Evas_8h_0d706aeb6812c0611414da54e8b57e5a}
+
+
+Query whether an Ecore\_\-Evas' window is fullscreen or not. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em ee}]The Ecore\_\-Evas to set \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]1 if {\tt ee} is fullscreen, 0 if not. \end{Desc}
+\hypertarget{Ecore__Evas_8h_0496b4481f882798fe64dc309cdeb4e3}{
+\index{Ecore_Evas.h@{Ecore\_\-Evas.h}!ecore_evas_fullscreen_set@{ecore\_\-evas\_\-fullscreen\_\-set}}
+\index{ecore_evas_fullscreen_set@{ecore\_\-evas\_\-fullscreen\_\-set}!Ecore_Evas.h@{Ecore\_\-Evas.h}}
+\subsubsection[ecore\_\-evas\_\-fullscreen\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-evas\_\-fullscreen\_\-set (Ecore\_\-Evas $\ast$ {\em ee}, int {\em on})}}
+\label{Ecore__Evas_8h_0496b4481f882798fe64dc309cdeb4e3}
+
+
+Set whether or not an Ecore\_\-Evas' window is fullscreen. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em ee}]The Ecore\_\-Evas \item[{\em on}]1 fullscreen, 0 not.\end{description}
+\end{Desc}
+This function causes {\tt ee} to be fullscreen if {\tt on} is 1, or not if {\tt on} is 0. \hypertarget{Ecore__Evas_8h_92ee70061f83897d889ca1dbbe98a55f}{
+\index{Ecore_Evas.h@{Ecore\_\-Evas.h}!ecore_evas_geometry_get@{ecore\_\-evas\_\-geometry\_\-get}}
+\index{ecore_evas_geometry_get@{ecore\_\-evas\_\-geometry\_\-get}!Ecore_Evas.h@{Ecore\_\-Evas.h}}
+\subsubsection[ecore\_\-evas\_\-geometry\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-evas\_\-geometry\_\-get (Ecore\_\-Evas $\ast$ {\em ee}, int $\ast$ {\em x}, int $\ast$ {\em y}, int $\ast$ {\em w}, int $\ast$ {\em h})}}
+\label{Ecore__Evas_8h_92ee70061f83897d889ca1dbbe98a55f}
+
+
+Get the geometry of an Ecore\_\-Evas. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em ee}]The Ecore\_\-Evas whose geometry y \item[{\em x}]A pointer to an int to place the x coordinate in \item[{\em y}]A pointer to an int to place the y coordinate in \item[{\em w}]A pointer to an int to place the w size in \item[{\em h}]A pointer to an int to place the h size in\end{description}
+\end{Desc}
+This function takes four pointers to (already allocated) ints, and places the geometry of {\tt ee} in them.
+
+
+
+\begin{Code}\begin{verbatim} int x, y, w, h;
+ ecore_evas_geometry_get(ee, &x, &y, &w, &h);
+\end{verbatim}\end{Code}
+
+ \hypertarget{Ecore__Evas_8h_926506fa5e88811c891ce130e0ab8338}{
+\index{Ecore_Evas.h@{Ecore\_\-Evas.h}!ecore_evas_get@{ecore\_\-evas\_\-get}}
+\index{ecore_evas_get@{ecore\_\-evas\_\-get}!Ecore_Evas.h@{Ecore\_\-Evas.h}}
+\subsubsection[ecore\_\-evas\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI Evas$\ast$ ecore\_\-evas\_\-get (Ecore\_\-Evas $\ast$ {\em ee})}}
+\label{Ecore__Evas_8h_926506fa5e88811c891ce130e0ab8338}
+
+
+Get an Ecore\_\-Evas's Evas. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em ee}]The Ecore\_\-Evas whose Evas you wish to get \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The Evas wrapped by {\tt ee} \end{Desc}
+This function returns the Evas contained within {\tt ee}. \hypertarget{Ecore__Evas_8h_80ad6c606327f9f7b78171347ecd1e2d}{
+\index{Ecore_Evas.h@{Ecore\_\-Evas.h}!ecore_evas_gl_x11_direct_resize_get@{ecore\_\-evas\_\-gl\_\-x11\_\-direct\_\-resize\_\-get}}
+\index{ecore_evas_gl_x11_direct_resize_get@{ecore\_\-evas\_\-gl\_\-x11\_\-direct\_\-resize\_\-get}!Ecore_Evas.h@{Ecore\_\-Evas.h}}
+\subsubsection[ecore\_\-evas\_\-gl\_\-x11\_\-direct\_\-resize\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-evas\_\-gl\_\-x11\_\-direct\_\-resize\_\-get (Ecore\_\-Evas $\ast$ {\em ee})}}
+\label{Ecore__Evas_8h_80ad6c606327f9f7b78171347ecd1e2d}
+
+
+To be documented. 
+
+FIXME: To be fixed. \hypertarget{Ecore__Evas_8h_3fcbd7b8d384a69a03e4beaea106072a}{
+\index{Ecore_Evas.h@{Ecore\_\-Evas.h}!ecore_evas_gl_x11_direct_resize_set@{ecore\_\-evas\_\-gl\_\-x11\_\-direct\_\-resize\_\-set}}
+\index{ecore_evas_gl_x11_direct_resize_set@{ecore\_\-evas\_\-gl\_\-x11\_\-direct\_\-resize\_\-set}!Ecore_Evas.h@{Ecore\_\-Evas.h}}
+\subsubsection[ecore\_\-evas\_\-gl\_\-x11\_\-direct\_\-resize\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-evas\_\-gl\_\-x11\_\-direct\_\-resize\_\-set (Ecore\_\-Evas $\ast$ {\em ee}, int {\em on})}}
+\label{Ecore__Evas_8h_3fcbd7b8d384a69a03e4beaea106072a}
+
+
+To be documented. 
+
+FIXME: To be fixed. \hypertarget{Ecore__Evas_8h_f363b728e3d00a3c6230d9427b40a8c9}{
+\index{Ecore_Evas.h@{Ecore\_\-Evas.h}!ecore_evas_gl_x11_extra_event_window_add@{ecore\_\-evas\_\-gl\_\-x11\_\-extra\_\-event\_\-window\_\-add}}
+\index{ecore_evas_gl_x11_extra_event_window_add@{ecore\_\-evas\_\-gl\_\-x11\_\-extra\_\-event\_\-window\_\-add}!Ecore_Evas.h@{Ecore\_\-Evas.h}}
+\subsubsection[ecore\_\-evas\_\-gl\_\-x11\_\-extra\_\-event\_\-window\_\-add]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-evas\_\-gl\_\-x11\_\-extra\_\-event\_\-window\_\-add (Ecore\_\-Evas $\ast$ {\em ee}, Ecore\_\-X\_\-Window {\em win})}}
+\label{Ecore__Evas_8h_f363b728e3d00a3c6230d9427b40a8c9}
+
+
+To be documented. 
+
+FIXME: To be fixed. \hypertarget{Ecore__Evas_8h_1443fa9af8143a48dadc27eaa51d7c5e}{
+\index{Ecore_Evas.h@{Ecore\_\-Evas.h}!ecore_evas_gl_x11_new@{ecore\_\-evas\_\-gl\_\-x11\_\-new}}
+\index{ecore_evas_gl_x11_new@{ecore\_\-evas\_\-gl\_\-x11\_\-new}!Ecore_Evas.h@{Ecore\_\-Evas.h}}
+\subsubsection[ecore\_\-evas\_\-gl\_\-x11\_\-new]{\setlength{\rightskip}{0pt plus 5cm}EAPI Ecore\_\-Evas$\ast$ ecore\_\-evas\_\-gl\_\-x11\_\-new (const char $\ast$ {\em disp\_\-name}, Ecore\_\-X\_\-Window {\em parent}, int {\em x}, int {\em y}, int {\em w}, int {\em h})}}
+\label{Ecore__Evas_8h_1443fa9af8143a48dadc27eaa51d7c5e}
+
+
+To be documented. 
+
+FIXME: To be fixed. \hypertarget{Ecore__Evas_8h_7cf23aca7d775e694fbfa40c6a96b78e}{
+\index{Ecore_Evas.h@{Ecore\_\-Evas.h}!ecore_evas_gl_x11_subwindow_get@{ecore\_\-evas\_\-gl\_\-x11\_\-subwindow\_\-get}}
+\index{ecore_evas_gl_x11_subwindow_get@{ecore\_\-evas\_\-gl\_\-x11\_\-subwindow\_\-get}!Ecore_Evas.h@{Ecore\_\-Evas.h}}
+\subsubsection[ecore\_\-evas\_\-gl\_\-x11\_\-subwindow\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI Ecore\_\-X\_\-Window ecore\_\-evas\_\-gl\_\-x11\_\-subwindow\_\-get (Ecore\_\-Evas $\ast$ {\em ee})}}
+\label{Ecore__Evas_8h_7cf23aca7d775e694fbfa40c6a96b78e}
+
+
+To be documented. 
+
+FIXME: To be fixed. \hypertarget{Ecore__Evas_8h_01416243f7ec46390b9e4b7077d0c34d}{
+\index{Ecore_Evas.h@{Ecore\_\-Evas.h}!ecore_evas_gl_x11_window_get@{ecore\_\-evas\_\-gl\_\-x11\_\-window\_\-get}}
+\index{ecore_evas_gl_x11_window_get@{ecore\_\-evas\_\-gl\_\-x11\_\-window\_\-get}!Ecore_Evas.h@{Ecore\_\-Evas.h}}
+\subsubsection[ecore\_\-evas\_\-gl\_\-x11\_\-window\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI Ecore\_\-X\_\-Window ecore\_\-evas\_\-gl\_\-x11\_\-window\_\-get (Ecore\_\-Evas $\ast$ {\em ee})}}
+\label{Ecore__Evas_8h_01416243f7ec46390b9e4b7077d0c34d}
+
+
+To be documented. 
+
+FIXME: To be fixed. \hypertarget{Ecore__Evas_8h_0c4c806d5873a4528334e398d28940d4}{
+\index{Ecore_Evas.h@{Ecore\_\-Evas.h}!ecore_evas_hide@{ecore\_\-evas\_\-hide}}
+\index{ecore_evas_hide@{ecore\_\-evas\_\-hide}!Ecore_Evas.h@{Ecore\_\-Evas.h}}
+\subsubsection[ecore\_\-evas\_\-hide]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-evas\_\-hide (Ecore\_\-Evas $\ast$ {\em ee})}}
+\label{Ecore__Evas_8h_0c4c806d5873a4528334e398d28940d4}
+
+
+Hide an Ecore\_\-Evas' window. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em ee}]The Ecore\_\-Evas to show.\end{description}
+\end{Desc}
+This function makes {\tt ee} hidden. \hypertarget{Ecore__Evas_8h_b6125e3cf39422e4b1a30376018454ed}{
+\index{Ecore_Evas.h@{Ecore\_\-Evas.h}!ecore_evas_iconified_get@{ecore\_\-evas\_\-iconified\_\-get}}
+\index{ecore_evas_iconified_get@{ecore\_\-evas\_\-iconified\_\-get}!Ecore_Evas.h@{Ecore\_\-Evas.h}}
+\subsubsection[ecore\_\-evas\_\-iconified\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-evas\_\-iconified\_\-get (Ecore\_\-Evas $\ast$ {\em ee})}}
+\label{Ecore__Evas_8h_b6125e3cf39422e4b1a30376018454ed}
+
+
+Query whether an Ecore\_\-Evas' window is iconified or not. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em ee}]The Ecore\_\-Evas to set \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]1 if {\tt ee} is iconified, 0 if not. \end{Desc}
+\hypertarget{Ecore__Evas_8h_ab0146f73bf54250b9dfe43b86391887}{
+\index{Ecore_Evas.h@{Ecore\_\-Evas.h}!ecore_evas_iconified_set@{ecore\_\-evas\_\-iconified\_\-set}}
+\index{ecore_evas_iconified_set@{ecore\_\-evas\_\-iconified\_\-set}!Ecore_Evas.h@{Ecore\_\-Evas.h}}
+\subsubsection[ecore\_\-evas\_\-iconified\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-evas\_\-iconified\_\-set (Ecore\_\-Evas $\ast$ {\em ee}, int {\em on})}}
+\label{Ecore__Evas_8h_ab0146f73bf54250b9dfe43b86391887}
+
+
+Iconify or uniconify an Ecore\_\-Evas' window. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em ee}]The Ecore\_\-Evas \item[{\em on}]1 to iconify, 0 to uniconify.\end{description}
+\end{Desc}
+This function iconifies {\tt ee} if {\tt on} is 1, or uniconifies {\tt ee} if {\tt on} is 0. \hypertarget{Ecore__Evas_8h_42ff99b78320257c0d7fe68bf2460f2c}{
+\index{Ecore_Evas.h@{Ecore\_\-Evas.h}!ecore_evas_ignore_events_get@{ecore\_\-evas\_\-ignore\_\-events\_\-get}}
+\index{ecore_evas_ignore_events_get@{ecore\_\-evas\_\-ignore\_\-events\_\-get}!Ecore_Evas.h@{Ecore\_\-Evas.h}}
+\subsubsection[ecore\_\-evas\_\-ignore\_\-events\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-evas\_\-ignore\_\-events\_\-get (Ecore\_\-Evas $\ast$ {\em ee})}}
+\label{Ecore__Evas_8h_42ff99b78320257c0d7fe68bf2460f2c}
+
+
+Returns the ignore state of an Ecore\_\-Evas' window. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em ee}]The Ecore\_\-Evas whose window's ignore events state is returned. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The Ecore\_\-Evas window's ignore state. \end{Desc}
+\hypertarget{Ecore__Evas_8h_ff64dfe8ae5fba1a1947ee66f5559abc}{
+\index{Ecore_Evas.h@{Ecore\_\-Evas.h}!ecore_evas_ignore_events_set@{ecore\_\-evas\_\-ignore\_\-events\_\-set}}
+\index{ecore_evas_ignore_events_set@{ecore\_\-evas\_\-ignore\_\-events\_\-set}!Ecore_Evas.h@{Ecore\_\-Evas.h}}
+\subsubsection[ecore\_\-evas\_\-ignore\_\-events\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-evas\_\-ignore\_\-events\_\-set (Ecore\_\-Evas $\ast$ {\em ee}, int {\em ignore})}}
+\label{Ecore__Evas_8h_ff64dfe8ae5fba1a1947ee66f5559abc}
+
+
+Set if this evas should ignore events. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em ee}]The Ecore\_\-Evas whose window's to ignore events \item[{\em sticky}]The Ecore\_\-Evas new ignore state \end{description}
+\end{Desc}
+\hypertarget{Ecore__Evas_8h_32ddbb6457033ad435a177eb0c4fe235}{
+\index{Ecore_Evas.h@{Ecore\_\-Evas.h}!ecore_evas_init@{ecore\_\-evas\_\-init}}
+\index{ecore_evas_init@{ecore\_\-evas\_\-init}!Ecore_Evas.h@{Ecore\_\-Evas.h}}
+\subsubsection[ecore\_\-evas\_\-init]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-evas\_\-init (void)}}
+\label{Ecore__Evas_8h_32ddbb6457033ad435a177eb0c4fe235}
+
+
+Init the Evas system. 
+
+\begin{Desc}
+\item[Returns:]greater than 0 on success, 0 on failure\end{Desc}
+Set up the Evas wrapper system. \hypertarget{Ecore__Evas_8h_eb256f761802d4aa89189feb4181fb9e}{
+\index{Ecore_Evas.h@{Ecore\_\-Evas.h}!ecore_evas_layer_get@{ecore\_\-evas\_\-layer\_\-get}}
+\index{ecore_evas_layer_get@{ecore\_\-evas\_\-layer\_\-get}!Ecore_Evas.h@{Ecore\_\-Evas.h}}
+\subsubsection[ecore\_\-evas\_\-layer\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-evas\_\-layer\_\-get (Ecore\_\-Evas $\ast$ {\em ee})}}
+\label{Ecore__Evas_8h_eb256f761802d4aa89189feb4181fb9e}
+
+
+Get the layer of an Ecore\_\-Evas' window. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em ee}]The Ecore\_\-Evas to set \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]the layer {\tt ee's} window is on. \end{Desc}
+\hypertarget{Ecore__Evas_8h_0f5369c1b007fda38d783f2be8ca0815}{
+\index{Ecore_Evas.h@{Ecore\_\-Evas.h}!ecore_evas_layer_set@{ecore\_\-evas\_\-layer\_\-set}}
+\index{ecore_evas_layer_set@{ecore\_\-evas\_\-layer\_\-set}!Ecore_Evas.h@{Ecore\_\-Evas.h}}
+\subsubsection[ecore\_\-evas\_\-layer\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-evas\_\-layer\_\-set (Ecore\_\-Evas $\ast$ {\em ee}, int {\em layer})}}
+\label{Ecore__Evas_8h_0f5369c1b007fda38d783f2be8ca0815}
+
+
+Set the layer of an Ecore\_\-Evas' window. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em ee}]The Ecore\_\-Evas \item[{\em layer}]The layer to put {\tt ee} on.\end{description}
+\end{Desc}
+This function moves {\tt ee} to the layer {\tt layer}. \hypertarget{Ecore__Evas_8h_fa764e78c265576e6313eaf8bf34d1e9}{
+\index{Ecore_Evas.h@{Ecore\_\-Evas.h}!ecore_evas_lower@{ecore\_\-evas\_\-lower}}
+\index{ecore_evas_lower@{ecore\_\-evas\_\-lower}!Ecore_Evas.h@{Ecore\_\-Evas.h}}
+\subsubsection[ecore\_\-evas\_\-lower]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-evas\_\-lower (Ecore\_\-Evas $\ast$ {\em ee})}}
+\label{Ecore__Evas_8h_fa764e78c265576e6313eaf8bf34d1e9}
+
+
+Lower an Ecore\_\-Evas' window. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em ee}]The Ecore\_\-Evas to raise.\end{description}
+\end{Desc}
+This functions lowers the Ecore\_\-Evas to the back. \hypertarget{Ecore__Evas_8h_8794487154ca3dc1c71b5bd4542bbf58}{
+\index{Ecore_Evas.h@{Ecore\_\-Evas.h}!ecore_evas_managed_move@{ecore\_\-evas\_\-managed\_\-move}}
+\index{ecore_evas_managed_move@{ecore\_\-evas\_\-managed\_\-move}!Ecore_Evas.h@{Ecore\_\-Evas.h}}
+\subsubsection[ecore\_\-evas\_\-managed\_\-move]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-evas\_\-managed\_\-move (Ecore\_\-Evas $\ast$ {\em ee}, int {\em x}, int {\em y})}}
+\label{Ecore__Evas_8h_8794487154ca3dc1c71b5bd4542bbf58}
+
+
+Provide Managed move co-ordinates for an Ecore\_\-Evas. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em ee}]The Ecore\_\-Evas to move \item[{\em x}]The x coordinate to set as the managed location \item[{\em y}]The y coordinate to set as the managed location\end{description}
+\end{Desc}
+This sets the managed geometry position of the {\tt ee} to ({\tt x}, {\tt y}) \hypertarget{Ecore__Evas_8h_55a913dd5ceb00e7c586805d75ea2576}{
+\index{Ecore_Evas.h@{Ecore\_\-Evas.h}!ecore_evas_maximized_get@{ecore\_\-evas\_\-maximized\_\-get}}
+\index{ecore_evas_maximized_get@{ecore\_\-evas\_\-maximized\_\-get}!Ecore_Evas.h@{Ecore\_\-Evas.h}}
+\subsubsection[ecore\_\-evas\_\-maximized\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-evas\_\-maximized\_\-get (Ecore\_\-Evas $\ast$ {\em ee})}}
+\label{Ecore__Evas_8h_55a913dd5ceb00e7c586805d75ea2576}
+
+
+Query whether an Ecore\_\-Evas' window is maximized or not. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em ee}]The Ecore\_\-Evas to set \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]1 if {\tt ee} is maximized, 0 if not. \end{Desc}
+\hypertarget{Ecore__Evas_8h_2fc7cf9da168c3dd6aa5282798037333}{
+\index{Ecore_Evas.h@{Ecore\_\-Evas.h}!ecore_evas_maximized_set@{ecore\_\-evas\_\-maximized\_\-set}}
+\index{ecore_evas_maximized_set@{ecore\_\-evas\_\-maximized\_\-set}!Ecore_Evas.h@{Ecore\_\-Evas.h}}
+\subsubsection[ecore\_\-evas\_\-maximized\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-evas\_\-maximized\_\-set (Ecore\_\-Evas $\ast$ {\em ee}, int {\em on})}}
+\label{Ecore__Evas_8h_2fc7cf9da168c3dd6aa5282798037333}
+
+
+Maximize (or unmaximize) an Ecore\_\-Evas' window. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em ee}]The Ecore\_\-Evas \item[{\em on}]1 to maximize, 0 to unmaximize.\end{description}
+\end{Desc}
+This function maximizes {\tt ee} if {\tt on} is 1, or unmaximizes {\tt ee} if {\tt on} is 0. \hypertarget{Ecore__Evas_8h_f76a90bbc13f6196e77d9c513a18941b}{
+\index{Ecore_Evas.h@{Ecore\_\-Evas.h}!ecore_evas_move@{ecore\_\-evas\_\-move}}
+\index{ecore_evas_move@{ecore\_\-evas\_\-move}!Ecore_Evas.h@{Ecore\_\-Evas.h}}
+\subsubsection[ecore\_\-evas\_\-move]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-evas\_\-move (Ecore\_\-Evas $\ast$ {\em ee}, int {\em x}, int {\em y})}}
+\label{Ecore__Evas_8h_f76a90bbc13f6196e77d9c513a18941b}
+
+
+Move an Ecore\_\-Evas. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em ee}]The Ecore\_\-Evas to move \item[{\em x}]The x coordinate to move to \item[{\em y}]The y coordinate to move to\end{description}
+\end{Desc}
+This moves {\tt ee} to the screen coordinates ({\tt x}, {\tt y}) \hypertarget{Ecore__Evas_8h_71abc5b649e5c35bf40c54d5239360f3}{
+\index{Ecore_Evas.h@{Ecore\_\-Evas.h}!ecore_evas_move_resize@{ecore\_\-evas\_\-move\_\-resize}}
+\index{ecore_evas_move_resize@{ecore\_\-evas\_\-move\_\-resize}!Ecore_Evas.h@{Ecore\_\-Evas.h}}
+\subsubsection[ecore\_\-evas\_\-move\_\-resize]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-evas\_\-move\_\-resize (Ecore\_\-Evas $\ast$ {\em ee}, int {\em x}, int {\em y}, int {\em w}, int {\em h})}}
+\label{Ecore__Evas_8h_71abc5b649e5c35bf40c54d5239360f3}
+
+
+Resize an Ecore\_\-Evas. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em ee}]The Ecore\_\-Evas to move \item[{\em x}]The x coordinate to move to \item[{\em y}]The y coordinate to move to \item[{\em w}]The w coordinate to resize to \item[{\em h}]The h coordinate to resize to\end{description}
+\end{Desc}
+This moves {\tt ee} to the screen coordinates ({\tt x}, {\tt y}) and resizes it to {\tt w} x {\tt h}. \hypertarget{Ecore__Evas_8h_204d3455ace3cc2e882e9f0d3b28281b}{
+\index{Ecore_Evas.h@{Ecore\_\-Evas.h}!ecore_evas_name_class_get@{ecore\_\-evas\_\-name\_\-class\_\-get}}
+\index{ecore_evas_name_class_get@{ecore\_\-evas\_\-name\_\-class\_\-get}!Ecore_Evas.h@{Ecore\_\-Evas.h}}
+\subsubsection[ecore\_\-evas\_\-name\_\-class\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-evas\_\-name\_\-class\_\-get (Ecore\_\-Evas $\ast$ {\em ee}, const char $\ast$$\ast$ {\em n}, const char $\ast$$\ast$ {\em c})}}
+\label{Ecore__Evas_8h_204d3455ace3cc2e882e9f0d3b28281b}
+
+
+Get the name and class of an Ecore\_\-Evas' window {\tt ee} The Ecore\_\-Evas to query {\tt n} A pointer to a string to place the name in. 
+
+{\tt c} A pointer to a string to place the class in.
+
+This function gets puts the name of {\tt ee} into {\tt n}, and its class into {\tt c}. \hypertarget{Ecore__Evas_8h_14bbe9c52d2d85e18e0a35819fb0330a}{
+\index{Ecore_Evas.h@{Ecore\_\-Evas.h}!ecore_evas_name_class_set@{ecore\_\-evas\_\-name\_\-class\_\-set}}
+\index{ecore_evas_name_class_set@{ecore\_\-evas\_\-name\_\-class\_\-set}!Ecore_Evas.h@{Ecore\_\-Evas.h}}
+\subsubsection[ecore\_\-evas\_\-name\_\-class\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-evas\_\-name\_\-class\_\-set (Ecore\_\-Evas $\ast$ {\em ee}, const char $\ast$ {\em n}, const char $\ast$ {\em c})}}
+\label{Ecore__Evas_8h_14bbe9c52d2d85e18e0a35819fb0330a}
+
+
+Set the name and class of an Ecore\_\-Evas' window. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em ee}]the Ecore\_\-Evas \item[{\em n}]the name \item[{\em c}]the class\end{description}
+\end{Desc}
+This function sets the name of {\tt ee} to {\tt n}, and its class to {\tt c}. \hypertarget{Ecore__Evas_8h_53fdce2670be1ca9464bb6934913a126}{
+\index{Ecore_Evas.h@{Ecore\_\-Evas.h}!ecore_evas_override_get@{ecore\_\-evas\_\-override\_\-get}}
+\index{ecore_evas_override_get@{ecore\_\-evas\_\-override\_\-get}!Ecore_Evas.h@{Ecore\_\-Evas.h}}
+\subsubsection[ecore\_\-evas\_\-override\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-evas\_\-override\_\-get (Ecore\_\-Evas $\ast$ {\em ee})}}
+\label{Ecore__Evas_8h_53fdce2670be1ca9464bb6934913a126}
+
+
+Query whether an Ecore\_\-Evas' window is overridden or not. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em ee}]The Ecore\_\-Evas to set \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]1 if {\tt ee} is overridden, 0 if not. \end{Desc}
+\hypertarget{Ecore__Evas_8h_77f3671d737d3675a38acc059997d3fb}{
+\index{Ecore_Evas.h@{Ecore\_\-Evas.h}!ecore_evas_override_set@{ecore\_\-evas\_\-override\_\-set}}
+\index{ecore_evas_override_set@{ecore\_\-evas\_\-override\_\-set}!Ecore_Evas.h@{Ecore\_\-Evas.h}}
+\subsubsection[ecore\_\-evas\_\-override\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-evas\_\-override\_\-set (Ecore\_\-Evas $\ast$ {\em ee}, int {\em on})}}
+\label{Ecore__Evas_8h_77f3671d737d3675a38acc059997d3fb}
+
+
+Tell the WM whether or not to ignore an Ecore\_\-Evas' window. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em ee}]The Ecore\_\-Evas \item[{\em on}]1 to ignore, 0 to not.\end{description}
+\end{Desc}
+This function causes the window manager to ignore {\tt ee} if {\tt on} is 1, or not ignore {\tt ee} if {\tt on} is 0. \hypertarget{Ecore__Evas_8h_6ed264f0f364409f13f8f7440153ee10}{
+\index{Ecore_Evas.h@{Ecore\_\-Evas.h}!ecore_evas_raise@{ecore\_\-evas\_\-raise}}
+\index{ecore_evas_raise@{ecore\_\-evas\_\-raise}!Ecore_Evas.h@{Ecore\_\-Evas.h}}
+\subsubsection[ecore\_\-evas\_\-raise]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-evas\_\-raise (Ecore\_\-Evas $\ast$ {\em ee})}}
+\label{Ecore__Evas_8h_6ed264f0f364409f13f8f7440153ee10}
+
+
+Raise and Ecore\_\-Evas' window. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em ee}]The Ecore\_\-Evas to raise.\end{description}
+\end{Desc}
+This functions raises the Ecore\_\-Evas to the front. \hypertarget{Ecore__Evas_8h_3109b574eca21cd8b57a749c362dba3e}{
+\index{Ecore_Evas.h@{Ecore\_\-Evas.h}!ecore_evas_resize@{ecore\_\-evas\_\-resize}}
+\index{ecore_evas_resize@{ecore\_\-evas\_\-resize}!Ecore_Evas.h@{Ecore\_\-Evas.h}}
+\subsubsection[ecore\_\-evas\_\-resize]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-evas\_\-resize (Ecore\_\-Evas $\ast$ {\em ee}, int {\em w}, int {\em h})}}
+\label{Ecore__Evas_8h_3109b574eca21cd8b57a749c362dba3e}
+
+
+Resize an Ecore\_\-Evas. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em ee}]The Ecore\_\-Evas to move \item[{\em w}]The w coordinate to resize to \item[{\em h}]The h coordinate to resize to\end{description}
+\end{Desc}
+This resizes {\tt ee} to {\tt w} x {\tt h} \hypertarget{Ecore__Evas_8h_4b85e41ef3473d9c8bc18468cf6b7d14}{
+\index{Ecore_Evas.h@{Ecore\_\-Evas.h}!ecore_evas_rotation_get@{ecore\_\-evas\_\-rotation\_\-get}}
+\index{ecore_evas_rotation_get@{ecore\_\-evas\_\-rotation\_\-get}!Ecore_Evas.h@{Ecore\_\-Evas.h}}
+\subsubsection[ecore\_\-evas\_\-rotation\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-evas\_\-rotation\_\-get (Ecore\_\-Evas $\ast$ {\em ee})}}
+\label{Ecore__Evas_8h_4b85e41ef3473d9c8bc18468cf6b7d14}
+
+
+Set the rotation of an Ecore\_\-Evas' window. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em ee}]The Ecore\_\-Evas \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]the angle (in degrees) of rotation. \end{Desc}
+\hypertarget{Ecore__Evas_8h_4166fe6060002a30a3e2c623fd7d4eec}{
+\index{Ecore_Evas.h@{Ecore\_\-Evas.h}!ecore_evas_rotation_set@{ecore\_\-evas\_\-rotation\_\-set}}
+\index{ecore_evas_rotation_set@{ecore\_\-evas\_\-rotation\_\-set}!Ecore_Evas.h@{Ecore\_\-Evas.h}}
+\subsubsection[ecore\_\-evas\_\-rotation\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-evas\_\-rotation\_\-set (Ecore\_\-Evas $\ast$ {\em ee}, int {\em rot})}}
+\label{Ecore__Evas_8h_4166fe6060002a30a3e2c623fd7d4eec}
+
+
+Set the rotation of an Ecore\_\-Evas' window. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em ee}]The Ecore\_\-Evas \item[{\em rot}]the angle (in degrees) of rotation.\end{description}
+\end{Desc}
+The allowed values of {\tt rot} depend on the engine being used. Most only allow multiples of 90. \hypertarget{Ecore__Evas_8h_1b752d49f95174806c7e9148ba60c2e4}{
+\index{Ecore_Evas.h@{Ecore\_\-Evas.h}!ecore_evas_shaped_get@{ecore\_\-evas\_\-shaped\_\-get}}
+\index{ecore_evas_shaped_get@{ecore\_\-evas\_\-shaped\_\-get}!Ecore_Evas.h@{Ecore\_\-Evas.h}}
+\subsubsection[ecore\_\-evas\_\-shaped\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-evas\_\-shaped\_\-get (Ecore\_\-Evas $\ast$ {\em ee})}}
+\label{Ecore__Evas_8h_1b752d49f95174806c7e9148ba60c2e4}
+
+
+Query whether an Ecore\_\-Evas is shaped or not. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em ee}]The Ecore\_\-Evas to query. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]1 if shaped, 0 if not.\end{Desc}
+This function returns 1 if {\tt ee} is shaped, and 0 if not. \hypertarget{Ecore__Evas_8h_902db12006699064409307cba6c2637d}{
+\index{Ecore_Evas.h@{Ecore\_\-Evas.h}!ecore_evas_shaped_set@{ecore\_\-evas\_\-shaped\_\-set}}
+\index{ecore_evas_shaped_set@{ecore\_\-evas\_\-shaped\_\-set}!Ecore_Evas.h@{Ecore\_\-Evas.h}}
+\subsubsection[ecore\_\-evas\_\-shaped\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-evas\_\-shaped\_\-set (Ecore\_\-Evas $\ast$ {\em ee}, int {\em shaped})}}
+\label{Ecore__Evas_8h_902db12006699064409307cba6c2637d}
+
+
+Set whether an Ecore\_\-Evas is shaped or not. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em ee}]The Ecore\_\-Evas to shape \item[{\em shaped}]1 to shape, 0 to not\end{description}
+\end{Desc}
+This function allows one to make an Ecore\_\-Evas shaped to the contents of the evas. If {\tt shaped} is 1, {\tt ee} will be transparent in parts of the evas that contain no objects. If {\tt shaped} is 0, then {\tt ee} will be rectangular, and and parts with no data will show random framebuffer artifacting. For non-shaped Ecore\_\-Evases, it is recommend to cover the entire evas with a background object. \hypertarget{Ecore__Evas_8h_4953047ff97d4f1b0d75a7d513d4f317}{
+\index{Ecore_Evas.h@{Ecore\_\-Evas.h}!ecore_evas_show@{ecore\_\-evas\_\-show}}
+\index{ecore_evas_show@{ecore\_\-evas\_\-show}!Ecore_Evas.h@{Ecore\_\-Evas.h}}
+\subsubsection[ecore\_\-evas\_\-show]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-evas\_\-show (Ecore\_\-Evas $\ast$ {\em ee})}}
+\label{Ecore__Evas_8h_4953047ff97d4f1b0d75a7d513d4f317}
+
+
+Show an Ecore\_\-Evas' window. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em ee}]The Ecore\_\-Evas to show.\end{description}
+\end{Desc}
+This function makes {\tt ee} visible. \hypertarget{Ecore__Evas_8h_b8fa311077f749190c9b622f672b2214}{
+\index{Ecore_Evas.h@{Ecore\_\-Evas.h}!ecore_evas_shutdown@{ecore\_\-evas\_\-shutdown}}
+\index{ecore_evas_shutdown@{ecore\_\-evas\_\-shutdown}!Ecore_Evas.h@{Ecore\_\-Evas.h}}
+\subsubsection[ecore\_\-evas\_\-shutdown]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-evas\_\-shutdown (void)}}
+\label{Ecore__Evas_8h_b8fa311077f749190c9b622f672b2214}
+
+
+Shut down the Evas system. 
+
+\begin{Desc}
+\item[Returns:]0 if ecore evas is fully shut down, or $>$ 0 if it still needs to be shut down\end{Desc}
+This closes the Evas system down. \hypertarget{Ecore__Evas_8h_3bae432e14325ddb86d630ee7550c850}{
+\index{Ecore_Evas.h@{Ecore\_\-Evas.h}!ecore_evas_size_base_get@{ecore\_\-evas\_\-size\_\-base\_\-get}}
+\index{ecore_evas_size_base_get@{ecore\_\-evas\_\-size\_\-base\_\-get}!Ecore_Evas.h@{Ecore\_\-Evas.h}}
+\subsubsection[ecore\_\-evas\_\-size\_\-base\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-evas\_\-size\_\-base\_\-get (Ecore\_\-Evas $\ast$ {\em ee}, int $\ast$ {\em w}, int $\ast$ {\em h})}}
+\label{Ecore__Evas_8h_3bae432e14325ddb86d630ee7550c850}
+
+
+Get the base size of an Ecore\_\-Evas' window. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em ee}]The Ecore\_\-Evas to set \item[{\em w}]A pointer to an int to place the base width in. \item[{\em h}]A pointer to an int to place the base height in.\end{description}
+\end{Desc}
+This function puts the base size of {\tt ee} into {\tt w} and {\tt h}. \hypertarget{Ecore__Evas_8h_540886b523486b791729d5d3f62f9fce}{
+\index{Ecore_Evas.h@{Ecore\_\-Evas.h}!ecore_evas_size_base_set@{ecore\_\-evas\_\-size\_\-base\_\-set}}
+\index{ecore_evas_size_base_set@{ecore\_\-evas\_\-size\_\-base\_\-set}!Ecore_Evas.h@{Ecore\_\-Evas.h}}
+\subsubsection[ecore\_\-evas\_\-size\_\-base\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-evas\_\-size\_\-base\_\-set (Ecore\_\-Evas $\ast$ {\em ee}, int {\em w}, int {\em h})}}
+\label{Ecore__Evas_8h_540886b523486b791729d5d3f62f9fce}
+
+
+Set the base size of an Ecore\_\-Evas' window. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em ee}]The Ecore\_\-Evas to set \item[{\em w}]The base width \item[{\em h}]The base height\end{description}
+\end{Desc}
+This function sets the base size of {\tt ee} to {\tt w} x {\tt h}. \hypertarget{Ecore__Evas_8h_a07452ff374eed4ddeb94c5cde89c300}{
+\index{Ecore_Evas.h@{Ecore\_\-Evas.h}!ecore_evas_size_max_get@{ecore\_\-evas\_\-size\_\-max\_\-get}}
+\index{ecore_evas_size_max_get@{ecore\_\-evas\_\-size\_\-max\_\-get}!Ecore_Evas.h@{Ecore\_\-Evas.h}}
+\subsubsection[ecore\_\-evas\_\-size\_\-max\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-evas\_\-size\_\-max\_\-get (Ecore\_\-Evas $\ast$ {\em ee}, int $\ast$ {\em w}, int $\ast$ {\em h})}}
+\label{Ecore__Evas_8h_a07452ff374eed4ddeb94c5cde89c300}
+
+
+Get the max size of an Ecore\_\-Evas' window. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em ee}]The Ecore\_\-Evas to set \item[{\em w}]A pointer to an int to place the max width in. \item[{\em h}]A pointer to an int to place the max height in.\end{description}
+\end{Desc}
+This function puts the maximum size of {\tt ee} into {\tt w} and {\tt h}. \hypertarget{Ecore__Evas_8h_c9ad3e25ab3f2bea8be726d24df62902}{
+\index{Ecore_Evas.h@{Ecore\_\-Evas.h}!ecore_evas_size_max_set@{ecore\_\-evas\_\-size\_\-max\_\-set}}
+\index{ecore_evas_size_max_set@{ecore\_\-evas\_\-size\_\-max\_\-set}!Ecore_Evas.h@{Ecore\_\-Evas.h}}
+\subsubsection[ecore\_\-evas\_\-size\_\-max\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-evas\_\-size\_\-max\_\-set (Ecore\_\-Evas $\ast$ {\em ee}, int {\em w}, int {\em h})}}
+\label{Ecore__Evas_8h_c9ad3e25ab3f2bea8be726d24df62902}
+
+
+Set the max size of an Ecore\_\-Evas' window. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em ee}]The Ecore\_\-Evas to set \item[{\em w}]The maximum width \item[{\em h}]The maximum height\end{description}
+\end{Desc}
+This function sets the maximum size of {\tt ee} to {\tt w} x {\tt h}. \hypertarget{Ecore__Evas_8h_039a04ca2b231f2b0ab0b9b2db7352b6}{
+\index{Ecore_Evas.h@{Ecore\_\-Evas.h}!ecore_evas_size_min_get@{ecore\_\-evas\_\-size\_\-min\_\-get}}
+\index{ecore_evas_size_min_get@{ecore\_\-evas\_\-size\_\-min\_\-get}!Ecore_Evas.h@{Ecore\_\-Evas.h}}
+\subsubsection[ecore\_\-evas\_\-size\_\-min\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-evas\_\-size\_\-min\_\-get (Ecore\_\-Evas $\ast$ {\em ee}, int $\ast$ {\em w}, int $\ast$ {\em h})}}
+\label{Ecore__Evas_8h_039a04ca2b231f2b0ab0b9b2db7352b6}
+
+
+Get the min size of an Ecore\_\-Evas' window. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em ee}]The Ecore\_\-Evas to set \item[{\em w}]A pointer to an int to place the min width in. \item[{\em h}]A pointer to an int to place the min height in.\end{description}
+\end{Desc}
+This function puts the minimum size of {\tt ee} into {\tt w} and {\tt h}. \hypertarget{Ecore__Evas_8h_63abcee3b625bd6410fe8eb46b2a5d9c}{
+\index{Ecore_Evas.h@{Ecore\_\-Evas.h}!ecore_evas_size_min_set@{ecore\_\-evas\_\-size\_\-min\_\-set}}
+\index{ecore_evas_size_min_set@{ecore\_\-evas\_\-size\_\-min\_\-set}!Ecore_Evas.h@{Ecore\_\-Evas.h}}
+\subsubsection[ecore\_\-evas\_\-size\_\-min\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-evas\_\-size\_\-min\_\-set (Ecore\_\-Evas $\ast$ {\em ee}, int {\em w}, int {\em h})}}
+\label{Ecore__Evas_8h_63abcee3b625bd6410fe8eb46b2a5d9c}
+
+
+Set the min size of an Ecore\_\-Evas' window. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em ee}]The Ecore\_\-Evas to set \item[{\em w}]The minimum width \item[{\em h}]The minimum height\end{description}
+\end{Desc}
+This function sets the minimum size of {\tt ee} to {\tt w} x {\tt h}. \hypertarget{Ecore__Evas_8h_8a4fcf6e756e8916cb4646e76aaa69e9}{
+\index{Ecore_Evas.h@{Ecore\_\-Evas.h}!ecore_evas_size_step_get@{ecore\_\-evas\_\-size\_\-step\_\-get}}
+\index{ecore_evas_size_step_get@{ecore\_\-evas\_\-size\_\-step\_\-get}!Ecore_Evas.h@{Ecore\_\-Evas.h}}
+\subsubsection[ecore\_\-evas\_\-size\_\-step\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-evas\_\-size\_\-step\_\-get (Ecore\_\-Evas $\ast$ {\em ee}, int $\ast$ {\em w}, int $\ast$ {\em h})}}
+\label{Ecore__Evas_8h_8a4fcf6e756e8916cb4646e76aaa69e9}
+
+
+Get the step size of an Ecore\_\-Evas' window. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em ee}]The Ecore\_\-Evas to set \item[{\em w}]A pointer to an int to place the step width in. \item[{\em h}]A pointer to an int to place the step height in.\end{description}
+\end{Desc}
+This function puts the step size of {\tt ee} into {\tt w} and {\tt h}. \hypertarget{Ecore__Evas_8h_b794b84a4f53e7fc36d5e87882185dc5}{
+\index{Ecore_Evas.h@{Ecore\_\-Evas.h}!ecore_evas_size_step_set@{ecore\_\-evas\_\-size\_\-step\_\-set}}
+\index{ecore_evas_size_step_set@{ecore\_\-evas\_\-size\_\-step\_\-set}!Ecore_Evas.h@{Ecore\_\-Evas.h}}
+\subsubsection[ecore\_\-evas\_\-size\_\-step\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-evas\_\-size\_\-step\_\-set (Ecore\_\-Evas $\ast$ {\em ee}, int {\em w}, int {\em h})}}
+\label{Ecore__Evas_8h_b794b84a4f53e7fc36d5e87882185dc5}
+
+
+Set the step size of an Ecore\_\-Evas. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em ee}]The Ecore\_\-Evas to set \item[{\em w}]The step width \item[{\em h}]The step height\end{description}
+\end{Desc}
+This function sets the step size of {\tt ee} to {\tt w} x {\tt h}. This limits the size of an Ecore\_\-Evas to always being an integer multiple of the step size. \hypertarget{Ecore__Evas_8h_b7e5640d0ad3b227f6a6c366bbc3efd8}{
+\index{Ecore_Evas.h@{Ecore\_\-Evas.h}!ecore_evas_software_x11_16_direct_resize_get@{ecore\_\-evas\_\-software\_\-x11\_\-16\_\-direct\_\-resize\_\-get}}
+\index{ecore_evas_software_x11_16_direct_resize_get@{ecore\_\-evas\_\-software\_\-x11\_\-16\_\-direct\_\-resize\_\-get}!Ecore_Evas.h@{Ecore\_\-Evas.h}}
+\subsubsection[ecore\_\-evas\_\-software\_\-x11\_\-16\_\-direct\_\-resize\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-evas\_\-software\_\-x11\_\-16\_\-direct\_\-resize\_\-get (Ecore\_\-Evas $\ast$ {\em ee})}}
+\label{Ecore__Evas_8h_b7e5640d0ad3b227f6a6c366bbc3efd8}
+
+
+To be documented. 
+
+FIXME: To be fixed. \hypertarget{Ecore__Evas_8h_83a733bd5ec9f235dc55d44e83461688}{
+\index{Ecore_Evas.h@{Ecore\_\-Evas.h}!ecore_evas_software_x11_16_direct_resize_set@{ecore\_\-evas\_\-software\_\-x11\_\-16\_\-direct\_\-resize\_\-set}}
+\index{ecore_evas_software_x11_16_direct_resize_set@{ecore\_\-evas\_\-software\_\-x11\_\-16\_\-direct\_\-resize\_\-set}!Ecore_Evas.h@{Ecore\_\-Evas.h}}
+\subsubsection[ecore\_\-evas\_\-software\_\-x11\_\-16\_\-direct\_\-resize\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-evas\_\-software\_\-x11\_\-16\_\-direct\_\-resize\_\-set (Ecore\_\-Evas $\ast$ {\em ee}, int {\em on})}}
+\label{Ecore__Evas_8h_83a733bd5ec9f235dc55d44e83461688}
+
+
+To be documented. 
+
+FIXME: To be fixed. \hypertarget{Ecore__Evas_8h_15556471f3eebcd39e81ad53e5907b20}{
+\index{Ecore_Evas.h@{Ecore\_\-Evas.h}!ecore_evas_software_x11_16_extra_event_window_add@{ecore\_\-evas\_\-software\_\-x11\_\-16\_\-extra\_\-event\_\-window\_\-add}}
+\index{ecore_evas_software_x11_16_extra_event_window_add@{ecore\_\-evas\_\-software\_\-x11\_\-16\_\-extra\_\-event\_\-window\_\-add}!Ecore_Evas.h@{Ecore\_\-Evas.h}}
+\subsubsection[ecore\_\-evas\_\-software\_\-x11\_\-16\_\-extra\_\-event\_\-window\_\-add]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-evas\_\-software\_\-x11\_\-16\_\-extra\_\-event\_\-window\_\-add (Ecore\_\-Evas $\ast$ {\em ee}, Ecore\_\-X\_\-Window {\em win})}}
+\label{Ecore__Evas_8h_15556471f3eebcd39e81ad53e5907b20}
+
+
+To be documented. 
+
+FIXME: To be fixed. \hypertarget{Ecore__Evas_8h_3f2e1e619c7d907d8efef7dd64fc1312}{
+\index{Ecore_Evas.h@{Ecore\_\-Evas.h}!ecore_evas_software_x11_16_new@{ecore\_\-evas\_\-software\_\-x11\_\-16\_\-new}}
+\index{ecore_evas_software_x11_16_new@{ecore\_\-evas\_\-software\_\-x11\_\-16\_\-new}!Ecore_Evas.h@{Ecore\_\-Evas.h}}
+\subsubsection[ecore\_\-evas\_\-software\_\-x11\_\-16\_\-new]{\setlength{\rightskip}{0pt plus 5cm}EAPI Ecore\_\-Evas$\ast$ ecore\_\-evas\_\-software\_\-x11\_\-16\_\-new (const char $\ast$ {\em disp\_\-name}, Ecore\_\-X\_\-Window {\em parent}, int {\em x}, int {\em y}, int {\em w}, int {\em h})}}
+\label{Ecore__Evas_8h_3f2e1e619c7d907d8efef7dd64fc1312}
+
+
+To be documented. 
+
+FIXME: To be fixed. \hypertarget{Ecore__Evas_8h_69a56a28479edb8882e33af387c94322}{
+\index{Ecore_Evas.h@{Ecore\_\-Evas.h}!ecore_evas_software_x11_16_subwindow_get@{ecore\_\-evas\_\-software\_\-x11\_\-16\_\-subwindow\_\-get}}
+\index{ecore_evas_software_x11_16_subwindow_get@{ecore\_\-evas\_\-software\_\-x11\_\-16\_\-subwindow\_\-get}!Ecore_Evas.h@{Ecore\_\-Evas.h}}
+\subsubsection[ecore\_\-evas\_\-software\_\-x11\_\-16\_\-subwindow\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI Ecore\_\-X\_\-Window ecore\_\-evas\_\-software\_\-x11\_\-16\_\-subwindow\_\-get (Ecore\_\-Evas $\ast$ {\em ee})}}
+\label{Ecore__Evas_8h_69a56a28479edb8882e33af387c94322}
+
+
+To be documented. 
+
+FIXME: To be fixed. \hypertarget{Ecore__Evas_8h_d1706d6cdbc8b19e13ea3635c8499bdc}{
+\index{Ecore_Evas.h@{Ecore\_\-Evas.h}!ecore_evas_software_x11_16_window_get@{ecore\_\-evas\_\-software\_\-x11\_\-16\_\-window\_\-get}}
+\index{ecore_evas_software_x11_16_window_get@{ecore\_\-evas\_\-software\_\-x11\_\-16\_\-window\_\-get}!Ecore_Evas.h@{Ecore\_\-Evas.h}}
+\subsubsection[ecore\_\-evas\_\-software\_\-x11\_\-16\_\-window\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI Ecore\_\-X\_\-Window ecore\_\-evas\_\-software\_\-x11\_\-16\_\-window\_\-get (Ecore\_\-Evas $\ast$ {\em ee})}}
+\label{Ecore__Evas_8h_d1706d6cdbc8b19e13ea3635c8499bdc}
+
+
+To be documented. 
+
+FIXME: To be fixed. \hypertarget{Ecore__Evas_8h_1e65de06d77e196c9bccad8e89c5145d}{
+\index{Ecore_Evas.h@{Ecore\_\-Evas.h}!ecore_evas_software_x11_direct_resize_get@{ecore\_\-evas\_\-software\_\-x11\_\-direct\_\-resize\_\-get}}
+\index{ecore_evas_software_x11_direct_resize_get@{ecore\_\-evas\_\-software\_\-x11\_\-direct\_\-resize\_\-get}!Ecore_Evas.h@{Ecore\_\-Evas.h}}
+\subsubsection[ecore\_\-evas\_\-software\_\-x11\_\-direct\_\-resize\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-evas\_\-software\_\-x11\_\-direct\_\-resize\_\-get (Ecore\_\-Evas $\ast$ {\em ee})}}
+\label{Ecore__Evas_8h_1e65de06d77e196c9bccad8e89c5145d}
+
+
+To be documented. 
+
+FIXME: To be fixed. \hypertarget{Ecore__Evas_8h_76c307ce78a33cae7782bfe4f753fc40}{
+\index{Ecore_Evas.h@{Ecore\_\-Evas.h}!ecore_evas_software_x11_direct_resize_set@{ecore\_\-evas\_\-software\_\-x11\_\-direct\_\-resize\_\-set}}
+\index{ecore_evas_software_x11_direct_resize_set@{ecore\_\-evas\_\-software\_\-x11\_\-direct\_\-resize\_\-set}!Ecore_Evas.h@{Ecore\_\-Evas.h}}
+\subsubsection[ecore\_\-evas\_\-software\_\-x11\_\-direct\_\-resize\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-evas\_\-software\_\-x11\_\-direct\_\-resize\_\-set (Ecore\_\-Evas $\ast$ {\em ee}, int {\em on})}}
+\label{Ecore__Evas_8h_76c307ce78a33cae7782bfe4f753fc40}
+
+
+To be documented. 
+
+FIXME: To be fixed. \hypertarget{Ecore__Evas_8h_7cf6203a7a335fbf30aaa0612c0eafce}{
+\index{Ecore_Evas.h@{Ecore\_\-Evas.h}!ecore_evas_software_x11_extra_event_window_add@{ecore\_\-evas\_\-software\_\-x11\_\-extra\_\-event\_\-window\_\-add}}
+\index{ecore_evas_software_x11_extra_event_window_add@{ecore\_\-evas\_\-software\_\-x11\_\-extra\_\-event\_\-window\_\-add}!Ecore_Evas.h@{Ecore\_\-Evas.h}}
+\subsubsection[ecore\_\-evas\_\-software\_\-x11\_\-extra\_\-event\_\-window\_\-add]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-evas\_\-software\_\-x11\_\-extra\_\-event\_\-window\_\-add (Ecore\_\-Evas $\ast$ {\em ee}, Ecore\_\-X\_\-Window {\em win})}}
+\label{Ecore__Evas_8h_7cf6203a7a335fbf30aaa0612c0eafce}
+
+
+To be documented. 
+
+FIXME: To be fixed. \hypertarget{Ecore__Evas_8h_71ca9d720d2df05a5e935c9ea8451051}{
+\index{Ecore_Evas.h@{Ecore\_\-Evas.h}!ecore_evas_software_x11_new@{ecore\_\-evas\_\-software\_\-x11\_\-new}}
+\index{ecore_evas_software_x11_new@{ecore\_\-evas\_\-software\_\-x11\_\-new}!Ecore_Evas.h@{Ecore\_\-Evas.h}}
+\subsubsection[ecore\_\-evas\_\-software\_\-x11\_\-new]{\setlength{\rightskip}{0pt plus 5cm}EAPI Ecore\_\-Evas$\ast$ ecore\_\-evas\_\-software\_\-x11\_\-new (const char $\ast$ {\em disp\_\-name}, Ecore\_\-X\_\-Window {\em parent}, int {\em x}, int {\em y}, int {\em w}, int {\em h})}}
+\label{Ecore__Evas_8h_71ca9d720d2df05a5e935c9ea8451051}
+
+
+To be documented. 
+
+FIXME: To be fixed. \hypertarget{Ecore__Evas_8h_c42c6b4bc269b867b66dd4d4550f4892}{
+\index{Ecore_Evas.h@{Ecore\_\-Evas.h}!ecore_evas_software_x11_subwindow_get@{ecore\_\-evas\_\-software\_\-x11\_\-subwindow\_\-get}}
+\index{ecore_evas_software_x11_subwindow_get@{ecore\_\-evas\_\-software\_\-x11\_\-subwindow\_\-get}!Ecore_Evas.h@{Ecore\_\-Evas.h}}
+\subsubsection[ecore\_\-evas\_\-software\_\-x11\_\-subwindow\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI Ecore\_\-X\_\-Window ecore\_\-evas\_\-software\_\-x11\_\-subwindow\_\-get (Ecore\_\-Evas $\ast$ {\em ee})}}
+\label{Ecore__Evas_8h_c42c6b4bc269b867b66dd4d4550f4892}
+
+
+To be documented. 
+
+FIXME: To be fixed. \hypertarget{Ecore__Evas_8h_1c8b44d2525681127dabd8ed8cf3058c}{
+\index{Ecore_Evas.h@{Ecore\_\-Evas.h}!ecore_evas_software_x11_window_get@{ecore\_\-evas\_\-software\_\-x11\_\-window\_\-get}}
+\index{ecore_evas_software_x11_window_get@{ecore\_\-evas\_\-software\_\-x11\_\-window\_\-get}!Ecore_Evas.h@{Ecore\_\-Evas.h}}
+\subsubsection[ecore\_\-evas\_\-software\_\-x11\_\-window\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI Ecore\_\-X\_\-Window ecore\_\-evas\_\-software\_\-x11\_\-window\_\-get (Ecore\_\-Evas $\ast$ {\em ee})}}
+\label{Ecore__Evas_8h_1c8b44d2525681127dabd8ed8cf3058c}
+
+
+To be documented. 
+
+FIXME: To be fixed. \hypertarget{Ecore__Evas_8h_6685668b3401b799a1cb6a552106580d}{
+\index{Ecore_Evas.h@{Ecore\_\-Evas.h}!ecore_evas_sticky_get@{ecore\_\-evas\_\-sticky\_\-get}}
+\index{ecore_evas_sticky_get@{ecore\_\-evas\_\-sticky\_\-get}!Ecore_Evas.h@{Ecore\_\-Evas.h}}
+\subsubsection[ecore\_\-evas\_\-sticky\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-evas\_\-sticky\_\-get (Ecore\_\-Evas $\ast$ {\em ee})}}
+\label{Ecore__Evas_8h_6685668b3401b799a1cb6a552106580d}
+
+
+Returns the sticky state of an Ecore\_\-Evas' window. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em ee}]The Ecore\_\-Evas whose window's sticky state is returned. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The Ecore\_\-Evas window's sticky state. \end{Desc}
+\hypertarget{Ecore__Evas_8h_63f6c80dc8a1b0caf92febadfe7d24ab}{
+\index{Ecore_Evas.h@{Ecore\_\-Evas.h}!ecore_evas_sticky_set@{ecore\_\-evas\_\-sticky\_\-set}}
+\index{ecore_evas_sticky_set@{ecore\_\-evas\_\-sticky\_\-set}!Ecore_Evas.h@{Ecore\_\-Evas.h}}
+\subsubsection[ecore\_\-evas\_\-sticky\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-evas\_\-sticky\_\-set (Ecore\_\-Evas $\ast$ {\em ee}, int {\em sticky})}}
+\label{Ecore__Evas_8h_63f6c80dc8a1b0caf92febadfe7d24ab}
+
+
+Set the sticky state of an Ecore\_\-Evas window. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em ee}]The Ecore\_\-Evas whose window's sticky state is set. \item[{\em sticky}]The Ecore\_\-Evas window's new sticky state. \end{description}
+\end{Desc}
+\hypertarget{Ecore__Evas_8h_c09c6b713c369c5b2edb7870cde710aa}{
+\index{Ecore_Evas.h@{Ecore\_\-Evas.h}!ecore_evas_title_get@{ecore\_\-evas\_\-title\_\-get}}
+\index{ecore_evas_title_get@{ecore\_\-evas\_\-title\_\-get}!Ecore_Evas.h@{Ecore\_\-Evas.h}}
+\subsubsection[ecore\_\-evas\_\-title\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI const char$\ast$ ecore\_\-evas\_\-title\_\-get (Ecore\_\-Evas $\ast$ {\em ee})}}
+\label{Ecore__Evas_8h_c09c6b713c369c5b2edb7870cde710aa}
+
+
+Get the title of an Ecore\_\-Evas' window. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em ee}]The Ecore\_\-Evas whose title you wish to get. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The title of {\tt ee}.\end{Desc}
+This function returns the title of {\tt ee}. \hypertarget{Ecore__Evas_8h_3b2832e0373bbafae2bb7143618535c1}{
+\index{Ecore_Evas.h@{Ecore\_\-Evas.h}!ecore_evas_title_set@{ecore\_\-evas\_\-title\_\-set}}
+\index{ecore_evas_title_set@{ecore\_\-evas\_\-title\_\-set}!Ecore_Evas.h@{Ecore\_\-Evas.h}}
+\subsubsection[ecore\_\-evas\_\-title\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-evas\_\-title\_\-set (Ecore\_\-Evas $\ast$ {\em ee}, const char $\ast$ {\em t})}}
+\label{Ecore__Evas_8h_3b2832e0373bbafae2bb7143618535c1}
+
+
+Set the title of an Ecore\_\-Evas' window. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em ee}]The Ecore\_\-Evas whose title you wish to set. \item[{\em t}]The title\end{description}
+\end{Desc}
+This function sets the title of {\tt ee} to {\tt t}. \hypertarget{Ecore__Evas_8h_81ec64435d60ec828d6ae09d73f8bca6}{
+\index{Ecore_Evas.h@{Ecore\_\-Evas.h}!ecore_evas_visibility_get@{ecore\_\-evas\_\-visibility\_\-get}}
+\index{ecore_evas_visibility_get@{ecore\_\-evas\_\-visibility\_\-get}!Ecore_Evas.h@{Ecore\_\-Evas.h}}
+\subsubsection[ecore\_\-evas\_\-visibility\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-evas\_\-visibility\_\-get (Ecore\_\-Evas $\ast$ {\em ee})}}
+\label{Ecore__Evas_8h_81ec64435d60ec828d6ae09d73f8bca6}
+
+
+Query whether an Ecore\_\-Evas' window is visible or not. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em ee}]The Ecore\_\-Evas to query. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]1 if visible, 0 if not.\end{Desc}
+This function queries {\tt ee} and returns 1 if it is visible, and 0 if not. \hypertarget{Ecore__Evas_8h_3fb10d2496f86682b25f86b9bdd52aa7}{
+\index{Ecore_Evas.h@{Ecore\_\-Evas.h}!ecore_evas_withdrawn_get@{ecore\_\-evas\_\-withdrawn\_\-get}}
+\index{ecore_evas_withdrawn_get@{ecore\_\-evas\_\-withdrawn\_\-get}!Ecore_Evas.h@{Ecore\_\-Evas.h}}
+\subsubsection[ecore\_\-evas\_\-withdrawn\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-evas\_\-withdrawn\_\-get (Ecore\_\-Evas $\ast$ {\em ee})}}
+\label{Ecore__Evas_8h_3fb10d2496f86682b25f86b9bdd52aa7}
+
+
+Returns the withdrawn state of an Ecore\_\-Evas' window. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em ee}]The Ecore\_\-Evas whose window's withdrawn state is returned. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The Ecore\_\-Evas window's withdrawn state. \end{Desc}
+\hypertarget{Ecore__Evas_8h_fb818d7cb8ab256c9a6c680771f5e4ae}{
+\index{Ecore_Evas.h@{Ecore\_\-Evas.h}!ecore_evas_withdrawn_set@{ecore\_\-evas\_\-withdrawn\_\-set}}
+\index{ecore_evas_withdrawn_set@{ecore\_\-evas\_\-withdrawn\_\-set}!Ecore_Evas.h@{Ecore\_\-Evas.h}}
+\subsubsection[ecore\_\-evas\_\-withdrawn\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-evas\_\-withdrawn\_\-set (Ecore\_\-Evas $\ast$ {\em ee}, int {\em withdrawn})}}
+\label{Ecore__Evas_8h_fb818d7cb8ab256c9a6c680771f5e4ae}
+
+
+Set the withdrawn state of an Ecore\_\-Evas' window. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em ee}]The Ecore\_\-Evas whose window's withdrawn state is set. \item[{\em withdrawn}]The Ecore\_\-Evas window's new withdrawn state. \end{description}
+\end{Desc}
+\hypertarget{Ecore__Evas_8h_3c47880083f800888946e4924c477baa}{
+\index{Ecore_Evas.h@{Ecore\_\-Evas.h}!ecore_evas_xrender_x11_direct_resize_get@{ecore\_\-evas\_\-xrender\_\-x11\_\-direct\_\-resize\_\-get}}
+\index{ecore_evas_xrender_x11_direct_resize_get@{ecore\_\-evas\_\-xrender\_\-x11\_\-direct\_\-resize\_\-get}!Ecore_Evas.h@{Ecore\_\-Evas.h}}
+\subsubsection[ecore\_\-evas\_\-xrender\_\-x11\_\-direct\_\-resize\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-evas\_\-xrender\_\-x11\_\-direct\_\-resize\_\-get (Ecore\_\-Evas $\ast$ {\em ee})}}
+\label{Ecore__Evas_8h_3c47880083f800888946e4924c477baa}
+
+
+To be documented. 
+
+FIXME: To be fixed. \hypertarget{Ecore__Evas_8h_631f3af9a5afceaed0fe37c904d2e15a}{
+\index{Ecore_Evas.h@{Ecore\_\-Evas.h}!ecore_evas_xrender_x11_direct_resize_set@{ecore\_\-evas\_\-xrender\_\-x11\_\-direct\_\-resize\_\-set}}
+\index{ecore_evas_xrender_x11_direct_resize_set@{ecore\_\-evas\_\-xrender\_\-x11\_\-direct\_\-resize\_\-set}!Ecore_Evas.h@{Ecore\_\-Evas.h}}
+\subsubsection[ecore\_\-evas\_\-xrender\_\-x11\_\-direct\_\-resize\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-evas\_\-xrender\_\-x11\_\-direct\_\-resize\_\-set (Ecore\_\-Evas $\ast$ {\em ee}, int {\em on})}}
+\label{Ecore__Evas_8h_631f3af9a5afceaed0fe37c904d2e15a}
+
+
+To be documented. 
+
+FIXME: To be fixed. \hypertarget{Ecore__Evas_8h_352cb2682bf16ed80493dd91d43228de}{
+\index{Ecore_Evas.h@{Ecore\_\-Evas.h}!ecore_evas_xrender_x11_extra_event_window_add@{ecore\_\-evas\_\-xrender\_\-x11\_\-extra\_\-event\_\-window\_\-add}}
+\index{ecore_evas_xrender_x11_extra_event_window_add@{ecore\_\-evas\_\-xrender\_\-x11\_\-extra\_\-event\_\-window\_\-add}!Ecore_Evas.h@{Ecore\_\-Evas.h}}
+\subsubsection[ecore\_\-evas\_\-xrender\_\-x11\_\-extra\_\-event\_\-window\_\-add]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-evas\_\-xrender\_\-x11\_\-extra\_\-event\_\-window\_\-add (Ecore\_\-Evas $\ast$ {\em ee}, Ecore\_\-X\_\-Window {\em win})}}
+\label{Ecore__Evas_8h_352cb2682bf16ed80493dd91d43228de}
+
+
+To be documented. 
+
+FIXME: To be fixed. \hypertarget{Ecore__Evas_8h_8fb98e6849e50eb5b34cbc5cb703e309}{
+\index{Ecore_Evas.h@{Ecore\_\-Evas.h}!ecore_evas_xrender_x11_new@{ecore\_\-evas\_\-xrender\_\-x11\_\-new}}
+\index{ecore_evas_xrender_x11_new@{ecore\_\-evas\_\-xrender\_\-x11\_\-new}!Ecore_Evas.h@{Ecore\_\-Evas.h}}
+\subsubsection[ecore\_\-evas\_\-xrender\_\-x11\_\-new]{\setlength{\rightskip}{0pt plus 5cm}EAPI Ecore\_\-Evas$\ast$ ecore\_\-evas\_\-xrender\_\-x11\_\-new (const char $\ast$ {\em disp\_\-name}, Ecore\_\-X\_\-Window {\em parent}, int {\em x}, int {\em y}, int {\em w}, int {\em h})}}
+\label{Ecore__Evas_8h_8fb98e6849e50eb5b34cbc5cb703e309}
+
+
+To be documented. 
+
+FIXME: To be fixed. \hypertarget{Ecore__Evas_8h_ad08fb8be571096fc8c40d2a7f63734b}{
+\index{Ecore_Evas.h@{Ecore\_\-Evas.h}!ecore_evas_xrender_x11_subwindow_get@{ecore\_\-evas\_\-xrender\_\-x11\_\-subwindow\_\-get}}
+\index{ecore_evas_xrender_x11_subwindow_get@{ecore\_\-evas\_\-xrender\_\-x11\_\-subwindow\_\-get}!Ecore_Evas.h@{Ecore\_\-Evas.h}}
+\subsubsection[ecore\_\-evas\_\-xrender\_\-x11\_\-subwindow\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI Ecore\_\-X\_\-Window ecore\_\-evas\_\-xrender\_\-x11\_\-subwindow\_\-get (Ecore\_\-Evas $\ast$ {\em ee})}}
+\label{Ecore__Evas_8h_ad08fb8be571096fc8c40d2a7f63734b}
+
+
+To be documented. 
+
+FIXME: To be fixed. \hypertarget{Ecore__Evas_8h_29aaa25c35a8db50b34657d4cc7cdbde}{
+\index{Ecore_Evas.h@{Ecore\_\-Evas.h}!ecore_evas_xrender_x11_window_get@{ecore\_\-evas\_\-xrender\_\-x11\_\-window\_\-get}}
+\index{ecore_evas_xrender_x11_window_get@{ecore\_\-evas\_\-xrender\_\-x11\_\-window\_\-get}!Ecore_Evas.h@{Ecore\_\-Evas.h}}
+\subsubsection[ecore\_\-evas\_\-xrender\_\-x11\_\-window\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI Ecore\_\-X\_\-Window ecore\_\-evas\_\-xrender\_\-x11\_\-window\_\-get (Ecore\_\-Evas $\ast$ {\em ee})}}
+\label{Ecore__Evas_8h_29aaa25c35a8db50b34657d4cc7cdbde}
+
+
+To be documented. 
+
+FIXME: To be fixed. 
\ No newline at end of file
diff --git a/doc/latex/Ecore__Fb_8h.tex b/doc/latex/Ecore__Fb_8h.tex
new file mode 100644
index 0000000..706ddbd
--- /dev/null
+++ b/doc/latex/Ecore__Fb_8h.tex
@@ -0,0 +1,142 @@
+\hypertarget{Ecore__Fb_8h}{
+\section{Ecore\_\-Fb.h File Reference}
+\label{Ecore__Fb_8h}\index{Ecore_Fb.h@{Ecore\_\-Fb.h}}
+}
+Ecore frame buffer system functions. 
+
+\subsection*{Data Structures}
+\begin{CompactItemize}
+\item 
+struct \hyperlink{struct__Ecore__Fb__Event__Key__Down}{\_\-Ecore\_\-Fb\_\-Event\_\-Key\_\-Down}
+\begin{CompactList}\small\item\em FB Key Down event. \item\end{CompactList}\item 
+struct \hyperlink{struct__Ecore__Fb__Event__Key__Up}{\_\-Ecore\_\-Fb\_\-Event\_\-Key\_\-Up}
+\begin{CompactList}\small\item\em FB Key Up event. \item\end{CompactList}\item 
+struct \hyperlink{struct__Ecore__Fb__Event__Mouse__Button__Down}{\_\-Ecore\_\-Fb\_\-Event\_\-Mouse\_\-Button\_\-Down}
+\begin{CompactList}\small\item\em FB Mouse Down event. \item\end{CompactList}\item 
+struct \hyperlink{struct__Ecore__Fb__Event__Mouse__Button__Up}{\_\-Ecore\_\-Fb\_\-Event\_\-Mouse\_\-Button\_\-Up}
+\begin{CompactList}\small\item\em FB Mouse Up event. \item\end{CompactList}\item 
+struct \hyperlink{struct__Ecore__Fb__Event__Mouse__Move}{\_\-Ecore\_\-Fb\_\-Event\_\-Mouse\_\-Move}
+\begin{CompactList}\small\item\em FB Mouse Move event. \item\end{CompactList}\item 
+struct \hyperlink{struct__Ecore__Fb__Event__Mouse__Wheel}{\_\-Ecore\_\-Fb\_\-Event\_\-Mouse\_\-Wheel}
+\begin{CompactList}\small\item\em FB Mouse Wheel event. \item\end{CompactList}\end{CompactItemize}
+\subsection*{Typedefs}
+\begin{CompactItemize}
+\item 
+\hypertarget{Ecore__Fb_8h_d97800f473ec95adbaaab2f0cb1aa760}{
+typedef \hyperlink{struct__Ecore__Fb__Event__Key__Down}{\_\-Ecore\_\-Fb\_\-Event\_\-Key\_\-Down} \hyperlink{Ecore__Fb_8h_d97800f473ec95adbaaab2f0cb1aa760}{Ecore\_\-Fb\_\-Event\_\-Key\_\-Down}}
+\label{Ecore__Fb_8h_d97800f473ec95adbaaab2f0cb1aa760}
+
+\begin{CompactList}\small\item\em FB Key Down event. \item\end{CompactList}\item 
+\hypertarget{Ecore__Fb_8h_0dac522489febdf29a42c2dbfa703124}{
+typedef \hyperlink{struct__Ecore__Fb__Event__Key__Up}{\_\-Ecore\_\-Fb\_\-Event\_\-Key\_\-Up} \hyperlink{Ecore__Fb_8h_0dac522489febdf29a42c2dbfa703124}{Ecore\_\-Fb\_\-Event\_\-Key\_\-Up}}
+\label{Ecore__Fb_8h_0dac522489febdf29a42c2dbfa703124}
+
+\begin{CompactList}\small\item\em FB Key Up event. \item\end{CompactList}\item 
+\hypertarget{Ecore__Fb_8h_d6b64edc4897b4819ef18ae46bcfc9b7}{
+typedef \hyperlink{struct__Ecore__Fb__Event__Mouse__Button__Down}{\_\-Ecore\_\-Fb\_\-Event\_\-Mouse\_\-Button\_\-Down} \hyperlink{Ecore__Fb_8h_d6b64edc4897b4819ef18ae46bcfc9b7}{Ecore\_\-Fb\_\-Event\_\-Mouse\_\-Button\_\-Down}}
+\label{Ecore__Fb_8h_d6b64edc4897b4819ef18ae46bcfc9b7}
+
+\begin{CompactList}\small\item\em FB Mouse Down event. \item\end{CompactList}\item 
+\hypertarget{Ecore__Fb_8h_c956db7b4f84157108426823417b9ee9}{
+typedef \hyperlink{struct__Ecore__Fb__Event__Mouse__Button__Up}{\_\-Ecore\_\-Fb\_\-Event\_\-Mouse\_\-Button\_\-Up} \hyperlink{Ecore__Fb_8h_c956db7b4f84157108426823417b9ee9}{Ecore\_\-Fb\_\-Event\_\-Mouse\_\-Button\_\-Up}}
+\label{Ecore__Fb_8h_c956db7b4f84157108426823417b9ee9}
+
+\begin{CompactList}\small\item\em FB Mouse Up event. \item\end{CompactList}\item 
+\hypertarget{Ecore__Fb_8h_df7e37a1e41ef49d05c12566704a5b21}{
+typedef \hyperlink{struct__Ecore__Fb__Event__Mouse__Move}{\_\-Ecore\_\-Fb\_\-Event\_\-Mouse\_\-Move} \hyperlink{Ecore__Fb_8h_df7e37a1e41ef49d05c12566704a5b21}{Ecore\_\-Fb\_\-Event\_\-Mouse\_\-Move}}
+\label{Ecore__Fb_8h_df7e37a1e41ef49d05c12566704a5b21}
+
+\begin{CompactList}\small\item\em FB Mouse Move event. \item\end{CompactList}\item 
+\hypertarget{Ecore__Fb_8h_4aab003d38ff77b3b441fc3847fbd377}{
+typedef \hyperlink{struct__Ecore__Fb__Event__Mouse__Wheel}{\_\-Ecore\_\-Fb\_\-Event\_\-Mouse\_\-Wheel} \hyperlink{Ecore__Fb_8h_4aab003d38ff77b3b441fc3847fbd377}{Ecore\_\-Fb\_\-Event\_\-Mouse\_\-Wheel}}
+\label{Ecore__Fb_8h_4aab003d38ff77b3b441fc3847fbd377}
+
+\begin{CompactList}\small\item\em FB Mouse Wheel event. \item\end{CompactList}\end{CompactItemize}
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+EAPI void \hyperlink{Ecore__Fb_8h_80cc9df0a7c985ffa5104f071a7b90b9}{ecore\_\-fb\_\-callback\_\-gain\_\-set} (void($\ast$func)(void $\ast$data), void $\ast$data)
+\begin{CompactList}\small\item\em To be documented. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore__Fb_8h_bf8e732055cf4d366d3000c91cf00cdb}{ecore\_\-fb\_\-callback\_\-lose\_\-set} (void($\ast$func)(void $\ast$data), void $\ast$data)
+\begin{CompactList}\small\item\em To be documented. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__FB__Library__Group_gefa9ae93cf6163379747349bb8cc82f7}{ecore\_\-fb\_\-shutdown} (void)
+\begin{CompactList}\small\item\em Shuts down the Ecore\_\-Fb library. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore__Fb_8h_d169f77434891ebc69d7d5749bed5af8}{ecore\_\-fb\_\-size\_\-get} (int $\ast$w, int $\ast$h)
+\begin{CompactList}\small\item\em Retrieves the width and height of the current frame buffer in pixels. \item\end{CompactList}\end{CompactItemize}
+\subsection*{Variables}
+\begin{CompactItemize}
+\item 
+\hypertarget{Ecore__Fb_8h_8581d038ef5830b5f2231e8150b25043}{
+EAPI int \hyperlink{Ecore__Fb_8h_8581d038ef5830b5f2231e8150b25043}{ECORE\_\-FB\_\-EVENT\_\-KEY\_\-DOWN}}
+\label{Ecore__Fb_8h_8581d038ef5830b5f2231e8150b25043}
+
+\begin{CompactList}\small\item\em FB Key Down event. \item\end{CompactList}\item 
+\hypertarget{Ecore__Fb_8h_32a45df91add9e9108ed2a96c51a0408}{
+EAPI int \hyperlink{Ecore__Fb_8h_32a45df91add9e9108ed2a96c51a0408}{ECORE\_\-FB\_\-EVENT\_\-KEY\_\-UP}}
+\label{Ecore__Fb_8h_32a45df91add9e9108ed2a96c51a0408}
+
+\begin{CompactList}\small\item\em FB Key Up event. \item\end{CompactList}\item 
+\hypertarget{Ecore__Fb_8h_7cafb3c333844f4d802ebad8d84be0af}{
+EAPI int \hyperlink{Ecore__Fb_8h_7cafb3c333844f4d802ebad8d84be0af}{ECORE\_\-FB\_\-EVENT\_\-MOUSE\_\-BUTTON\_\-DOWN}}
+\label{Ecore__Fb_8h_7cafb3c333844f4d802ebad8d84be0af}
+
+\begin{CompactList}\small\item\em FB Mouse Down event. \item\end{CompactList}\item 
+\hypertarget{Ecore__Fb_8h_7a3233f10d2491555699a3f0e00de762}{
+EAPI int \hyperlink{Ecore__Fb_8h_7a3233f10d2491555699a3f0e00de762}{ECORE\_\-FB\_\-EVENT\_\-MOUSE\_\-BUTTON\_\-UP}}
+\label{Ecore__Fb_8h_7a3233f10d2491555699a3f0e00de762}
+
+\begin{CompactList}\small\item\em FB Mouse Up event. \item\end{CompactList}\item 
+\hypertarget{Ecore__Fb_8h_84c8fb18e90909fc7c4d75e59da38be3}{
+EAPI int \hyperlink{Ecore__Fb_8h_84c8fb18e90909fc7c4d75e59da38be3}{ECORE\_\-FB\_\-EVENT\_\-MOUSE\_\-MOVE}}
+\label{Ecore__Fb_8h_84c8fb18e90909fc7c4d75e59da38be3}
+
+\begin{CompactList}\small\item\em FB Mouse Move event. \item\end{CompactList}\item 
+\hypertarget{Ecore__Fb_8h_ecf7e2bfa4962a9f2e3ce0a1913eb442}{
+EAPI int \hyperlink{Ecore__Fb_8h_ecf7e2bfa4962a9f2e3ce0a1913eb442}{ECORE\_\-FB\_\-EVENT\_\-MOUSE\_\-WHEEL}}
+\label{Ecore__Fb_8h_ecf7e2bfa4962a9f2e3ce0a1913eb442}
+
+\begin{CompactList}\small\item\em FB Mouse Wheel event. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Ecore frame buffer system functions. 
+
+
+
+\subsection{Function Documentation}
+\hypertarget{Ecore__Fb_8h_80cc9df0a7c985ffa5104f071a7b90b9}{
+\index{Ecore_Fb.h@{Ecore\_\-Fb.h}!ecore_fb_callback_gain_set@{ecore\_\-fb\_\-callback\_\-gain\_\-set}}
+\index{ecore_fb_callback_gain_set@{ecore\_\-fb\_\-callback\_\-gain\_\-set}!Ecore_Fb.h@{Ecore\_\-Fb.h}}
+\subsubsection[ecore\_\-fb\_\-callback\_\-gain\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-fb\_\-callback\_\-gain\_\-set (void($\ast$)(void $\ast$data) {\em func}, void $\ast$ {\em data})}}
+\label{Ecore__Fb_8h_80cc9df0a7c985ffa5104f071a7b90b9}
+
+
+To be documented. 
+
+FIXME: To be fixed. \begin{Desc}
+\item[\hyperlink{todo__todo000006}{Todo}]Documentation: Find out what this does. \end{Desc}
+\hypertarget{Ecore__Fb_8h_bf8e732055cf4d366d3000c91cf00cdb}{
+\index{Ecore_Fb.h@{Ecore\_\-Fb.h}!ecore_fb_callback_lose_set@{ecore\_\-fb\_\-callback\_\-lose\_\-set}}
+\index{ecore_fb_callback_lose_set@{ecore\_\-fb\_\-callback\_\-lose\_\-set}!Ecore_Fb.h@{Ecore\_\-Fb.h}}
+\subsubsection[ecore\_\-fb\_\-callback\_\-lose\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-fb\_\-callback\_\-lose\_\-set (void($\ast$)(void $\ast$data) {\em func}, void $\ast$ {\em data})}}
+\label{Ecore__Fb_8h_bf8e732055cf4d366d3000c91cf00cdb}
+
+
+To be documented. 
+
+FIXME: To be fixed. \begin{Desc}
+\item[\hyperlink{todo__todo000007}{Todo}]Documentation: Find out what this does. \end{Desc}
+\hypertarget{Ecore__Fb_8h_d169f77434891ebc69d7d5749bed5af8}{
+\index{Ecore_Fb.h@{Ecore\_\-Fb.h}!ecore_fb_size_get@{ecore\_\-fb\_\-size\_\-get}}
+\index{ecore_fb_size_get@{ecore\_\-fb\_\-size\_\-get}!Ecore_Fb.h@{Ecore\_\-Fb.h}}
+\subsubsection[ecore\_\-fb\_\-size\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-fb\_\-size\_\-get (int $\ast$ {\em w}, int $\ast$ {\em h})}}
+\label{Ecore__Fb_8h_d169f77434891ebc69d7d5749bed5af8}
+
+
+Retrieves the width and height of the current frame buffer in pixels. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em w}]Pointer to an integer in which to store the width. \item[{\em h}]Pointer to an interge in which to store the height. \end{description}
+\end{Desc}
diff --git a/doc/latex/Ecore__File_8h.tex b/doc/latex/Ecore__File_8h.tex
new file mode 100644
index 0000000..c9d403d
--- /dev/null
+++ b/doc/latex/Ecore__File_8h.tex
@@ -0,0 +1,566 @@
+\hypertarget{Ecore__File_8h}{
+\section{Ecore\_\-File.h File Reference}
+\label{Ecore__File_8h}\index{Ecore_File.h@{Ecore\_\-File.h}}
+}
+Files utility functions. 
+
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+EAPI int \hyperlink{Ecore__File_8h_9497ff8ae37f46464565414711a031d0}{ecore\_\-file\_\-init} (void)
+\begin{CompactList}\small\item\em Initialize Ecore\_\-File and the services it will use. \item\end{CompactList}\item 
+EAPI int \hyperlink{Ecore__File_8h_fa64f6af8d6f80acef1a29366a31d55d}{ecore\_\-file\_\-shutdown} (void)
+\begin{CompactList}\small\item\em Shutdown the Ecore\_\-File. \item\end{CompactList}\item 
+EAPI long long \hyperlink{Ecore__File_8h_aef663ea76aae7aeba5814f1b8f2a013}{ecore\_\-file\_\-mod\_\-time} (const char $\ast$file)
+\begin{CompactList}\small\item\em Get the time of the last modification to the give file. \item\end{CompactList}\item 
+EAPI long long \hyperlink{Ecore__File_8h_6ac9d3d430a6110467ca3e2ac96a8851}{ecore\_\-file\_\-size} (const char $\ast$file)
+\begin{CompactList}\small\item\em Get the size of the given file. \item\end{CompactList}\item 
+EAPI int \hyperlink{Ecore__File_8h_806216434edae4dc6328edfd0e318fc6}{ecore\_\-file\_\-exists} (const char $\ast$file)
+\begin{CompactList}\small\item\em Check if file exists. \item\end{CompactList}\item 
+EAPI int \hyperlink{Ecore__File_8h_32f8922f773174b36a40368c375b14de}{ecore\_\-file\_\-is\_\-dir} (const char $\ast$file)
+\begin{CompactList}\small\item\em Check if file is a directory. \item\end{CompactList}\item 
+EAPI int \hyperlink{Ecore__File_8h_5d944689ac3273ca637fdfb0601edc57}{ecore\_\-file\_\-mkdir} (const char $\ast$dir)
+\begin{CompactList}\small\item\em Create a new directory. \item\end{CompactList}\item 
+EAPI int \hyperlink{Ecore__File_8h_8c80a7e82b849875ac9535fe739779e9}{ecore\_\-file\_\-rmdir} (const char $\ast$dir)
+\begin{CompactList}\small\item\em Delete the given dir. \item\end{CompactList}\item 
+EAPI int \hyperlink{Ecore__File_8h_aae112ed0f2b2cf4f1b57afbcbb0f0e8}{ecore\_\-file\_\-recursive\_\-rm} (const char $\ast$dir)
+\begin{CompactList}\small\item\em Delete a directory and all its contents. \item\end{CompactList}\item 
+EAPI int \hyperlink{Ecore__File_8h_b377c26b139a5b2fa681de7a3d33d41c}{ecore\_\-file\_\-mkpath} (const char $\ast$path)
+\begin{CompactList}\small\item\em Create a complete path. \item\end{CompactList}\item 
+EAPI int \hyperlink{Ecore__File_8h_40bd2e7b0ed8af2c76fc46373d1ade71}{ecore\_\-file\_\-cp} (const char $\ast$src, const char $\ast$dst)
+\begin{CompactList}\small\item\em Copy a file. \item\end{CompactList}\item 
+EAPI int \hyperlink{Ecore__File_8h_4f51c9794bb14a36721edaa67365e610}{ecore\_\-file\_\-mv} (const char $\ast$src, const char $\ast$dst)
+\begin{CompactList}\small\item\em Move a file. \item\end{CompactList}\item 
+EAPI int \hyperlink{Ecore__File_8h_7f3bc42064d48644911783ccec378613}{ecore\_\-file\_\-symlink} (const char $\ast$src, const char $\ast$dest)
+\begin{CompactList}\small\item\em Create a symbolic link. \item\end{CompactList}\item 
+EAPI char $\ast$ \hyperlink{Ecore__File_8h_b358bf1dc588e0e1929d31a72a213168}{ecore\_\-file\_\-realpath} (const char $\ast$file)
+\begin{CompactList}\small\item\em Get the canonicalized absolute pathname. \item\end{CompactList}\item 
+EAPI int \hyperlink{Ecore__File_8h_2ec6ea202ffb755ca12e8dd85ce345a1}{ecore\_\-file\_\-unlink} (const char $\ast$file)
+\begin{CompactList}\small\item\em Delete the given file. \item\end{CompactList}\item 
+EAPI const char $\ast$ \hyperlink{Ecore__File_8h_d22a09676af2f03c825652c1b2884345}{ecore\_\-file\_\-file\_\-get} (const char $\ast$path)
+\begin{CompactList}\small\item\em Get the filename from a give path. \item\end{CompactList}\item 
+EAPI char $\ast$ \hyperlink{Ecore__File_8h_5f2806cb1531356ff9e6a337d62d3432}{ecore\_\-file\_\-dir\_\-get} (const char $\ast$path)
+\begin{CompactList}\small\item\em Get the directory where file reside. \item\end{CompactList}\item 
+EAPI int \hyperlink{Ecore__File_8h_a16ea16b47dd8e76205f43eea3d76505}{ecore\_\-file\_\-can\_\-read} (const char $\ast$file)
+\begin{CompactList}\small\item\em Check if file can be read. \item\end{CompactList}\item 
+EAPI int \hyperlink{Ecore__File_8h_cce7d88ad4f5c0f6b08172067a822a18}{ecore\_\-file\_\-can\_\-write} (const char $\ast$file)
+\begin{CompactList}\small\item\em Check if file can be written. \item\end{CompactList}\item 
+EAPI int \hyperlink{Ecore__File_8h_8499e4f46878856f0ad46695f6d10f03}{ecore\_\-file\_\-can\_\-exec} (const char $\ast$file)
+\begin{CompactList}\small\item\em Check if file can be executed. \item\end{CompactList}\item 
+EAPI char $\ast$ \hyperlink{Ecore__File_8h_6dbbbb14c58a629e4eab1ccda26290f7}{ecore\_\-file\_\-readlink} (const char $\ast$link)
+\begin{CompactList}\small\item\em Get the path pointed by link. \item\end{CompactList}\item 
+EAPI Ecore\_\-List $\ast$ \hyperlink{Ecore__File_8h_53d9ae056ac2ac0bac959eac26f9d391}{ecore\_\-file\_\-ls} (const char $\ast$dir)
+\begin{CompactList}\small\item\em Get the list of the files and directories in a given directory. \item\end{CompactList}\item 
+\hypertarget{Ecore__File_8h_ec42ccba3ea33034ad0760e7c8b8e005}{
+EAPI char $\ast$ \hyperlink{Ecore__File_8h_ec42ccba3ea33034ad0760e7c8b8e005}{ecore\_\-file\_\-app\_\-exe\_\-get} (const char $\ast$app)}
+\label{Ecore__File_8h_ec42ccba3ea33034ad0760e7c8b8e005}
+
+\begin{CompactList}\small\item\em FIXME: To be documented. \item\end{CompactList}\item 
+EAPI char $\ast$ \hyperlink{Ecore__File_8h_87e724a88222d37525f78e0567b5c5a4}{ecore\_\-file\_\-escape\_\-name} (const char $\ast$filename)
+\begin{CompactList}\small\item\em Add the escape sequence ('$\backslash$') to the given filename. \item\end{CompactList}\item 
+EAPI char $\ast$ \hyperlink{Ecore__File_8h_05c21b016f02562661791067a5bc853e}{ecore\_\-file\_\-strip\_\-ext} (const char $\ast$file)
+\begin{CompactList}\small\item\em Remove the extension from a given path. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore__File_8h_aefb02d67f98b2f859d796df625b7b26}{ecore\_\-file\_\-monitor\_\-del} (Ecore\_\-File\_\-Monitor $\ast$ecore\_\-file\_\-monitor)
+\begin{CompactList}\small\item\em Stop monitoring a path. \item\end{CompactList}\item 
+EAPI const char $\ast$ \hyperlink{Ecore__File_8h_1765c5a8c1710348736ab0c30bd353bc}{ecore\_\-file\_\-monitor\_\-path\_\-get} (Ecore\_\-File\_\-Monitor $\ast$ecore\_\-file\_\-monitor)
+\begin{CompactList}\small\item\em Get the monitored path. \item\end{CompactList}\item 
+EAPI int \hyperlink{Ecore__File_8h_a070cd69247a2a03cc619148dc789b73}{ecore\_\-file\_\-path\_\-dir\_\-exists} (const char $\ast$in\_\-dir)
+\begin{CompactList}\small\item\em Check if the given directory is in PATH. \item\end{CompactList}\item 
+EAPI int \hyperlink{Ecore__File_8h_07f948bd1743f8fc545e498ce73356b4}{ecore\_\-file\_\-app\_\-installed} (const char $\ast$exe)
+\begin{CompactList}\small\item\em Check if the given application is installed. \item\end{CompactList}\item 
+EAPI Ecore\_\-List $\ast$ \hyperlink{Ecore__File_8h_9558d71dd8944d9a3127cba4fcf89ee9}{ecore\_\-file\_\-app\_\-list} (void)
+\begin{CompactList}\small\item\em Get a list of all the applications installed on the system. \item\end{CompactList}\item 
+EAPI int \hyperlink{Ecore__File_8h_28d533f9cab1644be3992ce973046621}{ecore\_\-file\_\-download} (const char $\ast$url, const char $\ast$dst, void($\ast$completion\_\-cb)(void $\ast$data, const char $\ast$file, int status), int($\ast$progress\_\-cb)(void $\ast$data, const char $\ast$file, long int dltotal, long int dlnow, long int ultotal, long int ulnow), void $\ast$data)
+\begin{CompactList}\small\item\em Download {\tt url} to the given {\tt dst}. \item\end{CompactList}\item 
+EAPI int \hyperlink{Ecore__File_8h_85c1e9652530bfd968f3e621e78514a5}{ecore\_\-file\_\-download\_\-protocol\_\-available} (const char $\ast$protocol)
+\begin{CompactList}\small\item\em Check if the given protocol is available. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Files utility functions. 
+
+
+
+\subsection{Function Documentation}
+\hypertarget{Ecore__File_8h_07f948bd1743f8fc545e498ce73356b4}{
+\index{Ecore_File.h@{Ecore\_\-File.h}!ecore_file_app_installed@{ecore\_\-file\_\-app\_\-installed}}
+\index{ecore_file_app_installed@{ecore\_\-file\_\-app\_\-installed}!Ecore_File.h@{Ecore\_\-File.h}}
+\subsubsection[ecore\_\-file\_\-app\_\-installed]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-file\_\-app\_\-installed (const char $\ast$ {\em exe})}}
+\label{Ecore__File_8h_07f948bd1743f8fc545e498ce73356b4}
+
+
+Check if the given application is installed. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em exe}]The name of the application \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]1 if the exe is in PATH and is executable\end{Desc}
+This function check if the given name exist in PATH and is executable \hypertarget{Ecore__File_8h_9558d71dd8944d9a3127cba4fcf89ee9}{
+\index{Ecore_File.h@{Ecore\_\-File.h}!ecore_file_app_list@{ecore\_\-file\_\-app\_\-list}}
+\index{ecore_file_app_list@{ecore\_\-file\_\-app\_\-list}!Ecore_File.h@{Ecore\_\-File.h}}
+\subsubsection[ecore\_\-file\_\-app\_\-list]{\setlength{\rightskip}{0pt plus 5cm}EAPI Ecore\_\-List$\ast$ ecore\_\-file\_\-app\_\-list (void)}}
+\label{Ecore__File_8h_9558d71dd8944d9a3127cba4fcf89ee9}
+
+
+Get a list of all the applications installed on the system. 
+
+\begin{Desc}
+\item[Returns:]An Ecore\_\-List containing all the executable files in the system \end{Desc}
+\hypertarget{Ecore__File_8h_8499e4f46878856f0ad46695f6d10f03}{
+\index{Ecore_File.h@{Ecore\_\-File.h}!ecore_file_can_exec@{ecore\_\-file\_\-can\_\-exec}}
+\index{ecore_file_can_exec@{ecore\_\-file\_\-can\_\-exec}!Ecore_File.h@{Ecore\_\-File.h}}
+\subsubsection[ecore\_\-file\_\-can\_\-exec]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-file\_\-can\_\-exec (const char $\ast$ {\em file})}}
+\label{Ecore__File_8h_8499e4f46878856f0ad46695f6d10f03}
+
+
+Check if file can be executed. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em file}]The name of the file \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]1 if the file can be executed, 0 otherwise \end{Desc}
+\hypertarget{Ecore__File_8h_a16ea16b47dd8e76205f43eea3d76505}{
+\index{Ecore_File.h@{Ecore\_\-File.h}!ecore_file_can_read@{ecore\_\-file\_\-can\_\-read}}
+\index{ecore_file_can_read@{ecore\_\-file\_\-can\_\-read}!Ecore_File.h@{Ecore\_\-File.h}}
+\subsubsection[ecore\_\-file\_\-can\_\-read]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-file\_\-can\_\-read (const char $\ast$ {\em file})}}
+\label{Ecore__File_8h_a16ea16b47dd8e76205f43eea3d76505}
+
+
+Check if file can be read. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em file}]The name of the file \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]1 if the file is readable, 0 otherwise \end{Desc}
+\hypertarget{Ecore__File_8h_cce7d88ad4f5c0f6b08172067a822a18}{
+\index{Ecore_File.h@{Ecore\_\-File.h}!ecore_file_can_write@{ecore\_\-file\_\-can\_\-write}}
+\index{ecore_file_can_write@{ecore\_\-file\_\-can\_\-write}!Ecore_File.h@{Ecore\_\-File.h}}
+\subsubsection[ecore\_\-file\_\-can\_\-write]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-file\_\-can\_\-write (const char $\ast$ {\em file})}}
+\label{Ecore__File_8h_cce7d88ad4f5c0f6b08172067a822a18}
+
+
+Check if file can be written. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em file}]The name of the file \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]1 if the file is writable, 0 otherwise \end{Desc}
+\hypertarget{Ecore__File_8h_40bd2e7b0ed8af2c76fc46373d1ade71}{
+\index{Ecore_File.h@{Ecore\_\-File.h}!ecore_file_cp@{ecore\_\-file\_\-cp}}
+\index{ecore_file_cp@{ecore\_\-file\_\-cp}!Ecore_File.h@{Ecore\_\-File.h}}
+\subsubsection[ecore\_\-file\_\-cp]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-file\_\-cp (const char $\ast$ {\em src}, const char $\ast$ {\em dst})}}
+\label{Ecore__File_8h_40bd2e7b0ed8af2c76fc46373d1ade71}
+
+
+Copy a file. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em src}]The name of the source file \item[{\em dst}]The name of the destination file \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]1 on success, 0 on failure \end{Desc}
+\hypertarget{Ecore__File_8h_5f2806cb1531356ff9e6a337d62d3432}{
+\index{Ecore_File.h@{Ecore\_\-File.h}!ecore_file_dir_get@{ecore\_\-file\_\-dir\_\-get}}
+\index{ecore_file_dir_get@{ecore\_\-file\_\-dir\_\-get}!Ecore_File.h@{Ecore\_\-File.h}}
+\subsubsection[ecore\_\-file\_\-dir\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI char$\ast$ ecore\_\-file\_\-dir\_\-get (const char $\ast$ {\em file})}}
+\label{Ecore__File_8h_5f2806cb1531356ff9e6a337d62d3432}
+
+
+Get the directory where file reside. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em file}]The name of the file \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The directory name \end{Desc}
+\hypertarget{Ecore__File_8h_28d533f9cab1644be3992ce973046621}{
+\index{Ecore_File.h@{Ecore\_\-File.h}!ecore_file_download@{ecore\_\-file\_\-download}}
+\index{ecore_file_download@{ecore\_\-file\_\-download}!Ecore_File.h@{Ecore\_\-File.h}}
+\subsubsection[ecore\_\-file\_\-download]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-file\_\-download (const char $\ast$ {\em url}, const char $\ast$ {\em dst}, void($\ast$)(void $\ast$data, const char $\ast$file, int status) {\em completion\_\-cb}, int($\ast$)(void $\ast$data, const char $\ast$file, long int dltotal, long int dlnow, long int ultotal, long int ulnow) {\em progress\_\-cb}, void $\ast$ {\em data})}}
+\label{Ecore__File_8h_28d533f9cab1644be3992ce973046621}
+
+
+Download {\tt url} to the given {\tt dst}. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em url}]The complete url to download \item[{\em dst}]The local file to save the downloaded to \item[{\em completion\_\-cb}]A callback called on download complete \item[{\em progress\_\-cb}]A callback called during the download operation \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]1 if the download start or 0 on failure\end{Desc}
+You must provide the full url, including 'http://', 'ftp://' or 'file://'.\par
+ If {\tt dst} already exist it will not be overwritten and the function will fail.\par
+ Ecore must be compiled with CURL to download using http and ftp protocols. \hypertarget{Ecore__File_8h_85c1e9652530bfd968f3e621e78514a5}{
+\index{Ecore_File.h@{Ecore\_\-File.h}!ecore_file_download_protocol_available@{ecore\_\-file\_\-download\_\-protocol\_\-available}}
+\index{ecore_file_download_protocol_available@{ecore\_\-file\_\-download\_\-protocol\_\-available}!Ecore_File.h@{Ecore\_\-File.h}}
+\subsubsection[ecore\_\-file\_\-download\_\-protocol\_\-available]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-file\_\-download\_\-protocol\_\-available (const char $\ast$ {\em protocol})}}
+\label{Ecore__File_8h_85c1e9652530bfd968f3e621e78514a5}
+
+
+Check if the given protocol is available. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em protocol}]The protocol to check \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]1 if protocol is handled or 0 if not\end{Desc}
+{\tt protocol} can be 'http://', 'ftp://' or 'file://'.\par
+ Ecore must be compiled with CURL to handle http and ftp protocols. \hypertarget{Ecore__File_8h_87e724a88222d37525f78e0567b5c5a4}{
+\index{Ecore_File.h@{Ecore\_\-File.h}!ecore_file_escape_name@{ecore\_\-file\_\-escape\_\-name}}
+\index{ecore_file_escape_name@{ecore\_\-file\_\-escape\_\-name}!Ecore_File.h@{Ecore\_\-File.h}}
+\subsubsection[ecore\_\-file\_\-escape\_\-name]{\setlength{\rightskip}{0pt plus 5cm}EAPI char$\ast$ ecore\_\-file\_\-escape\_\-name (const char $\ast$ {\em filename})}}
+\label{Ecore__File_8h_87e724a88222d37525f78e0567b5c5a4}
+
+
+Add the escape sequence ('$\backslash$') to the given filename. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em filename}]The file name \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The file name with special characters escaped; if the length of the resulting string is longer than PATH\_\-MAX it will return NULL \end{Desc}
+\hypertarget{Ecore__File_8h_806216434edae4dc6328edfd0e318fc6}{
+\index{Ecore_File.h@{Ecore\_\-File.h}!ecore_file_exists@{ecore\_\-file\_\-exists}}
+\index{ecore_file_exists@{ecore\_\-file\_\-exists}!Ecore_File.h@{Ecore\_\-File.h}}
+\subsubsection[ecore\_\-file\_\-exists]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-file\_\-exists (const char $\ast$ {\em file})}}
+\label{Ecore__File_8h_806216434edae4dc6328edfd0e318fc6}
+
+
+Check if file exists. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em file}]The name of the file \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]1 if file exists on local filesystem, 0 otherwise \end{Desc}
+\hypertarget{Ecore__File_8h_d22a09676af2f03c825652c1b2884345}{
+\index{Ecore_File.h@{Ecore\_\-File.h}!ecore_file_file_get@{ecore\_\-file\_\-file\_\-get}}
+\index{ecore_file_file_get@{ecore\_\-file\_\-file\_\-get}!Ecore_File.h@{Ecore\_\-File.h}}
+\subsubsection[ecore\_\-file\_\-file\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI const char$\ast$ ecore\_\-file\_\-file\_\-get (const char $\ast$ {\em path})}}
+\label{Ecore__File_8h_d22a09676af2f03c825652c1b2884345}
+
+
+Get the filename from a give path. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em path}]The complete path \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]Only the file name \end{Desc}
+\hypertarget{Ecore__File_8h_9497ff8ae37f46464565414711a031d0}{
+\index{Ecore_File.h@{Ecore\_\-File.h}!ecore_file_init@{ecore\_\-file\_\-init}}
+\index{ecore_file_init@{ecore\_\-file\_\-init}!Ecore_File.h@{Ecore\_\-File.h}}
+\subsubsection[ecore\_\-file\_\-init]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-file\_\-init (void)}}
+\label{Ecore__File_8h_9497ff8ae37f46464565414711a031d0}
+
+
+Initialize Ecore\_\-File and the services it will use. 
+
+Call this function once before you use any of the ecore file functions. \begin{Desc}
+\item[Returns:]Return the number howoften \hyperlink{Ecore__File_8h_9497ff8ae37f46464565414711a031d0}{ecore\_\-file\_\-init()} was call succesfully; 0 if it failed. \end{Desc}
+\hypertarget{Ecore__File_8h_32f8922f773174b36a40368c375b14de}{
+\index{Ecore_File.h@{Ecore\_\-File.h}!ecore_file_is_dir@{ecore\_\-file\_\-is\_\-dir}}
+\index{ecore_file_is_dir@{ecore\_\-file\_\-is\_\-dir}!Ecore_File.h@{Ecore\_\-File.h}}
+\subsubsection[ecore\_\-file\_\-is\_\-dir]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-file\_\-is\_\-dir (const char $\ast$ {\em file})}}
+\label{Ecore__File_8h_32f8922f773174b36a40368c375b14de}
+
+
+Check if file is a directory. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em file}]The name of the file \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]1 if file exist and is a directory, 0 otherwise \end{Desc}
+\hypertarget{Ecore__File_8h_53d9ae056ac2ac0bac959eac26f9d391}{
+\index{Ecore_File.h@{Ecore\_\-File.h}!ecore_file_ls@{ecore\_\-file\_\-ls}}
+\index{ecore_file_ls@{ecore\_\-file\_\-ls}!Ecore_File.h@{Ecore\_\-File.h}}
+\subsubsection[ecore\_\-file\_\-ls]{\setlength{\rightskip}{0pt plus 5cm}EAPI Ecore\_\-List$\ast$ ecore\_\-file\_\-ls (const char $\ast$ {\em dir})}}
+\label{Ecore__File_8h_53d9ae056ac2ac0bac959eac26f9d391}
+
+
+Get the list of the files and directories in a given directory. 
+
+The list will be sorted with strcoll as compare function. That means that you may want to set the current locale for the category LC\_\-COLLATE with setlocale(). For more information see the manual pages of strcoll and setlocale. The list will not contain the directory entries for '.' and '..'. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em dir}]The name of the directory to list \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]Return an Ecore\_\-List containing all the files in the directory; on failure it returns NULL. \end{Desc}
+\hypertarget{Ecore__File_8h_5d944689ac3273ca637fdfb0601edc57}{
+\index{Ecore_File.h@{Ecore\_\-File.h}!ecore_file_mkdir@{ecore\_\-file\_\-mkdir}}
+\index{ecore_file_mkdir@{ecore\_\-file\_\-mkdir}!Ecore_File.h@{Ecore\_\-File.h}}
+\subsubsection[ecore\_\-file\_\-mkdir]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-file\_\-mkdir (const char $\ast$ {\em dir})}}
+\label{Ecore__File_8h_5d944689ac3273ca637fdfb0601edc57}
+
+
+Create a new directory. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em dir}]The name of the directory to create \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]1 on successfull creation, 0 on failure\end{Desc}
+The directory is created with the mode: S\_\-IRUSR $|$ S\_\-IWUSR $|$ S\_\-IXUSR $|$ S\_\-IRGRP $|$ S\_\-IXGRP $|$ S\_\-IROTH $|$ S\_\-IXOTH \hypertarget{Ecore__File_8h_b377c26b139a5b2fa681de7a3d33d41c}{
+\index{Ecore_File.h@{Ecore\_\-File.h}!ecore_file_mkpath@{ecore\_\-file\_\-mkpath}}
+\index{ecore_file_mkpath@{ecore\_\-file\_\-mkpath}!Ecore_File.h@{Ecore\_\-File.h}}
+\subsubsection[ecore\_\-file\_\-mkpath]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-file\_\-mkpath (const char $\ast$ {\em path})}}
+\label{Ecore__File_8h_b377c26b139a5b2fa681de7a3d33d41c}
+
+
+Create a complete path. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em path}]The path to create \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]1 on success, 0 on failure \end{Desc}
+\hypertarget{Ecore__File_8h_aef663ea76aae7aeba5814f1b8f2a013}{
+\index{Ecore_File.h@{Ecore\_\-File.h}!ecore_file_mod_time@{ecore\_\-file\_\-mod\_\-time}}
+\index{ecore_file_mod_time@{ecore\_\-file\_\-mod\_\-time}!Ecore_File.h@{Ecore\_\-File.h}}
+\subsubsection[ecore\_\-file\_\-mod\_\-time]{\setlength{\rightskip}{0pt plus 5cm}EAPI long long ecore\_\-file\_\-mod\_\-time (const char $\ast$ {\em file})}}
+\label{Ecore__File_8h_aef663ea76aae7aeba5814f1b8f2a013}
+
+
+Get the time of the last modification to the give file. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em file}]The name of the file \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]Return the time of the last data modification, if an error should occur it will return 0 \end{Desc}
+\hypertarget{Ecore__File_8h_aefb02d67f98b2f859d796df625b7b26}{
+\index{Ecore_File.h@{Ecore\_\-File.h}!ecore_file_monitor_del@{ecore\_\-file\_\-monitor\_\-del}}
+\index{ecore_file_monitor_del@{ecore\_\-file\_\-monitor\_\-del}!Ecore_File.h@{Ecore\_\-File.h}}
+\subsubsection[ecore\_\-file\_\-monitor\_\-del]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-file\_\-monitor\_\-del (Ecore\_\-File\_\-Monitor $\ast$ {\em em})}}
+\label{Ecore__File_8h_aefb02d67f98b2f859d796df625b7b26}
+
+
+Stop monitoring a path. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em em}]The Ecore\_\-File\_\-Monitor to stop \end{description}
+\end{Desc}
+\hypertarget{Ecore__File_8h_1765c5a8c1710348736ab0c30bd353bc}{
+\index{Ecore_File.h@{Ecore\_\-File.h}!ecore_file_monitor_path_get@{ecore\_\-file\_\-monitor\_\-path\_\-get}}
+\index{ecore_file_monitor_path_get@{ecore\_\-file\_\-monitor\_\-path\_\-get}!Ecore_File.h@{Ecore\_\-File.h}}
+\subsubsection[ecore\_\-file\_\-monitor\_\-path\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI const char$\ast$ ecore\_\-file\_\-monitor\_\-path\_\-get (Ecore\_\-File\_\-Monitor $\ast$ {\em em})}}
+\label{Ecore__File_8h_1765c5a8c1710348736ab0c30bd353bc}
+
+
+Get the monitored path. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em em}]The Ecore\_\-File\_\-Monitor to query \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The path that is monitored by {\tt em} \end{Desc}
+\hypertarget{Ecore__File_8h_4f51c9794bb14a36721edaa67365e610}{
+\index{Ecore_File.h@{Ecore\_\-File.h}!ecore_file_mv@{ecore\_\-file\_\-mv}}
+\index{ecore_file_mv@{ecore\_\-file\_\-mv}!Ecore_File.h@{Ecore\_\-File.h}}
+\subsubsection[ecore\_\-file\_\-mv]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-file\_\-mv (const char $\ast$ {\em src}, const char $\ast$ {\em dst})}}
+\label{Ecore__File_8h_4f51c9794bb14a36721edaa67365e610}
+
+
+Move a file. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em src}]The name of the source file \item[{\em dst}]The name of the destination file \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]1 on success, 0 on failure \end{Desc}
+\hypertarget{Ecore__File_8h_a070cd69247a2a03cc619148dc789b73}{
+\index{Ecore_File.h@{Ecore\_\-File.h}!ecore_file_path_dir_exists@{ecore\_\-file\_\-path\_\-dir\_\-exists}}
+\index{ecore_file_path_dir_exists@{ecore\_\-file\_\-path\_\-dir\_\-exists}!Ecore_File.h@{Ecore\_\-File.h}}
+\subsubsection[ecore\_\-file\_\-path\_\-dir\_\-exists]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-file\_\-path\_\-dir\_\-exists (const char $\ast$ {\em in\_\-dir})}}
+\label{Ecore__File_8h_a070cd69247a2a03cc619148dc789b73}
+
+
+Check if the given directory is in PATH. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em The}]name of the directory to search in PATH \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]1 if the directory exist in PATH, 0 otherwise \end{Desc}
+\hypertarget{Ecore__File_8h_6dbbbb14c58a629e4eab1ccda26290f7}{
+\index{Ecore_File.h@{Ecore\_\-File.h}!ecore_file_readlink@{ecore\_\-file\_\-readlink}}
+\index{ecore_file_readlink@{ecore\_\-file\_\-readlink}!Ecore_File.h@{Ecore\_\-File.h}}
+\subsubsection[ecore\_\-file\_\-readlink]{\setlength{\rightskip}{0pt plus 5cm}EAPI char$\ast$ ecore\_\-file\_\-readlink (const char $\ast$ {\em link})}}
+\label{Ecore__File_8h_6dbbbb14c58a629e4eab1ccda26290f7}
+
+
+Get the path pointed by link. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em link}]The name of the link \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The path pointed by link or NULL \end{Desc}
+\hypertarget{Ecore__File_8h_b358bf1dc588e0e1929d31a72a213168}{
+\index{Ecore_File.h@{Ecore\_\-File.h}!ecore_file_realpath@{ecore\_\-file\_\-realpath}}
+\index{ecore_file_realpath@{ecore\_\-file\_\-realpath}!Ecore_File.h@{Ecore\_\-File.h}}
+\subsubsection[ecore\_\-file\_\-realpath]{\setlength{\rightskip}{0pt plus 5cm}EAPI char$\ast$ ecore\_\-file\_\-realpath (const char $\ast$ {\em file})}}
+\label{Ecore__File_8h_b358bf1dc588e0e1929d31a72a213168}
+
+
+Get the canonicalized absolute pathname. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em file}]The file path \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The canonicalized absolute pathname; on failure it will return an empty string \end{Desc}
+\hypertarget{Ecore__File_8h_aae112ed0f2b2cf4f1b57afbcbb0f0e8}{
+\index{Ecore_File.h@{Ecore\_\-File.h}!ecore_file_recursive_rm@{ecore\_\-file\_\-recursive\_\-rm}}
+\index{ecore_file_recursive_rm@{ecore\_\-file\_\-recursive\_\-rm}!Ecore_File.h@{Ecore\_\-File.h}}
+\subsubsection[ecore\_\-file\_\-recursive\_\-rm]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-file\_\-recursive\_\-rm (const char $\ast$ {\em dir})}}
+\label{Ecore__File_8h_aae112ed0f2b2cf4f1b57afbcbb0f0e8}
+
+
+Delete a directory and all its contents. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em dir}]The name of the directory to delete \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]1 on success, 0 on failure\end{Desc}
+If dir is a link only the link is removed \hypertarget{Ecore__File_8h_8c80a7e82b849875ac9535fe739779e9}{
+\index{Ecore_File.h@{Ecore\_\-File.h}!ecore_file_rmdir@{ecore\_\-file\_\-rmdir}}
+\index{ecore_file_rmdir@{ecore\_\-file\_\-rmdir}!Ecore_File.h@{Ecore\_\-File.h}}
+\subsubsection[ecore\_\-file\_\-rmdir]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-file\_\-rmdir (const char $\ast$ {\em dir})}}
+\label{Ecore__File_8h_8c80a7e82b849875ac9535fe739779e9}
+
+
+Delete the given dir. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em dir}]The name of the directory to delete \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]1 on success, 0 on failure \end{Desc}
+\hypertarget{Ecore__File_8h_fa64f6af8d6f80acef1a29366a31d55d}{
+\index{Ecore_File.h@{Ecore\_\-File.h}!ecore_file_shutdown@{ecore\_\-file\_\-shutdown}}
+\index{ecore_file_shutdown@{ecore\_\-file\_\-shutdown}!Ecore_File.h@{Ecore\_\-File.h}}
+\subsubsection[ecore\_\-file\_\-shutdown]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-file\_\-shutdown (void)}}
+\label{Ecore__File_8h_fa64f6af8d6f80acef1a29366a31d55d}
+
+
+Shutdown the Ecore\_\-File. 
+
+\begin{Desc}
+\item[Returns:]returns the number of libraries that still uses Ecore\_\-File \end{Desc}
+\hypertarget{Ecore__File_8h_6ac9d3d430a6110467ca3e2ac96a8851}{
+\index{Ecore_File.h@{Ecore\_\-File.h}!ecore_file_size@{ecore\_\-file\_\-size}}
+\index{ecore_file_size@{ecore\_\-file\_\-size}!Ecore_File.h@{Ecore\_\-File.h}}
+\subsubsection[ecore\_\-file\_\-size]{\setlength{\rightskip}{0pt plus 5cm}EAPI long long ecore\_\-file\_\-size (const char $\ast$ {\em file})}}
+\label{Ecore__File_8h_6ac9d3d430a6110467ca3e2ac96a8851}
+
+
+Get the size of the given file. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em file}]The name of the file \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The size of the file in byte \end{Desc}
+\hypertarget{Ecore__File_8h_05c21b016f02562661791067a5bc853e}{
+\index{Ecore_File.h@{Ecore\_\-File.h}!ecore_file_strip_ext@{ecore\_\-file\_\-strip\_\-ext}}
+\index{ecore_file_strip_ext@{ecore\_\-file\_\-strip\_\-ext}!Ecore_File.h@{Ecore\_\-File.h}}
+\subsubsection[ecore\_\-file\_\-strip\_\-ext]{\setlength{\rightskip}{0pt plus 5cm}EAPI char$\ast$ ecore\_\-file\_\-strip\_\-ext (const char $\ast$ {\em path})}}
+\label{Ecore__File_8h_05c21b016f02562661791067a5bc853e}
+
+
+Remove the extension from a given path. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em path}]The name of the file \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]A newly allocated string with the extension stripped out or NULL on errors \end{Desc}
+\hypertarget{Ecore__File_8h_7f3bc42064d48644911783ccec378613}{
+\index{Ecore_File.h@{Ecore\_\-File.h}!ecore_file_symlink@{ecore\_\-file\_\-symlink}}
+\index{ecore_file_symlink@{ecore\_\-file\_\-symlink}!Ecore_File.h@{Ecore\_\-File.h}}
+\subsubsection[ecore\_\-file\_\-symlink]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-file\_\-symlink (const char $\ast$ {\em src}, const char $\ast$ {\em dest})}}
+\label{Ecore__File_8h_7f3bc42064d48644911783ccec378613}
+
+
+Create a symbolic link. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em src}]The name of the file to link \item[{\em dest}]The name of link \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]1 on success, 0 on failure \end{Desc}
+\hypertarget{Ecore__File_8h_2ec6ea202ffb755ca12e8dd85ce345a1}{
+\index{Ecore_File.h@{Ecore\_\-File.h}!ecore_file_unlink@{ecore\_\-file\_\-unlink}}
+\index{ecore_file_unlink@{ecore\_\-file\_\-unlink}!Ecore_File.h@{Ecore\_\-File.h}}
+\subsubsection[ecore\_\-file\_\-unlink]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-file\_\-unlink (const char $\ast$ {\em file})}}
+\label{Ecore__File_8h_2ec6ea202ffb755ca12e8dd85ce345a1}
+
+
+Delete the given file. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em file}]The name of the file to delete \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]1 on success, 0 on failure \end{Desc}
diff --git a/doc/latex/Ecore__Ipc_8h.tex b/doc/latex/Ecore__Ipc_8h.tex
new file mode 100644
index 0000000..979aa20
--- /dev/null
+++ b/doc/latex/Ecore__Ipc_8h.tex
@@ -0,0 +1,219 @@
+\hypertarget{Ecore__Ipc_8h}{
+\section{Ecore\_\-Ipc.h File Reference}
+\label{Ecore__Ipc_8h}\index{Ecore_Ipc.h@{Ecore\_\-Ipc.h}}
+}
+Ecore inter-process communication functions. 
+
+\subsection*{Typedefs}
+\begin{CompactItemize}
+\item 
+\hypertarget{Ecore__Ipc_8h_e7e172a5fc9ae1b60deae8539b802c50}{
+typedef void \hyperlink{Ecore__Ipc_8h_e7e172a5fc9ae1b60deae8539b802c50}{Ecore\_\-Ipc\_\-Server}}
+\label{Ecore__Ipc_8h_e7e172a5fc9ae1b60deae8539b802c50}
+
+\begin{CompactList}\small\item\em An IPC connection handle. \item\end{CompactList}\item 
+\hypertarget{Ecore__Ipc_8h_907f972d57d41ff33fc6eb2a37be9ae8}{
+typedef void \hyperlink{Ecore__Ipc_8h_907f972d57d41ff33fc6eb2a37be9ae8}{Ecore\_\-Ipc\_\-Client}}
+\label{Ecore__Ipc_8h_907f972d57d41ff33fc6eb2a37be9ae8}
+
+\begin{CompactList}\small\item\em An IPC connection handle. \item\end{CompactList}\end{CompactItemize}
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+\hypertarget{Ecore__Ipc_8h_26e93ea1217d4296d7ed7a84cf5e4577}{
+EAPI unsigned short \hyperlink{Ecore__Ipc_8h_26e93ea1217d4296d7ed7a84cf5e4577}{\_\-ecore\_\-ipc\_\-swap\_\-16} (unsigned short v)}
+\label{Ecore__Ipc_8h_26e93ea1217d4296d7ed7a84cf5e4577}
+
+\begin{CompactList}\small\item\em Macros used for generic data packing. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__IPC__Library__Group_gde1baa6a3e79dd7c9bd6244dad0e6571}{ecore\_\-ipc\_\-init} (void)
+\begin{CompactList}\small\item\em Initialises the Ecore IPC library. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__IPC__Library__Group_g48e9b9ace36dd75ade7ffa90fa9a093c}{ecore\_\-ipc\_\-shutdown} (void)
+\begin{CompactList}\small\item\em Shuts down the Ecore IPC library. \item\end{CompactList}\item 
+EAPI \hyperlink{Ecore__Ipc_8h_e7e172a5fc9ae1b60deae8539b802c50}{Ecore\_\-Ipc\_\-Server} $\ast$ \hyperlink{group__Ecore__IPC__Server__Group_geba705e14ef79c1f824fcc1c184ddadb}{ecore\_\-ipc\_\-server\_\-add} (Ecore\_\-Ipc\_\-Type type, const char $\ast$name, int port, const void $\ast$data)
+\begin{CompactList}\small\item\em Creates an IPC server that listens for connections. \item\end{CompactList}\item 
+EAPI \hyperlink{Ecore__Ipc_8h_e7e172a5fc9ae1b60deae8539b802c50}{Ecore\_\-Ipc\_\-Server} $\ast$ \hyperlink{group__Ecore__IPC__Server__Group_gfe02c81940d4e5a464cb32e125887f7e}{ecore\_\-ipc\_\-server\_\-connect} (Ecore\_\-Ipc\_\-Type type, char $\ast$name, int port, const void $\ast$data)
+\begin{CompactList}\small\item\em Creates an IPC server object to represent the IPC server listening on the given port. \item\end{CompactList}\item 
+EAPI void $\ast$ \hyperlink{group__Ecore__IPC__Server__Group_g04148eb8454432091e29b185c68a3eb2}{ecore\_\-ipc\_\-server\_\-del} (\hyperlink{Ecore__Ipc_8h_e7e172a5fc9ae1b60deae8539b802c50}{Ecore\_\-Ipc\_\-Server} $\ast$svr)
+\begin{CompactList}\small\item\em Closes the connection and frees the given IPC server. \item\end{CompactList}\item 
+EAPI void $\ast$ \hyperlink{group__Ecore__IPC__Server__Group_gc32fe6a6757a54e6714fb080472f8901}{ecore\_\-ipc\_\-server\_\-data\_\-get} (\hyperlink{Ecore__Ipc_8h_e7e172a5fc9ae1b60deae8539b802c50}{Ecore\_\-Ipc\_\-Server} $\ast$svr)
+\begin{CompactList}\small\item\em Retrieves the data associated with the given IPC server. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__IPC__Server__Group_gc585ae7ee881855af1f0322eaa5c5108}{ecore\_\-ipc\_\-server\_\-connected\_\-get} (\hyperlink{Ecore__Ipc_8h_e7e172a5fc9ae1b60deae8539b802c50}{Ecore\_\-Ipc\_\-Server} $\ast$svr)
+\begin{CompactList}\small\item\em Retrieves whether the given IPC server is currently connected. \item\end{CompactList}\item 
+EAPI Ecore\_\-List $\ast$ \hyperlink{group__Ecore__IPC__Server__Group_gc67d22ab84194a71ff9c4c51e718112a}{ecore\_\-ipc\_\-server\_\-clients\_\-get} (\hyperlink{Ecore__Ipc_8h_e7e172a5fc9ae1b60deae8539b802c50}{Ecore\_\-Ipc\_\-Server} $\ast$svr)
+\begin{CompactList}\small\item\em Retrieves the list of clients for this server. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__IPC__Server__Group_ge192e84cfa5893c798662adfaed9dd57}{ecore\_\-ipc\_\-server\_\-send} (\hyperlink{Ecore__Ipc_8h_e7e172a5fc9ae1b60deae8539b802c50}{Ecore\_\-Ipc\_\-Server} $\ast$svr, int major, int minor, int ref, int ref\_\-to, int response, void $\ast$data, int size)
+\begin{CompactList}\small\item\em Sends a message to the given IPC server. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore__Ipc_8h_e74ad64c4bfebcaa111fe1e878e8f900}{ecore\_\-ipc\_\-server\_\-client\_\-limit\_\-set} (\hyperlink{Ecore__Ipc_8h_e7e172a5fc9ae1b60deae8539b802c50}{Ecore\_\-Ipc\_\-Server} $\ast$svr, int client\_\-limit, char reject\_\-excess\_\-clients)
+\begin{CompactList}\small\item\em Sets a limit on the number of clients that can be handled concurrently by the given server, and a policy on what to do if excess clients try to connect. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore__Ipc_8h_5b9e5bc3f1d229506e6fe6843e6c14e1}{ecore\_\-ipc\_\-server\_\-data\_\-size\_\-max\_\-set} (\hyperlink{Ecore__Ipc_8h_e7e172a5fc9ae1b60deae8539b802c50}{Ecore\_\-Ipc\_\-Server} $\ast$srv, int size)
+\begin{CompactList}\small\item\em Sets the max data payload size for an Ipc message in bytes. \item\end{CompactList}\item 
+EAPI int \hyperlink{Ecore__Ipc_8h_02bef0d79f9c322ba6cfe40ef5f80940}{ecore\_\-ipc\_\-server\_\-data\_\-size\_\-max\_\-get} (\hyperlink{Ecore__Ipc_8h_e7e172a5fc9ae1b60deae8539b802c50}{Ecore\_\-Ipc\_\-Server} $\ast$srv)
+\begin{CompactList}\small\item\em Gets the max data payload size for an Ipc message in bytes. \item\end{CompactList}\item 
+EAPI char $\ast$ \hyperlink{Ecore__Ipc_8h_c782269639f06d03744020255c5d8cd6}{ecore\_\-ipc\_\-server\_\-ip\_\-get} (\hyperlink{Ecore__Ipc_8h_e7e172a5fc9ae1b60deae8539b802c50}{Ecore\_\-Ipc\_\-Server} $\ast$svr)
+\begin{CompactList}\small\item\em Gets the IP address of a server that has been connected to. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore__Ipc_8h_70cdc0c1aea94e13dc7b740c11313c9a}{ecore\_\-ipc\_\-server\_\-flush} (\hyperlink{Ecore__Ipc_8h_e7e172a5fc9ae1b60deae8539b802c50}{Ecore\_\-Ipc\_\-Server} $\ast$svr)
+\begin{CompactList}\small\item\em Flushes all pending data to the given server. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__IPC__Client__Group_gd401b95b95c998bcf7749ffe876de812}{ecore\_\-ipc\_\-client\_\-send} (\hyperlink{Ecore__Ipc_8h_907f972d57d41ff33fc6eb2a37be9ae8}{Ecore\_\-Ipc\_\-Client} $\ast$cl, int major, int minor, int ref, int ref\_\-to, int response, void $\ast$data, int size)
+\begin{CompactList}\small\item\em Sends a message to the given IPC client. \item\end{CompactList}\item 
+EAPI \hyperlink{Ecore__Ipc_8h_e7e172a5fc9ae1b60deae8539b802c50}{Ecore\_\-Ipc\_\-Server} $\ast$ \hyperlink{group__Ecore__IPC__Client__Group_g6fef6153dc1ed497d78265103518feed}{ecore\_\-ipc\_\-client\_\-server\_\-get} (\hyperlink{Ecore__Ipc_8h_907f972d57d41ff33fc6eb2a37be9ae8}{Ecore\_\-Ipc\_\-Client} $\ast$cl)
+\begin{CompactList}\small\item\em Retrieves the IPC server that the given IPC client is connected to. \item\end{CompactList}\item 
+EAPI void $\ast$ \hyperlink{group__Ecore__IPC__Client__Group_g33d563f3d055c9dbec3d3200cce36913}{ecore\_\-ipc\_\-client\_\-del} (\hyperlink{Ecore__Ipc_8h_907f972d57d41ff33fc6eb2a37be9ae8}{Ecore\_\-Ipc\_\-Client} $\ast$cl)
+\begin{CompactList}\small\item\em Closes the connection and frees memory allocated to the given IPC client. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__IPC__Client__Group_g7cdfcf0051c9d1bcc7e72aac33a0acd7}{ecore\_\-ipc\_\-client\_\-data\_\-set} (\hyperlink{Ecore__Ipc_8h_907f972d57d41ff33fc6eb2a37be9ae8}{Ecore\_\-Ipc\_\-Client} $\ast$cl, const void $\ast$data)
+\begin{CompactList}\small\item\em Sets the IPC data associated with the given IPC client to {\tt data}. \item\end{CompactList}\item 
+EAPI void $\ast$ \hyperlink{group__Ecore__IPC__Client__Group_gb3285d8275d0662676c55f612dbaa49f}{ecore\_\-ipc\_\-client\_\-data\_\-get} (\hyperlink{Ecore__Ipc_8h_907f972d57d41ff33fc6eb2a37be9ae8}{Ecore\_\-Ipc\_\-Client} $\ast$cl)
+\begin{CompactList}\small\item\em Retrieves the data that has been associated with the given IPC client. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore__Ipc_8h_7be3fd240390eb78344973a0e0b7a848}{ecore\_\-ipc\_\-client\_\-data\_\-size\_\-max\_\-set} (\hyperlink{Ecore__Ipc_8h_907f972d57d41ff33fc6eb2a37be9ae8}{Ecore\_\-Ipc\_\-Client} $\ast$cl, int size)
+\begin{CompactList}\small\item\em Sets the max data payload size for an Ipc message in bytes. \item\end{CompactList}\item 
+EAPI int \hyperlink{Ecore__Ipc_8h_dee9ddd697032fa36798cbd857225b7c}{ecore\_\-ipc\_\-client\_\-data\_\-size\_\-max\_\-get} (\hyperlink{Ecore__Ipc_8h_907f972d57d41ff33fc6eb2a37be9ae8}{Ecore\_\-Ipc\_\-Client} $\ast$cl)
+\begin{CompactList}\small\item\em Sets the max data payload size for an Ipc message in bytes. \item\end{CompactList}\item 
+EAPI char $\ast$ \hyperlink{Ecore__Ipc_8h_8cf25d708ee906829baa12e083c2b813}{ecore\_\-ipc\_\-client\_\-ip\_\-get} (\hyperlink{Ecore__Ipc_8h_907f972d57d41ff33fc6eb2a37be9ae8}{Ecore\_\-Ipc\_\-Client} $\ast$cl)
+\begin{CompactList}\small\item\em Gets the IP address of a client that has been connected to. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore__Ipc_8h_4302e25c2db00f3dc7a08b72329b952d}{ecore\_\-ipc\_\-client\_\-flush} (\hyperlink{Ecore__Ipc_8h_907f972d57d41ff33fc6eb2a37be9ae8}{Ecore\_\-Ipc\_\-Client} $\ast$cl)
+\begin{CompactList}\small\item\em Flushes all pending data to the given client. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Con__Client__Group_gad8e029c00a1a4a6097f5ff17dec3c2e}{ecore\_\-ipc\_\-ssl\_\-available\_\-get} (void)
+\begin{CompactList}\small\item\em Returns if SSL support is available. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Ecore inter-process communication functions. 
+
+
+
+\subsection{Function Documentation}
+\hypertarget{Ecore__Ipc_8h_dee9ddd697032fa36798cbd857225b7c}{
+\index{Ecore_Ipc.h@{Ecore\_\-Ipc.h}!ecore_ipc_client_data_size_max_get@{ecore\_\-ipc\_\-client\_\-data\_\-size\_\-max\_\-get}}
+\index{ecore_ipc_client_data_size_max_get@{ecore\_\-ipc\_\-client\_\-data\_\-size\_\-max\_\-get}!Ecore_Ipc.h@{Ecore\_\-Ipc.h}}
+\subsubsection[ecore\_\-ipc\_\-client\_\-data\_\-size\_\-max\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-ipc\_\-client\_\-data\_\-size\_\-max\_\-get (\hyperlink{Ecore__Ipc_8h_907f972d57d41ff33fc6eb2a37be9ae8}{Ecore\_\-Ipc\_\-Client} $\ast$ {\em cl})}}
+\label{Ecore__Ipc_8h_dee9ddd697032fa36798cbd857225b7c}
+
+
+Sets the max data payload size for an Ipc message in bytes. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em cl}]The given client. \item[{\em size}]The maximum data payload size in bytes. \end{description}
+\end{Desc}
+\hypertarget{Ecore__Ipc_8h_7be3fd240390eb78344973a0e0b7a848}{
+\index{Ecore_Ipc.h@{Ecore\_\-Ipc.h}!ecore_ipc_client_data_size_max_set@{ecore\_\-ipc\_\-client\_\-data\_\-size\_\-max\_\-set}}
+\index{ecore_ipc_client_data_size_max_set@{ecore\_\-ipc\_\-client\_\-data\_\-size\_\-max\_\-set}!Ecore_Ipc.h@{Ecore\_\-Ipc.h}}
+\subsubsection[ecore\_\-ipc\_\-client\_\-data\_\-size\_\-max\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-ipc\_\-client\_\-data\_\-size\_\-max\_\-set (\hyperlink{Ecore__Ipc_8h_907f972d57d41ff33fc6eb2a37be9ae8}{Ecore\_\-Ipc\_\-Client} $\ast$ {\em cl}, int {\em size})}}
+\label{Ecore__Ipc_8h_7be3fd240390eb78344973a0e0b7a848}
+
+
+Sets the max data payload size for an Ipc message in bytes. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em client}]The given client. \item[{\em size}]The maximum data payload size in bytes. \end{description}
+\end{Desc}
+\hypertarget{Ecore__Ipc_8h_4302e25c2db00f3dc7a08b72329b952d}{
+\index{Ecore_Ipc.h@{Ecore\_\-Ipc.h}!ecore_ipc_client_flush@{ecore\_\-ipc\_\-client\_\-flush}}
+\index{ecore_ipc_client_flush@{ecore\_\-ipc\_\-client\_\-flush}!Ecore_Ipc.h@{Ecore\_\-Ipc.h}}
+\subsubsection[ecore\_\-ipc\_\-client\_\-flush]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-ipc\_\-client\_\-flush (\hyperlink{Ecore__Ipc_8h_907f972d57d41ff33fc6eb2a37be9ae8}{Ecore\_\-Ipc\_\-Client} $\ast$ {\em cl})}}
+\label{Ecore__Ipc_8h_4302e25c2db00f3dc7a08b72329b952d}
+
+
+Flushes all pending data to the given client. 
+
+Will return when done.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em cl}]The given client. \end{description}
+\end{Desc}
+\hypertarget{Ecore__Ipc_8h_8cf25d708ee906829baa12e083c2b813}{
+\index{Ecore_Ipc.h@{Ecore\_\-Ipc.h}!ecore_ipc_client_ip_get@{ecore\_\-ipc\_\-client\_\-ip\_\-get}}
+\index{ecore_ipc_client_ip_get@{ecore\_\-ipc\_\-client\_\-ip\_\-get}!Ecore_Ipc.h@{Ecore\_\-Ipc.h}}
+\subsubsection[ecore\_\-ipc\_\-client\_\-ip\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI char$\ast$ ecore\_\-ipc\_\-client\_\-ip\_\-get (\hyperlink{Ecore__Ipc_8h_907f972d57d41ff33fc6eb2a37be9ae8}{Ecore\_\-Ipc\_\-Client} $\ast$ {\em cl})}}
+\label{Ecore__Ipc_8h_8cf25d708ee906829baa12e083c2b813}
+
+
+Gets the IP address of a client that has been connected to. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em cl}]The given client. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]A pointer to an internal string that contains the IP address of the connected server in the form \char`\"{}XXX.YYY.ZZZ.AAA\char`\"{} IP notation. This string should not be modified or trusted to stay valid after deletion for the {\tt cl} object. If no IP is known NULL is returned. \end{Desc}
+\hypertarget{Ecore__Ipc_8h_e74ad64c4bfebcaa111fe1e878e8f900}{
+\index{Ecore_Ipc.h@{Ecore\_\-Ipc.h}!ecore_ipc_server_client_limit_set@{ecore\_\-ipc\_\-server\_\-client\_\-limit\_\-set}}
+\index{ecore_ipc_server_client_limit_set@{ecore\_\-ipc\_\-server\_\-client\_\-limit\_\-set}!Ecore_Ipc.h@{Ecore\_\-Ipc.h}}
+\subsubsection[ecore\_\-ipc\_\-server\_\-client\_\-limit\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-ipc\_\-server\_\-client\_\-limit\_\-set (\hyperlink{Ecore__Ipc_8h_e7e172a5fc9ae1b60deae8539b802c50}{Ecore\_\-Ipc\_\-Server} $\ast$ {\em svr}, int {\em client\_\-limit}, char {\em reject\_\-excess\_\-clients})}}
+\label{Ecore__Ipc_8h_e74ad64c4bfebcaa111fe1e878e8f900}
+
+
+Sets a limit on the number of clients that can be handled concurrently by the given server, and a policy on what to do if excess clients try to connect. 
+
+Beware that if you set this once ecore is already running, you may already have pending CLIENT\_\-ADD events in your event queue. Those clients have already connected and will not be affected by this call. Only clients subsequently trying to connect will be affected. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em svr}]The given server. \item[{\em client\_\-limit}]The maximum number of clients to handle concurrently. -1 means unlimited (default). 0 effectively disables the server. \item[{\em reject\_\-excess\_\-clients}]Set to 1 to automatically disconnect excess clients as soon as they connect if you are already handling client\_\-limit clients. Set to 0 (default) to just hold off on the \char`\"{}accept()\char`\"{} system call until the number of active clients drops. This causes the kernel to queue up to 4096 connections (or your kernel's limit, whichever is lower). \end{description}
+\end{Desc}
+\hypertarget{Ecore__Ipc_8h_02bef0d79f9c322ba6cfe40ef5f80940}{
+\index{Ecore_Ipc.h@{Ecore\_\-Ipc.h}!ecore_ipc_server_data_size_max_get@{ecore\_\-ipc\_\-server\_\-data\_\-size\_\-max\_\-get}}
+\index{ecore_ipc_server_data_size_max_get@{ecore\_\-ipc\_\-server\_\-data\_\-size\_\-max\_\-get}!Ecore_Ipc.h@{Ecore\_\-Ipc.h}}
+\subsubsection[ecore\_\-ipc\_\-server\_\-data\_\-size\_\-max\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-ipc\_\-server\_\-data\_\-size\_\-max\_\-get (\hyperlink{Ecore__Ipc_8h_e7e172a5fc9ae1b60deae8539b802c50}{Ecore\_\-Ipc\_\-Server} $\ast$ {\em svr})}}
+\label{Ecore__Ipc_8h_02bef0d79f9c322ba6cfe40ef5f80940}
+
+
+Gets the max data payload size for an Ipc message in bytes. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em svr}]The given server. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The maximum data payload in bytes. \end{Desc}
+\hypertarget{Ecore__Ipc_8h_5b9e5bc3f1d229506e6fe6843e6c14e1}{
+\index{Ecore_Ipc.h@{Ecore\_\-Ipc.h}!ecore_ipc_server_data_size_max_set@{ecore\_\-ipc\_\-server\_\-data\_\-size\_\-max\_\-set}}
+\index{ecore_ipc_server_data_size_max_set@{ecore\_\-ipc\_\-server\_\-data\_\-size\_\-max\_\-set}!Ecore_Ipc.h@{Ecore\_\-Ipc.h}}
+\subsubsection[ecore\_\-ipc\_\-server\_\-data\_\-size\_\-max\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-ipc\_\-server\_\-data\_\-size\_\-max\_\-set (\hyperlink{Ecore__Ipc_8h_e7e172a5fc9ae1b60deae8539b802c50}{Ecore\_\-Ipc\_\-Server} $\ast$ {\em svr}, int {\em size})}}
+\label{Ecore__Ipc_8h_5b9e5bc3f1d229506e6fe6843e6c14e1}
+
+
+Sets the max data payload size for an Ipc message in bytes. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em svr}]The given server. \item[{\em size}]The maximum data payload size in bytes. \end{description}
+\end{Desc}
+\hypertarget{Ecore__Ipc_8h_70cdc0c1aea94e13dc7b740c11313c9a}{
+\index{Ecore_Ipc.h@{Ecore\_\-Ipc.h}!ecore_ipc_server_flush@{ecore\_\-ipc\_\-server\_\-flush}}
+\index{ecore_ipc_server_flush@{ecore\_\-ipc\_\-server\_\-flush}!Ecore_Ipc.h@{Ecore\_\-Ipc.h}}
+\subsubsection[ecore\_\-ipc\_\-server\_\-flush]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-ipc\_\-server\_\-flush (\hyperlink{Ecore__Ipc_8h_e7e172a5fc9ae1b60deae8539b802c50}{Ecore\_\-Ipc\_\-Server} $\ast$ {\em svr})}}
+\label{Ecore__Ipc_8h_70cdc0c1aea94e13dc7b740c11313c9a}
+
+
+Flushes all pending data to the given server. 
+
+Will return when done.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em svr}]The given server. \end{description}
+\end{Desc}
+\hypertarget{Ecore__Ipc_8h_c782269639f06d03744020255c5d8cd6}{
+\index{Ecore_Ipc.h@{Ecore\_\-Ipc.h}!ecore_ipc_server_ip_get@{ecore\_\-ipc\_\-server\_\-ip\_\-get}}
+\index{ecore_ipc_server_ip_get@{ecore\_\-ipc\_\-server\_\-ip\_\-get}!Ecore_Ipc.h@{Ecore\_\-Ipc.h}}
+\subsubsection[ecore\_\-ipc\_\-server\_\-ip\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI char$\ast$ ecore\_\-ipc\_\-server\_\-ip\_\-get (\hyperlink{Ecore__Ipc_8h_e7e172a5fc9ae1b60deae8539b802c50}{Ecore\_\-Ipc\_\-Server} $\ast$ {\em svr})}}
+\label{Ecore__Ipc_8h_c782269639f06d03744020255c5d8cd6}
+
+
+Gets the IP address of a server that has been connected to. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em svr}]The given server. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]A pointer to an internal string that contains the IP address of the connected server in the form \char`\"{}XXX.YYY.ZZZ.AAA\char`\"{} IP notation. This string should not be modified or trusted to stay valid after deletion for the {\tt svr} object. If no IP is known NULL is returned. \end{Desc}
diff --git a/doc/latex/Ecore__Job_8h.tex b/doc/latex/Ecore__Job_8h.tex
new file mode 100644
index 0000000..1d953c2
--- /dev/null
+++ b/doc/latex/Ecore__Job_8h.tex
@@ -0,0 +1,26 @@
+\hypertarget{Ecore__Job_8h}{
+\section{Ecore\_\-Job.h File Reference}
+\label{Ecore__Job_8h}\index{Ecore_Job.h@{Ecore\_\-Job.h}}
+}
+Functions for dealing with Ecore jobs. 
+
+\subsection*{Typedefs}
+\begin{CompactItemize}
+\item 
+\hypertarget{Ecore__Job_8h_11cf21598fca412bd4a8a0a502717c61}{
+typedef void \hyperlink{Ecore__Job_8h_11cf21598fca412bd4a8a0a502717c61}{Ecore\_\-Job}}
+\label{Ecore__Job_8h_11cf21598fca412bd4a8a0a502717c61}
+
+\begin{CompactList}\small\item\em A job handle. \item\end{CompactList}\end{CompactItemize}
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+EAPI \hyperlink{Ecore__Job_8h_11cf21598fca412bd4a8a0a502717c61}{Ecore\_\-Job} $\ast$ \hyperlink{group__Ecore__Job__Group_g9bb4655e3e4c06d78cd07aa0ac055956}{ecore\_\-job\_\-add} (void($\ast$func)(void $\ast$data), const void $\ast$data)
+\begin{CompactList}\small\item\em Add a job to the event queue. \item\end{CompactList}\item 
+EAPI void $\ast$ \hyperlink{group__Ecore__Job__Group_ge64c687b8d34b255cf9ab62175e62859}{ecore\_\-job\_\-del} (\hyperlink{Ecore__Job_8h_11cf21598fca412bd4a8a0a502717c61}{Ecore\_\-Job} $\ast$job)
+\begin{CompactList}\small\item\em Delete a queued job that has not yet been executed. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Functions for dealing with Ecore jobs. 
+
diff --git a/doc/latex/Ecore__Sdl_8h.tex b/doc/latex/Ecore__Sdl_8h.tex
new file mode 100644
index 0000000..59a6939
--- /dev/null
+++ b/doc/latex/Ecore__Sdl_8h.tex
@@ -0,0 +1,88 @@
+\hypertarget{Ecore__Sdl_8h}{
+\section{Ecore\_\-Sdl.h File Reference}
+\label{Ecore__Sdl_8h}\index{Ecore_Sdl.h@{Ecore\_\-Sdl.h}}
+}
+Ecore SDL system functions. 
+
+\subsection*{Data Structures}
+\begin{CompactItemize}
+\item 
+struct \hyperlink{struct__Ecore__Sdl__Event__Key__Down}{\_\-Ecore\_\-Sdl\_\-Event\_\-Key\_\-Down}
+\begin{CompactList}\small\item\em SDL Key Down event. \item\end{CompactList}\item 
+struct \hyperlink{struct__Ecore__Sdl__Event__Key__Up}{\_\-Ecore\_\-Sdl\_\-Event\_\-Key\_\-Up}
+\begin{CompactList}\small\item\em SDL Key Up event. \item\end{CompactList}\item 
+struct \hyperlink{struct__Ecore__Sdl__Event__Mouse__Button__Down}{\_\-Ecore\_\-Sdl\_\-Event\_\-Mouse\_\-Button\_\-Down}
+\begin{CompactList}\small\item\em SDL Mouse Down event. \item\end{CompactList}\item 
+struct \hyperlink{struct__Ecore__Sdl__Event__Mouse__Button__Up}{\_\-Ecore\_\-Sdl\_\-Event\_\-Mouse\_\-Button\_\-Up}
+\begin{CompactList}\small\item\em SDL Mouse Up event. \item\end{CompactList}\item 
+struct \hyperlink{struct__Ecore__Sdl__Event__Mouse__Move}{\_\-Ecore\_\-Sdl\_\-Event\_\-Mouse\_\-Move}
+\begin{CompactList}\small\item\em SDL Mouse Move event. \item\end{CompactList}\item 
+struct \hyperlink{struct__Ecore__Sdl__Event__Mouse__Wheel}{\_\-Ecore\_\-Sdl\_\-Event\_\-Mouse\_\-Wheel}
+\begin{CompactList}\small\item\em SDL Mouse Wheel event. \item\end{CompactList}\end{CompactItemize}
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+EAPI int \hyperlink{Ecore__Sdl_8h_6a31db6514bd146443a57ecbf0e5965f}{ecore\_\-sdl\_\-shutdown} (void)
+\begin{CompactList}\small\item\em Shuts down the Ecore\_\-Sdl library. \item\end{CompactList}\end{CompactItemize}
+\subsection*{Variables}
+\begin{CompactItemize}
+\item 
+\hypertarget{Ecore__Sdl_8h_3317b32b26b36d28bd7e23ee9f22c5b1}{
+EAPI int \hyperlink{Ecore__Sdl_8h_3317b32b26b36d28bd7e23ee9f22c5b1}{ECORE\_\-SDL\_\-EVENT\_\-KEY\_\-DOWN}}
+\label{Ecore__Sdl_8h_3317b32b26b36d28bd7e23ee9f22c5b1}
+
+\begin{CompactList}\small\item\em SDL Key Down event. \item\end{CompactList}\item 
+\hypertarget{Ecore__Sdl_8h_83c7272ff5093cc31f2a57a83627bc66}{
+EAPI int \hyperlink{Ecore__Sdl_8h_83c7272ff5093cc31f2a57a83627bc66}{ECORE\_\-SDL\_\-EVENT\_\-KEY\_\-UP}}
+\label{Ecore__Sdl_8h_83c7272ff5093cc31f2a57a83627bc66}
+
+\begin{CompactList}\small\item\em SDL Key Up event. \item\end{CompactList}\item 
+\hypertarget{Ecore__Sdl_8h_935e3d246da4a6ca37e0eac8ab5801b6}{
+EAPI int \hyperlink{Ecore__Sdl_8h_935e3d246da4a6ca37e0eac8ab5801b6}{ECORE\_\-SDL\_\-EVENT\_\-MOUSE\_\-BUTTON\_\-DOWN}}
+\label{Ecore__Sdl_8h_935e3d246da4a6ca37e0eac8ab5801b6}
+
+\begin{CompactList}\small\item\em SDL Mouse Down event. \item\end{CompactList}\item 
+\hypertarget{Ecore__Sdl_8h_220c432cf1b06bdffa143c7e15929129}{
+EAPI int \hyperlink{Ecore__Sdl_8h_220c432cf1b06bdffa143c7e15929129}{ECORE\_\-SDL\_\-EVENT\_\-MOUSE\_\-BUTTON\_\-UP}}
+\label{Ecore__Sdl_8h_220c432cf1b06bdffa143c7e15929129}
+
+\begin{CompactList}\small\item\em SDL Mouse Up event. \item\end{CompactList}\item 
+\hypertarget{Ecore__Sdl_8h_8f8427d98df292a3c92f989dd8af73e5}{
+EAPI int \hyperlink{Ecore__Sdl_8h_8f8427d98df292a3c92f989dd8af73e5}{ECORE\_\-SDL\_\-EVENT\_\-MOUSE\_\-MOVE}}
+\label{Ecore__Sdl_8h_8f8427d98df292a3c92f989dd8af73e5}
+
+\begin{CompactList}\small\item\em SDL Mouse Move event. \item\end{CompactList}\item 
+\hypertarget{Ecore__Sdl_8h_ecf0d54ef58c7288d7aa9b34923e97a7}{
+EAPI int \hyperlink{Ecore__Sdl_8h_ecf0d54ef58c7288d7aa9b34923e97a7}{ECORE\_\-SDL\_\-EVENT\_\-MOUSE\_\-WHEEL}}
+\label{Ecore__Sdl_8h_ecf0d54ef58c7288d7aa9b34923e97a7}
+
+\begin{CompactList}\small\item\em SDL Mouse Wheel event. \item\end{CompactList}\item 
+\hypertarget{Ecore__Sdl_8h_8ea0b314987cf424713ac99a72799273}{
+EAPI int \hyperlink{Ecore__Sdl_8h_8ea0b314987cf424713ac99a72799273}{ECORE\_\-SDL\_\-EVENT\_\-GOT\_\-FOCUS}}
+\label{Ecore__Sdl_8h_8ea0b314987cf424713ac99a72799273}
+
+\begin{CompactList}\small\item\em SDL Mouse Wheel event. \item\end{CompactList}\item 
+\hypertarget{Ecore__Sdl_8h_676583107b33db7ee6de12646f838cd6}{
+EAPI int \hyperlink{Ecore__Sdl_8h_676583107b33db7ee6de12646f838cd6}{ECORE\_\-SDL\_\-EVENT\_\-LOST\_\-FOCUS}}
+\label{Ecore__Sdl_8h_676583107b33db7ee6de12646f838cd6}
+
+\begin{CompactList}\small\item\em SDL Mouse Wheel event. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Ecore SDL system functions. 
+
+
+
+\subsection{Function Documentation}
+\hypertarget{Ecore__Sdl_8h_6a31db6514bd146443a57ecbf0e5965f}{
+\index{Ecore_Sdl.h@{Ecore\_\-Sdl.h}!ecore_sdl_shutdown@{ecore\_\-sdl\_\-shutdown}}
+\index{ecore_sdl_shutdown@{ecore\_\-sdl\_\-shutdown}!Ecore_Sdl.h@{Ecore\_\-Sdl.h}}
+\subsubsection[ecore\_\-sdl\_\-shutdown]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-sdl\_\-shutdown (void)}}
+\label{Ecore__Sdl_8h_6a31db6514bd146443a57ecbf0e5965f}
+
+
+Shuts down the Ecore\_\-Sdl library. 
+
+\begin{Desc}
+\item[Returns:]{\tt The} number of times the system has been initialised without being shut down. \end{Desc}
diff --git a/doc/latex/Ecore__Str_8h.tex b/doc/latex/Ecore__Str_8h.tex
new file mode 100644
index 0000000..cbc48f1
--- /dev/null
+++ b/doc/latex/Ecore__Str_8h.tex
@@ -0,0 +1,150 @@
+\hypertarget{Ecore__Str_8h}{
+\section{Ecore\_\-Str.h File Reference}
+\label{Ecore__Str_8h}\index{Ecore_Str.h@{Ecore\_\-Str.h}}
+}
+Contains useful C string functions. 
+
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+EAPI size\_\-t \hyperlink{Ecore__Str_8h_52f6f935e4f2e78f79ce9d9b729ae273}{ecore\_\-strlcpy} (char $\ast$dst, const char $\ast$src, size\_\-t siz)
+\begin{CompactList}\small\item\em \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em dst}]the destination copy a c-string \end{description}
+\end{Desc}
+\item\end{CompactList}\item 
+EAPI size\_\-t \hyperlink{Ecore__Str_8h_2a4abe17fbc6d665a6d25fcee7c60252}{ecore\_\-strlcat} (char $\ast$dst, const char $\ast$src, size\_\-t siz)
+\begin{CompactList}\small\item\em \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em dst}]the destination append a c-string \end{description}
+\end{Desc}
+\item\end{CompactList}\item 
+EAPI int \hyperlink{Ecore__Str_8h_95152101fce9c95db83931c83a78223e}{ecore\_\-str\_\-has\_\-prefix} (const char $\ast$str, const char $\ast$prefix)
+\begin{CompactList}\small\item\em \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em str}]the string to work with checks if the string has the given prefix \end{description}
+\end{Desc}
+\item\end{CompactList}\item 
+EAPI int \hyperlink{Ecore__Str_8h_c08672cea45f66b56ffa48337ae1ef5a}{ecore\_\-str\_\-has\_\-suffix} (const char $\ast$str, const char $\ast$suffix)
+\begin{CompactList}\small\item\em \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em str}]the string to work with checks if the string has the given suffix \end{description}
+\end{Desc}
+\item\end{CompactList}\item 
+EAPI char $\ast$$\ast$ \hyperlink{Ecore__Str_8h_94e1be7bd0a9d74e8e2ab675112f72e8}{ecore\_\-str\_\-split} (const char $\ast$string, const char $\ast$delimiter, int max\_\-tokens)
+\begin{CompactList}\small\item\em Splits a string into a maximum of max\_\-tokens pieces, using the given delimiter. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Contains useful C string functions. 
+
+
+
+\subsection{Function Documentation}
+\hypertarget{Ecore__Str_8h_95152101fce9c95db83931c83a78223e}{
+\index{Ecore_Str.h@{Ecore\_\-Str.h}!ecore_str_has_prefix@{ecore\_\-str\_\-has\_\-prefix}}
+\index{ecore_str_has_prefix@{ecore\_\-str\_\-has\_\-prefix}!Ecore_Str.h@{Ecore\_\-Str.h}}
+\subsubsection[ecore\_\-str\_\-has\_\-prefix]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-str\_\-has\_\-prefix (const char $\ast$ {\em str}, const char $\ast$ {\em prefix})}}
+\label{Ecore__Str_8h_95152101fce9c95db83931c83a78223e}
+
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em str}]the string to work with checks if the string has the given prefix \end{description}
+\end{Desc}
+
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em prefix}]the prefix to check for \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]true if str has the given prefix \end{Desc}
+\hypertarget{Ecore__Str_8h_c08672cea45f66b56ffa48337ae1ef5a}{
+\index{Ecore_Str.h@{Ecore\_\-Str.h}!ecore_str_has_suffix@{ecore\_\-str\_\-has\_\-suffix}}
+\index{ecore_str_has_suffix@{ecore\_\-str\_\-has\_\-suffix}!Ecore_Str.h@{Ecore\_\-Str.h}}
+\subsubsection[ecore\_\-str\_\-has\_\-suffix]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-str\_\-has\_\-suffix (const char $\ast$ {\em str}, const char $\ast$ {\em suffix})}}
+\label{Ecore__Str_8h_c08672cea45f66b56ffa48337ae1ef5a}
+
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em str}]the string to work with checks if the string has the given suffix \end{description}
+\end{Desc}
+
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em suffix}]the suffix to check for \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]true if str has the given suffix \end{Desc}
+\hypertarget{Ecore__Str_8h_94e1be7bd0a9d74e8e2ab675112f72e8}{
+\index{Ecore_Str.h@{Ecore\_\-Str.h}!ecore_str_split@{ecore\_\-str\_\-split}}
+\index{ecore_str_split@{ecore\_\-str\_\-split}!Ecore_Str.h@{Ecore\_\-Str.h}}
+\subsubsection[ecore\_\-str\_\-split]{\setlength{\rightskip}{0pt plus 5cm}EAPI char$\ast$$\ast$ ecore\_\-str\_\-split (const char $\ast$ {\em str}, const char $\ast$ {\em delim}, int {\em max\_\-tokens})}}
+\label{Ecore__Str_8h_94e1be7bd0a9d74e8e2ab675112f72e8}
+
+
+Splits a string into a maximum of max\_\-tokens pieces, using the given delimiter. 
+
+If max\_\-tokens is reached, the final string in the returned string array contains the remainder of string.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em str}]A string to split. \item[{\em delim}]A string which specifies the places at which to split the string. The delimiter is not included in any of the resulting strings, unless max\_\-tokens is reached. \item[{\em max\_\-tokens}]The maximum number of strings to split string into. If this is less than 1, the string is split completely. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]A newly-allocated NULL-terminated array of strings. To free it: free the first element of the array and the array itself. \end{Desc}
+\hypertarget{Ecore__Str_8h_2a4abe17fbc6d665a6d25fcee7c60252}{
+\index{Ecore_Str.h@{Ecore\_\-Str.h}!ecore_strlcat@{ecore\_\-strlcat}}
+\index{ecore_strlcat@{ecore\_\-strlcat}!Ecore_Str.h@{Ecore\_\-Str.h}}
+\subsubsection[ecore\_\-strlcat]{\setlength{\rightskip}{0pt plus 5cm}EAPI size\_\-t ecore\_\-strlcat (char $\ast$ {\em dst}, const char $\ast$ {\em src}, size\_\-t {\em siz})}}
+\label{Ecore__Str_8h_2a4abe17fbc6d665a6d25fcee7c60252}
+
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em dst}]the destination append a c-string \end{description}
+\end{Desc}
+
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em src}]the source \item[{\em siz}]the size of the destination \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]the length of the source string plus MIN(siz, strlen(initial dst))\end{Desc}
+Appends src to string dst of size siz (unlike strncat, siz is the full size of dst, not space left). At most siz-1 characters will be copied. Always NUL terminates (unless siz $<$= strlen(dst)). Returns strlen(src) + MIN(siz, strlen(initial dst)). If retval $>$= siz, truncation occurred. \hypertarget{Ecore__Str_8h_52f6f935e4f2e78f79ce9d9b729ae273}{
+\index{Ecore_Str.h@{Ecore\_\-Str.h}!ecore_strlcpy@{ecore\_\-strlcpy}}
+\index{ecore_strlcpy@{ecore\_\-strlcpy}!Ecore_Str.h@{Ecore\_\-Str.h}}
+\subsubsection[ecore\_\-strlcpy]{\setlength{\rightskip}{0pt plus 5cm}EAPI size\_\-t ecore\_\-strlcpy (char $\ast$ {\em dst}, const char $\ast$ {\em src}, size\_\-t {\em siz})}}
+\label{Ecore__Str_8h_52f6f935e4f2e78f79ce9d9b729ae273}
+
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em dst}]the destination copy a c-string \end{description}
+\end{Desc}
+
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em src}]the source \item[{\em siz}]the size of the destination \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]the length of the source string\end{Desc}
+Copy src to string dst of size siz. At most siz-1 characters will be copied. Always NUL terminates (unless siz == 0). Returns strlen(src); if retval $>$= siz, truncation occurred. 
\ No newline at end of file
diff --git a/doc/latex/Ecore__Txt_8h.tex b/doc/latex/Ecore__Txt_8h.tex
new file mode 100644
index 0000000..ba6b4e1
--- /dev/null
+++ b/doc/latex/Ecore__Txt_8h.tex
@@ -0,0 +1,29 @@
+\hypertarget{Ecore__Txt_8h}{
+\section{Ecore\_\-Txt.h File Reference}
+\label{Ecore__Txt_8h}\index{Ecore_Txt.h@{Ecore\_\-Txt.h}}
+}
+Provides a text encoding conversion function. 
+
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+EAPI char $\ast$ \hyperlink{Ecore__Txt_8h_ec5c71c510d580eb904fe515b58b558f}{ecore\_\-txt\_\-convert} (const char $\ast$enc\_\-from, const char $\ast$enc\_\-to, const char $\ast$text)
+\begin{CompactList}\small\item\em To be documented. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Provides a text encoding conversion function. 
+
+
+
+\subsection{Function Documentation}
+\hypertarget{Ecore__Txt_8h_ec5c71c510d580eb904fe515b58b558f}{
+\index{Ecore_Txt.h@{Ecore\_\-Txt.h}!ecore_txt_convert@{ecore\_\-txt\_\-convert}}
+\index{ecore_txt_convert@{ecore\_\-txt\_\-convert}!Ecore_Txt.h@{Ecore\_\-Txt.h}}
+\subsubsection[ecore\_\-txt\_\-convert]{\setlength{\rightskip}{0pt plus 5cm}EAPI char$\ast$ ecore\_\-txt\_\-convert (const char $\ast$ {\em enc\_\-from}, const char $\ast$ {\em enc\_\-to}, const char $\ast$ {\em text})}}
+\label{Ecore__Txt_8h_ec5c71c510d580eb904fe515b58b558f}
+
+
+To be documented. 
+
+FIXME: Finish this. 
\ No newline at end of file
diff --git a/doc/latex/Ecore__X_8h.tex b/doc/latex/Ecore__X_8h.tex
new file mode 100644
index 0000000..5e9d4d8
--- /dev/null
+++ b/doc/latex/Ecore__X_8h.tex
@@ -0,0 +1,1882 @@
+\hypertarget{Ecore__X_8h}{
+\section{Ecore\_\-X.h File Reference}
+\label{Ecore__X_8h}\index{Ecore_X.h@{Ecore\_\-X.h}}
+}
+Ecore functions for dealing with the X Windows System. 
+
+\subsection*{Enumerations}
+\begin{CompactItemize}
+\item 
+enum \hyperlink{Ecore__X_8h_dc73a7a2011cf1fa610b4100190807f1}{\_\-Ecore\_\-X\_\-Window\_\-State} \{ \par
+\hyperlink{Ecore__X_8h_dc73a7a2011cf1fa610b4100190807f1b743a8796f78fa31a216f142bd729f38}{ECORE\_\-X\_\-WINDOW\_\-STATE\_\-ICONIFIED}, 
+\par
+\hyperlink{Ecore__X_8h_dc73a7a2011cf1fa610b4100190807f1913975f3907250af993042729d0eca87}{ECORE\_\-X\_\-WINDOW\_\-STATE\_\-MODAL}, 
+\par
+\hyperlink{Ecore__X_8h_dc73a7a2011cf1fa610b4100190807f18b758d78e270b3274431d91b02484b30}{ECORE\_\-X\_\-WINDOW\_\-STATE\_\-STICKY}, 
+\par
+\hyperlink{Ecore__X_8h_dc73a7a2011cf1fa610b4100190807f1bfe7dee8962110c5f9d514bbf6dd658c}{ECORE\_\-X\_\-WINDOW\_\-STATE\_\-MAXIMIZED\_\-VERT}, 
+\par
+\hyperlink{Ecore__X_8h_dc73a7a2011cf1fa610b4100190807f16767bdc87057c70cdd236d6ca158463d}{ECORE\_\-X\_\-WINDOW\_\-STATE\_\-MAXIMIZED\_\-HORZ}, 
+\par
+\hyperlink{Ecore__X_8h_dc73a7a2011cf1fa610b4100190807f1aee9b74696501d60977b3cf682a1caff}{ECORE\_\-X\_\-WINDOW\_\-STATE\_\-SHADED}, 
+\par
+\hyperlink{Ecore__X_8h_dc73a7a2011cf1fa610b4100190807f131e3d2047dbf9cfcd7c1ae4cd661a0ff}{ECORE\_\-X\_\-WINDOW\_\-STATE\_\-SKIP\_\-TASKBAR}, 
+\par
+\hyperlink{Ecore__X_8h_dc73a7a2011cf1fa610b4100190807f1bd03ef746554d9d66c1458b99fbc7e21}{ECORE\_\-X\_\-WINDOW\_\-STATE\_\-SKIP\_\-PAGER}, 
+\par
+\hyperlink{Ecore__X_8h_dc73a7a2011cf1fa610b4100190807f194e1956bcc7b817dabf944457f99ed92}{ECORE\_\-X\_\-WINDOW\_\-STATE\_\-HIDDEN}, 
+\par
+\hyperlink{Ecore__X_8h_dc73a7a2011cf1fa610b4100190807f1813f8507385ac350c0c2c6677898a8c9}{ECORE\_\-X\_\-WINDOW\_\-STATE\_\-FULLSCREEN}
+ \}
+\item 
+enum \hyperlink{Ecore__X_8h_e4166d74a0954bc928706496f677e56d}{\_\-Ecore\_\-X\_\-WM\_\-Protocol} \{ \par
+\hyperlink{Ecore__X_8h_e4166d74a0954bc928706496f677e56d27d9e53db2213d3df8051f47b750fdc6}{ECORE\_\-X\_\-WM\_\-PROTOCOL\_\-DELETE\_\-REQUEST}, 
+\par
+\hyperlink{Ecore__X_8h_e4166d74a0954bc928706496f677e56d5657fbc84712eb536f7fc1c13c446245}{ECORE\_\-X\_\-WM\_\-PROTOCOL\_\-TAKE\_\-FOCUS}, 
+\par
+\hyperlink{Ecore__X_8h_e4166d74a0954bc928706496f677e56d83109c98c3793ec8c0e8ae4f46389b37}{ECORE\_\-X\_\-NET\_\-WM\_\-PROTOCOL\_\-PING}, 
+\par
+\hyperlink{Ecore__X_8h_e4166d74a0954bc928706496f677e56d0754156ca8a04567ca0b93721a02a974}{ECORE\_\-X\_\-NET\_\-WM\_\-PROTOCOL\_\-SYNC\_\-REQUEST}
+ \}
+\item 
+enum \hyperlink{Ecore__X_8h_27ee6c5d6e76016b7fd71a4b003e440d}{\_\-Ecore\_\-X\_\-Window\_\-Input\_\-Mode} \{ \par
+\hyperlink{Ecore__X_8h_27ee6c5d6e76016b7fd71a4b003e440d61e84f9007e6d49a0a6758378fb900a8}{ECORE\_\-X\_\-WINDOW\_\-INPUT\_\-MODE\_\-NONE}, 
+\par
+\hyperlink{Ecore__X_8h_27ee6c5d6e76016b7fd71a4b003e440d88b82c759d3481c0b52af66d50cde54e}{ECORE\_\-X\_\-WINDOW\_\-INPUT\_\-MODE\_\-PASSIVE}, 
+\par
+\hyperlink{Ecore__X_8h_27ee6c5d6e76016b7fd71a4b003e440d70598e73807833dfdde3391011d26c00}{ECORE\_\-X\_\-WINDOW\_\-INPUT\_\-MODE\_\-ACTIVE\_\-LOCAL}, 
+\par
+\hyperlink{Ecore__X_8h_27ee6c5d6e76016b7fd71a4b003e440d77c3d879970639ed109e51636b1c3caf}{ECORE\_\-X\_\-WINDOW\_\-INPUT\_\-MODE\_\-ACTIVE\_\-GLOBAL}
+ \}
+\item 
+enum \hyperlink{Ecore__X_8h_738ccad8c89247d9cd80e007fab0bf1e}{\_\-Ecore\_\-X\_\-Window\_\-State\_\-Hint} \{ \par
+\hyperlink{Ecore__X_8h_738ccad8c89247d9cd80e007fab0bf1eab490edafc104803047ef38e3fe37f1f}{ECORE\_\-X\_\-WINDOW\_\-STATE\_\-HINT\_\-NONE} =  -1, 
+\par
+\hyperlink{Ecore__X_8h_738ccad8c89247d9cd80e007fab0bf1e2ee8636730f2ccf0f3b29c3919c708eb}{ECORE\_\-X\_\-WINDOW\_\-STATE\_\-HINT\_\-WITHDRAWN}, 
+\par
+\hyperlink{Ecore__X_8h_738ccad8c89247d9cd80e007fab0bf1eb5d3bf570112e77f142081df61749f43}{ECORE\_\-X\_\-WINDOW\_\-STATE\_\-HINT\_\-NORMAL}, 
+\par
+\hyperlink{Ecore__X_8h_738ccad8c89247d9cd80e007fab0bf1edb18b35391c2c6ea2f8dafd6577dabac}{ECORE\_\-X\_\-WINDOW\_\-STATE\_\-HINT\_\-ICONIC}
+ \}
+\end{CompactItemize}
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+EAPI int \hyperlink{group__Ecore__X__Init__Group_g92e834eefd48b55101fa30c7386a709e}{ecore\_\-x\_\-init} (const char $\ast$name)
+\begin{CompactList}\small\item\em Initialize the X display connection to the given display. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__X__Init__Group_gebb628e400a8c90696b67935bef84873}{ecore\_\-x\_\-shutdown} (void)
+\begin{CompactList}\small\item\em Shuts down the Ecore X library. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__X__Init__Group_g01158850d3f9632f4bc6c79fb194e09b}{ecore\_\-x\_\-disconnect} (void)
+\begin{CompactList}\small\item\em Shuts down the Ecore X library. \item\end{CompactList}\item 
+EAPI Ecore\_\-X\_\-Display $\ast$ \hyperlink{group__Ecore__X__Display__Attr__Group_g19e90a6e5305432577d984a11e45cb16}{ecore\_\-x\_\-display\_\-get} (void)
+\begin{CompactList}\small\item\em Retrieves the Ecore\_\-X\_\-Display handle used for the current X connection. \item\end{CompactList}\item 
+EAPI Ecore\_\-X\_\-Connection $\ast$ \hyperlink{group__Ecore__Xcb__Display__Attr__Group_g436bfb6485312c845f8561ba1493f812}{ecore\_\-x\_\-connection\_\-get} (void)
+\begin{CompactList}\small\item\em Retrieves the Ecore\_\-X\_\-Connection handle used for the current X connection. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__X__Display__Attr__Group_g6d11859fd7a822cbde4236be67a8df24}{ecore\_\-x\_\-fd\_\-get} (void)
+\begin{CompactList}\small\item\em Retrieves the X display file descriptor. \item\end{CompactList}\item 
+EAPI Ecore\_\-X\_\-Screen $\ast$ \hyperlink{group__Ecore__Xcb__Display__Attr__Group_g43f13301cc5279862898873cb87ba461}{ecore\_\-x\_\-default\_\-screen\_\-get} (void)
+\begin{CompactList}\small\item\em Retrieves the Ecore\_\-X\_\-Screen handle used for the current X connection. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Display__Attr__Group_gfc0ad83fd20e71ffdd8d706323778f67}{ecore\_\-x\_\-double\_\-click\_\-time\_\-set} (double t)
+\begin{CompactList}\small\item\em Sets the timeout for a double and triple clicks to be flagged. \item\end{CompactList}\item 
+EAPI double \hyperlink{group__Ecore__X__Display__Attr__Group_g0595a462bd4ffe0450ba45658624eb7e}{ecore\_\-x\_\-double\_\-click\_\-time\_\-get} (void)
+\begin{CompactList}\small\item\em Retrieves the double and triple click flag timeout. \item\end{CompactList}\item 
+\hypertarget{group__Ecore__X__Flush__Group_g86a37de4b106942e1b33f88455f5a00f}{
+EAPI void \hyperlink{group__Ecore__X__Flush__Group_g86a37de4b106942e1b33f88455f5a00f}{ecore\_\-x\_\-flush} (void)}
+\label{group__Ecore__X__Flush__Group_g86a37de4b106942e1b33f88455f5a00f}
+
+\begin{CompactList}\small\item\em Sends all X commands in the X Display buffer. \item\end{CompactList}\item 
+\hypertarget{group__Ecore__X__Flush__Group_g515363b1157ae3b2e3d1d9d3eec448af}{
+EAPI void \hyperlink{group__Ecore__X__Flush__Group_g515363b1157ae3b2e3d1d9d3eec448af}{ecore\_\-x\_\-sync} (void)}
+\label{group__Ecore__X__Flush__Group_g515363b1157ae3b2e3d1d9d3eec448af}
+
+\begin{CompactList}\small\item\em Flushes the command buffer and waits until all requests have been processed by the server. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore__X_8h_cfb7138e003fdda4452e73fbc879cddd}{ecore\_\-x\_\-killall} (Ecore\_\-X\_\-Window root)
+\begin{CompactList}\small\item\em Kill all clients with subwindows under a given window. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore__X_8h_bccc12f989efb33663d1fe54b96c12e2}{ecore\_\-x\_\-kill} (Ecore\_\-X\_\-Window win)
+\begin{CompactList}\small\item\em Kill a specific client. \item\end{CompactList}\item 
+\hypertarget{Ecore__X_8h_08662b745c215d9012e953777f17ba17}{
+EAPI Ecore\_\-X\_\-Time \hyperlink{Ecore__X_8h_08662b745c215d9012e953777f17ba17}{ecore\_\-x\_\-current\_\-time\_\-get} (void)}
+\label{Ecore__X_8h_08662b745c215d9012e953777f17ba17}
+
+\begin{CompactList}\small\item\em Return the last event time. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore__X_8h_0e666a65593e83146fc4df7a5b8025c7}{ecore\_\-x\_\-error\_\-handler\_\-set} (void($\ast$func)(void $\ast$data), const void $\ast$data)
+\begin{CompactList}\small\item\em Set the error handler. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore__X_8h_1283ea18fceed968627f1e2c13750d80}{ecore\_\-x\_\-io\_\-error\_\-handler\_\-set} (void($\ast$func)(void $\ast$data), const void $\ast$data)
+\begin{CompactList}\small\item\em Set the I/O error handler. \item\end{CompactList}\item 
+EAPI int \hyperlink{Ecore__X_8h_c69bf911c334edb87c657455b8f93d9e}{ecore\_\-x\_\-error\_\-request\_\-get} (void)
+\begin{CompactList}\small\item\em Get the request code that caused the error. \item\end{CompactList}\item 
+EAPI int \hyperlink{Ecore__X_8h_1c63fe54bdbd5846a0e535ae7957d565}{ecore\_\-x\_\-error\_\-code\_\-get} (void)
+\begin{CompactList}\small\item\em Get the error code from the error. \item\end{CompactList}\item 
+\hypertarget{Ecore__X_8h_e86ff8e908af7f620d186449b093525d}{
+EAPI void \hyperlink{Ecore__X_8h_e86ff8e908af7f620d186449b093525d}{ecore\_\-x\_\-selection\_\-primary\_\-prefetch} (void)}
+\label{Ecore__X_8h_e86ff8e908af7f620d186449b093525d}
+
+\begin{CompactList}\small\item\em Sends the Get\-Selection\-Owner request. \item\end{CompactList}\item 
+\hypertarget{Ecore__X_8h_a0a14ed7682ddae679ad1eb9b172a6df}{
+EAPI void \hyperlink{Ecore__X_8h_a0a14ed7682ddae679ad1eb9b172a6df}{ecore\_\-x\_\-selection\_\-primary\_\-fetch} (void)}
+\label{Ecore__X_8h_a0a14ed7682ddae679ad1eb9b172a6df}
+
+\begin{CompactList}\small\item\em Gets the reply of the Get\-Selection\-Owner request sent by \hyperlink{Ecore__X_8h_e86ff8e908af7f620d186449b093525d}{ecore\_\-x\_\-selection\_\-primary\_\-prefetch()}. \item\end{CompactList}\item 
+EAPI int \hyperlink{Ecore__X_8h_316362262fc1cce9cb9a744600cd91f2}{ecore\_\-x\_\-selection\_\-primary\_\-set} (Ecore\_\-X\_\-Window w, const void $\ast$data, int size)
+\begin{CompactList}\small\item\em Claim ownership of the PRIMARY selection and set its data. \item\end{CompactList}\item 
+EAPI int \hyperlink{Ecore__X_8h_ec438c5b878050b004a58c0e33062720}{ecore\_\-x\_\-selection\_\-primary\_\-clear} (void)
+\begin{CompactList}\small\item\em Release ownership of the primary selection. \item\end{CompactList}\item 
+\hypertarget{Ecore__X_8h_b9c419c5128e4d26db4374d281f26ecb}{
+EAPI void \hyperlink{Ecore__X_8h_b9c419c5128e4d26db4374d281f26ecb}{ecore\_\-x\_\-selection\_\-secondary\_\-prefetch} (void)}
+\label{Ecore__X_8h_b9c419c5128e4d26db4374d281f26ecb}
+
+\begin{CompactList}\small\item\em Sends the Get\-Selection\-Owner request. \item\end{CompactList}\item 
+\hypertarget{Ecore__X_8h_2dee8a2104c506e59a92bfe83dd7407b}{
+EAPI void \hyperlink{Ecore__X_8h_2dee8a2104c506e59a92bfe83dd7407b}{ecore\_\-x\_\-selection\_\-secondary\_\-fetch} (void)}
+\label{Ecore__X_8h_2dee8a2104c506e59a92bfe83dd7407b}
+
+\begin{CompactList}\small\item\em Gets the reply of the Get\-Selection\-Owner request sent by \hyperlink{Ecore__X_8h_b9c419c5128e4d26db4374d281f26ecb}{ecore\_\-x\_\-selection\_\-secondary\_\-prefetch()}. \item\end{CompactList}\item 
+EAPI int \hyperlink{Ecore__X_8h_96fadcc8662e59e40e199d07a74d7d8c}{ecore\_\-x\_\-selection\_\-secondary\_\-set} (Ecore\_\-X\_\-Window w, const void $\ast$data, int size)
+\begin{CompactList}\small\item\em Claim ownership of the SECONDARY selection and set its data. \item\end{CompactList}\item 
+EAPI int \hyperlink{Ecore__X_8h_af525c0c3775ac4efc535acd1a31550e}{ecore\_\-x\_\-selection\_\-secondary\_\-clear} (void)
+\begin{CompactList}\small\item\em Release ownership of the secondary selection. \item\end{CompactList}\item 
+\hypertarget{Ecore__X_8h_bee1a5eeb8bddbed3d1e48eb9c122b7f}{
+EAPI void \hyperlink{Ecore__X_8h_bee1a5eeb8bddbed3d1e48eb9c122b7f}{ecore\_\-x\_\-selection\_\-xdnd\_\-prefetch} (void)}
+\label{Ecore__X_8h_bee1a5eeb8bddbed3d1e48eb9c122b7f}
+
+\begin{CompactList}\small\item\em Sends the Get\-Selection\-Owner request. \item\end{CompactList}\item 
+\hypertarget{Ecore__X_8h_668334c7ddf60fa20f98dc9830eba1eb}{
+EAPI void \hyperlink{Ecore__X_8h_668334c7ddf60fa20f98dc9830eba1eb}{ecore\_\-x\_\-selection\_\-xdnd\_\-fetch} (void)}
+\label{Ecore__X_8h_668334c7ddf60fa20f98dc9830eba1eb}
+
+\begin{CompactList}\small\item\em Gets the reply of the Get\-Selection\-Owner request sent by \hyperlink{Ecore__X_8h_bee1a5eeb8bddbed3d1e48eb9c122b7f}{ecore\_\-x\_\-selection\_\-xdnd\_\-prefetch()}. \item\end{CompactList}\item 
+EAPI int \hyperlink{Ecore__X_8h_bdda48b18621d5b212632cfbeaa04a1c}{ecore\_\-x\_\-selection\_\-xdnd\_\-set} (Ecore\_\-X\_\-Window w, const void $\ast$data, int size)
+\begin{CompactList}\small\item\em Claim ownership of the XDND selection and set its data. \item\end{CompactList}\item 
+EAPI int \hyperlink{Ecore__X_8h_ad8c37e733f6fc5ae616ff30d8621871}{ecore\_\-x\_\-selection\_\-xdnd\_\-clear} (void)
+\begin{CompactList}\small\item\em Release ownership of the XDND selection. \item\end{CompactList}\item 
+\hypertarget{Ecore__X_8h_3742482b87ab25c390f3ea48cc276a29}{
+EAPI void \hyperlink{Ecore__X_8h_3742482b87ab25c390f3ea48cc276a29}{ecore\_\-x\_\-selection\_\-clipboard\_\-prefetch} (void)}
+\label{Ecore__X_8h_3742482b87ab25c390f3ea48cc276a29}
+
+\begin{CompactList}\small\item\em Sends the Get\-Selection\-Owner request. \item\end{CompactList}\item 
+\hypertarget{Ecore__X_8h_3e5d595f4bbabd29f1951b9c28d0f384}{
+EAPI void \hyperlink{Ecore__X_8h_3e5d595f4bbabd29f1951b9c28d0f384}{ecore\_\-x\_\-selection\_\-clipboard\_\-fetch} (void)}
+\label{Ecore__X_8h_3e5d595f4bbabd29f1951b9c28d0f384}
+
+\begin{CompactList}\small\item\em Gets the reply of the Get\-Selection\-Owner request sent by \hyperlink{Ecore__X_8h_3742482b87ab25c390f3ea48cc276a29}{ecore\_\-x\_\-selection\_\-clipboard\_\-prefetch()}. \item\end{CompactList}\item 
+EAPI int \hyperlink{Ecore__X_8h_fc255b32b26008676da623cc044a5f39}{ecore\_\-x\_\-selection\_\-clipboard\_\-set} (Ecore\_\-X\_\-Window w, const void $\ast$data, int size)
+\begin{CompactList}\small\item\em Claim ownership of the CLIPBOARD selection and set its data. \item\end{CompactList}\item 
+EAPI int \hyperlink{Ecore__X_8h_690146f78b917aa6f08a242365946d4f}{ecore\_\-x\_\-selection\_\-clipboard\_\-clear} (void)
+\begin{CompactList}\small\item\em Release ownership of the clipboard selection. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore__X_8h_e7f266903dbf92b6bd9175b4b44c3fcd}{ecore\_\-x\_\-dnd\_\-version\_\-get\_\-prefetch} (Ecore\_\-X\_\-Window window)
+\begin{CompactList}\small\item\em Sends the Get\-Property request. \item\end{CompactList}\item 
+\hypertarget{Ecore__X_8h_238ed4b614a99820351dea8299121e42}{
+EAPI void \hyperlink{Ecore__X_8h_238ed4b614a99820351dea8299121e42}{ecore\_\-x\_\-dnd\_\-version\_\-get\_\-fetch} (void)}
+\label{Ecore__X_8h_238ed4b614a99820351dea8299121e42}
+
+\begin{CompactList}\small\item\em Gets the reply of the Get\-Property request sent by \hyperlink{Ecore__X_8h_e7f266903dbf92b6bd9175b4b44c3fcd}{ecore\_\-x\_\-dnd\_\-version\_\-get\_\-prefetch()}. \item\end{CompactList}\item 
+EAPI int \hyperlink{Ecore__X_8h_0b68cce92d1f990321903e5d9292391c}{ecore\_\-x\_\-dnd\_\-version\_\-get} (Ecore\_\-X\_\-Window win)
+\begin{CompactList}\small\item\em Get the Dn\-D version. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore__X_8h_faac16867b88c543fc3495d7870de2db}{ecore\_\-x\_\-dnd\_\-type\_\-get\_\-prefetch} (Ecore\_\-X\_\-Window window)
+\begin{CompactList}\small\item\em Sends the Get\-Property request. \item\end{CompactList}\item 
+\hypertarget{Ecore__X_8h_5bed0f4a896d74c405da1f2b288ecfa2}{
+EAPI void \hyperlink{Ecore__X_8h_5bed0f4a896d74c405da1f2b288ecfa2}{ecore\_\-x\_\-dnd\_\-type\_\-get\_\-fetch} (void)}
+\label{Ecore__X_8h_5bed0f4a896d74c405da1f2b288ecfa2}
+
+\begin{CompactList}\small\item\em Gets the reply of the Get\-Property request sent by \hyperlink{Ecore__X_8h_faac16867b88c543fc3495d7870de2db}{ecore\_\-x\_\-dnd\_\-type\_\-get\_\-prefetch()}. \item\end{CompactList}\item 
+EAPI int \hyperlink{Ecore__X_8h_a6353eec3c6edb2844af21837f7b443b}{ecore\_\-x\_\-dnd\_\-type\_\-isset} (Ecore\_\-X\_\-Window win, const char $\ast$type)
+\begin{CompactList}\small\item\em Check if the type is set. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore__X_8h_1d0182a066392f254569cb713c7ff92a}{ecore\_\-x\_\-dnd\_\-type\_\-set} (Ecore\_\-X\_\-Window win, const char $\ast$type, int on)
+\begin{CompactList}\small\item\em Set the type. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore__X_8h_d58563fb4d3c56559c3eef1bd0641641}{ecore\_\-x\_\-dnd\_\-types\_\-set} (Ecore\_\-X\_\-Window win, char $\ast$$\ast$types, unsigned int num\_\-types)
+\begin{CompactList}\small\item\em Set the types. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore__X_8h_ee92dc6569e2399467e311dc1891cec1}{ecore\_\-x\_\-dnd\_\-begin\_\-prefetch} (Ecore\_\-X\_\-Window source)
+\begin{CompactList}\small\item\em Sends the Get\-Property request. \item\end{CompactList}\item 
+\hypertarget{Ecore__X_8h_1c0b6f09e658cf6665e33b3fb23c453f}{
+EAPI void \hyperlink{Ecore__X_8h_1c0b6f09e658cf6665e33b3fb23c453f}{ecore\_\-x\_\-dnd\_\-begin\_\-fetch} (void)}
+\label{Ecore__X_8h_1c0b6f09e658cf6665e33b3fb23c453f}
+
+\begin{CompactList}\small\item\em Gets the reply of the Get\-Property request sent by \hyperlink{Ecore__X_8h_ee92dc6569e2399467e311dc1891cec1}{ecore\_\-x\_\-dnd\_\-begin\_\-prefetch()}. \item\end{CompactList}\item 
+EAPI int \hyperlink{Ecore__X_8h_69a1f34a22cb895eb2f69bbb0dba664d}{ecore\_\-x\_\-dnd\_\-begin} (Ecore\_\-X\_\-Window source, unsigned char $\ast$data, int size)
+\begin{CompactList}\small\item\em Begins the Dn\-D. \item\end{CompactList}\item 
+EAPI Ecore\_\-X\_\-Window \hyperlink{group__Ecore__X__Window__Create__Group_g9a56a8e5531b753b0e70d9214d6609e0}{ecore\_\-x\_\-window\_\-new} (Ecore\_\-X\_\-Window parent, int x, int y, int w, int h)
+\begin{CompactList}\small\item\em Creates a new window. \item\end{CompactList}\item 
+EAPI Ecore\_\-X\_\-Window \hyperlink{group__Ecore__X__Window__Create__Group_g053877418501298a7b304588ef7c1379}{ecore\_\-x\_\-window\_\-override\_\-new} (Ecore\_\-X\_\-Window parent, int x, int y, int w, int h)
+\begin{CompactList}\small\item\em Creates a window with the override redirect attribute set to {\tt True}. \item\end{CompactList}\item 
+EAPI Ecore\_\-X\_\-Window \hyperlink{group__Ecore__X__Window__Create__Group_g65c727950377bd73882a2515b0c5f33d}{ecore\_\-x\_\-window\_\-manager\_\-argb\_\-new} (Ecore\_\-X\_\-Window parent, int x, int y, int w, int h)
+\begin{CompactList}\small\item\em Creates a new window. \item\end{CompactList}\item 
+EAPI Ecore\_\-X\_\-Window \hyperlink{group__Ecore__X__Window__Create__Group_gb12cbb8a6230d8e37fa24562869fc71d}{ecore\_\-x\_\-window\_\-argb\_\-new} (Ecore\_\-X\_\-Window parent, int x, int y, int w, int h)
+\begin{CompactList}\small\item\em Creates a new window. \item\end{CompactList}\item 
+EAPI Ecore\_\-X\_\-Window \hyperlink{group__Ecore__X__Window__Create__Group_ga9ef0bf8015e77e20579bcb268debd0d}{ecore\_\-x\_\-window\_\-override\_\-argb\_\-new} (Ecore\_\-X\_\-Window parent, int x, int y, int w, int h)
+\begin{CompactList}\small\item\em Creates a window with the override redirect attribute set to {\tt True}. \item\end{CompactList}\item 
+EAPI Ecore\_\-X\_\-Window \hyperlink{group__Ecore__X__Window__Create__Group_g479af5fe79e7f75add0d566f4269fb21}{ecore\_\-x\_\-window\_\-input\_\-new} (Ecore\_\-X\_\-Window parent, int x, int y, int w, int h)
+\begin{CompactList}\small\item\em Creates a new input window. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Window__Configure__Group_g99f9caef1455f9f7e3f1d133b0f9342f}{ecore\_\-x\_\-window\_\-configure} (Ecore\_\-X\_\-Window win, Ecore\_\-X\_\-Window\_\-Configure\_\-Mask mask, int x, int y, int w, int h, int border\_\-width, Ecore\_\-X\_\-Window sibling, int stack\_\-mode)
+\begin{CompactList}\small\item\em Configures the given window with the given mask. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Window__Change__Attributes__Group_gfde2213805afdbabda8657f98490218e}{ecore\_\-x\_\-window\_\-cursor\_\-set} (Ecore\_\-X\_\-Window win, Ecore\_\-X\_\-Cursor c)
+\begin{CompactList}\small\item\em Sets the cursor of the given window. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Evas__X__Window__Destroy__Group_ga1d786fac4e47618d76ac67896be4a21}{ecore\_\-x\_\-window\_\-del} (Ecore\_\-X\_\-Window win)
+\begin{CompactList}\small\item\em Deletes the given window. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore__X_8h_c7fec7dc837b162127fdbb7c35ea4c81}{ecore\_\-x\_\-window\_\-ignore\_\-set} (Ecore\_\-X\_\-Window win, int ignore)
+\begin{CompactList}\small\item\em Set if a window should be ignored. \item\end{CompactList}\item 
+EAPI Ecore\_\-X\_\-Window $\ast$ \hyperlink{Ecore__X_8h_576f72e83f8822abe9e876353ddf32cd}{ecore\_\-x\_\-window\_\-ignore\_\-list} (int $\ast$num)
+\begin{CompactList}\small\item\em Get the ignore list. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Evas__X__Window__Destroy__Group_gca23caf9887a2751f57fdf463dcf5667}{ecore\_\-x\_\-window\_\-delete\_\-request\_\-send} (Ecore\_\-X\_\-Window win)
+\begin{CompactList}\small\item\em Sends a delete request to the given window. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Window__Visibility__Group_gb789c28ff2b22655b13c927095817e6c}{ecore\_\-x\_\-window\_\-show} (Ecore\_\-X\_\-Window win)
+\begin{CompactList}\small\item\em Shows a window. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Window__Visibility__Group_g637ec4e3fe033b94de0b28788bdcae7e}{ecore\_\-x\_\-window\_\-hide} (Ecore\_\-X\_\-Window win)
+\begin{CompactList}\small\item\em Hides a window. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Window__Geometry__Group_g4874b3c09244eac3828cd332bafd7978}{ecore\_\-x\_\-window\_\-move} (Ecore\_\-X\_\-Window win, int x, int y)
+\begin{CompactList}\small\item\em Moves a window to the position {\tt x}, {\tt y}. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Window__Geometry__Group_gccb702ac5a14183e4e125c6ca98d75bb}{ecore\_\-x\_\-window\_\-resize} (Ecore\_\-X\_\-Window win, int w, int h)
+\begin{CompactList}\small\item\em Resizes a window. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Window__Geometry__Group_g4bdf5178a61b983cac7c102fe06d400d}{ecore\_\-x\_\-window\_\-move\_\-resize} (Ecore\_\-X\_\-Window win, int x, int y, int w, int h)
+\begin{CompactList}\small\item\em Moves and resizes a window. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Window__Focus__Functions_g250b9a13f41bfc6adbd395dd150ec873}{ecore\_\-x\_\-window\_\-focus} (Ecore\_\-X\_\-Window win)
+\begin{CompactList}\small\item\em Sets the focus to the window {\tt win}. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Window__Focus__Functions_gc1b23ac2d0f466955e7dfb82fd406264}{ecore\_\-x\_\-window\_\-focus\_\-at\_\-time} (Ecore\_\-X\_\-Window win, Ecore\_\-X\_\-Time t)
+\begin{CompactList}\small\item\em Sets the focus to the given window at a specific time. \item\end{CompactList}\item 
+\hypertarget{group__Ecore__X__Window__Input__Focus__Group_ga92860262b8d5e516d183a21b181fe0e}{
+EAPI void \hyperlink{group__Ecore__X__Window__Input__Focus__Group_ga92860262b8d5e516d183a21b181fe0e}{ecore\_\-x\_\-get\_\-input\_\-focus\_\-prefetch} (void)}
+\label{group__Ecore__X__Window__Input__Focus__Group_ga92860262b8d5e516d183a21b181fe0e}
+
+\begin{CompactList}\small\item\em Sends the Get\-Input\-Focus request. \item\end{CompactList}\item 
+\hypertarget{group__Ecore__X__Window__Input__Focus__Group_g02ae3f361154035adc34417f2ba97825}{
+EAPI void \hyperlink{group__Ecore__X__Window__Input__Focus__Group_g02ae3f361154035adc34417f2ba97825}{ecore\_\-x\_\-get\_\-input\_\-focus\_\-fetch} (void)}
+\label{group__Ecore__X__Window__Input__Focus__Group_g02ae3f361154035adc34417f2ba97825}
+
+\begin{CompactList}\small\item\em Gets the reply of the Get\-Input\-Focus request sent by \hyperlink{group__Ecore__X__Window__Input__Focus__Group_ga92860262b8d5e516d183a21b181fe0e}{ecore\_\-x\_\-get\_\-input\_\-focus\_\-prefetch()}. \item\end{CompactList}\item 
+EAPI Ecore\_\-X\_\-Window \hyperlink{group__Ecore__X__Window__Focus__Functions_g0c673d99b2baea6d1e627fda19ebbc77}{ecore\_\-x\_\-window\_\-focus\_\-get} (void)
+\begin{CompactList}\small\item\em gets the focus to the window {\tt win}. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Window__Z__Order__Group_gb248ec846ab3fd167840d39f611c555c}{ecore\_\-x\_\-window\_\-raise} (Ecore\_\-X\_\-Window win)
+\begin{CompactList}\small\item\em Raises the given window. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Window__Z__Order__Group_gb9b9b7496dbcc88f4957dacad38b19f3}{ecore\_\-x\_\-window\_\-lower} (Ecore\_\-X\_\-Window win)
+\begin{CompactList}\small\item\em Lowers the given window. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Window__Parent__Group_gc8bb341a5e9300b5de4df3678c33cf85}{ecore\_\-x\_\-window\_\-reparent} (Ecore\_\-X\_\-Window win, Ecore\_\-X\_\-Window new\_\-parent, int x, int y)
+\begin{CompactList}\small\item\em Moves a window to within another window at a given position. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Window__Geometry__Group_g2c9878a9ce787bbed9475f48c8a712ae}{ecore\_\-x\_\-window\_\-size\_\-get} (Ecore\_\-X\_\-Window win, int $\ast$w, int $\ast$h)
+\begin{CompactList}\small\item\em Retrieves the size of the given window. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Window__Geometry__Group_g7587437d291e1150060bbe6a10cd2a1f}{ecore\_\-x\_\-window\_\-geometry\_\-get} (Ecore\_\-X\_\-Window win, int $\ast$x, int $\ast$y, int $\ast$w, int $\ast$h)
+\begin{CompactList}\small\item\em Retrieves the geometry of the given window. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__X__Window__Geometry__Group_geb5ad9b694963652e5d8b3036d2b9744}{ecore\_\-x\_\-window\_\-border\_\-width\_\-get} (Ecore\_\-X\_\-Window win)
+\begin{CompactList}\small\item\em Retrieves the width of the border of the given window. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Window__Geometry__Group_g51031b34c63636b837982795f940e856}{ecore\_\-x\_\-window\_\-border\_\-width\_\-set} (Ecore\_\-X\_\-Window win, int width)
+\begin{CompactList}\small\item\em Sets the width of the border of the given window. \item\end{CompactList}\item 
+EAPI int \hyperlink{Ecore__X_8h_e3edc06da877cddcf9f594edb280aa39}{ecore\_\-x\_\-window\_\-depth\_\-get} (Ecore\_\-X\_\-Window win)
+\begin{CompactList}\small\item\em Retrieves the depth of the given window. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Window__Change__Attributes__Group_gfb4d1c1ec8842f10e26ebc38a04e306a}{ecore\_\-x\_\-window\_\-cursor\_\-show} (Ecore\_\-X\_\-Window win, int show)
+\begin{CompactList}\small\item\em To be documented. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore__X_8h_ab9f527e685a919467032d4153774e60}{ecore\_\-x\_\-window\_\-defaults\_\-set} (Ecore\_\-X\_\-Window win)
+\begin{CompactList}\small\item\em Sets the default properties for the given window. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__X__Window__Visibility__Group_gbe025bc290912668119afdf049f744e0}{ecore\_\-x\_\-window\_\-visible\_\-get} (Ecore\_\-X\_\-Window win)
+\begin{CompactList}\small\item\em Finds out whether the given window is currently visible. \item\end{CompactList}\item 
+EAPI Ecore\_\-X\_\-Window \hyperlink{group__Ecore__X__Window__Geometry__Group_g6776554aa4ade68003e6e8a98e481df2}{ecore\_\-x\_\-window\_\-at\_\-xy\_\-get} (int x, int y)
+\begin{CompactList}\small\item\em Retrieves the top, visible window at the given location. \item\end{CompactList}\item 
+EAPI Ecore\_\-X\_\-Window \hyperlink{group__Ecore__X__Window__Geometry__Group_g671777ac9b390611aaec0cdecc86658a}{ecore\_\-x\_\-window\_\-at\_\-xy\_\-with\_\-skip\_\-get} (int x, int y, Ecore\_\-X\_\-Window $\ast$skip, int skip\_\-num)
+\begin{CompactList}\small\item\em Retrieves the top, visible window at the given location, but skips the windows in the list. \item\end{CompactList}\item 
+EAPI Ecore\_\-X\_\-Window \hyperlink{group__Ecore__X__Window__Geometry__Group_gfff24861ed257264c9d9119fd0509c08}{ecore\_\-x\_\-window\_\-at\_\-xy\_\-begin\_\-get} (Ecore\_\-X\_\-Window begin, int x, int y)
+\begin{CompactList}\small\item\em Retrieves the top, visible window at the given location, but begins at the {\tt begin} window instead of the root one. \item\end{CompactList}\item 
+\hypertarget{group__Ecore__X__Window__Parent__Group_g18e6147f1724e8b47b677a5bdd257732}{
+EAPI void \hyperlink{group__Ecore__X__Window__Parent__Group_g18e6147f1724e8b47b677a5bdd257732}{ecore\_\-x\_\-query\_\-tree\_\-prefetch} (Ecore\_\-X\_\-Window window)}
+\label{group__Ecore__X__Window__Parent__Group_g18e6147f1724e8b47b677a5bdd257732}
+
+\begin{CompactList}\small\item\em Sends the Query\-Tree request. \item\end{CompactList}\item 
+\hypertarget{group__Ecore__X__Window__Parent__Group_g14910fd00fc8bef59141074dd7c815b9}{
+EAPI void \hyperlink{group__Ecore__X__Window__Parent__Group_g14910fd00fc8bef59141074dd7c815b9}{ecore\_\-x\_\-query\_\-tree\_\-fetch} (void)}
+\label{group__Ecore__X__Window__Parent__Group_g14910fd00fc8bef59141074dd7c815b9}
+
+\begin{CompactList}\small\item\em Gets the reply of the Query\-Tree request sent by \hyperlink{group__Ecore__X__Window__Parent__Group_g18e6147f1724e8b47b677a5bdd257732}{ecore\_\-x\_\-query\_\-tree\_\-prefetch()}. \item\end{CompactList}\item 
+EAPI Ecore\_\-X\_\-Window \hyperlink{group__Ecore__X__Window__Parent__Group_gee7cb845063281b2582036a5fe4b75e0}{ecore\_\-x\_\-window\_\-parent\_\-get} (Ecore\_\-X\_\-Window win)
+\begin{CompactList}\small\item\em Retrieves the parent window of the given window. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Window__Change__Attributes__Group_ge48a95e4025b151a56574d00339e7b59}{ecore\_\-x\_\-window\_\-background\_\-color\_\-set} (Ecore\_\-X\_\-Window win, unsigned short r, unsigned short g, unsigned short b)
+\begin{CompactList}\small\item\em Sets the background color of the given window. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Window__Change__Attributes__Group_gc276991a3bf84c7454dd850524202917}{ecore\_\-x\_\-window\_\-gravity\_\-set} (Ecore\_\-X\_\-Window win, Ecore\_\-X\_\-Gravity grav)
+\begin{CompactList}\small\item\em Sets the gravity of the given window. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Window__Change__Attributes__Group_gbaa528f9e018cf0424f88c4ef3ccda4a}{ecore\_\-x\_\-window\_\-pixel\_\-gravity\_\-set} (Ecore\_\-X\_\-Window win, Ecore\_\-X\_\-Gravity grav)
+\begin{CompactList}\small\item\em Sets the bit gravity of the given window. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Window__Change__Attributes__Group_g5f507d1c02daa5b964dfa433cad1091f}{ecore\_\-x\_\-window\_\-pixmap\_\-set} (Ecore\_\-X\_\-Window win, Ecore\_\-X\_\-Pixmap pmap)
+\begin{CompactList}\small\item\em Sets the background pixmap of the given window. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore__X_8h_720f4a9d95ad02ef0d8ff6fdf7e6a66b}{ecore\_\-x\_\-window\_\-area\_\-clear} (Ecore\_\-X\_\-Window win, int x, int y, int w, int h)
+\begin{CompactList}\small\item\em Clears an area of the given window. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore__X_8h_2cd5023e239ca28674d160d42879521f}{ecore\_\-x\_\-window\_\-area\_\-expose} (Ecore\_\-X\_\-Window win, int x, int y, int w, int h)
+\begin{CompactList}\small\item\em Exposes an area of the given window. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Window__Change__Attributes__Group_g41fe2703d159f924661fd4c7004d3153}{ecore\_\-x\_\-window\_\-override\_\-set} (Ecore\_\-X\_\-Window win, int override)
+\begin{CompactList}\small\item\em Sets the override attribute of the given window. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore__X_8h_660bab731052c26724f57783ac0c177e}{ecore\_\-x\_\-window\_\-prop\_\-card32\_\-get\_\-prefetch} (Ecore\_\-X\_\-Window window, Ecore\_\-X\_\-Atom atom)
+\begin{CompactList}\small\item\em Sends the Get\-Property request. \item\end{CompactList}\item 
+\hypertarget{Ecore__X_8h_035908bf9b1e8af17f70d26af29f0b4a}{
+EAPI void \hyperlink{Ecore__X_8h_035908bf9b1e8af17f70d26af29f0b4a}{ecore\_\-x\_\-window\_\-prop\_\-card32\_\-get\_\-fetch} (void)}
+\label{Ecore__X_8h_035908bf9b1e8af17f70d26af29f0b4a}
+
+\begin{CompactList}\small\item\em Gets the reply of the Get\-Property request sent by \hyperlink{Ecore__X_8h_660bab731052c26724f57783ac0c177e}{ecore\_\-x\_\-window\_\-prop\_\-card32\_\-get\_\-prefetch()}. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore__X_8h_d1e81ac2852a0af250bce275c0dca9c9}{ecore\_\-x\_\-window\_\-prop\_\-xid\_\-get\_\-prefetch} (Ecore\_\-X\_\-Window window, Ecore\_\-X\_\-Atom atom, Ecore\_\-X\_\-Atom type)
+\begin{CompactList}\small\item\em Sends the Get\-Property request. \item\end{CompactList}\item 
+\hypertarget{Ecore__X_8h_3afd8a5078e3e93ef7731eb01ae0f421}{
+EAPI void \hyperlink{Ecore__X_8h_3afd8a5078e3e93ef7731eb01ae0f421}{ecore\_\-x\_\-window\_\-prop\_\-xid\_\-get\_\-fetch} (void)}
+\label{Ecore__X_8h_3afd8a5078e3e93ef7731eb01ae0f421}
+
+\begin{CompactList}\small\item\em Gets the reply of the Get\-Property request sent by \hyperlink{Ecore__X_8h_d1e81ac2852a0af250bce275c0dca9c9}{ecore\_\-x\_\-window\_\-prop\_\-xid\_\-get\_\-prefetch()}. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore__X_8h_f73ba0c18faa574b1e1d68e5e4995266}{ecore\_\-x\_\-window\_\-prop\_\-atom\_\-get\_\-prefetch} (Ecore\_\-X\_\-Window window, Ecore\_\-X\_\-Atom atom)
+\begin{CompactList}\small\item\em Sends the Get\-Property request. \item\end{CompactList}\item 
+\hypertarget{Ecore__X_8h_ab1726ce603f92ed72dd27b7691fe598}{
+EAPI void \hyperlink{Ecore__X_8h_ab1726ce603f92ed72dd27b7691fe598}{ecore\_\-x\_\-window\_\-prop\_\-atom\_\-get\_\-fetch} (void)}
+\label{Ecore__X_8h_ab1726ce603f92ed72dd27b7691fe598}
+
+\begin{CompactList}\small\item\em Gets the reply of the Get\-Property request sent by \hyperlink{Ecore__X_8h_f73ba0c18faa574b1e1d68e5e4995266}{ecore\_\-x\_\-window\_\-prop\_\-atom\_\-get\_\-prefetch()}. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore__X_8h_83590467335b25392a7fa4f956464da2}{ecore\_\-x\_\-window\_\-prop\_\-window\_\-get\_\-prefetch} (Ecore\_\-X\_\-Window window, Ecore\_\-X\_\-Atom atom)
+\begin{CompactList}\small\item\em Sends the Get\-Property request. \item\end{CompactList}\item 
+\hypertarget{Ecore__X_8h_ad0492347298224599db65058b28bdb7}{
+EAPI void \hyperlink{Ecore__X_8h_ad0492347298224599db65058b28bdb7}{ecore\_\-x\_\-window\_\-prop\_\-window\_\-get\_\-fetch} (void)}
+\label{Ecore__X_8h_ad0492347298224599db65058b28bdb7}
+
+\begin{CompactList}\small\item\em Gets the reply of the Get\-Property request sent by \hyperlink{Ecore__X_8h_83590467335b25392a7fa4f956464da2}{ecore\_\-x\_\-window\_\-prop\_\-window\_\-get\_\-prefetch()}. \item\end{CompactList}\item 
+EAPI Ecore\_\-X\_\-Atom \hyperlink{Ecore__X_8h_b09274a94cf3917558e288f01afad53f}{ecore\_\-x\_\-window\_\-prop\_\-any\_\-type} (void)
+\begin{CompactList}\small\item\em To be documented. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore__X_8h_958d730271efc435996d845eb8e89092}{ecore\_\-x\_\-window\_\-prop\_\-property\_\-set} (Ecore\_\-X\_\-Window win, Ecore\_\-X\_\-Atom type, Ecore\_\-X\_\-Atom format, int size, void $\ast$data, int number)
+\begin{CompactList}\small\item\em To be documented. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore__X_8h_71702d85a255610cd4f689519462fbf0}{ecore\_\-x\_\-window\_\-prop\_\-property\_\-get\_\-prefetch} (Ecore\_\-X\_\-Window window, Ecore\_\-X\_\-Atom property, Ecore\_\-X\_\-Atom type)
+\begin{CompactList}\small\item\em Sends the Get\-Property request. \item\end{CompactList}\item 
+\hypertarget{Ecore__X_8h_55dfdc9e1eb38d6d563390ef15e6a10e}{
+EAPI void \hyperlink{Ecore__X_8h_55dfdc9e1eb38d6d563390ef15e6a10e}{ecore\_\-x\_\-window\_\-prop\_\-property\_\-get\_\-fetch} (void)}
+\label{Ecore__X_8h_55dfdc9e1eb38d6d563390ef15e6a10e}
+
+\begin{CompactList}\small\item\em Gets the reply of the Get\-Property request sent by \hyperlink{Ecore__X_8h_71702d85a255610cd4f689519462fbf0}{ecore\_\-x\_\-window\_\-prop\_\-property\_\-get\_\-prefetch()}. \item\end{CompactList}\item 
+EAPI int \hyperlink{Ecore__X_8h_7d4659af05243f5998abaf5f1491f4a6}{ecore\_\-x\_\-window\_\-prop\_\-property\_\-get} (Ecore\_\-X\_\-Window win, Ecore\_\-X\_\-Atom property, Ecore\_\-X\_\-Atom type, int size, unsigned char $\ast$$\ast$data, int $\ast$num)
+\begin{CompactList}\small\item\em To be documented. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore__X_8h_35c4eb2d9006b73302e586263dac4a7d}{ecore\_\-x\_\-window\_\-prop\_\-list\_\-prefetch} (Ecore\_\-X\_\-Window window)
+\begin{CompactList}\small\item\em Sends the List\-Properties request. \item\end{CompactList}\item 
+\hypertarget{Ecore__X_8h_c06db45a238cb83c6970c7888dbf8bf5}{
+EAPI void \hyperlink{Ecore__X_8h_c06db45a238cb83c6970c7888dbf8bf5}{ecore\_\-x\_\-window\_\-prop\_\-list\_\-fetch} (void)}
+\label{Ecore__X_8h_c06db45a238cb83c6970c7888dbf8bf5}
+
+\begin{CompactList}\small\item\em Gets the reply of the List\-Properties request sent by \hyperlink{Ecore__X_8h_35c4eb2d9006b73302e586263dac4a7d}{ecore\_\-x\_\-window\_\-prop\_\-list\_\-prefetch()}. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore__X_8h_4db12cbfb0ab6626dc21f5b9b39bbb52}{ecore\_\-x\_\-window\_\-prop\_\-string\_\-set} (Ecore\_\-X\_\-Window win, Ecore\_\-X\_\-Atom type, const char $\ast$str)
+\begin{CompactList}\small\item\em Set a window string property. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore__X_8h_62697f77264b0302abfbc3efa126995d}{ecore\_\-x\_\-window\_\-prop\_\-string\_\-get\_\-prefetch} (Ecore\_\-X\_\-Window window, Ecore\_\-X\_\-Atom type)
+\begin{CompactList}\small\item\em Sends the Get\-Property request. \item\end{CompactList}\item 
+\hypertarget{Ecore__X_8h_dc2b001e7c8e98b3366a065b801bef8b}{
+EAPI void \hyperlink{Ecore__X_8h_dc2b001e7c8e98b3366a065b801bef8b}{ecore\_\-x\_\-window\_\-prop\_\-string\_\-get\_\-fetch} (void)}
+\label{Ecore__X_8h_dc2b001e7c8e98b3366a065b801bef8b}
+
+\begin{CompactList}\small\item\em Gets the reply of the Get\-Property request sent by \hyperlink{Ecore__X_8h_62697f77264b0302abfbc3efa126995d}{ecore\_\-x\_\-window\_\-prop\_\-string\_\-get\_\-prefetch()}. \item\end{CompactList}\item 
+EAPI char $\ast$ \hyperlink{Ecore__X_8h_114fb34050f957f2c87fb60e7a85f69c}{ecore\_\-x\_\-window\_\-prop\_\-string\_\-get} (Ecore\_\-X\_\-Window win, Ecore\_\-X\_\-Atom type)
+\begin{CompactList}\small\item\em Get a window string property. \item\end{CompactList}\item 
+EAPI Ecore\_\-X\_\-WM\_\-Protocol $\ast$ \hyperlink{Ecore__X_8h_8972569167bed2624edeeed44e1aec6a}{ecore\_\-x\_\-window\_\-prop\_\-protocol\_\-list\_\-get} (Ecore\_\-X\_\-Window win, int $\ast$num\_\-ret)
+\begin{CompactList}\small\item\em To be documented. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Window__Shape_g3717cee0507fb41cffad1094fa0a0fc9}{ecore\_\-x\_\-window\_\-shape\_\-mask\_\-set} (Ecore\_\-X\_\-Window win, Ecore\_\-X\_\-Pixmap mask)
+\begin{CompactList}\small\item\em Sets the shape of the given window to that given by the pixmap {\tt mask}. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Shape__Group_gbb308c760ce2764ad4c8baa513203fc1}{ecore\_\-x\_\-window\_\-shape\_\-rectangle\_\-set} (Ecore\_\-X\_\-Window win, int x, int y, int w, int h)
+\begin{CompactList}\small\item\em Sets the shape of the given window to a rectangle. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Shape__Group_g74946b8f12f5159e4a682512933a3d18}{ecore\_\-x\_\-window\_\-shape\_\-rectangles\_\-get\_\-prefetch} (Ecore\_\-X\_\-Window window)
+\begin{CompactList}\small\item\em Sends the Shape\-Get\-Rectangles request. \item\end{CompactList}\item 
+\hypertarget{group__Ecore__X__Shape__Group_gb9cf8440f79e4242eb07e65227117404}{
+EAPI void \hyperlink{group__Ecore__X__Shape__Group_gb9cf8440f79e4242eb07e65227117404}{ecore\_\-x\_\-window\_\-shape\_\-rectangles\_\-get\_\-fetch} (void)}
+\label{group__Ecore__X__Shape__Group_gb9cf8440f79e4242eb07e65227117404}
+
+\begin{CompactList}\small\item\em Gets the reply of the Shape\-Get\-Rectangles request sent by \hyperlink{group__Ecore__X__Shape__Group_g74946b8f12f5159e4a682512933a3d18}{ecore\_\-x\_\-window\_\-shape\_\-rectangles\_\-get\_\-prefetch()}. \item\end{CompactList}\item 
+EAPI Ecore\_\-X\_\-Pixmap \hyperlink{group__Ecore__X__Pixmap__Group_g4d02ed7c9ea23b344cf55123e142e9e1}{ecore\_\-x\_\-pixmap\_\-new} (Ecore\_\-X\_\-Window win, int w, int h, int dep)
+\begin{CompactList}\small\item\em Creates a new pixmap. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Pixmap__Group_g190a18a60b6d09ee97b65b278a15d482}{ecore\_\-x\_\-pixmap\_\-del} (Ecore\_\-X\_\-Pixmap pmap)
+\begin{CompactList}\small\item\em Deletes the reference to the given pixmap. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Pixmap__Group_g01f841e4ca0f9584fc8d55e968a2c987}{ecore\_\-x\_\-pixmap\_\-paste} (Ecore\_\-X\_\-Pixmap pmap, Ecore\_\-X\_\-Drawable dest, Ecore\_\-X\_\-GC gc, int sx, int sy, int w, int h, int dx, int dy)
+\begin{CompactList}\small\item\em Pastes a rectangular area of the given pixmap onto the given drawable. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Pixmap__Group_g71572e8cad6af6836ced18c5e39e4648}{ecore\_\-x\_\-pixmap\_\-geometry\_\-get} (Ecore\_\-X\_\-Pixmap pmap, int $\ast$x, int $\ast$y, int $\ast$w, int $\ast$h)
+\begin{CompactList}\small\item\em Retrieves the size of the given pixmap. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__X__Pixmap__Group_gdf1ad96ce96de02991b60386fd6bc535}{ecore\_\-x\_\-pixmap\_\-depth\_\-get} (Ecore\_\-X\_\-Pixmap pmap)
+\begin{CompactList}\small\item\em Retrieves the depth of the given pixmap. \item\end{CompactList}\item 
+EAPI Ecore\_\-X\_\-GC \hyperlink{Ecore__X_8h_d4da592f24cd063ce4ee7b6292dfbbf8}{ecore\_\-x\_\-gc\_\-new} (Ecore\_\-X\_\-Drawable draw)
+\begin{CompactList}\small\item\em Creates a new default graphics context associated with the given drawable. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore__X_8h_1017c1e5a4ff5544d34e9953f2e98939}{ecore\_\-x\_\-gc\_\-del} (Ecore\_\-X\_\-GC gc)
+\begin{CompactList}\small\item\em Deletes and frees the given graphics context. \item\end{CompactList}\item 
+EAPI int \hyperlink{Ecore__X_8h_21d8659bf7bbf1721b3ff6d7160a5d89}{ecore\_\-x\_\-client\_\-message32\_\-send} (Ecore\_\-X\_\-Window win, Ecore\_\-X\_\-Atom type, Ecore\_\-X\_\-Event\_\-Mask mask, long d0, long d1, long d2, long d3, long d4)
+\begin{CompactList}\small\item\em Send client message with given type and format 32. \item\end{CompactList}\item 
+EAPI int \hyperlink{Ecore__X_8h_e834b269276e92b2205a6c7c9818801f}{ecore\_\-x\_\-client\_\-message8\_\-send} (Ecore\_\-X\_\-Window win, Ecore\_\-X\_\-Atom type, const void $\ast$data, int len)
+\begin{CompactList}\small\item\em Send client message with given type and format 8. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Drawable__Group_g3fa895ad27d43041247767eeff1e234f}{ecore\_\-x\_\-drawable\_\-geometry\_\-get\_\-prefetch} (Ecore\_\-X\_\-Drawable drawable)
+\begin{CompactList}\small\item\em Sends the Get\-Geometry request. \item\end{CompactList}\item 
+\hypertarget{group__Ecore__X__Drawable__Group_gcd12f290bc7db9241e683da4855c27e4}{
+EAPI void \hyperlink{group__Ecore__X__Drawable__Group_gcd12f290bc7db9241e683da4855c27e4}{ecore\_\-x\_\-drawable\_\-geometry\_\-get\_\-fetch} (void)}
+\label{group__Ecore__X__Drawable__Group_gcd12f290bc7db9241e683da4855c27e4}
+
+\begin{CompactList}\small\item\em Gets the reply of the Get\-Geometry request sent by \hyperlink{group__Ecore__X__Atom__Group_g4c6beeb04b4a0e23895a34c38c615125}{ecore\_\-x\_\-atom\_\-get\_\-prefetch()}. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Drawable__Group_g59de54a283d18070c5f3c0d52b87e2b7}{ecore\_\-x\_\-drawable\_\-geometry\_\-get} (Ecore\_\-X\_\-Drawable d, int $\ast$x, int $\ast$y, int $\ast$w, int $\ast$h)
+\begin{CompactList}\small\item\em Retrieves the geometry of the given drawable. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__X__Drawable__Group_g218285639dcb306d4211544a480bf1ba}{ecore\_\-x\_\-drawable\_\-border\_\-width\_\-get} (Ecore\_\-X\_\-Drawable d)
+\begin{CompactList}\small\item\em Retrieves the width of the border of the given drawable. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__X__Drawable__Group_g1ce2cba70a5a86636cc79c886abc3c55}{ecore\_\-x\_\-drawable\_\-depth\_\-get} (Ecore\_\-X\_\-Drawable d)
+\begin{CompactList}\small\item\em Retrieves the depth of the given drawable. \item\end{CompactList}\item 
+EAPI Ecore\_\-X\_\-Window $\ast$ \hyperlink{Ecore__X_8h_78bb4a4944619d01db4bccf3047465cb}{ecore\_\-x\_\-window\_\-root\_\-list} (int $\ast$num\_\-ret)
+\begin{CompactList}\small\item\em Get a list of all the root windows on the server. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Window__Change__Attributes__Group_g2e636d8d0e55a4ae4ef06738a2f1beab}{ecore\_\-x\_\-window\_\-container\_\-manage} (Ecore\_\-X\_\-Window win)
+\begin{CompactList}\small\item\em Todo. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Window__Change__Attributes__Group_gdbfc9e398582f595ffafeb2f58462b6e}{ecore\_\-x\_\-window\_\-client\_\-manage} (Ecore\_\-X\_\-Window win)
+\begin{CompactList}\small\item\em Todo. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Window__Change__Attributes__Group_g1530c55771e253f3dcfbfac003e91d04}{ecore\_\-x\_\-window\_\-sniff} (Ecore\_\-X\_\-Window win)
+\begin{CompactList}\small\item\em Todo. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Window__Change__Attributes__Group_g8d1b65f42c5a2e96477cd1c7ff91f7bc}{ecore\_\-x\_\-window\_\-client\_\-sniff} (Ecore\_\-X\_\-Window win)
+\begin{CompactList}\small\item\em Todo. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Atom__Group_g4c6beeb04b4a0e23895a34c38c615125}{ecore\_\-x\_\-atom\_\-get\_\-prefetch} (const char $\ast$name)
+\begin{CompactList}\small\item\em Sends the Intern\-Atom request. \item\end{CompactList}\item 
+\hypertarget{group__Ecore__X__Atom__Group_g74cd977810f7decf26961d1277544952}{
+EAPI void \hyperlink{group__Ecore__X__Atom__Group_g74cd977810f7decf26961d1277544952}{ecore\_\-x\_\-atom\_\-get\_\-fetch} (void)}
+\label{group__Ecore__X__Atom__Group_g74cd977810f7decf26961d1277544952}
+
+\begin{CompactList}\small\item\em Gets the reply of the Intern\-Atom request sent by \hyperlink{group__Ecore__X__Atom__Group_g4c6beeb04b4a0e23895a34c38c615125}{ecore\_\-x\_\-atom\_\-get\_\-prefetch()}. \item\end{CompactList}\item 
+EAPI Ecore\_\-X\_\-Atom \hyperlink{Ecore__X_8h_f2b0dbe8f93124b077f9c52ddbe10229}{ecore\_\-x\_\-atom\_\-get} (const char $\ast$name)
+\begin{CompactList}\small\item\em Retrieves the atom value associated with the given name. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__ICCCM__Group_g0a220ec75c0ae400e86df862dbdb2dc5}{ecore\_\-x\_\-icccm\_\-state\_\-set} (Ecore\_\-X\_\-Window win, Ecore\_\-X\_\-Window\_\-State\_\-Hint state)
+\begin{CompactList}\small\item\em Sets the state of a window. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__ICCCM__Group_ga67d73e5f8090306f2e06bdc64707647}{ecore\_\-x\_\-icccm\_\-delete\_\-window\_\-send} (Ecore\_\-X\_\-Window win, Ecore\_\-X\_\-Time t)
+\begin{CompactList}\small\item\em Sends the Client\-Message event with the Delete\-Window property. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__ICCCM__Group_gf60b2291525790e80630319143a8b95c}{ecore\_\-x\_\-icccm\_\-take\_\-focus\_\-send} (Ecore\_\-X\_\-Window win, Ecore\_\-X\_\-Time t)
+\begin{CompactList}\small\item\em Sends the Client\-Message event with the Take\-Focus property. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__ICCCM__Group_gb990b493f1ebdace041b374f980b1a13}{ecore\_\-x\_\-icccm\_\-save\_\-yourself\_\-send} (Ecore\_\-X\_\-Window win, Ecore\_\-X\_\-Time t)
+\begin{CompactList}\small\item\em Sends the Client\-Message event with the Save\-Yourself property. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__ICCCM__Group_g23b492239d9aba2058fcbdcf43ae5214}{ecore\_\-x\_\-icccm\_\-move\_\-resize\_\-send} (Ecore\_\-X\_\-Window win, int x, int y, int w, int h)
+\begin{CompactList}\small\item\em Sends the Configure\-Notify event with the Structure\-Notify property. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__ICCCM__Group_g0883a37205de291ac4063c809a9d2756}{ecore\_\-x\_\-icccm\_\-hints\_\-set} (Ecore\_\-X\_\-Window win, int accepts\_\-focus, Ecore\_\-X\_\-Window\_\-State\_\-Hint initial\_\-state, Ecore\_\-X\_\-Pixmap icon\_\-pixmap, Ecore\_\-X\_\-Pixmap icon\_\-mask, Ecore\_\-X\_\-Window icon\_\-window, Ecore\_\-X\_\-Window window\_\-group, int is\_\-urgent)
+\begin{CompactList}\small\item\em Sets the hints of a window. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__ICCCM__Group_g4afb7a2cedcc90581cb29bdca6ccf4c2}{ecore\_\-x\_\-icccm\_\-size\_\-pos\_\-hints\_\-set} (Ecore\_\-X\_\-Window win, int request\_\-pos, Ecore\_\-X\_\-Gravity gravity, int min\_\-w, int min\_\-h, int max\_\-w, int max\_\-h, int base\_\-w, int base\_\-h, int step\_\-x, int step\_\-y, double min\_\-aspect, double max\_\-aspect)
+\begin{CompactList}\small\item\em Sets the hints of a window. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__ICCCM__Group_g2f89bf0f24cc88e3f347eb7821b009be}{ecore\_\-x\_\-icccm\_\-title\_\-set} (Ecore\_\-X\_\-Window win, const char $\ast$t)
+\begin{CompactList}\small\item\em Set the title of a window. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__ICCCM__Group_gb01748645049a956dbbf9335c5bf31b7}{ecore\_\-x\_\-icccm\_\-protocol\_\-set} (Ecore\_\-X\_\-Window win, Ecore\_\-X\_\-WM\_\-Protocol protocol, int on)
+\begin{CompactList}\small\item\em Set or unset a wm protocol property. \item\end{CompactList}\item 
+EAPI int \hyperlink{Ecore__X_8h_84500711120704820a7a097c0774e7a8}{ecore\_\-x\_\-icccm\_\-protocol\_\-isset} (Ecore\_\-X\_\-Window win, Ecore\_\-X\_\-WM\_\-Protocol protocol)
+\begin{CompactList}\small\item\em Determines whether a protocol is set for a window. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__ICCCM__Group_g907ec62bfeb82ff4184850633b505c98}{ecore\_\-x\_\-icccm\_\-name\_\-class\_\-set} (Ecore\_\-X\_\-Window win, const char $\ast$n, const char $\ast$c)
+\begin{CompactList}\small\item\em Set a window name \& class. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore__X_8h_ff06f01a91f6e515ff894d7a62784a9d}{ecore\_\-x\_\-icccm\_\-name\_\-class\_\-get} (Ecore\_\-X\_\-Window win, char $\ast$$\ast$n, char $\ast$$\ast$c)
+\begin{CompactList}\small\item\em Get a window name \& class. \item\end{CompactList}\item 
+EAPI char $\ast$ \hyperlink{group__Ecore__X__ICCCM__Group_g459aa76f7d59d934feea0eadfb4394db}{ecore\_\-x\_\-icccm\_\-client\_\-machine\_\-get} (Ecore\_\-X\_\-Window win)
+\begin{CompactList}\small\item\em Get a window client machine string. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__ICCCM__Group_g2de04d312f9b06f449291a49f6714756}{ecore\_\-x\_\-icccm\_\-command\_\-set} (Ecore\_\-X\_\-Window win, int argc, char $\ast$$\ast$argv)
+\begin{CompactList}\small\item\em Sets the WM\_\-COMMAND property for {\em win\/}. \item\end{CompactList}\item 
+EAPI void \hyperlink{Ecore__X_8h_ec73fda941e864ef8ac60f0b61018e52}{ecore\_\-x\_\-icccm\_\-command\_\-get} (Ecore\_\-X\_\-Window win, int $\ast$argc, char $\ast$$\ast$$\ast$argv)
+\begin{CompactList}\small\item\em Get the WM\_\-COMMAND property for {\em win\/}. \item\end{CompactList}\item 
+EAPI char $\ast$ \hyperlink{Ecore__X_8h_f4c563d7a2573530597175966032eff6}{ecore\_\-x\_\-icccm\_\-icon\_\-name\_\-get} (Ecore\_\-X\_\-Window win)
+\begin{CompactList}\small\item\em Get a window icon name. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__ICCCM__Group_gb148da036055d0dbd2a2c84db924e24d}{ecore\_\-x\_\-icccm\_\-icon\_\-name\_\-set} (Ecore\_\-X\_\-Window win, const char $\ast$t)
+\begin{CompactList}\small\item\em Set a window icon name. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__ICCCM__Group_g203a710c05607f9abcd0d3020496585e}{ecore\_\-x\_\-icccm\_\-colormap\_\-window\_\-set} (Ecore\_\-X\_\-Window win, Ecore\_\-X\_\-Window subwin)
+\begin{CompactList}\small\item\em Add a subwindow to the list of windows that need a different colormap installed. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__ICCCM__Group_g3e47c45b85caf21e88600c7286de3729}{ecore\_\-x\_\-icccm\_\-colormap\_\-window\_\-unset} (Ecore\_\-X\_\-Window win, Ecore\_\-X\_\-Window subwin)
+\begin{CompactList}\small\item\em Remove a window from the list of colormap windows. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__ICCCM__Group_g170ce1c92e295437cc077d0111364936}{ecore\_\-x\_\-icccm\_\-transient\_\-for\_\-set} (Ecore\_\-X\_\-Window win, Ecore\_\-X\_\-Window forwin)
+\begin{CompactList}\small\item\em Specify that a window is transient for another top-level window and should be handled accordingly. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__ICCCM__Group_g259feec5f4b85523573f08820ecb358e}{ecore\_\-x\_\-icccm\_\-transient\_\-for\_\-unset} (Ecore\_\-X\_\-Window win)
+\begin{CompactList}\small\item\em Remove the transient\_\-for setting from a window. \item\end{CompactList}\item 
+EAPI Ecore\_\-X\_\-Window \hyperlink{Ecore__X_8h_b28b455ff35e3c9f8e18f29be617dc1f}{ecore\_\-x\_\-icccm\_\-transient\_\-for\_\-get} (Ecore\_\-X\_\-Window win)
+\begin{CompactList}\small\item\em Get the window this window is transient for, if any. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__ICCCM__Group_g3dd8959d662584671c3992e2c83dfefc}{ecore\_\-x\_\-icccm\_\-window\_\-role\_\-set} (Ecore\_\-X\_\-Window win, const char $\ast$role)
+\begin{CompactList}\small\item\em Set the window role hint. \item\end{CompactList}\item 
+EAPI char $\ast$ \hyperlink{group__Ecore__X__ICCCM__Group_g4b900983ec368b7dc108b6539a3e3657}{ecore\_\-x\_\-icccm\_\-window\_\-role\_\-get} (Ecore\_\-X\_\-Window win)
+\begin{CompactList}\small\item\em Get the window role. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__ICCCM__Group_g9646f43f32aa98a4681d89c0968d39c0}{ecore\_\-x\_\-icccm\_\-client\_\-leader\_\-set} (Ecore\_\-X\_\-Window win, Ecore\_\-X\_\-Window l)
+\begin{CompactList}\small\item\em Set the window's client leader. \item\end{CompactList}\item 
+EAPI Ecore\_\-X\_\-Window \hyperlink{group__Ecore__X__ICCCM__Group_gcd1f5d74bb8f1b2f6ca7db1f16b3894b}{ecore\_\-x\_\-icccm\_\-client\_\-leader\_\-get} (Ecore\_\-X\_\-Window win)
+\begin{CompactList}\small\item\em Get the window's client leader. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__ICCCM__Group_g9259a631c19152a9d1b015549a89f71d}{ecore\_\-x\_\-icccm\_\-iconic\_\-request\_\-send} (Ecore\_\-X\_\-Window win, Ecore\_\-X\_\-Window root)
+\begin{CompactList}\small\item\em Send the Client\-Message event with the Change\-State property. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__MWM__Group_g13d600cbcfd9156adb5be99d86151fdb}{ecore\_\-x\_\-mwm\_\-hints\_\-get\_\-prefetch} (Ecore\_\-X\_\-Window window)
+\begin{CompactList}\small\item\em Sends the Get\-Property request. \item\end{CompactList}\item 
+\hypertarget{group__Ecore__X__MWM__Group_gc1839719a738530cc96c6ef316ad3696}{
+EAPI void \hyperlink{group__Ecore__X__MWM__Group_gc1839719a738530cc96c6ef316ad3696}{ecore\_\-x\_\-mwm\_\-hints\_\-get\_\-fetch} (void)}
+\label{group__Ecore__X__MWM__Group_gc1839719a738530cc96c6ef316ad3696}
+
+\begin{CompactList}\small\item\em Gets the reply of the Get\-Property request sent by \hyperlink{group__Ecore__X__MWM__Group_g13d600cbcfd9156adb5be99d86151fdb}{ecore\_\-x\_\-mwm\_\-hints\_\-get\_\-prefetch()}. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__MWM__Group_gdd08a6aa95562bc0483d6713159ae196}{ecore\_\-x\_\-mwm\_\-borderless\_\-set} (Ecore\_\-X\_\-Window win, int borderless)
+\begin{CompactList}\small\item\em Sets the borderless flag of a window using MWM. \item\end{CompactList}\item 
+\hypertarget{Ecore__X_8h_b853f0a2204cd19b033400d70f45c245}{
+EAPI void \hyperlink{Ecore__X_8h_b853f0a2204cd19b033400d70f45c245}{ecore\_\-x\_\-netwm\_\-init} (void)}
+\label{Ecore__X_8h_b853f0a2204cd19b033400d70f45c245}
+
+\begin{CompactList}\small\item\em Initialize the Net\-WM module. \item\end{CompactList}\item 
+\hypertarget{Ecore__X_8h_a8b0c50228ab1ff3137b8afe7f2de1fb}{
+EAPI void \hyperlink{Ecore__X_8h_a8b0c50228ab1ff3137b8afe7f2de1fb}{ecore\_\-x\_\-netwm\_\-shutdown} (void)}
+\label{Ecore__X_8h_a8b0c50228ab1ff3137b8afe7f2de1fb}
+
+\begin{CompactList}\small\item\em Shutdown the Net\-WM module. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g44d807f6153f6f51f097fc56e790a593}{ecore\_\-x\_\-netwm\_\-wm\_\-identify} (Ecore\_\-X\_\-Window root, Ecore\_\-X\_\-Window check, const char $\ast$wm\_\-name)
+\begin{CompactList}\small\item\em Set the \_\-NET\_\-SUPPORTING\_\-WM\_\-CHECK property. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g12031ab17e0eef3c63dd1bf4c7286fa8}{ecore\_\-x\_\-netwm\_\-supported\_\-set} (Ecore\_\-X\_\-Window root, Ecore\_\-X\_\-Atom $\ast$supported, int num)
+\begin{CompactList}\small\item\em Set the \_\-NET\_\-SUPPORTED property. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g2298e64a801fd52fd03d04e753bb9ac5}{ecore\_\-x\_\-netwm\_\-supported\_\-get\_\-prefetch} (Ecore\_\-X\_\-Window root)
+\begin{CompactList}\small\item\em Sends the Get\-Property request. \item\end{CompactList}\item 
+\hypertarget{group__Ecore__X__NetWM__Group_gb45c2c7c71faad4640473b18c941b5b5}{
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_gb45c2c7c71faad4640473b18c941b5b5}{ecore\_\-x\_\-netwm\_\-supported\_\-get\_\-fetch} (void)}
+\label{group__Ecore__X__NetWM__Group_gb45c2c7c71faad4640473b18c941b5b5}
+
+\begin{CompactList}\small\item\em Gets the reply of the Get\-Property request sent by \hyperlink{group__Ecore__X__NetWM__Group_g2298e64a801fd52fd03d04e753bb9ac5}{ecore\_\-x\_\-netwm\_\-supported\_\-get\_\-prefetch()}. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__X__NetWM__Group_gec17f7f26685ce7181bffb1eec35179f}{ecore\_\-x\_\-netwm\_\-supported\_\-get} (Ecore\_\-X\_\-Window root, Ecore\_\-X\_\-Atom $\ast$$\ast$supported, int $\ast$num)
+\begin{CompactList}\small\item\em Get the hints supported by the Window Manager. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g322c07ba72236d918277b06dff0ea4fe}{ecore\_\-x\_\-netwm\_\-desk\_\-count\_\-set} (Ecore\_\-X\_\-Window root, unsigned int n\_\-desks)
+\begin{CompactList}\small\item\em Set the \_\-NET\_\-NUMBER\_\-OF\_\-DESKTOPS property. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g8f8bf74f0c30ed772607f77499084ee5}{ecore\_\-x\_\-netwm\_\-desk\_\-roots\_\-set} (Ecore\_\-X\_\-Window root, Ecore\_\-X\_\-Window $\ast$vroots, unsigned int n\_\-desks)
+\begin{CompactList}\small\item\em Set the \_\-NET\_\-VIRTUAL\_\-ROOTS property. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_gb6e059d70483327b0b3f213ccbfe65d6}{ecore\_\-x\_\-netwm\_\-desk\_\-names\_\-set} (Ecore\_\-X\_\-Window root, const char $\ast$$\ast$names, unsigned int n\_\-desks)
+\begin{CompactList}\small\item\em Set the \_\-NET\_\-DESKTOP\_\-NAMES property. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_gefa6bb9baeb95ac40932ed8982583572}{ecore\_\-x\_\-netwm\_\-desk\_\-size\_\-set} (Ecore\_\-X\_\-Window root, unsigned int width, unsigned int height)
+\begin{CompactList}\small\item\em Set the \_\-NET\_\-DESKTOP\_\-GEOMETRY property. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g8ff0ea85a83041848dba543bf17f8e14}{ecore\_\-x\_\-netwm\_\-desk\_\-workareas\_\-set} (Ecore\_\-X\_\-Window root, unsigned int $\ast$areas, unsigned int n\_\-desks)
+\begin{CompactList}\small\item\em Set the \_\-NET\_\-WORKAREA property. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g8492a55dcd3db992e2619a0edf19cf16}{ecore\_\-x\_\-netwm\_\-desk\_\-current\_\-set} (Ecore\_\-X\_\-Window root, unsigned int desk)
+\begin{CompactList}\small\item\em Set the \_\-NET\_\-CURRENT\_\-DESKTOP property. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g4cacddaf13318184e2cbd2f9ab07720d}{ecore\_\-x\_\-netwm\_\-desk\_\-viewports\_\-set} (Ecore\_\-X\_\-Window root, unsigned int $\ast$origins, unsigned int n\_\-desks)
+\begin{CompactList}\small\item\em Set the \_\-NET\_\-DESKTOP\_\-VIEWPORT property. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_gfe24bdee07f814b0e4bf5f3e5cf5d288}{ecore\_\-x\_\-netwm\_\-desk\_\-layout\_\-set} (Ecore\_\-X\_\-Window root, int orientation, int columns, int rows, int starting\_\-corner)
+\begin{CompactList}\small\item\em Set the \_\-NET\_\-DESKTOP\_\-LAYOUT property. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g52512f8933d06b8ee1fd69cebbe565b0}{ecore\_\-x\_\-netwm\_\-showing\_\-desktop\_\-set} (Ecore\_\-X\_\-Window root, int on)
+\begin{CompactList}\small\item\em Set the \_\-NET\_\-SHOWING\_\-DESKTOP property. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g1b3bdbcab3968db8b72a2ab036a64619}{ecore\_\-x\_\-netwm\_\-client\_\-list\_\-set} (Ecore\_\-X\_\-Window root, Ecore\_\-X\_\-Window $\ast$p\_\-clients, unsigned int n\_\-clients)
+\begin{CompactList}\small\item\em Set the \_\-NET\_\-CLIENT\_\-LIST property. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g42407d3c3f6f4e2c507697fdbe5fe4e2}{ecore\_\-x\_\-netwm\_\-client\_\-list\_\-stacking\_\-set} (Ecore\_\-X\_\-Window root, Ecore\_\-X\_\-Window $\ast$p\_\-clients, unsigned int n\_\-clients)
+\begin{CompactList}\small\item\em Set the \_\-NET\_\-CLIENT\_\-LIST\_\-STACKING property. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_ge07306aeca9d2a8ab864bc986dc617c5}{ecore\_\-x\_\-netwm\_\-client\_\-active\_\-set} (Ecore\_\-X\_\-Window root, Ecore\_\-X\_\-Window win)
+\begin{CompactList}\small\item\em Set the \_\-NET\_\-ACTIVE\_\-WINDOW property. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_ga121d2f05c29129c8281d69403589b7a}{ecore\_\-x\_\-netwm\_\-name\_\-set} (Ecore\_\-X\_\-Window win, const char $\ast$name)
+\begin{CompactList}\small\item\em Set the \_\-NET\_\-WM\_\-NAME property. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_ga6e282dd3aa3d0924b99cb290e7012b9}{ecore\_\-x\_\-netwm\_\-name\_\-get\_\-prefetch} (Ecore\_\-X\_\-Window window)
+\begin{CompactList}\small\item\em Sends the Get\-Property request. \item\end{CompactList}\item 
+\hypertarget{group__Ecore__X__NetWM__Group_g3029e5b4e62456951f3b3858d4f42af1}{
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g3029e5b4e62456951f3b3858d4f42af1}{ecore\_\-x\_\-netwm\_\-name\_\-get\_\-fetch} (void)}
+\label{group__Ecore__X__NetWM__Group_g3029e5b4e62456951f3b3858d4f42af1}
+
+\begin{CompactList}\small\item\em Gets the reply of the Get\-Property request sent by \hyperlink{group__Ecore__X__NetWM__Group_ga6e282dd3aa3d0924b99cb290e7012b9}{ecore\_\-x\_\-netwm\_\-name\_\-get\_\-prefetch()}. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__X__NetWM__Group_g8d99b216ec82ffcb58eef434118e0b53}{ecore\_\-x\_\-netwm\_\-name\_\-get} (Ecore\_\-X\_\-Window win, char $\ast$$\ast$name)
+\begin{CompactList}\small\item\em Get the title of a window. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g19db748363e7cfb68cf8fb6ece03b487}{ecore\_\-x\_\-netwm\_\-startup\_\-id\_\-set} (Ecore\_\-X\_\-Window win, const char $\ast$id)
+\begin{CompactList}\small\item\em Set the \_\-NET\_\-STARTUP\_\-ID property. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g35ec39bf0e6f22417fd8877b76556e93}{ecore\_\-x\_\-netwm\_\-startup\_\-id\_\-get\_\-prefetch} (Ecore\_\-X\_\-Window window)
+\begin{CompactList}\small\item\em Sends the Get\-Property request. \item\end{CompactList}\item 
+\hypertarget{group__Ecore__X__NetWM__Group_g5a097958575bf1708b485ecce9123775}{
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g5a097958575bf1708b485ecce9123775}{ecore\_\-x\_\-netwm\_\-startup\_\-id\_\-get\_\-fetch} (void)}
+\label{group__Ecore__X__NetWM__Group_g5a097958575bf1708b485ecce9123775}
+
+\begin{CompactList}\small\item\em Gets the reply of the Get\-Property request sent by \hyperlink{group__Ecore__X__NetWM__Group_g35ec39bf0e6f22417fd8877b76556e93}{ecore\_\-x\_\-netwm\_\-startup\_\-id\_\-get\_\-prefetch()}. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__X__NetWM__Group_gbca67ffb95ff2c3a71f4ce657384ea21}{ecore\_\-x\_\-netwm\_\-startup\_\-id\_\-get} (Ecore\_\-X\_\-Window win, char $\ast$$\ast$id)
+\begin{CompactList}\small\item\em Get the startup ID name of a window. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g24a8a5d819450c7191f69adda491ff31}{ecore\_\-x\_\-netwm\_\-visible\_\-name\_\-set} (Ecore\_\-X\_\-Window win, const char $\ast$name)
+\begin{CompactList}\small\item\em Set the \_\-NET\_\-WM\_\-VISIBLE\_\-NAME property. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g8053d77e36a5c5bcc67d45cd6b630f2d}{ecore\_\-x\_\-netwm\_\-visible\_\-name\_\-get\_\-prefetch} (Ecore\_\-X\_\-Window window)
+\begin{CompactList}\small\item\em Sends the Get\-Property request. \item\end{CompactList}\item 
+\hypertarget{group__Ecore__X__NetWM__Group_g85c72fa3d53b56b589cc45977c3116d1}{
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g85c72fa3d53b56b589cc45977c3116d1}{ecore\_\-x\_\-netwm\_\-visible\_\-name\_\-get\_\-fetch} (void)}
+\label{group__Ecore__X__NetWM__Group_g85c72fa3d53b56b589cc45977c3116d1}
+
+\begin{CompactList}\small\item\em Gets the reply of the Get\-Property request sent by \hyperlink{group__Ecore__X__NetWM__Group_g8053d77e36a5c5bcc67d45cd6b630f2d}{ecore\_\-x\_\-netwm\_\-visible\_\-name\_\-get\_\-prefetch()}. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__X__NetWM__Group_ga5dfabdd704c5691b2c0ba158e55c1c0}{ecore\_\-x\_\-netwm\_\-visible\_\-name\_\-get} (Ecore\_\-X\_\-Window win, char $\ast$$\ast$name)
+\begin{CompactList}\small\item\em Get the visible title of a window. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g095da6e161bd8ae983dfe586025e47da}{ecore\_\-x\_\-netwm\_\-icon\_\-name\_\-set} (Ecore\_\-X\_\-Window win, const char $\ast$name)
+\begin{CompactList}\small\item\em Set the \_\-NET\_\-WM\_\-ICON\_\-NAME property. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g39f5a089389baa4b8f91fad1e5f6469d}{ecore\_\-x\_\-netwm\_\-icon\_\-name\_\-get\_\-prefetch} (Ecore\_\-X\_\-Window window)
+\begin{CompactList}\small\item\em Sends the Get\-Property request. \item\end{CompactList}\item 
+\hypertarget{group__Ecore__X__NetWM__Group_g91c577b0478be6378a35eeee31fdbf15}{
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g91c577b0478be6378a35eeee31fdbf15}{ecore\_\-x\_\-netwm\_\-icon\_\-name\_\-get\_\-fetch} (void)}
+\label{group__Ecore__X__NetWM__Group_g91c577b0478be6378a35eeee31fdbf15}
+
+\begin{CompactList}\small\item\em Gets the reply of the Get\-Property request sent by \hyperlink{group__Ecore__X__NetWM__Group_g39f5a089389baa4b8f91fad1e5f6469d}{ecore\_\-x\_\-netwm\_\-icon\_\-name\_\-get\_\-prefetch()}. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__X__NetWM__Group_g81a5e7fc189b36887a409a1eda026905}{ecore\_\-x\_\-netwm\_\-icon\_\-name\_\-get} (Ecore\_\-X\_\-Window win, char $\ast$$\ast$name)
+\begin{CompactList}\small\item\em Get the icon name of a window. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_gc2b69cd1230eea36d59fd93c65c96588}{ecore\_\-x\_\-netwm\_\-visible\_\-icon\_\-name\_\-set} (Ecore\_\-X\_\-Window win, const char $\ast$name)
+\begin{CompactList}\small\item\em Set the \_\-NET\_\-WM\_\-VISIBLE\_\-ICON\_\-NAME property. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g5ac2253b2d29710e3a8ecd59b7398f41}{ecore\_\-x\_\-netwm\_\-visible\_\-icon\_\-name\_\-get\_\-prefetch} (Ecore\_\-X\_\-Window window)
+\begin{CompactList}\small\item\em Sends the Get\-Property request. \item\end{CompactList}\item 
+\hypertarget{group__Ecore__X__NetWM__Group_g76267594cda1098b20e56ffbae9b7bd0}{
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g76267594cda1098b20e56ffbae9b7bd0}{ecore\_\-x\_\-netwm\_\-visible\_\-icon\_\-name\_\-get\_\-fetch} (void)}
+\label{group__Ecore__X__NetWM__Group_g76267594cda1098b20e56ffbae9b7bd0}
+
+\begin{CompactList}\small\item\em Gets the reply of the Get\-Property request sent by \hyperlink{group__Ecore__X__NetWM__Group_g5ac2253b2d29710e3a8ecd59b7398f41}{ecore\_\-x\_\-netwm\_\-visible\_\-icon\_\-name\_\-get\_\-prefetch()}. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__X__NetWM__Group_g1aa26ca13404f31badec8c0792794b30}{ecore\_\-x\_\-netwm\_\-visible\_\-icon\_\-name\_\-get} (Ecore\_\-X\_\-Window win, char $\ast$$\ast$name)
+\begin{CompactList}\small\item\em Get the visible icon name of a window. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_gfabc012ab9cfb8e642e14bbca947ed33}{ecore\_\-x\_\-netwm\_\-desktop\_\-set} (Ecore\_\-X\_\-Window win, unsigned int desk)
+\begin{CompactList}\small\item\em Set the \_\-NET\_\-WM\_\-DESKTOP property. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g2f3fc6b45d60750498fa30733bc6d227}{ecore\_\-x\_\-netwm\_\-desktop\_\-get\_\-prefetch} (Ecore\_\-X\_\-Window window)
+\begin{CompactList}\small\item\em Sends the Get\-Property request. \item\end{CompactList}\item 
+\hypertarget{group__Ecore__X__NetWM__Group_g3a4860d6235719bf820867f571582a8b}{
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g3a4860d6235719bf820867f571582a8b}{ecore\_\-x\_\-netwm\_\-desktop\_\-get\_\-fetch} (void)}
+\label{group__Ecore__X__NetWM__Group_g3a4860d6235719bf820867f571582a8b}
+
+\begin{CompactList}\small\item\em Gets the reply of the Get\-Property request sent by \hyperlink{group__Ecore__X__NetWM__Group_g2f3fc6b45d60750498fa30733bc6d227}{ecore\_\-x\_\-netwm\_\-desktop\_\-get\_\-prefetch()}. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__X__NetWM__Group_g46906092a13f8613a8a6fb5cc53e25ee}{ecore\_\-x\_\-netwm\_\-desktop\_\-get} (Ecore\_\-X\_\-Window win, unsigned int $\ast$desk)
+\begin{CompactList}\small\item\em Get the visible icon name of a window. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g4f33da6e5b143351ff2fa3d75ec0c59d}{ecore\_\-x\_\-netwm\_\-strut\_\-set} (Ecore\_\-X\_\-Window win, int left, int right, int top, int bottom)
+\begin{CompactList}\small\item\em Set the \_\-NET\_\-WM\_\-STRUT property. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g5a39840d1cbd5ce185b10b46ffa4e3a5}{ecore\_\-x\_\-netwm\_\-strut\_\-get\_\-prefetch} (Ecore\_\-X\_\-Window window)
+\begin{CompactList}\small\item\em Sends the Get\-Property request. \item\end{CompactList}\item 
+\hypertarget{group__Ecore__X__NetWM__Group_g6576ef3eb6fb134194ea6062379f4ecc}{
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g6576ef3eb6fb134194ea6062379f4ecc}{ecore\_\-x\_\-netwm\_\-strut\_\-get\_\-fetch} (void)}
+\label{group__Ecore__X__NetWM__Group_g6576ef3eb6fb134194ea6062379f4ecc}
+
+\begin{CompactList}\small\item\em Gets the reply of the Get\-Property request sent by ecore\_\-x\_\-strut\_\-get\_\-prefetch(). \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__X__NetWM__Group_g90dfc865f2a978097c1161c3db4fdaa4}{ecore\_\-x\_\-netwm\_\-strut\_\-get} (Ecore\_\-X\_\-Window win, int $\ast$left, int $\ast$right, int $\ast$top, int $\ast$bottom)
+\begin{CompactList}\small\item\em Get the space at the edje of the screen. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_gc305c545e5589069bdb82d8af3d3a446}{ecore\_\-x\_\-netwm\_\-strut\_\-partial\_\-set} (Ecore\_\-X\_\-Window win, int left, int right, int top, int bottom, int left\_\-start\_\-y, int left\_\-end\_\-y, int right\_\-start\_\-y, int right\_\-end\_\-y, int top\_\-start\_\-x, int top\_\-end\_\-x, int bottom\_\-start\_\-x, int bottom\_\-end\_\-x)
+\begin{CompactList}\small\item\em Set the \_\-NET\_\-WM\_\-STRUT\_\-PARTIAL property. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g14c97c9a08537d7437aa69d1f03ec473}{ecore\_\-x\_\-netwm\_\-strut\_\-partial\_\-get\_\-prefetch} (Ecore\_\-X\_\-Window window)
+\begin{CompactList}\small\item\em Sends the Get\-Property request. \item\end{CompactList}\item 
+\hypertarget{group__Ecore__X__NetWM__Group_g8efb784e5af202e2fffc40457b00115a}{
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g8efb784e5af202e2fffc40457b00115a}{ecore\_\-x\_\-netwm\_\-strut\_\-partial\_\-get\_\-fetch} (void)}
+\label{group__Ecore__X__NetWM__Group_g8efb784e5af202e2fffc40457b00115a}
+
+\begin{CompactList}\small\item\em Gets the reply of the Get\-Property request sent by ecore\_\-x\_\-strut\_\-partial\_\-get\_\-prefetch(). \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__X__NetWM__Group_g9151d0e817387bd0c28de180c688b06f}{ecore\_\-x\_\-netwm\_\-strut\_\-partial\_\-get} (Ecore\_\-X\_\-Window win, int $\ast$left, int $\ast$right, int $\ast$top, int $\ast$bottom, int $\ast$left\_\-start\_\-y, int $\ast$left\_\-end\_\-y, int $\ast$right\_\-start\_\-y, int $\ast$right\_\-end\_\-y, int $\ast$top\_\-start\_\-x, int $\ast$top\_\-end\_\-x, int $\ast$bottom\_\-start\_\-x, int $\ast$bottom\_\-end\_\-x)
+\begin{CompactList}\small\item\em Get the space at the edje of the screen of a window. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_gbea0854073f61fc3387d9685ccb0eecf}{ecore\_\-x\_\-netwm\_\-icons\_\-get\_\-prefetch} (Ecore\_\-X\_\-Window window)
+\begin{CompactList}\small\item\em Sends the Get\-Property request. \item\end{CompactList}\item 
+\hypertarget{group__Ecore__X__NetWM__Group_g53300609f0803527f01471bd97b61fe2}{
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g53300609f0803527f01471bd97b61fe2}{ecore\_\-x\_\-netwm\_\-icons\_\-get\_\-fetch} (void)}
+\label{group__Ecore__X__NetWM__Group_g53300609f0803527f01471bd97b61fe2}
+
+\begin{CompactList}\small\item\em Gets the reply of the Get\-Property request sent by ecore\_\-x\_\-icons\_\-get\_\-prefetch(). \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__X__NetWM__Group_g5d0490b2c0543142f56cfc51c11c1fe1}{ecore\_\-x\_\-netwm\_\-icons\_\-get} (Ecore\_\-X\_\-Window win, Ecore\_\-X\_\-Icon $\ast$$\ast$icon, int $\ast$num)
+\begin{CompactList}\small\item\em Retrieve hte possible icons of a window. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g88f5e4ec0da5d2cb64241c38e3589fdf}{ecore\_\-x\_\-netwm\_\-icon\_\-geometry\_\-set} (Ecore\_\-X\_\-Window win, int x, int y, int width, int height)
+\begin{CompactList}\small\item\em Set the \_\-NET\_\-WM\_\-ICON\_\-GEOMETRY property. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_gf03e99e4cd1c59bb20ccc37d93d78733}{ecore\_\-x\_\-netwm\_\-icon\_\-geometry\_\-get\_\-prefetch} (Ecore\_\-X\_\-Window window)
+\begin{CompactList}\small\item\em Sends the Get\-Property request. \item\end{CompactList}\item 
+\hypertarget{group__Ecore__X__NetWM__Group_g01bcd4044b8d94ff7cc56f9ca5831c1d}{
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g01bcd4044b8d94ff7cc56f9ca5831c1d}{ecore\_\-x\_\-netwm\_\-icon\_\-geometry\_\-get\_\-fetch} (void)}
+\label{group__Ecore__X__NetWM__Group_g01bcd4044b8d94ff7cc56f9ca5831c1d}
+
+\begin{CompactList}\small\item\em Gets the reply of the Get\-Property request sent by ecore\_\-x\_\-icon\_\-geometry\_\-get\_\-prefetch(). \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__X__NetWM__Group_g4b7029e67d6e8d8ca72154c2c912113d}{ecore\_\-x\_\-netwm\_\-icon\_\-geometry\_\-get} (Ecore\_\-X\_\-Window win, int $\ast$x, int $\ast$y, int $\ast$width, int $\ast$height)
+\begin{CompactList}\small\item\em Get the geometry of an icon. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g3b7b3076e9ea1b106f36873b258322d4}{ecore\_\-x\_\-netwm\_\-pid\_\-set} (Ecore\_\-X\_\-Window win, int pid)
+\begin{CompactList}\small\item\em Set the \_\-NET\_\-WM\_\-PID property. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_ge77708a72902c28e22af4baaca9aaac2}{ecore\_\-x\_\-netwm\_\-pid\_\-get\_\-prefetch} (Ecore\_\-X\_\-Window window)
+\begin{CompactList}\small\item\em Sends the Get\-Property request. \item\end{CompactList}\item 
+\hypertarget{group__Ecore__X__NetWM__Group_g716dba22ff552654642756b9527c3f29}{
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g716dba22ff552654642756b9527c3f29}{ecore\_\-x\_\-netwm\_\-pid\_\-get\_\-fetch} (void)}
+\label{group__Ecore__X__NetWM__Group_g716dba22ff552654642756b9527c3f29}
+
+\begin{CompactList}\small\item\em Gets the reply of the Get\-Property request sent by ecore\_\-x\_\-pid\_\-get\_\-prefetch(). \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__X__NetWM__Group_gea2442fd0c4d5871e9a92518abb0092d}{ecore\_\-x\_\-netwm\_\-pid\_\-get} (Ecore\_\-X\_\-Window win, int $\ast$pid)
+\begin{CompactList}\small\item\em Get the process ID of a client window. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_gba74ce8c16ea452ae31f30dad3a2d694}{ecore\_\-x\_\-netwm\_\-handled\_\-icons\_\-set} (Ecore\_\-X\_\-Window win)
+\begin{CompactList}\small\item\em Set the \_\-NET\_\-WM\_\-HANDLED\_\-ICONS property. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g432b8b3d09b56e82e7e529ffcfc56afd}{ecore\_\-x\_\-netwm\_\-handled\_\-icons\_\-get\_\-prefetch} (Ecore\_\-X\_\-Window window)
+\begin{CompactList}\small\item\em Sends the Get\-Property request. \item\end{CompactList}\item 
+\hypertarget{group__Ecore__X__NetWM__Group_g131d350d9088e13e55bd88f6f74da4ef}{
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g131d350d9088e13e55bd88f6f74da4ef}{ecore\_\-x\_\-netwm\_\-handled\_\-icons\_\-get\_\-fetch} (void)}
+\label{group__Ecore__X__NetWM__Group_g131d350d9088e13e55bd88f6f74da4ef}
+
+\begin{CompactList}\small\item\em Gets the reply of the Get\-Property request sent by ecore\_\-x\_\-handled\_\-icons\_\-get\_\-prefetch(). \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__X__NetWM__Group_gacca4387980183d6993f980ad42a4869}{ecore\_\-x\_\-netwm\_\-handled\_\-icons\_\-get} (Ecore\_\-X\_\-Window win)
+\begin{CompactList}\small\item\em Return wheter the Client handles icons or not. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_gee0bb29864b98894ec02631236f4e794}{ecore\_\-x\_\-netwm\_\-user\_\-time\_\-set} (Ecore\_\-X\_\-Window win, unsigned int time)
+\begin{CompactList}\small\item\em Set the \_\-NET\_\-WM\_\-USER\_\-TIME property. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g547c35302c92ebfc5e6f54120755593a}{ecore\_\-x\_\-netwm\_\-user\_\-time\_\-get\_\-prefetch} (Ecore\_\-X\_\-Window window)
+\begin{CompactList}\small\item\em Sends the Get\-Property request. \item\end{CompactList}\item 
+\hypertarget{group__Ecore__X__NetWM__Group_g2f0ad96d62d836f07e13def405a1fa96}{
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g2f0ad96d62d836f07e13def405a1fa96}{ecore\_\-x\_\-netwm\_\-user\_\-time\_\-get\_\-fetch} (void)}
+\label{group__Ecore__X__NetWM__Group_g2f0ad96d62d836f07e13def405a1fa96}
+
+\begin{CompactList}\small\item\em Gets the reply of the Get\-Property request sent by \hyperlink{group__Ecore__X__NetWM__Group_g547c35302c92ebfc5e6f54120755593a}{ecore\_\-x\_\-netwm\_\-user\_\-time\_\-get\_\-prefetch()}. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__X__NetWM__Group_gc65c380e26c8efe810d21be5a013578a}{ecore\_\-x\_\-netwm\_\-user\_\-time\_\-get} (Ecore\_\-X\_\-Window win, unsigned int $\ast$time)
+\begin{CompactList}\small\item\em Get the last user activity time in the window. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g48ea0e54441b6ffc81494151a3b4a53f}{ecore\_\-x\_\-netwm\_\-window\_\-state\_\-set} (Ecore\_\-X\_\-Window win, Ecore\_\-X\_\-Window\_\-State $\ast$state, unsigned int num)
+\begin{CompactList}\small\item\em Set the \_\-NET\_\-WM\_\-STATE property. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g325c8c4da075d776a4f91517648cd113}{ecore\_\-x\_\-netwm\_\-window\_\-state\_\-get\_\-prefetch} (Ecore\_\-X\_\-Window window)
+\begin{CompactList}\small\item\em Sends the Get\-Property request. \item\end{CompactList}\item 
+\hypertarget{group__Ecore__X__NetWM__Group_g7db6800a36f20f764cfe63a58004e422}{
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g7db6800a36f20f764cfe63a58004e422}{ecore\_\-x\_\-netwm\_\-window\_\-state\_\-get\_\-fetch} (void)}
+\label{group__Ecore__X__NetWM__Group_g7db6800a36f20f764cfe63a58004e422}
+
+\begin{CompactList}\small\item\em Gets the reply of the Get\-Property request sent by ecore\_\-x\_\-window\_\-state\_\-get\_\-prefetch(). \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__X__NetWM__Group_g00b9620c98d37de04870a48ade2bd1cf}{ecore\_\-x\_\-netwm\_\-window\_\-state\_\-get} (Ecore\_\-X\_\-Window win, Ecore\_\-X\_\-Window\_\-State $\ast$$\ast$state, unsigned int $\ast$num)
+\begin{CompactList}\small\item\em Get the hints describing the window state. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g350b959efbc770f72bcf99fd925c5af7}{ecore\_\-x\_\-netwm\_\-window\_\-type\_\-set} (Ecore\_\-X\_\-Window win, Ecore\_\-X\_\-Window\_\-Type type)
+\begin{CompactList}\small\item\em Set the \_\-NET\_\-WM\_\-WINDOW\_\-TYPE property. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g26ef48c528e62c9fcca0cd0bde5705ac}{ecore\_\-x\_\-netwm\_\-window\_\-type\_\-get\_\-prefetch} (Ecore\_\-X\_\-Window window)
+\begin{CompactList}\small\item\em Sends the Get\-Property request. \item\end{CompactList}\item 
+\hypertarget{group__Ecore__X__NetWM__Group_ge94b43f91956f6043a20eb4c49d6ed43}{
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_ge94b43f91956f6043a20eb4c49d6ed43}{ecore\_\-x\_\-netwm\_\-window\_\-type\_\-get\_\-fetch} (void)}
+\label{group__Ecore__X__NetWM__Group_ge94b43f91956f6043a20eb4c49d6ed43}
+
+\begin{CompactList}\small\item\em Gets the reply of the Get\-Property request sent by ecore\_\-x\_\-window\_\-type\_\-get\_\-prefetch(). \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__X__NetWM__Group_g2c6e85b979a52f7f33d202582e904f15}{ecore\_\-x\_\-netwm\_\-window\_\-type\_\-get} (Ecore\_\-X\_\-Window win, Ecore\_\-X\_\-Window\_\-Type $\ast$type)
+\begin{CompactList}\small\item\em Get the functional type of a window. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__X__NetWM__Group_ga23f72ae825d6dfedf36d0a80e11003e}{ecore\_\-x\_\-netwm\_\-allowed\_\-action\_\-isset} (Ecore\_\-X\_\-Window win, Ecore\_\-X\_\-Action action)
+\begin{CompactList}\small\item\em Check whether an action is supported by a window. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_gd2aff9c983f0c54caec591c69254b486}{ecore\_\-x\_\-netwm\_\-allowed\_\-action\_\-set} (Ecore\_\-X\_\-Window win, Ecore\_\-X\_\-Action $\ast$action, unsigned int num)
+\begin{CompactList}\small\item\em Set the \_\-NET\_\-WM\_\-ALLOWED\_\-ACTIONS property. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g533d21602d8068a40172b2a10199eaa5}{ecore\_\-x\_\-netwm\_\-allowed\_\-action\_\-get\_\-prefetch} (Ecore\_\-X\_\-Window window)
+\begin{CompactList}\small\item\em Sends the Get\-Property request. \item\end{CompactList}\item 
+\hypertarget{group__Ecore__X__NetWM__Group_gb96c5f54e223e873a1922baca7acb2a1}{
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_gb96c5f54e223e873a1922baca7acb2a1}{ecore\_\-x\_\-netwm\_\-allowed\_\-action\_\-get\_\-fetch} (void)}
+\label{group__Ecore__X__NetWM__Group_gb96c5f54e223e873a1922baca7acb2a1}
+
+\begin{CompactList}\small\item\em Gets the reply of the Get\-Property request sent by ecore\_\-x\_\-allowed\_\-action\_\-get\_\-prefetch(). \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__X__NetWM__Group_gf99a4b8847575af7482902d14fac6410}{ecore\_\-x\_\-netwm\_\-allowed\_\-action\_\-get} (Ecore\_\-X\_\-Window win, Ecore\_\-X\_\-Action $\ast$$\ast$action, unsigned int $\ast$num)
+\begin{CompactList}\small\item\em Get the allowed actions supported by a window. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g216585b4c71fe63e2694878792b2cc47}{ecore\_\-x\_\-netwm\_\-opacity\_\-set} (Ecore\_\-X\_\-Window win, unsigned int opacity)
+\begin{CompactList}\small\item\em Set the \_\-NET\_\-WM\_\-WINDOW\_\-OPACITY property. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_gadfb0b4c5d3894bc2c24bad6231ed08b}{ecore\_\-x\_\-netwm\_\-opacity\_\-get\_\-prefetch} (Ecore\_\-X\_\-Window window)
+\begin{CompactList}\small\item\em Sends the Get\-Property request. \item\end{CompactList}\item 
+\hypertarget{group__Ecore__X__NetWM__Group_g746631a94bf98b07b45d4e378786b85b}{
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g746631a94bf98b07b45d4e378786b85b}{ecore\_\-x\_\-netwm\_\-opacity\_\-get\_\-fetch} (void)}
+\label{group__Ecore__X__NetWM__Group_g746631a94bf98b07b45d4e378786b85b}
+
+\begin{CompactList}\small\item\em Gets the reply of the Get\-Property request sent by \hyperlink{group__Ecore__X__NetWM__Group_gadfb0b4c5d3894bc2c24bad6231ed08b}{ecore\_\-x\_\-netwm\_\-opacity\_\-get\_\-prefetch()}. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__X__NetWM__Group_g9a28cefe24d304940b5e2cc86a2154a3}{ecore\_\-x\_\-netwm\_\-opacity\_\-get} (Ecore\_\-X\_\-Window win, unsigned int $\ast$opacity)
+\begin{CompactList}\small\item\em Get the opacity value of a window. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g43c3ae6cd045ef6726bec3f97477fe5d}{ecore\_\-x\_\-netwm\_\-frame\_\-size\_\-set} (Ecore\_\-X\_\-Window win, int fl, int fr, int ft, int fb)
+\begin{CompactList}\small\item\em Set the \_\-NET\_\-FRAME\_\-EXTENTS property. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g89e2f7a4267ffb61387a6463b316ddee}{ecore\_\-x\_\-netwm\_\-frame\_\-size\_\-get\_\-prefetch} (Ecore\_\-X\_\-Window window)
+\begin{CompactList}\small\item\em Sends the Get\-Property request. \item\end{CompactList}\item 
+\hypertarget{group__Ecore__X__NetWM__Group_g784b4a524a5bae008ff3f6c8b7a1f1cc}{
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g784b4a524a5bae008ff3f6c8b7a1f1cc}{ecore\_\-x\_\-netwm\_\-frame\_\-size\_\-get\_\-fetch} (void)}
+\label{group__Ecore__X__NetWM__Group_g784b4a524a5bae008ff3f6c8b7a1f1cc}
+
+\begin{CompactList}\small\item\em Gets the reply of the Get\-Property request sent by \hyperlink{group__Ecore__X__NetWM__Group_g89e2f7a4267ffb61387a6463b316ddee}{ecore\_\-x\_\-netwm\_\-frame\_\-size\_\-get\_\-prefetch()}. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__X__NetWM__Group_gc80dafdb077ef65d18c4eb9e6632efbe}{ecore\_\-x\_\-netwm\_\-frame\_\-size\_\-get} (Ecore\_\-X\_\-Window win, int $\ast$fl, int $\ast$fr, int $\ast$ft, int $\ast$fb)
+\begin{CompactList}\small\item\em Get the frame extent of a window. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g6328ad18c00e8ba89eb137a64223d5a8}{ecore\_\-x\_\-netwm\_\-sync\_\-counter\_\-get\_\-prefetch} (Ecore\_\-X\_\-Window window)
+\begin{CompactList}\small\item\em Sends the Get\-Property request. \item\end{CompactList}\item 
+\hypertarget{group__Ecore__X__NetWM__Group_g8ffd4e73e1a00cad7963207f3812132a}{
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g8ffd4e73e1a00cad7963207f3812132a}{ecore\_\-x\_\-netwm\_\-sync\_\-counter\_\-get\_\-fetch} (void)}
+\label{group__Ecore__X__NetWM__Group_g8ffd4e73e1a00cad7963207f3812132a}
+
+\begin{CompactList}\small\item\em Gets the reply of the Get\-Property request sent by \hyperlink{group__Ecore__X__NetWM__Group_g6328ad18c00e8ba89eb137a64223d5a8}{ecore\_\-x\_\-netwm\_\-sync\_\-counter\_\-get\_\-prefetch()}. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__X__NetWM__Group_g81e23a83ca85e33e46410454e86411b2}{ecore\_\-x\_\-netwm\_\-sync\_\-counter\_\-get} (Ecore\_\-X\_\-Window win, Ecore\_\-X\_\-Sync\_\-Counter $\ast$counter)
+\begin{CompactList}\small\item\em Get the X ID of a X Sync counter. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g598ec951dbe83f40e1a202411dee5940}{ecore\_\-x\_\-netwm\_\-ping\_\-send} (Ecore\_\-X\_\-Window win)
+\begin{CompactList}\small\item\em Send a \_\-NET\_\-WM\_\-PING property event. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g47005260f3688f6f604b4038ab6d13f1}{ecore\_\-x\_\-netwm\_\-sync\_\-request\_\-send} (Ecore\_\-X\_\-Window win, unsigned int serial)
+\begin{CompactList}\small\item\em Send a \_\-NET\_\-WM\_\-SYNC\_\-REQUEST property event. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g8620f15ce29d7f6aaddce6a4d557c678}{ecore\_\-x\_\-netwm\_\-state\_\-request\_\-send} (Ecore\_\-X\_\-Window win, Ecore\_\-X\_\-Window root, Ecore\_\-X\_\-Window\_\-State s1, Ecore\_\-X\_\-Window\_\-State s2, int set)
+\begin{CompactList}\small\item\em Send a \_\-NET\_\-WM\_\-STATE property event. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g100be4f0f4342c5917167f28573f1763}{ecore\_\-x\_\-netwm\_\-desktop\_\-request\_\-send} (Ecore\_\-X\_\-Window win, Ecore\_\-X\_\-Window root, unsigned int desktop)
+\begin{CompactList}\small\item\em Send a \_\-NET\_\-WM\_\-DESKTOP property event. \item\end{CompactList}\item 
+\hypertarget{group__Ecore__X__Xinerama__Group_gc4dab50cf69473eab4e4c85442cd832f}{
+EAPI void \hyperlink{group__Ecore__X__Xinerama__Group_gc4dab50cf69473eab4e4c85442cd832f}{ecore\_\-x\_\-xinerama\_\-query\_\-screens\_\-prefetch} (void)}
+\label{group__Ecore__X__Xinerama__Group_gc4dab50cf69473eab4e4c85442cd832f}
+
+\begin{CompactList}\small\item\em Sends the Xinerama\-Query\-Screens request. \item\end{CompactList}\item 
+\hypertarget{group__Ecore__X__Xinerama__Group_g752dd7086f48c9cacf55258717d033c0}{
+EAPI void \hyperlink{group__Ecore__X__Xinerama__Group_g752dd7086f48c9cacf55258717d033c0}{ecore\_\-x\_\-xinerama\_\-query\_\-screens\_\-fetch} (void)}
+\label{group__Ecore__X__Xinerama__Group_g752dd7086f48c9cacf55258717d033c0}
+
+\begin{CompactList}\small\item\em Gets the reply of the Xinerama\-Query\-Screens request sent by \hyperlink{group__Ecore__X__Xinerama__Group_gc4dab50cf69473eab4e4c85442cd832f}{ecore\_\-x\_\-xinerama\_\-query\_\-screens\_\-prefetch()}. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__X__Xinerama__Group_g4b09e4659ca212f567c8877048d01675}{ecore\_\-x\_\-xinerama\_\-screen\_\-count\_\-get} (void)
+\begin{CompactList}\small\item\em Return the number of screens. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__X__Xinerama__Group_g2ac0a2da385246918b865907e22fd99c}{ecore\_\-x\_\-xinerama\_\-screen\_\-geometry\_\-get} (int screen, int $\ast$x, int $\ast$y, int $\ast$w, int $\ast$h)
+\begin{CompactList}\small\item\em Get the geometry of the screen. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__X__ScrenSaver__Group_gd220f9551715b550a20616858941d3eb}{ecore\_\-x\_\-screensaver\_\-event\_\-available\_\-get} (void)
+\begin{CompactList}\small\item\em Return whether the X server supports the Scren\-Saver Extension. \item\end{CompactList}\item 
+\hypertarget{group__Ecore__X__ScrenSaver__Group_g2f8377d2641c0c99b52ed5a6958b9c6e}{
+EAPI void \hyperlink{group__Ecore__X__ScrenSaver__Group_g2f8377d2641c0c99b52ed5a6958b9c6e}{ecore\_\-x\_\-screensaver\_\-idle\_\-time\_\-prefetch} (void)}
+\label{group__Ecore__X__ScrenSaver__Group_g2f8377d2641c0c99b52ed5a6958b9c6e}
+
+\begin{CompactList}\small\item\em Sends the Query\-Info request. \item\end{CompactList}\item 
+\hypertarget{group__Ecore__X__ScrenSaver__Group_gf571ec8eaf93e1f50ce654cb10b1dbd2}{
+EAPI void \hyperlink{group__Ecore__X__ScrenSaver__Group_gf571ec8eaf93e1f50ce654cb10b1dbd2}{ecore\_\-x\_\-screensaver\_\-idle\_\-time\_\-fetch} (void)}
+\label{group__Ecore__X__ScrenSaver__Group_gf571ec8eaf93e1f50ce654cb10b1dbd2}
+
+\begin{CompactList}\small\item\em Gets the reply of the Query\-Info request sent by \hyperlink{group__Ecore__X__ScrenSaver__Group_gc298f2d96e62f51a4a762356e05fb11f}{ecore\_\-x\_\-get\_\-screensaver\_\-prefetch()}. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__X__ScrenSaver__Group_g53aac0b1f7d8d2faed6c70e39346135e}{ecore\_\-x\_\-screensaver\_\-idle\_\-time\_\-get} (void)
+\begin{CompactList}\small\item\em Get the number of seconds since the last input was received. \item\end{CompactList}\item 
+\hypertarget{group__Ecore__X__ScrenSaver__Group_gc298f2d96e62f51a4a762356e05fb11f}{
+EAPI void \hyperlink{group__Ecore__X__ScrenSaver__Group_gc298f2d96e62f51a4a762356e05fb11f}{ecore\_\-x\_\-get\_\-screensaver\_\-prefetch} (void)}
+\label{group__Ecore__X__ScrenSaver__Group_gc298f2d96e62f51a4a762356e05fb11f}
+
+\begin{CompactList}\small\item\em Sends the Get\-Screen\-Saver request. \item\end{CompactList}\item 
+\hypertarget{group__Ecore__X__ScrenSaver__Group_g247c7abda70efae971c0dab8c45b92f1}{
+EAPI void \hyperlink{group__Ecore__X__ScrenSaver__Group_g247c7abda70efae971c0dab8c45b92f1}{ecore\_\-x\_\-get\_\-screensaver\_\-fetch} (void)}
+\label{group__Ecore__X__ScrenSaver__Group_g247c7abda70efae971c0dab8c45b92f1}
+
+\begin{CompactList}\small\item\em Gets the reply of the Get\-Screen\-Saver request sent by \hyperlink{group__Ecore__X__ScrenSaver__Group_gc298f2d96e62f51a4a762356e05fb11f}{ecore\_\-x\_\-get\_\-screensaver\_\-prefetch()}. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__ScrenSaver__Group_g26516d0fd54b856fc6cf195a64c2fdf8}{ecore\_\-x\_\-screensaver\_\-set} (int timeout, int interval, int blank, int expose)
+\begin{CompactList}\small\item\em Set the parameters of the screen saver. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__ScrenSaver__Group_g85c0f1a7fef1be2706be2ee97f9868be}{ecore\_\-x\_\-screensaver\_\-timeout\_\-set} (double timeout)
+\begin{CompactList}\small\item\em Set the timeout of the screen saver. \item\end{CompactList}\item 
+EAPI double \hyperlink{group__Ecore__X__ScrenSaver__Group_ge423133e98e9e88c698f1efd04a2bc3e}{ecore\_\-x\_\-screensaver\_\-timeout\_\-get} (void)
+\begin{CompactList}\small\item\em Get the timeout of the screen saver. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__ScrenSaver__Group_gc573fddc225070334883d002729c218f}{ecore\_\-x\_\-screensaver\_\-blank\_\-set} (double timeout)
+\begin{CompactList}\small\item\em Set the screen blanking. \item\end{CompactList}\item 
+EAPI double \hyperlink{group__Ecore__X__ScrenSaver__Group_g7cb707960e49130bd5c5940c69b0ad76}{ecore\_\-x\_\-screensaver\_\-blank\_\-get} (void)
+\begin{CompactList}\small\item\em Get the screen blanking. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__ScrenSaver__Group_g96e1872d15f7098dee168b43303dc52c}{ecore\_\-x\_\-screensaver\_\-expose\_\-set} (double timeout)
+\begin{CompactList}\small\item\em Set the screen save control values. \item\end{CompactList}\item 
+EAPI double \hyperlink{group__Ecore__X__ScrenSaver__Group_gb9dd23c31d29f0dc818845f4b9ad21fd}{ecore\_\-x\_\-screensaver\_\-expose\_\-get} (void)
+\begin{CompactList}\small\item\em Get the screen save control values. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__ScrenSaver__Group_ga6694e556123a7f3da482467dbdf7599}{ecore\_\-x\_\-screensaver\_\-interval\_\-set} (double timeout)
+\begin{CompactList}\small\item\em Set the interval of the screen saver. \item\end{CompactList}\item 
+EAPI double \hyperlink{group__Ecore__X__ScrenSaver__Group_g171f13bf7c875af83589c0449deb3408}{ecore\_\-x\_\-screensaver\_\-interval\_\-get} (void)
+\begin{CompactList}\small\item\em Get the interval of the screen saver. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__ScrenSaver__Group_ga567c33796d05f2b6a8dd3aae6af14fd}{ecore\_\-x\_\-screensaver\_\-event\_\-listen\_\-set} (int on)
+\begin{CompactList}\small\item\em Specifies if the Screen Saver Notify\-Mask event should be generated. \item\end{CompactList}\item 
+\hypertarget{group__Ecore__X__Window__Get__Attributes__Group_gfae6084f4ae1bb0bc1f9a5417e27ad20}{
+EAPI void \hyperlink{group__Ecore__X__Window__Get__Attributes__Group_gfae6084f4ae1bb0bc1f9a5417e27ad20}{ecore\_\-x\_\-get\_\-window\_\-attributes\_\-prefetch} (Ecore\_\-X\_\-Window window)}
+\label{group__Ecore__X__Window__Get__Attributes__Group_gfae6084f4ae1bb0bc1f9a5417e27ad20}
+
+\begin{CompactList}\small\item\em Sends the Get\-Window\-Attributes request. \item\end{CompactList}\item 
+\hypertarget{group__Ecore__X__Window__Get__Attributes__Group_g70eb3d81772e48b216f523b14cdf5dd0}{
+EAPI void \hyperlink{group__Ecore__X__Window__Get__Attributes__Group_g70eb3d81772e48b216f523b14cdf5dd0}{ecore\_\-x\_\-get\_\-window\_\-attributes\_\-fetch} (void)}
+\label{group__Ecore__X__Window__Get__Attributes__Group_g70eb3d81772e48b216f523b14cdf5dd0}
+
+\begin{CompactList}\small\item\em Gets the reply of the Get\-Window\-Attributes request sent by \hyperlink{group__Ecore__X__Window__Get__Attributes__Group_gfae6084f4ae1bb0bc1f9a5417e27ad20}{ecore\_\-x\_\-get\_\-window\_\-attributes\_\-prefetch()}. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Window__Save__Set__Group_g5292ea88a67a9d6ddef99a9f70d2a27a}{ecore\_\-x\_\-window\_\-save\_\-set\_\-add} (Ecore\_\-X\_\-Window win)
+\begin{CompactList}\small\item\em Inserts the window in the client's save-set. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Window__Save__Set__Group_g59d6be42f3a1f5791ff3f367e336562f}{ecore\_\-x\_\-window\_\-save\_\-set\_\-del} (Ecore\_\-X\_\-Window win)
+\begin{CompactList}\small\item\em Deletes the window from the client's save-set. \item\end{CompactList}\item 
+\hypertarget{group__Ecore__X__Window__Parent__Group_gc156ab3f1feb10bbdb2e529777692fcc}{
+EAPI void \hyperlink{group__Ecore__X__Window__Parent__Group_gc156ab3f1feb10bbdb2e529777692fcc}{ecore\_\-x\_\-pointer\_\-xy\_\-get\_\-prefetch} (Ecore\_\-X\_\-Window window)}
+\label{group__Ecore__X__Window__Parent__Group_gc156ab3f1feb10bbdb2e529777692fcc}
+
+\begin{CompactList}\small\item\em Sends the Query\-Pointer request. \item\end{CompactList}\item 
+\hypertarget{group__Ecore__X__Window__Parent__Group_gd342433ee1430ee2ba4e2afe11dd9c7e}{
+EAPI void \hyperlink{group__Ecore__X__Window__Parent__Group_gd342433ee1430ee2ba4e2afe11dd9c7e}{ecore\_\-x\_\-pointer\_\-xy\_\-get\_\-fetch} (void)}
+\label{group__Ecore__X__Window__Parent__Group_gd342433ee1430ee2ba4e2afe11dd9c7e}
+
+\begin{CompactList}\small\item\em Gets the reply of the Query\-Pointer request sent by ecore\_\-x\_\-query\_\-pointer\_\-prefetch(). \item\end{CompactList}\item 
+EAPI Ecore\_\-X\_\-Sync\_\-Alarm \hyperlink{group__Ecore__X__Sync__Group_g4297e9415311e99d2d57119792340831}{ecore\_\-x\_\-sync\_\-alarm\_\-new} (Ecore\_\-X\_\-Sync\_\-Counter counter)
+\begin{CompactList}\small\item\em Create a new alarm. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__X__Sync__Group_gf6c393e632c451bb1dfa9e478b545993}{ecore\_\-x\_\-sync\_\-alarm\_\-free} (Ecore\_\-X\_\-Sync\_\-Alarm alarm)
+\begin{CompactList}\small\item\em Delete an alarm. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__X__RandR__Group_g3da36f6608ed12b06dfac42c733c85a8}{ecore\_\-x\_\-randr\_\-events\_\-select} (Ecore\_\-X\_\-Window win, int on)
+\begin{CompactList}\small\item\em Select if the Screen\-Change\-Notify events will be sent. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__RandR__Group_gad888ac7ba23c09f8461b68746b3ed42}{ecore\_\-x\_\-randr\_\-get\_\-screen\_\-info\_\-prefetch} (Ecore\_\-X\_\-Window window)
+\begin{CompactList}\small\item\em Sends the Get\-Screen\-Info request. \item\end{CompactList}\item 
+\hypertarget{group__Ecore__X__RandR__Group_g6bacf7dd7ae77772aaad7ca4190928ce}{
+EAPI void \hyperlink{group__Ecore__X__RandR__Group_g6bacf7dd7ae77772aaad7ca4190928ce}{ecore\_\-x\_\-randr\_\-get\_\-screen\_\-info\_\-fetch} (void)}
+\label{group__Ecore__X__RandR__Group_g6bacf7dd7ae77772aaad7ca4190928ce}
+
+\begin{CompactList}\small\item\em Gets the reply of the Get\-Screen\-Info request sent by \hyperlink{group__Ecore__X__RandR__Group_gad888ac7ba23c09f8461b68746b3ed42}{ecore\_\-x\_\-randr\_\-get\_\-screen\_\-info\_\-prefetch()}. \item\end{CompactList}\item 
+EAPI Ecore\_\-X\_\-Randr\_\-Rotation \hyperlink{group__Ecore__X__RandR__Group_g1eb8fa1940edec151d10accb9a0d949b}{ecore\_\-x\_\-randr\_\-screen\_\-rotations\_\-get} (Ecore\_\-X\_\-Window root)
+\begin{CompactList}\small\item\em Get the set of rotations and reflections. \item\end{CompactList}\item 
+EAPI Ecore\_\-X\_\-Randr\_\-Rotation \hyperlink{group__Ecore__X__RandR__Group_ga3a68841eaebe2e6c824cfb1f216b04e}{ecore\_\-x\_\-randr\_\-screen\_\-rotation\_\-get} (Ecore\_\-X\_\-Window root)
+\begin{CompactList}\small\item\em Get the rotation. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__RandR__Group_gd4368d091b23cb7aa6f165003345ee02}{ecore\_\-x\_\-randr\_\-screen\_\-rotation\_\-set} (Ecore\_\-X\_\-Window root, Ecore\_\-X\_\-Randr\_\-Rotation rot)
+\begin{CompactList}\small\item\em Set the screen rotation. \item\end{CompactList}\item 
+EAPI Ecore\_\-X\_\-Screen\_\-Size $\ast$ \hyperlink{group__Ecore__X__RandR__Group_gba0bcb46adcba878b3f86920fe97ac48}{ecore\_\-x\_\-randr\_\-screen\_\-sizes\_\-get} (Ecore\_\-X\_\-Window root, int $\ast$num)
+\begin{CompactList}\small\item\em Get the frame buffer sizes. \item\end{CompactList}\item 
+EAPI Ecore\_\-X\_\-Screen\_\-Size \hyperlink{group__Ecore__X__RandR__Group_g39f6b0042f8639c9e9d8261f9ca0fbbe}{ecore\_\-x\_\-randr\_\-current\_\-screen\_\-size\_\-get} (Ecore\_\-X\_\-Window root)
+\begin{CompactList}\small\item\em Get the current frame buffer size. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__X__RandR__Group_g19e6ebee44b2f6783bab826239de5529}{ecore\_\-x\_\-randr\_\-screen\_\-size\_\-set} (Ecore\_\-X\_\-Window root, Ecore\_\-X\_\-Screen\_\-Size size)
+\begin{CompactList}\small\item\em Set the screen size. \item\end{CompactList}\item 
+EAPI Ecore\_\-X\_\-Screen\_\-Refresh\_\-Rate $\ast$ \hyperlink{group__Ecore__X__RandR__Group_g3d4a43b64cd09b6b0423d72fbd56ce46}{ecore\_\-x\_\-randr\_\-screen\_\-refresh\_\-rates\_\-get} (Ecore\_\-X\_\-Window root, int size\_\-id, int $\ast$num)
+\begin{CompactList}\small\item\em Get the refresh rates. \item\end{CompactList}\item 
+EAPI Ecore\_\-X\_\-Screen\_\-Refresh\_\-Rate \hyperlink{group__Ecore__X__RandR__Group_geeb60c5ac2c9db16ae0947398ed53207}{ecore\_\-x\_\-randr\_\-current\_\-screen\_\-refresh\_\-rate\_\-get} (Ecore\_\-X\_\-Window root)
+\begin{CompactList}\small\item\em Get the current refresh rate. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__X__RandR__Group_g419196c593bc7fb5737c639a40a2d78c}{ecore\_\-x\_\-randr\_\-screen\_\-refresh\_\-rate\_\-set} (Ecore\_\-X\_\-Window root, Ecore\_\-X\_\-Screen\_\-Size size, Ecore\_\-X\_\-Screen\_\-Refresh\_\-Rate rate)
+\begin{CompactList}\small\item\em Set the screen refresh rate. \item\end{CompactList}\item 
+EAPI Ecore\_\-X\_\-Region \hyperlink{group__Ecore__X__Fixes__Group_g6a076823964f40a64c4b0e2c2137c7dd}{ecore\_\-x\_\-region\_\-new} (Ecore\_\-X\_\-Rectangle $\ast$rects, int num)
+\begin{CompactList}\small\item\em Create a region from rectangles. \item\end{CompactList}\item 
+EAPI Ecore\_\-X\_\-Region \hyperlink{group__Ecore__X__Fixes__Group_g2bd12d26d3e8ef4530818e55420cdead}{ecore\_\-x\_\-region\_\-new\_\-from\_\-bitmap} (Ecore\_\-X\_\-Pixmap bitmap)
+\begin{CompactList}\small\item\em Create a region from a pixmap. \item\end{CompactList}\item 
+EAPI Ecore\_\-X\_\-Region \hyperlink{group__Ecore__X__Fixes__Group_gdfb1063da9ff8530bcdb418c58e4a125}{ecore\_\-x\_\-region\_\-new\_\-from\_\-window} (Ecore\_\-X\_\-Window win, Ecore\_\-X\_\-Region\_\-Type type)
+\begin{CompactList}\small\item\em Create a region from a window. \item\end{CompactList}\item 
+EAPI Ecore\_\-X\_\-Region \hyperlink{group__Ecore__X__Fixes__Group_gc1dce8dab49024cad065feedee473383}{ecore\_\-x\_\-region\_\-new\_\-from\_\-gc} (Ecore\_\-X\_\-GC gc)
+\begin{CompactList}\small\item\em Create a region from a graphic context. \item\end{CompactList}\item 
+EAPI Ecore\_\-X\_\-Region \hyperlink{group__Ecore__X__Fixes__Group_ga46367f4d333b9d4ef4d74dcec6635a5}{ecore\_\-x\_\-region\_\-new\_\-from\_\-picture} (Ecore\_\-X\_\-Picture picture)
+\begin{CompactList}\small\item\em Create a region from a picture. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Fixes__Group_g823fca3ac6edf2b3cd19d1454432dbb3}{ecore\_\-x\_\-region\_\-del} (Ecore\_\-X\_\-Region region)
+\begin{CompactList}\small\item\em Destroy a region. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Fixes__Group_g11e45abe4f74c5556e3007f2a477b750}{ecore\_\-x\_\-region\_\-set} (Ecore\_\-X\_\-Region region, Ecore\_\-X\_\-Rectangle $\ast$rects, int num)
+\begin{CompactList}\small\item\em Set the content of a region. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Fixes__Group_g751219ea6491c157b464a06934cb794c}{ecore\_\-x\_\-region\_\-copy} (Ecore\_\-X\_\-Region dest, Ecore\_\-X\_\-Region source)
+\begin{CompactList}\small\item\em Copy the content of a region. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Fixes__Group_g8c11c110bf6f674a30a1e854efd79fc5}{ecore\_\-x\_\-region\_\-combine} (Ecore\_\-X\_\-Region dest, Ecore\_\-X\_\-Region source1, Ecore\_\-X\_\-Region source2)
+\begin{CompactList}\small\item\em Make the union of two regions. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Fixes__Group_gca61e974a3e085dcf875a92228cf37d9}{ecore\_\-x\_\-region\_\-intersect} (Ecore\_\-X\_\-Region dest, Ecore\_\-X\_\-Region source1, Ecore\_\-X\_\-Region source2)
+\begin{CompactList}\small\item\em Make the intersection of two regions. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Fixes__Group_g3a4882c9f8fd172fc411bd6917c948c8}{ecore\_\-x\_\-region\_\-subtract} (Ecore\_\-X\_\-Region dest, Ecore\_\-X\_\-Region source1, Ecore\_\-X\_\-Region source2)
+\begin{CompactList}\small\item\em Make the substraction of two regions. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Fixes__Group_gfb593f8755c960955f82619a4c8d2b46}{ecore\_\-x\_\-region\_\-invert} (Ecore\_\-X\_\-Region dest, Ecore\_\-X\_\-Rectangle $\ast$bounds, Ecore\_\-X\_\-Region source)
+\begin{CompactList}\small\item\em Make the substraction of regions by bounds. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Fixes__Group_g57215689f69b1c76a2ab4f2a6d5266d2}{ecore\_\-x\_\-region\_\-translate} (Ecore\_\-X\_\-Region region, int dx, int dy)
+\begin{CompactList}\small\item\em Translate a region. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Fixes__Group_gec43b244400f78625b5df28892a36354}{ecore\_\-x\_\-region\_\-extents} (Ecore\_\-X\_\-Region dest, Ecore\_\-X\_\-Region source)
+\begin{CompactList}\small\item\em Extent a region. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Fixes__Group_g7f88bc47da4734a82821eaa361bf351d}{ecore\_\-x\_\-region\_\-fetch\_\-prefetch} (Ecore\_\-X\_\-Region region)
+\begin{CompactList}\small\item\em Sends the XFixes\-Fetch\-Region request. \item\end{CompactList}\item 
+\hypertarget{group__Ecore__X__Fixes__Group_gef7d7d47ff0775c9ece020afd59151ea}{
+EAPI void \hyperlink{group__Ecore__X__Fixes__Group_gef7d7d47ff0775c9ece020afd59151ea}{ecore\_\-x\_\-region\_\-fetch\_\-fetch} (void)}
+\label{group__Ecore__X__Fixes__Group_gef7d7d47ff0775c9ece020afd59151ea}
+
+\begin{CompactList}\small\item\em Gets the reply of the XFixes\-Fetch\-Region request sent by ecore\_\-xcb\_\-region\_\-fetch\_\-prefetch(). \item\end{CompactList}\item 
+EAPI Ecore\_\-X\_\-Rectangle $\ast$ \hyperlink{group__Ecore__X__Fixes__Group_g804cb633957daba47eb54b51d3bf9b2d}{ecore\_\-x\_\-region\_\-fetch} (Ecore\_\-X\_\-Region region, int $\ast$num, Ecore\_\-X\_\-Rectangle $\ast$bounds)
+\begin{CompactList}\small\item\em Return the rectangles that compose a region. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Fixes__Group_g46c6d13c8e7a0fdaad6e8729321405fa}{ecore\_\-x\_\-region\_\-expand} (Ecore\_\-X\_\-Region dest, Ecore\_\-X\_\-Region source, unsigned int left, unsigned int right, unsigned int top, unsigned int bottom)
+\begin{CompactList}\small\item\em Expand a region. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Fixes__Group_g30ede720135e613b6425b75ba13f0adc}{ecore\_\-x\_\-region\_\-gc\_\-clip\_\-set} (Ecore\_\-X\_\-Region region, Ecore\_\-X\_\-GC gc, int x\_\-origin, int y\_\-origin)
+\begin{CompactList}\small\item\em Change clip-mask in a graphic context to the specified region. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Fixes__Group_g2d162c226f1168c0f3b1bc9dc3c0a045}{ecore\_\-x\_\-region\_\-window\_\-shape\_\-set} (Ecore\_\-X\_\-Region region, Ecore\_\-X\_\-Window win, Ecore\_\-X\_\-Shape\_\-Type type, int x\_\-offset, int y\_\-offset)
+\begin{CompactList}\small\item\em Change the shape extension of a window. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Fixes__Group_g713590858dc8851b45acdbd0348e5093}{ecore\_\-x\_\-region\_\-picture\_\-clip\_\-set} (Ecore\_\-X\_\-Region region, Ecore\_\-X\_\-Picture picture, int x\_\-origin, int y\_\-origin)
+\begin{CompactList}\small\item\em Change clip-mask in picture to the specified region. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__X__Damage__Group_g6bf9f36736d2a3326d7a8c49cdc17815}{ecore\_\-x\_\-damage\_\-query} (void)
+\begin{CompactList}\small\item\em Return whether the Damage Extension is available. \item\end{CompactList}\item 
+EAPI Ecore\_\-X\_\-Damage \hyperlink{group__Ecore__X__Damage__Group_gdc985407bfd0756db858552e478005d5}{ecore\_\-x\_\-damage\_\-new} (Ecore\_\-X\_\-Drawable d, Ecore\_\-X\_\-Damage\_\-Report\_\-Level level)
+\begin{CompactList}\small\item\em Creates a damage object. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Damage__Group_g1641eb19e8543a763e2c3c2754e9f285}{ecore\_\-x\_\-damage\_\-del} (Ecore\_\-X\_\-Damage damage)
+\begin{CompactList}\small\item\em Destroys a damage object. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Damage__Group_gede48cd79919238d061c78a28f3d4610}{ecore\_\-x\_\-damage\_\-subtract} (Ecore\_\-X\_\-Damage damage, Ecore\_\-X\_\-Region repair, Ecore\_\-X\_\-Region parts)
+\begin{CompactList}\small\item\em Synchronously modifies the region. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__X__NetWM__Group_gf50ef199db219e0aac5ae1195d4e85a5}{ecore\_\-x\_\-screen\_\-is\_\-composited} (int screen)
+\begin{CompactList}\small\item\em Check whether a screen is composited or not. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__X__DPMS__Group_g032ee4fb13efffefc4f6a472ecd8fdc6}{ecore\_\-x\_\-dpms\_\-query} (void)
+\begin{CompactList}\small\item\em Checks if the DPMS extension is available or not. \item\end{CompactList}\item 
+\hypertarget{group__Ecore__X__DPMS__Group_g57c4b53ec3e7398959703e86e08b2edc}{
+EAPI void \hyperlink{group__Ecore__X__DPMS__Group_g57c4b53ec3e7398959703e86e08b2edc}{ecore\_\-x\_\-dpms\_\-capable\_\-get\_\-prefetch} (void)}
+\label{group__Ecore__X__DPMS__Group_g57c4b53ec3e7398959703e86e08b2edc}
+
+\begin{CompactList}\small\item\em Sends the DPMSCapable request. \item\end{CompactList}\item 
+\hypertarget{group__Ecore__X__DPMS__Group_g30d1afa503d86e43aaf1e91452ee5cec}{
+EAPI void \hyperlink{group__Ecore__X__DPMS__Group_g30d1afa503d86e43aaf1e91452ee5cec}{ecore\_\-x\_\-dpms\_\-capable\_\-get\_\-fetch} (void)}
+\label{group__Ecore__X__DPMS__Group_g30d1afa503d86e43aaf1e91452ee5cec}
+
+\begin{CompactList}\small\item\em Gets the reply of the DPMSCapable request sent by \hyperlink{group__Ecore__X__DPMS__Group_g57c4b53ec3e7398959703e86e08b2edc}{ecore\_\-x\_\-dpms\_\-capable\_\-get\_\-prefetch()}. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__X__DPMS__Group_gcc046dd0ff301db75a220b44165d70d7}{ecore\_\-x\_\-dpms\_\-capable\_\-get} (void)
+\begin{CompactList}\small\item\em Checks if the X server is capable of DPMS. \item\end{CompactList}\item 
+\hypertarget{group__Ecore__X__DPMS__Group_g3acf2e4676f0c4e7d15dd55d895a664f}{
+EAPI void \hyperlink{group__Ecore__X__DPMS__Group_g3acf2e4676f0c4e7d15dd55d895a664f}{ecore\_\-x\_\-dpms\_\-enable\_\-get\_\-prefetch} (void)}
+\label{group__Ecore__X__DPMS__Group_g3acf2e4676f0c4e7d15dd55d895a664f}
+
+\begin{CompactList}\small\item\em Sends the DPMSInfo request. \item\end{CompactList}\item 
+\hypertarget{group__Ecore__X__DPMS__Group_gd135ecdd36d61f718bcde127dda01ae0}{
+EAPI void \hyperlink{group__Ecore__X__DPMS__Group_gd135ecdd36d61f718bcde127dda01ae0}{ecore\_\-x\_\-dpms\_\-enable\_\-get\_\-fetch} (void)}
+\label{group__Ecore__X__DPMS__Group_gd135ecdd36d61f718bcde127dda01ae0}
+
+\begin{CompactList}\small\item\em Gets the reply of the DPMSInfo request sent by \hyperlink{group__Ecore__X__DPMS__Group_g3acf2e4676f0c4e7d15dd55d895a664f}{ecore\_\-x\_\-dpms\_\-enable\_\-get\_\-prefetch()}. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__X__DPMS__Group_g41784bf96145cddc7a9a3d3b7022bb7a}{ecore\_\-x\_\-dpms\_\-enabled\_\-get} (void)
+\begin{CompactList}\small\item\em Checks the DPMS state of the display. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__DPMS__Group_gbad51cbf45115e47e5b79370cb0262f1}{ecore\_\-x\_\-dpms\_\-enabled\_\-set} (int enabled)
+\begin{CompactList}\small\item\em Sets the DPMS state of the display. \item\end{CompactList}\item 
+\hypertarget{group__Ecore__X__DPMS__Group_g1f7c26484063ed488792590ef83a25af}{
+EAPI void \hyperlink{group__Ecore__X__DPMS__Group_g1f7c26484063ed488792590ef83a25af}{ecore\_\-x\_\-dpms\_\-timeouts\_\-get\_\-prefetch} (void)}
+\label{group__Ecore__X__DPMS__Group_g1f7c26484063ed488792590ef83a25af}
+
+\begin{CompactList}\small\item\em Sends the DPMSGet\-Timeouts request. \item\end{CompactList}\item 
+\hypertarget{group__Ecore__X__DPMS__Group_gb45150258267e7390235b42b9597ddfd}{
+EAPI void \hyperlink{group__Ecore__X__DPMS__Group_gb45150258267e7390235b42b9597ddfd}{ecore\_\-x\_\-dpms\_\-timeouts\_\-get\_\-fetch} (void)}
+\label{group__Ecore__X__DPMS__Group_gb45150258267e7390235b42b9597ddfd}
+
+\begin{CompactList}\small\item\em Gets the reply of the DPMSGet\-Timeouts request sent by \hyperlink{group__Ecore__X__DPMS__Group_g1f7c26484063ed488792590ef83a25af}{ecore\_\-x\_\-dpms\_\-timeouts\_\-get\_\-prefetch()}. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__DPMS__Group_g7b648c34d84859af30563fff3ed1a9f4}{ecore\_\-x\_\-dpms\_\-timeouts\_\-get} (unsigned int $\ast$standby, unsigned int $\ast$suspend, unsigned int $\ast$off)
+\begin{CompactList}\small\item\em Gets the timeouts. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__X__DPMS__Group_gdcb653306d26c1677a7fff274dda5a51}{ecore\_\-x\_\-dpms\_\-timeouts\_\-set} (unsigned int standby, unsigned int suspend, unsigned int off)
+\begin{CompactList}\small\item\em Sets the timeouts. \item\end{CompactList}\item 
+EAPI unsigned int \hyperlink{group__Ecore__X__DPMS__Group_g6e4a68ec1147d2fdc87c6a215aafd9ef}{ecore\_\-x\_\-dpms\_\-timeout\_\-standby\_\-get} (void)
+\begin{CompactList}\small\item\em Returns the amount of time of inactivity before standby mode is invoked. \item\end{CompactList}\item 
+EAPI unsigned int \hyperlink{group__Ecore__X__DPMS__Group_g373fc80d403f3226a4ad65690eb8255a}{ecore\_\-x\_\-dpms\_\-timeout\_\-suspend\_\-get} (void)
+\begin{CompactList}\small\item\em Returns the amount of time of inactivity before the second level of power saving is invoked. \item\end{CompactList}\item 
+EAPI unsigned int \hyperlink{group__Ecore__X__DPMS__Group_gc8e40bb33ca0a50aacc59c82a68d5a02}{ecore\_\-x\_\-dpms\_\-timeout\_\-off\_\-get} (void)
+\begin{CompactList}\small\item\em Returns the amount of time of inactivity before the third and final level of power saving is invoked. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__DPMS__Group_g8137436224fc8e92f24b2eaad590d659}{ecore\_\-x\_\-dpms\_\-timeout\_\-standby\_\-set} (unsigned int new\_\-timeout)
+\begin{CompactList}\small\item\em Sets the standby timeout (in unit of seconds). \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__DPMS__Group_gb9acd7327a664d9a53b766e5c24c935e}{ecore\_\-x\_\-dpms\_\-timeout\_\-suspend\_\-set} (unsigned int new\_\-timeout)
+\begin{CompactList}\small\item\em Sets the suspend timeout (in unit of seconds). \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__DPMS__Group_g937f645a05628761889bf0d3815de851}{ecore\_\-x\_\-dpms\_\-timeout\_\-off\_\-set} (unsigned int new\_\-timeout)
+\begin{CompactList}\small\item\em Sets the off timeout (in unit of seconds). \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Ecore functions for dealing with the X Windows System. 
+
+Ecore\_\-X provides a wrapper and convenience functions for using the X Windows System. Function groups for this part of the library include the following: \begin{itemize}
+\item \hyperlink{group__Ecore__X__Init__Group}{X Library Init and Shutdown Functions} \item \hyperlink{group__Ecore__X__Display__Attr__Group}{X Display Attributes} \item \hyperlink{group__Ecore__X__Flush__Group}{X Synchronization Functions} \end{itemize}
+
+
+\subsection{Enumeration Type Documentation}
+\hypertarget{Ecore__X_8h_27ee6c5d6e76016b7fd71a4b003e440d}{
+\index{Ecore_X.h@{Ecore\_\-X.h}!_Ecore_X_Window_Input_Mode@{\_\-Ecore\_\-X\_\-Window\_\-Input\_\-Mode}}
+\index{_Ecore_X_Window_Input_Mode@{\_\-Ecore\_\-X\_\-Window\_\-Input\_\-Mode}!Ecore_X.h@{Ecore\_\-X.h}}
+\subsubsection[\_\-Ecore\_\-X\_\-Window\_\-Input\_\-Mode]{\setlength{\rightskip}{0pt plus 5cm}enum \hyperlink{Ecore__X_8h_27ee6c5d6e76016b7fd71a4b003e440d}{\_\-Ecore\_\-X\_\-Window\_\-Input\_\-Mode}}}
+\label{Ecore__X_8h_27ee6c5d6e76016b7fd71a4b003e440d}
+
+
+\begin{Desc}
+\item[Enumerator: ]\par
+\begin{description}
+\index{ECORE_X_WINDOW_INPUT_MODE_NONE@{ECORE\_\-X\_\-WINDOW\_\-INPUT\_\-MODE\_\-NONE}!Ecore_X.h@{Ecore\_\-X.h}}\index{Ecore_X.h@{Ecore\_\-X.h}!ECORE_X_WINDOW_INPUT_MODE_NONE@{ECORE\_\-X\_\-WINDOW\_\-INPUT\_\-MODE\_\-NONE}}\item[{\em 
+\hypertarget{Ecore__X_8h_27ee6c5d6e76016b7fd71a4b003e440d61e84f9007e6d49a0a6758378fb900a8}{
+ECORE\_\-X\_\-WINDOW\_\-INPUT\_\-MODE\_\-NONE}
+\label{Ecore__X_8h_27ee6c5d6e76016b7fd71a4b003e440d61e84f9007e6d49a0a6758378fb900a8}
+}]The window can never be focused. \index{ECORE_X_WINDOW_INPUT_MODE_PASSIVE@{ECORE\_\-X\_\-WINDOW\_\-INPUT\_\-MODE\_\-PASSIVE}!Ecore_X.h@{Ecore\_\-X.h}}\index{Ecore_X.h@{Ecore\_\-X.h}!ECORE_X_WINDOW_INPUT_MODE_PASSIVE@{ECORE\_\-X\_\-WINDOW\_\-INPUT\_\-MODE\_\-PASSIVE}}\item[{\em 
+\hypertarget{Ecore__X_8h_27ee6c5d6e76016b7fd71a4b003e440d88b82c759d3481c0b52af66d50cde54e}{
+ECORE\_\-X\_\-WINDOW\_\-INPUT\_\-MODE\_\-PASSIVE}
+\label{Ecore__X_8h_27ee6c5d6e76016b7fd71a4b003e440d88b82c759d3481c0b52af66d50cde54e}
+}]The window can be focused by the WM but doesn't focus itself. \index{ECORE_X_WINDOW_INPUT_MODE_ACTIVE_LOCAL@{ECORE\_\-X\_\-WINDOW\_\-INPUT\_\-MODE\_\-ACTIVE\_\-LOCAL}!Ecore_X.h@{Ecore\_\-X.h}}\index{Ecore_X.h@{Ecore\_\-X.h}!ECORE_X_WINDOW_INPUT_MODE_ACTIVE_LOCAL@{ECORE\_\-X\_\-WINDOW\_\-INPUT\_\-MODE\_\-ACTIVE\_\-LOCAL}}\item[{\em 
+\hypertarget{Ecore__X_8h_27ee6c5d6e76016b7fd71a4b003e440d70598e73807833dfdde3391011d26c00}{
+ECORE\_\-X\_\-WINDOW\_\-INPUT\_\-MODE\_\-ACTIVE\_\-LOCAL}
+\label{Ecore__X_8h_27ee6c5d6e76016b7fd71a4b003e440d70598e73807833dfdde3391011d26c00}
+}]The window sets the focus itself if one of its sub-windows already is focused. \index{ECORE_X_WINDOW_INPUT_MODE_ACTIVE_GLOBAL@{ECORE\_\-X\_\-WINDOW\_\-INPUT\_\-MODE\_\-ACTIVE\_\-GLOBAL}!Ecore_X.h@{Ecore\_\-X.h}}\index{Ecore_X.h@{Ecore\_\-X.h}!ECORE_X_WINDOW_INPUT_MODE_ACTIVE_GLOBAL@{ECORE\_\-X\_\-WINDOW\_\-INPUT\_\-MODE\_\-ACTIVE\_\-GLOBAL}}\item[{\em 
+\hypertarget{Ecore__X_8h_27ee6c5d6e76016b7fd71a4b003e440d77c3d879970639ed109e51636b1c3caf}{
+ECORE\_\-X\_\-WINDOW\_\-INPUT\_\-MODE\_\-ACTIVE\_\-GLOBAL}
+\label{Ecore__X_8h_27ee6c5d6e76016b7fd71a4b003e440d77c3d879970639ed109e51636b1c3caf}
+}]The window sets the focus itself even if another window is currently focused. \end{description}
+\end{Desc}
+
+\hypertarget{Ecore__X_8h_dc73a7a2011cf1fa610b4100190807f1}{
+\index{Ecore_X.h@{Ecore\_\-X.h}!_Ecore_X_Window_State@{\_\-Ecore\_\-X\_\-Window\_\-State}}
+\index{_Ecore_X_Window_State@{\_\-Ecore\_\-X\_\-Window\_\-State}!Ecore_X.h@{Ecore\_\-X.h}}
+\subsubsection[\_\-Ecore\_\-X\_\-Window\_\-State]{\setlength{\rightskip}{0pt plus 5cm}enum \hyperlink{Ecore__X_8h_dc73a7a2011cf1fa610b4100190807f1}{\_\-Ecore\_\-X\_\-Window\_\-State}}}
+\label{Ecore__X_8h_dc73a7a2011cf1fa610b4100190807f1}
+
+
+\begin{Desc}
+\item[Enumerator: ]\par
+\begin{description}
+\index{ECORE_X_WINDOW_STATE_ICONIFIED@{ECORE\_\-X\_\-WINDOW\_\-STATE\_\-ICONIFIED}!Ecore_X.h@{Ecore\_\-X.h}}\index{Ecore_X.h@{Ecore\_\-X.h}!ECORE_X_WINDOW_STATE_ICONIFIED@{ECORE\_\-X\_\-WINDOW\_\-STATE\_\-ICONIFIED}}\item[{\em 
+\hypertarget{Ecore__X_8h_dc73a7a2011cf1fa610b4100190807f1b743a8796f78fa31a216f142bd729f38}{
+ECORE\_\-X\_\-WINDOW\_\-STATE\_\-ICONIFIED}
+\label{Ecore__X_8h_dc73a7a2011cf1fa610b4100190807f1b743a8796f78fa31a216f142bd729f38}
+}]The window is iconified. \index{ECORE_X_WINDOW_STATE_MODAL@{ECORE\_\-X\_\-WINDOW\_\-STATE\_\-MODAL}!Ecore_X.h@{Ecore\_\-X.h}}\index{Ecore_X.h@{Ecore\_\-X.h}!ECORE_X_WINDOW_STATE_MODAL@{ECORE\_\-X\_\-WINDOW\_\-STATE\_\-MODAL}}\item[{\em 
+\hypertarget{Ecore__X_8h_dc73a7a2011cf1fa610b4100190807f1913975f3907250af993042729d0eca87}{
+ECORE\_\-X\_\-WINDOW\_\-STATE\_\-MODAL}
+\label{Ecore__X_8h_dc73a7a2011cf1fa610b4100190807f1913975f3907250af993042729d0eca87}
+}]The window is a modal dialog box. \index{ECORE_X_WINDOW_STATE_STICKY@{ECORE\_\-X\_\-WINDOW\_\-STATE\_\-STICKY}!Ecore_X.h@{Ecore\_\-X.h}}\index{Ecore_X.h@{Ecore\_\-X.h}!ECORE_X_WINDOW_STATE_STICKY@{ECORE\_\-X\_\-WINDOW\_\-STATE\_\-STICKY}}\item[{\em 
+\hypertarget{Ecore__X_8h_dc73a7a2011cf1fa610b4100190807f18b758d78e270b3274431d91b02484b30}{
+ECORE\_\-X\_\-WINDOW\_\-STATE\_\-STICKY}
+\label{Ecore__X_8h_dc73a7a2011cf1fa610b4100190807f18b758d78e270b3274431d91b02484b30}
+}]The window manager should keep the window's position fixed even if the virtual desktop scrolls. \index{ECORE_X_WINDOW_STATE_MAXIMIZED_VERT@{ECORE\_\-X\_\-WINDOW\_\-STATE\_\-MAXIMIZED\_\-VERT}!Ecore_X.h@{Ecore\_\-X.h}}\index{Ecore_X.h@{Ecore\_\-X.h}!ECORE_X_WINDOW_STATE_MAXIMIZED_VERT@{ECORE\_\-X\_\-WINDOW\_\-STATE\_\-MAXIMIZED\_\-VERT}}\item[{\em 
+\hypertarget{Ecore__X_8h_dc73a7a2011cf1fa610b4100190807f1bfe7dee8962110c5f9d514bbf6dd658c}{
+ECORE\_\-X\_\-WINDOW\_\-STATE\_\-MAXIMIZED\_\-VERT}
+\label{Ecore__X_8h_dc73a7a2011cf1fa610b4100190807f1bfe7dee8962110c5f9d514bbf6dd658c}
+}]The window has the maximum vertical size. \index{ECORE_X_WINDOW_STATE_MAXIMIZED_HORZ@{ECORE\_\-X\_\-WINDOW\_\-STATE\_\-MAXIMIZED\_\-HORZ}!Ecore_X.h@{Ecore\_\-X.h}}\index{Ecore_X.h@{Ecore\_\-X.h}!ECORE_X_WINDOW_STATE_MAXIMIZED_HORZ@{ECORE\_\-X\_\-WINDOW\_\-STATE\_\-MAXIMIZED\_\-HORZ}}\item[{\em 
+\hypertarget{Ecore__X_8h_dc73a7a2011cf1fa610b4100190807f16767bdc87057c70cdd236d6ca158463d}{
+ECORE\_\-X\_\-WINDOW\_\-STATE\_\-MAXIMIZED\_\-HORZ}
+\label{Ecore__X_8h_dc73a7a2011cf1fa610b4100190807f16767bdc87057c70cdd236d6ca158463d}
+}]The window has the maximum horizontal size. \index{ECORE_X_WINDOW_STATE_SHADED@{ECORE\_\-X\_\-WINDOW\_\-STATE\_\-SHADED}!Ecore_X.h@{Ecore\_\-X.h}}\index{Ecore_X.h@{Ecore\_\-X.h}!ECORE_X_WINDOW_STATE_SHADED@{ECORE\_\-X\_\-WINDOW\_\-STATE\_\-SHADED}}\item[{\em 
+\hypertarget{Ecore__X_8h_dc73a7a2011cf1fa610b4100190807f1aee9b74696501d60977b3cf682a1caff}{
+ECORE\_\-X\_\-WINDOW\_\-STATE\_\-SHADED}
+\label{Ecore__X_8h_dc73a7a2011cf1fa610b4100190807f1aee9b74696501d60977b3cf682a1caff}
+}]The window is shaded. \index{ECORE_X_WINDOW_STATE_SKIP_TASKBAR@{ECORE\_\-X\_\-WINDOW\_\-STATE\_\-SKIP\_\-TASKBAR}!Ecore_X.h@{Ecore\_\-X.h}}\index{Ecore_X.h@{Ecore\_\-X.h}!ECORE_X_WINDOW_STATE_SKIP_TASKBAR@{ECORE\_\-X\_\-WINDOW\_\-STATE\_\-SKIP\_\-TASKBAR}}\item[{\em 
+\hypertarget{Ecore__X_8h_dc73a7a2011cf1fa610b4100190807f131e3d2047dbf9cfcd7c1ae4cd661a0ff}{
+ECORE\_\-X\_\-WINDOW\_\-STATE\_\-SKIP\_\-TASKBAR}
+\label{Ecore__X_8h_dc73a7a2011cf1fa610b4100190807f131e3d2047dbf9cfcd7c1ae4cd661a0ff}
+}]The window should not be included in the taskbar. \index{ECORE_X_WINDOW_STATE_SKIP_PAGER@{ECORE\_\-X\_\-WINDOW\_\-STATE\_\-SKIP\_\-PAGER}!Ecore_X.h@{Ecore\_\-X.h}}\index{Ecore_X.h@{Ecore\_\-X.h}!ECORE_X_WINDOW_STATE_SKIP_PAGER@{ECORE\_\-X\_\-WINDOW\_\-STATE\_\-SKIP\_\-PAGER}}\item[{\em 
+\hypertarget{Ecore__X_8h_dc73a7a2011cf1fa610b4100190807f1bd03ef746554d9d66c1458b99fbc7e21}{
+ECORE\_\-X\_\-WINDOW\_\-STATE\_\-SKIP\_\-PAGER}
+\label{Ecore__X_8h_dc73a7a2011cf1fa610b4100190807f1bd03ef746554d9d66c1458b99fbc7e21}
+}]The window should not be included in the pager. \index{ECORE_X_WINDOW_STATE_HIDDEN@{ECORE\_\-X\_\-WINDOW\_\-STATE\_\-HIDDEN}!Ecore_X.h@{Ecore\_\-X.h}}\index{Ecore_X.h@{Ecore\_\-X.h}!ECORE_X_WINDOW_STATE_HIDDEN@{ECORE\_\-X\_\-WINDOW\_\-STATE\_\-HIDDEN}}\item[{\em 
+\hypertarget{Ecore__X_8h_dc73a7a2011cf1fa610b4100190807f194e1956bcc7b817dabf944457f99ed92}{
+ECORE\_\-X\_\-WINDOW\_\-STATE\_\-HIDDEN}
+\label{Ecore__X_8h_dc73a7a2011cf1fa610b4100190807f194e1956bcc7b817dabf944457f99ed92}
+}]The window is invisible (i.e. 
+
+minimized/iconified) \index{ECORE_X_WINDOW_STATE_FULLSCREEN@{ECORE\_\-X\_\-WINDOW\_\-STATE\_\-FULLSCREEN}!Ecore_X.h@{Ecore\_\-X.h}}\index{Ecore_X.h@{Ecore\_\-X.h}!ECORE_X_WINDOW_STATE_FULLSCREEN@{ECORE\_\-X\_\-WINDOW\_\-STATE\_\-FULLSCREEN}}\item[{\em 
+\hypertarget{Ecore__X_8h_dc73a7a2011cf1fa610b4100190807f1813f8507385ac350c0c2c6677898a8c9}{
+ECORE\_\-X\_\-WINDOW\_\-STATE\_\-FULLSCREEN}
+\label{Ecore__X_8h_dc73a7a2011cf1fa610b4100190807f1813f8507385ac350c0c2c6677898a8c9}
+}]The window should fill the entire screen and have no window border/decorations. \end{description}
+\end{Desc}
+
+\hypertarget{Ecore__X_8h_738ccad8c89247d9cd80e007fab0bf1e}{
+\index{Ecore_X.h@{Ecore\_\-X.h}!_Ecore_X_Window_State_Hint@{\_\-Ecore\_\-X\_\-Window\_\-State\_\-Hint}}
+\index{_Ecore_X_Window_State_Hint@{\_\-Ecore\_\-X\_\-Window\_\-State\_\-Hint}!Ecore_X.h@{Ecore\_\-X.h}}
+\subsubsection[\_\-Ecore\_\-X\_\-Window\_\-State\_\-Hint]{\setlength{\rightskip}{0pt plus 5cm}enum \hyperlink{Ecore__X_8h_738ccad8c89247d9cd80e007fab0bf1e}{\_\-Ecore\_\-X\_\-Window\_\-State\_\-Hint}}}
+\label{Ecore__X_8h_738ccad8c89247d9cd80e007fab0bf1e}
+
+
+\begin{Desc}
+\item[Enumerator: ]\par
+\begin{description}
+\index{ECORE_X_WINDOW_STATE_HINT_NONE@{ECORE\_\-X\_\-WINDOW\_\-STATE\_\-HINT\_\-NONE}!Ecore_X.h@{Ecore\_\-X.h}}\index{Ecore_X.h@{Ecore\_\-X.h}!ECORE_X_WINDOW_STATE_HINT_NONE@{ECORE\_\-X\_\-WINDOW\_\-STATE\_\-HINT\_\-NONE}}\item[{\em 
+\hypertarget{Ecore__X_8h_738ccad8c89247d9cd80e007fab0bf1eab490edafc104803047ef38e3fe37f1f}{
+ECORE\_\-X\_\-WINDOW\_\-STATE\_\-HINT\_\-NONE}
+\label{Ecore__X_8h_738ccad8c89247d9cd80e007fab0bf1eab490edafc104803047ef38e3fe37f1f}
+}]Do not provide any state hint to the window manager. \index{ECORE_X_WINDOW_STATE_HINT_WITHDRAWN@{ECORE\_\-X\_\-WINDOW\_\-STATE\_\-HINT\_\-WITHDRAWN}!Ecore_X.h@{Ecore\_\-X.h}}\index{Ecore_X.h@{Ecore\_\-X.h}!ECORE_X_WINDOW_STATE_HINT_WITHDRAWN@{ECORE\_\-X\_\-WINDOW\_\-STATE\_\-HINT\_\-WITHDRAWN}}\item[{\em 
+\hypertarget{Ecore__X_8h_738ccad8c89247d9cd80e007fab0bf1e2ee8636730f2ccf0f3b29c3919c708eb}{
+ECORE\_\-X\_\-WINDOW\_\-STATE\_\-HINT\_\-WITHDRAWN}
+\label{Ecore__X_8h_738ccad8c89247d9cd80e007fab0bf1e2ee8636730f2ccf0f3b29c3919c708eb}
+}]The window wants to remain hidden and NOT iconified. \index{ECORE_X_WINDOW_STATE_HINT_NORMAL@{ECORE\_\-X\_\-WINDOW\_\-STATE\_\-HINT\_\-NORMAL}!Ecore_X.h@{Ecore\_\-X.h}}\index{Ecore_X.h@{Ecore\_\-X.h}!ECORE_X_WINDOW_STATE_HINT_NORMAL@{ECORE\_\-X\_\-WINDOW\_\-STATE\_\-HINT\_\-NORMAL}}\item[{\em 
+\hypertarget{Ecore__X_8h_738ccad8c89247d9cd80e007fab0bf1eb5d3bf570112e77f142081df61749f43}{
+ECORE\_\-X\_\-WINDOW\_\-STATE\_\-HINT\_\-NORMAL}
+\label{Ecore__X_8h_738ccad8c89247d9cd80e007fab0bf1eb5d3bf570112e77f142081df61749f43}
+}]The window wants to be mapped normally. \index{ECORE_X_WINDOW_STATE_HINT_ICONIC@{ECORE\_\-X\_\-WINDOW\_\-STATE\_\-HINT\_\-ICONIC}!Ecore_X.h@{Ecore\_\-X.h}}\index{Ecore_X.h@{Ecore\_\-X.h}!ECORE_X_WINDOW_STATE_HINT_ICONIC@{ECORE\_\-X\_\-WINDOW\_\-STATE\_\-HINT\_\-ICONIC}}\item[{\em 
+\hypertarget{Ecore__X_8h_738ccad8c89247d9cd80e007fab0bf1edb18b35391c2c6ea2f8dafd6577dabac}{
+ECORE\_\-X\_\-WINDOW\_\-STATE\_\-HINT\_\-ICONIC}
+\label{Ecore__X_8h_738ccad8c89247d9cd80e007fab0bf1edb18b35391c2c6ea2f8dafd6577dabac}
+}]The window wants to start in an iconified state. \end{description}
+\end{Desc}
+
+\hypertarget{Ecore__X_8h_e4166d74a0954bc928706496f677e56d}{
+\index{Ecore_X.h@{Ecore\_\-X.h}!_Ecore_X_WM_Protocol@{\_\-Ecore\_\-X\_\-WM\_\-Protocol}}
+\index{_Ecore_X_WM_Protocol@{\_\-Ecore\_\-X\_\-WM\_\-Protocol}!Ecore_X.h@{Ecore\_\-X.h}}
+\subsubsection[\_\-Ecore\_\-X\_\-WM\_\-Protocol]{\setlength{\rightskip}{0pt plus 5cm}enum \hyperlink{Ecore__X_8h_e4166d74a0954bc928706496f677e56d}{\_\-Ecore\_\-X\_\-WM\_\-Protocol}}}
+\label{Ecore__X_8h_e4166d74a0954bc928706496f677e56d}
+
+
+\begin{Desc}
+\item[Enumerator: ]\par
+\begin{description}
+\index{ECORE_X_WM_PROTOCOL_DELETE_REQUEST@{ECORE\_\-X\_\-WM\_\-PROTOCOL\_\-DELETE\_\-REQUEST}!Ecore_X.h@{Ecore\_\-X.h}}\index{Ecore_X.h@{Ecore\_\-X.h}!ECORE_X_WM_PROTOCOL_DELETE_REQUEST@{ECORE\_\-X\_\-WM\_\-PROTOCOL\_\-DELETE\_\-REQUEST}}\item[{\em 
+\hypertarget{Ecore__X_8h_e4166d74a0954bc928706496f677e56d27d9e53db2213d3df8051f47b750fdc6}{
+ECORE\_\-X\_\-WM\_\-PROTOCOL\_\-DELETE\_\-REQUEST}
+\label{Ecore__X_8h_e4166d74a0954bc928706496f677e56d27d9e53db2213d3df8051f47b750fdc6}
+}]If enabled the window manager will be asked to send a delete message instead of just closing (destroying) the window. \index{ECORE_X_WM_PROTOCOL_TAKE_FOCUS@{ECORE\_\-X\_\-WM\_\-PROTOCOL\_\-TAKE\_\-FOCUS}!Ecore_X.h@{Ecore\_\-X.h}}\index{Ecore_X.h@{Ecore\_\-X.h}!ECORE_X_WM_PROTOCOL_TAKE_FOCUS@{ECORE\_\-X\_\-WM\_\-PROTOCOL\_\-TAKE\_\-FOCUS}}\item[{\em 
+\hypertarget{Ecore__X_8h_e4166d74a0954bc928706496f677e56d5657fbc84712eb536f7fc1c13c446245}{
+ECORE\_\-X\_\-WM\_\-PROTOCOL\_\-TAKE\_\-FOCUS}
+\label{Ecore__X_8h_e4166d74a0954bc928706496f677e56d5657fbc84712eb536f7fc1c13c446245}
+}]If enabled the window manager will be told that the window explicitly sets input focus. \index{ECORE_X_NET_WM_PROTOCOL_PING@{ECORE\_\-X\_\-NET\_\-WM\_\-PROTOCOL\_\-PING}!Ecore_X.h@{Ecore\_\-X.h}}\index{Ecore_X.h@{Ecore\_\-X.h}!ECORE_X_NET_WM_PROTOCOL_PING@{ECORE\_\-X\_\-NET\_\-WM\_\-PROTOCOL\_\-PING}}\item[{\em 
+\hypertarget{Ecore__X_8h_e4166d74a0954bc928706496f677e56d83109c98c3793ec8c0e8ae4f46389b37}{
+ECORE\_\-X\_\-NET\_\-WM\_\-PROTOCOL\_\-PING}
+\label{Ecore__X_8h_e4166d74a0954bc928706496f677e56d83109c98c3793ec8c0e8ae4f46389b37}
+}]If enabled the window manager can ping the window to check if it is alive. \index{ECORE_X_NET_WM_PROTOCOL_SYNC_REQUEST@{ECORE\_\-X\_\-NET\_\-WM\_\-PROTOCOL\_\-SYNC\_\-REQUEST}!Ecore_X.h@{Ecore\_\-X.h}}\index{Ecore_X.h@{Ecore\_\-X.h}!ECORE_X_NET_WM_PROTOCOL_SYNC_REQUEST@{ECORE\_\-X\_\-NET\_\-WM\_\-PROTOCOL\_\-SYNC\_\-REQUEST}}\item[{\em 
+\hypertarget{Ecore__X_8h_e4166d74a0954bc928706496f677e56d0754156ca8a04567ca0b93721a02a974}{
+ECORE\_\-X\_\-NET\_\-WM\_\-PROTOCOL\_\-SYNC\_\-REQUEST}
+\label{Ecore__X_8h_e4166d74a0954bc928706496f677e56d0754156ca8a04567ca0b93721a02a974}
+}]If enabled the window manager can sync updating with the window (?). \end{description}
+\end{Desc}
+
+
+
+\subsection{Function Documentation}
+\hypertarget{Ecore__X_8h_f2b0dbe8f93124b077f9c52ddbe10229}{
+\index{Ecore_X.h@{Ecore\_\-X.h}!ecore_x_atom_get@{ecore\_\-x\_\-atom\_\-get}}
+\index{ecore_x_atom_get@{ecore\_\-x\_\-atom\_\-get}!Ecore_X.h@{Ecore\_\-X.h}}
+\subsubsection[ecore\_\-x\_\-atom\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI Ecore\_\-X\_\-Atom ecore\_\-x\_\-atom\_\-get (const char $\ast$ {\em name})}}
+\label{Ecore__X_8h_f2b0dbe8f93124b077f9c52ddbe10229}
+
+
+Retrieves the atom value associated with the given name. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em name}]The given name. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]Associated atom value. \end{Desc}
+\hypertarget{Ecore__X_8h_21d8659bf7bbf1721b3ff6d7160a5d89}{
+\index{Ecore_X.h@{Ecore\_\-X.h}!ecore_x_client_message32_send@{ecore\_\-x\_\-client\_\-message32\_\-send}}
+\index{ecore_x_client_message32_send@{ecore\_\-x\_\-client\_\-message32\_\-send}!Ecore_X.h@{Ecore\_\-X.h}}
+\subsubsection[ecore\_\-x\_\-client\_\-message32\_\-send]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-x\_\-client\_\-message32\_\-send (Ecore\_\-X\_\-Window {\em window}, Ecore\_\-X\_\-Atom {\em type}, Ecore\_\-X\_\-Event\_\-Mask {\em mask}, long {\em d0}, long {\em d1}, long {\em d2}, long {\em d3}, long {\em d4})}}
+\label{Ecore__X_8h_21d8659bf7bbf1721b3ff6d7160a5d89}
+
+
+Send client message with given type and format 32. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window the message is sent to. \item[{\em type}]The client message type. \item[{\em mask}]The client message mask. \item[{\em d0}]The client message data item 1 \item[{\em d1}]The client message data item 2 \item[{\em d2}]The client message data item 3 \item[{\em d3}]The client message data item 4 \item[{\em d4}]The client message data item 5\end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]!0 on success. \end{Desc}
+\hypertarget{Ecore__X_8h_e834b269276e92b2205a6c7c9818801f}{
+\index{Ecore_X.h@{Ecore\_\-X.h}!ecore_x_client_message8_send@{ecore\_\-x\_\-client\_\-message8\_\-send}}
+\index{ecore_x_client_message8_send@{ecore\_\-x\_\-client\_\-message8\_\-send}!Ecore_X.h@{Ecore\_\-X.h}}
+\subsubsection[ecore\_\-x\_\-client\_\-message8\_\-send]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-x\_\-client\_\-message8\_\-send (Ecore\_\-X\_\-Window {\em window}, Ecore\_\-X\_\-Atom {\em type}, const void $\ast$ {\em data}, int {\em len})}}
+\label{Ecore__X_8h_e834b269276e92b2205a6c7c9818801f}
+
+
+Send client message with given type and format 8. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window the message is sent to. \item[{\em type}]The client message type. \item[{\em data}]Data to be sent. \item[{\em len}]Number of data bytes, max 20.\end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]!0 on success. \end{Desc}
+\hypertarget{Ecore__X_8h_69a1f34a22cb895eb2f69bbb0dba664d}{
+\index{Ecore_X.h@{Ecore\_\-X.h}!ecore_x_dnd_begin@{ecore\_\-x\_\-dnd\_\-begin}}
+\index{ecore_x_dnd_begin@{ecore\_\-x\_\-dnd\_\-begin}!Ecore_X.h@{Ecore\_\-X.h}}
+\subsubsection[ecore\_\-x\_\-dnd\_\-begin]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-x\_\-dnd\_\-begin (Ecore\_\-X\_\-Window {\em source}, unsigned char $\ast$ {\em data}, int {\em size})}}
+\label{Ecore__X_8h_69a1f34a22cb895eb2f69bbb0dba664d}
+
+
+Begins the Dn\-D. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em source}]Unused. \item[{\em data}]The data. \item[{\em size}]The size of the data. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]0 on failure, 1 otherwise.\end{Desc}
+Begins the Dn\-D. Returns 0 on failure, 1 otherwise.
+
+To use this function, you must call before, and in order, \hyperlink{Ecore__X_8h_ee92dc6569e2399467e311dc1891cec1}{ecore\_\-x\_\-dnd\_\-begin\_\-prefetch()}, which sends the Get\-Property request, then \hyperlink{Ecore__X_8h_1c0b6f09e658cf6665e33b3fb23c453f}{ecore\_\-x\_\-dnd\_\-begin\_\-fetch()}, which gets the reply. \hypertarget{Ecore__X_8h_ee92dc6569e2399467e311dc1891cec1}{
+\index{Ecore_X.h@{Ecore\_\-X.h}!ecore_x_dnd_begin_prefetch@{ecore\_\-x\_\-dnd\_\-begin\_\-prefetch}}
+\index{ecore_x_dnd_begin_prefetch@{ecore\_\-x\_\-dnd\_\-begin\_\-prefetch}!Ecore_X.h@{Ecore\_\-X.h}}
+\subsubsection[ecore\_\-x\_\-dnd\_\-begin\_\-prefetch]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-dnd\_\-begin\_\-prefetch (Ecore\_\-X\_\-Window {\em source})}}
+\label{Ecore__X_8h_ee92dc6569e2399467e311dc1891cec1}
+
+
+Sends the Get\-Property request. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em source}]Window whose properties are requested. \end{description}
+\end{Desc}
+\hypertarget{Ecore__X_8h_faac16867b88c543fc3495d7870de2db}{
+\index{Ecore_X.h@{Ecore\_\-X.h}!ecore_x_dnd_type_get_prefetch@{ecore\_\-x\_\-dnd\_\-type\_\-get\_\-prefetch}}
+\index{ecore_x_dnd_type_get_prefetch@{ecore\_\-x\_\-dnd\_\-type\_\-get\_\-prefetch}!Ecore_X.h@{Ecore\_\-X.h}}
+\subsubsection[ecore\_\-x\_\-dnd\_\-type\_\-get\_\-prefetch]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-dnd\_\-type\_\-get\_\-prefetch (Ecore\_\-X\_\-Window {\em window})}}
+\label{Ecore__X_8h_faac16867b88c543fc3495d7870de2db}
+
+
+Sends the Get\-Property request. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]Window whose properties are requested. \end{description}
+\end{Desc}
+\hypertarget{Ecore__X_8h_a6353eec3c6edb2844af21837f7b443b}{
+\index{Ecore_X.h@{Ecore\_\-X.h}!ecore_x_dnd_type_isset@{ecore\_\-x\_\-dnd\_\-type\_\-isset}}
+\index{ecore_x_dnd_type_isset@{ecore\_\-x\_\-dnd\_\-type\_\-isset}!Ecore_X.h@{Ecore\_\-X.h}}
+\subsubsection[ecore\_\-x\_\-dnd\_\-type\_\-isset]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-x\_\-dnd\_\-type\_\-isset (Ecore\_\-X\_\-Window {\em window}, const char $\ast$ {\em type})}}
+\label{Ecore__X_8h_a6353eec3c6edb2844af21837f7b443b}
+
+
+Check if the type is set. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]Unused. \item[{\em type}]The type to check \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]0 on failure, 1 otherwise.\end{Desc}
+Check if the type is set. 0 on failure, 1 otherwise.
+
+To use this function, you must call before, and in order, \hyperlink{Ecore__X_8h_faac16867b88c543fc3495d7870de2db}{ecore\_\-x\_\-dnd\_\-type\_\-get\_\-prefetch()}, which sends the Get\-Property request, then \hyperlink{Ecore__X_8h_5bed0f4a896d74c405da1f2b288ecfa2}{ecore\_\-x\_\-dnd\_\-type\_\-get\_\-fetch()}, which gets the reply. \hypertarget{Ecore__X_8h_1d0182a066392f254569cb713c7ff92a}{
+\index{Ecore_X.h@{Ecore\_\-X.h}!ecore_x_dnd_type_set@{ecore\_\-x\_\-dnd\_\-type\_\-set}}
+\index{ecore_x_dnd_type_set@{ecore\_\-x\_\-dnd\_\-type\_\-set}!Ecore_X.h@{Ecore\_\-X.h}}
+\subsubsection[ecore\_\-x\_\-dnd\_\-type\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-dnd\_\-type\_\-set (Ecore\_\-X\_\-Window {\em window}, const char $\ast$ {\em type}, int {\em on})}}
+\label{Ecore__X_8h_1d0182a066392f254569cb713c7ff92a}
+
+
+Set the type. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]Unused. \item[{\em type}]The type to set \item[{\em on}]0 or non 0...\end{description}
+\end{Desc}
+Set the type.
+
+To use this function, you must call before, and in order, \hyperlink{Ecore__X_8h_faac16867b88c543fc3495d7870de2db}{ecore\_\-x\_\-dnd\_\-type\_\-get\_\-prefetch()}, which sends the Get\-Property request, then \hyperlink{Ecore__X_8h_5bed0f4a896d74c405da1f2b288ecfa2}{ecore\_\-x\_\-dnd\_\-type\_\-get\_\-fetch()}, which gets the reply. \hypertarget{Ecore__X_8h_d58563fb4d3c56559c3eef1bd0641641}{
+\index{Ecore_X.h@{Ecore\_\-X.h}!ecore_x_dnd_types_set@{ecore\_\-x\_\-dnd\_\-types\_\-set}}
+\index{ecore_x_dnd_types_set@{ecore\_\-x\_\-dnd\_\-types\_\-set}!Ecore_X.h@{Ecore\_\-X.h}}
+\subsubsection[ecore\_\-x\_\-dnd\_\-types\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-dnd\_\-types\_\-set (Ecore\_\-X\_\-Window {\em window}, char $\ast$$\ast$ {\em types}, unsigned int {\em num\_\-types})}}
+\label{Ecore__X_8h_d58563fb4d3c56559c3eef1bd0641641}
+
+
+Set the types. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]Unused. \item[{\em types}]The types to set \item[{\em num\_\-types}]The number of types\end{description}
+\end{Desc}
+Set the types.
+
+To use this function, you must call before, and in order, \hyperlink{Ecore__X_8h_faac16867b88c543fc3495d7870de2db}{ecore\_\-x\_\-dnd\_\-type\_\-get\_\-prefetch()}, which sends the Get\-Property request, then \hyperlink{Ecore__X_8h_5bed0f4a896d74c405da1f2b288ecfa2}{ecore\_\-x\_\-dnd\_\-type\_\-get\_\-fetch()}, which gets the reply. \hypertarget{Ecore__X_8h_0b68cce92d1f990321903e5d9292391c}{
+\index{Ecore_X.h@{Ecore\_\-X.h}!ecore_x_dnd_version_get@{ecore\_\-x\_\-dnd\_\-version\_\-get}}
+\index{ecore_x_dnd_version_get@{ecore\_\-x\_\-dnd\_\-version\_\-get}!Ecore_X.h@{Ecore\_\-X.h}}
+\subsubsection[ecore\_\-x\_\-dnd\_\-version\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-x\_\-dnd\_\-version\_\-get (Ecore\_\-X\_\-Window {\em window})}}
+\label{Ecore__X_8h_0b68cce92d1f990321903e5d9292391c}
+
+
+Get the Dn\-D version. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]Unused. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]0 on failure, the version otherwise.\end{Desc}
+Get the Dn\-D version. Returns 0 on failure, the version otherwise.
+
+To use this function, you must call before, and in order, \hyperlink{Ecore__X_8h_e7f266903dbf92b6bd9175b4b44c3fcd}{ecore\_\-x\_\-dnd\_\-version\_\-get\_\-prefetch()}, which sends the Get\-Property request, then \hyperlink{Ecore__X_8h_238ed4b614a99820351dea8299121e42}{ecore\_\-x\_\-dnd\_\-version\_\-get\_\-fetch()}, which gets the reply. \hypertarget{Ecore__X_8h_e7f266903dbf92b6bd9175b4b44c3fcd}{
+\index{Ecore_X.h@{Ecore\_\-X.h}!ecore_x_dnd_version_get_prefetch@{ecore\_\-x\_\-dnd\_\-version\_\-get\_\-prefetch}}
+\index{ecore_x_dnd_version_get_prefetch@{ecore\_\-x\_\-dnd\_\-version\_\-get\_\-prefetch}!Ecore_X.h@{Ecore\_\-X.h}}
+\subsubsection[ecore\_\-x\_\-dnd\_\-version\_\-get\_\-prefetch]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-dnd\_\-version\_\-get\_\-prefetch (Ecore\_\-X\_\-Window {\em window})}}
+\label{Ecore__X_8h_e7f266903dbf92b6bd9175b4b44c3fcd}
+
+
+Sends the Get\-Property request. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]Window whose properties are requested. \end{description}
+\end{Desc}
+\hypertarget{Ecore__X_8h_1c63fe54bdbd5846a0e535ae7957d565}{
+\index{Ecore_X.h@{Ecore\_\-X.h}!ecore_x_error_code_get@{ecore\_\-x\_\-error\_\-code\_\-get}}
+\index{ecore_x_error_code_get@{ecore\_\-x\_\-error\_\-code\_\-get}!Ecore_X.h@{Ecore\_\-X.h}}
+\subsubsection[ecore\_\-x\_\-error\_\-code\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-x\_\-error\_\-code\_\-get (void)}}
+\label{Ecore__X_8h_1c63fe54bdbd5846a0e535ae7957d565}
+
+
+Get the error code from the error. 
+
+\begin{Desc}
+\item[Returns:]The error code from the X error\end{Desc}
+Return the error code from the last X error \hypertarget{Ecore__X_8h_0e666a65593e83146fc4df7a5b8025c7}{
+\index{Ecore_X.h@{Ecore\_\-X.h}!ecore_x_error_handler_set@{ecore\_\-x\_\-error\_\-handler\_\-set}}
+\index{ecore_x_error_handler_set@{ecore\_\-x\_\-error\_\-handler\_\-set}!Ecore_X.h@{Ecore\_\-X.h}}
+\subsubsection[ecore\_\-x\_\-error\_\-handler\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-error\_\-handler\_\-set (void($\ast$)(void $\ast$data) {\em func}, const void $\ast$ {\em data})}}
+\label{Ecore__X_8h_0e666a65593e83146fc4df7a5b8025c7}
+
+
+Set the error handler. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em func}]The error handler function \item[{\em data}]The data to be passed to the handler function\end{description}
+\end{Desc}
+Set the X error handler function \hypertarget{Ecore__X_8h_c69bf911c334edb87c657455b8f93d9e}{
+\index{Ecore_X.h@{Ecore\_\-X.h}!ecore_x_error_request_get@{ecore\_\-x\_\-error\_\-request\_\-get}}
+\index{ecore_x_error_request_get@{ecore\_\-x\_\-error\_\-request\_\-get}!Ecore_X.h@{Ecore\_\-X.h}}
+\subsubsection[ecore\_\-x\_\-error\_\-request\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-x\_\-error\_\-request\_\-get (void)}}
+\label{Ecore__X_8h_c69bf911c334edb87c657455b8f93d9e}
+
+
+Get the request code that caused the error. 
+
+\begin{Desc}
+\item[Returns:]The request code causing the X error\end{Desc}
+Return the X request code that caused the last X error \hypertarget{Ecore__X_8h_1017c1e5a4ff5544d34e9953f2e98939}{
+\index{Ecore_X.h@{Ecore\_\-X.h}!ecore_x_gc_del@{ecore\_\-x\_\-gc\_\-del}}
+\index{ecore_x_gc_del@{ecore\_\-x\_\-gc\_\-del}!Ecore_X.h@{Ecore\_\-X.h}}
+\subsubsection[ecore\_\-x\_\-gc\_\-del]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-gc\_\-del (Ecore\_\-X\_\-GC {\em gc})}}
+\label{Ecore__X_8h_1017c1e5a4ff5544d34e9953f2e98939}
+
+
+Deletes and frees the given graphics context. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em gc}]The given graphics context.\end{description}
+\end{Desc}
+Destroyes the graphic context {\tt gc} as well as the associated storage. \hypertarget{Ecore__X_8h_d4da592f24cd063ce4ee7b6292dfbbf8}{
+\index{Ecore_X.h@{Ecore\_\-X.h}!ecore_x_gc_new@{ecore\_\-x\_\-gc\_\-new}}
+\index{ecore_x_gc_new@{ecore\_\-x\_\-gc\_\-new}!Ecore_X.h@{Ecore\_\-X.h}}
+\subsubsection[ecore\_\-x\_\-gc\_\-new]{\setlength{\rightskip}{0pt plus 5cm}EAPI Ecore\_\-X\_\-GC ecore\_\-x\_\-gc\_\-new (Ecore\_\-X\_\-Drawable {\em drawable})}}
+\label{Ecore__X_8h_d4da592f24cd063ce4ee7b6292dfbbf8}
+
+
+Creates a new default graphics context associated with the given drawable. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em drawable}]Drawable to create graphics context with. If {\tt 0} is given instead, the default root window is used. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The new default graphics context.\end{Desc}
+Creates a new default graphics context associated with {\tt drawable}. The graphic context can be used with any destination drawable having the same root and depth as {\tt drawable}. Use with other drawables results in a Bad\-Match error. \hypertarget{Ecore__X_8h_ec73fda941e864ef8ac60f0b61018e52}{
+\index{Ecore_X.h@{Ecore\_\-X.h}!ecore_x_icccm_command_get@{ecore\_\-x\_\-icccm\_\-command\_\-get}}
+\index{ecore_x_icccm_command_get@{ecore\_\-x\_\-icccm\_\-command\_\-get}!Ecore_X.h@{Ecore\_\-X.h}}
+\subsubsection[ecore\_\-x\_\-icccm\_\-command\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-icccm\_\-command\_\-get (Ecore\_\-X\_\-Window {\em win}, int $\ast$ {\em argc}, char $\ast$$\ast$$\ast$ {\em argv})}}
+\label{Ecore__X_8h_ec73fda941e864ef8ac60f0b61018e52}
+
+
+Get the WM\_\-COMMAND property for {\em win\/}. 
+
+Return the command of a window. String must be free'd when done with.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em win}]The window. \item[{\em argc}]Number of arguments. \item[{\em argv}]Arguments. \end{description}
+\end{Desc}
+\hypertarget{Ecore__X_8h_f4c563d7a2573530597175966032eff6}{
+\index{Ecore_X.h@{Ecore\_\-X.h}!ecore_x_icccm_icon_name_get@{ecore\_\-x\_\-icccm\_\-icon\_\-name\_\-get}}
+\index{ecore_x_icccm_icon_name_get@{ecore\_\-x\_\-icccm\_\-icon\_\-name\_\-get}!Ecore_X.h@{Ecore\_\-X.h}}
+\subsubsection[ecore\_\-x\_\-icccm\_\-icon\_\-name\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI char$\ast$ ecore\_\-x\_\-icccm\_\-icon\_\-name\_\-get (Ecore\_\-X\_\-Window {\em win})}}
+\label{Ecore__X_8h_f4c563d7a2573530597175966032eff6}
+
+
+Get a window icon name. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em win}]The window \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The windows icon name string\end{Desc}
+Return the icon name of a window. String must be free'd when done with. \hypertarget{Ecore__X_8h_ff06f01a91f6e515ff894d7a62784a9d}{
+\index{Ecore_X.h@{Ecore\_\-X.h}!ecore_x_icccm_name_class_get@{ecore\_\-x\_\-icccm\_\-name\_\-class\_\-get}}
+\index{ecore_x_icccm_name_class_get@{ecore\_\-x\_\-icccm\_\-name\_\-class\_\-get}!Ecore_X.h@{Ecore\_\-X.h}}
+\subsubsection[ecore\_\-x\_\-icccm\_\-name\_\-class\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-icccm\_\-name\_\-class\_\-get (Ecore\_\-X\_\-Window {\em win}, char $\ast$$\ast$ {\em n}, char $\ast$$\ast$ {\em c})}}
+\label{Ecore__X_8h_ff06f01a91f6e515ff894d7a62784a9d}
+
+
+Get a window name \& class. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em win}]The window \item[{\em n}]The name string \item[{\em c}]The class string\end{description}
+\end{Desc}
+Get a window name $\ast$ class \hypertarget{Ecore__X_8h_84500711120704820a7a097c0774e7a8}{
+\index{Ecore_X.h@{Ecore\_\-X.h}!ecore_x_icccm_protocol_isset@{ecore\_\-x\_\-icccm\_\-protocol\_\-isset}}
+\index{ecore_x_icccm_protocol_isset@{ecore\_\-x\_\-icccm\_\-protocol\_\-isset}!Ecore_X.h@{Ecore\_\-X.h}}
+\subsubsection[ecore\_\-x\_\-icccm\_\-protocol\_\-isset]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-x\_\-icccm\_\-protocol\_\-isset (Ecore\_\-X\_\-Window {\em win}, Ecore\_\-X\_\-WM\_\-Protocol {\em protocol})}}
+\label{Ecore__X_8h_84500711120704820a7a097c0774e7a8}
+
+
+Determines whether a protocol is set for a window. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em win}]The Window \item[{\em protocol}]The protocol to query \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]1 if the protocol is set, else 0. \end{Desc}
+\hypertarget{Ecore__X_8h_b28b455ff35e3c9f8e18f29be617dc1f}{
+\index{Ecore_X.h@{Ecore\_\-X.h}!ecore_x_icccm_transient_for_get@{ecore\_\-x\_\-icccm\_\-transient\_\-for\_\-get}}
+\index{ecore_x_icccm_transient_for_get@{ecore\_\-x\_\-icccm\_\-transient\_\-for\_\-get}!Ecore_X.h@{Ecore\_\-X.h}}
+\subsubsection[ecore\_\-x\_\-icccm\_\-transient\_\-for\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI Ecore\_\-X\_\-Window ecore\_\-x\_\-icccm\_\-transient\_\-for\_\-get (Ecore\_\-X\_\-Window {\em win})}}
+\label{Ecore__X_8h_b28b455ff35e3c9f8e18f29be617dc1f}
+
+
+Get the window this window is transient for, if any. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em win}]The window to check \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The window ID of the top-level window, or 0 if the property does not exist. \end{Desc}
+\hypertarget{Ecore__X_8h_1283ea18fceed968627f1e2c13750d80}{
+\index{Ecore_X.h@{Ecore\_\-X.h}!ecore_x_io_error_handler_set@{ecore\_\-x\_\-io\_\-error\_\-handler\_\-set}}
+\index{ecore_x_io_error_handler_set@{ecore\_\-x\_\-io\_\-error\_\-handler\_\-set}!Ecore_X.h@{Ecore\_\-X.h}}
+\subsubsection[ecore\_\-x\_\-io\_\-error\_\-handler\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-io\_\-error\_\-handler\_\-set (void($\ast$)(void $\ast$data) {\em func}, const void $\ast$ {\em data})}}
+\label{Ecore__X_8h_1283ea18fceed968627f1e2c13750d80}
+
+
+Set the I/O error handler. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em func}]The I/O error handler function \item[{\em data}]The data to be passed to the handler function\end{description}
+\end{Desc}
+Set the X I/O error handler function \hypertarget{Ecore__X_8h_bccc12f989efb33663d1fe54b96c12e2}{
+\index{Ecore_X.h@{Ecore\_\-X.h}!ecore_x_kill@{ecore\_\-x\_\-kill}}
+\index{ecore_x_kill@{ecore\_\-x\_\-kill}!Ecore_X.h@{Ecore\_\-X.h}}
+\subsubsection[ecore\_\-x\_\-kill]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-kill (Ecore\_\-X\_\-Window {\em window})}}
+\label{Ecore__X_8h_bccc12f989efb33663d1fe54b96c12e2}
+
+
+Kill a specific client. 
+
+You can kill a specific client woning window {\tt window} 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]Window of the client to be killed \end{description}
+\end{Desc}
+\hypertarget{Ecore__X_8h_cfb7138e003fdda4452e73fbc879cddd}{
+\index{Ecore_X.h@{Ecore\_\-X.h}!ecore_x_killall@{ecore\_\-x\_\-killall}}
+\index{ecore_x_killall@{ecore\_\-x\_\-killall}!Ecore_X.h@{Ecore\_\-X.h}}
+\subsubsection[ecore\_\-x\_\-killall]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-killall (Ecore\_\-X\_\-Window {\em root})}}
+\label{Ecore__X_8h_cfb7138e003fdda4452e73fbc879cddd}
+
+
+Kill all clients with subwindows under a given window. 
+
+You can kill all clients connected to the X server by using \hyperlink{Ecore__X_8h_78bb4a4944619d01db4bccf3047465cb}{ecore\_\-x\_\-window\_\-root\_\-list} to get a list of root windows, and then passing each root window to this function.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em root}]The window whose children will be killed. \end{description}
+\end{Desc}
+\hypertarget{Ecore__X_8h_690146f78b917aa6f08a242365946d4f}{
+\index{Ecore_X.h@{Ecore\_\-X.h}!ecore_x_selection_clipboard_clear@{ecore\_\-x\_\-selection\_\-clipboard\_\-clear}}
+\index{ecore_x_selection_clipboard_clear@{ecore\_\-x\_\-selection\_\-clipboard\_\-clear}!Ecore_X.h@{Ecore\_\-X.h}}
+\subsubsection[ecore\_\-x\_\-selection\_\-clipboard\_\-clear]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-x\_\-selection\_\-clipboard\_\-clear (void)}}
+\label{Ecore__X_8h_690146f78b917aa6f08a242365946d4f}
+
+
+Release ownership of the clipboard selection. 
+
+\begin{Desc}
+\item[Returns:]Returns 1 if the selection was successfully cleared, or 0 if unsuccessful.\end{Desc}
+To use this function, you must call before, and in order, \hyperlink{Ecore__X_8h_3742482b87ab25c390f3ea48cc276a29}{ecore\_\-x\_\-selection\_\-clipboard\_\-prefetch()}, which sends the Get\-Selection\-Owner request, then \hyperlink{Ecore__X_8h_3e5d595f4bbabd29f1951b9c28d0f384}{ecore\_\-x\_\-selection\_\-clipboard\_\-fetch()}, which gets the reply. \hypertarget{Ecore__X_8h_fc255b32b26008676da623cc044a5f39}{
+\index{Ecore_X.h@{Ecore\_\-X.h}!ecore_x_selection_clipboard_set@{ecore\_\-x\_\-selection\_\-clipboard\_\-set}}
+\index{ecore_x_selection_clipboard_set@{ecore\_\-x\_\-selection\_\-clipboard\_\-set}!Ecore_X.h@{Ecore\_\-X.h}}
+\subsubsection[ecore\_\-x\_\-selection\_\-clipboard\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-x\_\-selection\_\-clipboard\_\-set (Ecore\_\-X\_\-Window {\em window}, const void $\ast$ {\em data}, int {\em size})}}
+\label{Ecore__X_8h_fc255b32b26008676da623cc044a5f39}
+
+
+Claim ownership of the CLIPBOARD selection and set its data. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window to which this selection belongs \item[{\em data}]The data associated with the selection \item[{\em size}]The size of the data buffer in bytes \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]Returns 1 if the ownership of the selection was successfully claimed, or 0 if unsuccessful.\end{Desc}
+Get the converted data from a previous CLIPBOARD selection request. The buffer must be freed when done with.
+
+To use this function, you must call before, and in order, \hyperlink{Ecore__X_8h_3742482b87ab25c390f3ea48cc276a29}{ecore\_\-x\_\-selection\_\-clipboard\_\-prefetch()}, which sends the Get\-Selection\-Owner request, then \hyperlink{Ecore__X_8h_3e5d595f4bbabd29f1951b9c28d0f384}{ecore\_\-x\_\-selection\_\-clipboard\_\-fetch()}, which gets the reply. \hypertarget{Ecore__X_8h_ec438c5b878050b004a58c0e33062720}{
+\index{Ecore_X.h@{Ecore\_\-X.h}!ecore_x_selection_primary_clear@{ecore\_\-x\_\-selection\_\-primary\_\-clear}}
+\index{ecore_x_selection_primary_clear@{ecore\_\-x\_\-selection\_\-primary\_\-clear}!Ecore_X.h@{Ecore\_\-X.h}}
+\subsubsection[ecore\_\-x\_\-selection\_\-primary\_\-clear]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-x\_\-selection\_\-primary\_\-clear (void)}}
+\label{Ecore__X_8h_ec438c5b878050b004a58c0e33062720}
+
+
+Release ownership of the primary selection. 
+
+\begin{Desc}
+\item[Returns:]Returns 1 if the selection was successfully cleared, or 0 if unsuccessful.\end{Desc}
+To use this function, you must call before, and in order, \hyperlink{Ecore__X_8h_e86ff8e908af7f620d186449b093525d}{ecore\_\-x\_\-selection\_\-primary\_\-prefetch()}, which sends the Get\-Selection\-Owner request, then \hyperlink{Ecore__X_8h_a0a14ed7682ddae679ad1eb9b172a6df}{ecore\_\-x\_\-selection\_\-primary\_\-fetch()}, which gets the reply. \hypertarget{Ecore__X_8h_316362262fc1cce9cb9a744600cd91f2}{
+\index{Ecore_X.h@{Ecore\_\-X.h}!ecore_x_selection_primary_set@{ecore\_\-x\_\-selection\_\-primary\_\-set}}
+\index{ecore_x_selection_primary_set@{ecore\_\-x\_\-selection\_\-primary\_\-set}!Ecore_X.h@{Ecore\_\-X.h}}
+\subsubsection[ecore\_\-x\_\-selection\_\-primary\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-x\_\-selection\_\-primary\_\-set (Ecore\_\-X\_\-Window {\em window}, const void $\ast$ {\em data}, int {\em size})}}
+\label{Ecore__X_8h_316362262fc1cce9cb9a744600cd91f2}
+
+
+Claim ownership of the PRIMARY selection and set its data. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window to which this selection belongs \item[{\em data}]The data associated with the selection \item[{\em size}]The size of the data buffer in bytes \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]Returns 1 if the ownership of the selection was successfully claimed, or 0 if unsuccessful.\end{Desc}
+To use this function, you must call before, and in order, \hyperlink{Ecore__X_8h_e86ff8e908af7f620d186449b093525d}{ecore\_\-x\_\-selection\_\-primary\_\-prefetch()}, which sends the Get\-Selection\-Owner request, then \hyperlink{Ecore__X_8h_a0a14ed7682ddae679ad1eb9b172a6df}{ecore\_\-x\_\-selection\_\-primary\_\-fetch()}, which gets the reply. \hypertarget{Ecore__X_8h_af525c0c3775ac4efc535acd1a31550e}{
+\index{Ecore_X.h@{Ecore\_\-X.h}!ecore_x_selection_secondary_clear@{ecore\_\-x\_\-selection\_\-secondary\_\-clear}}
+\index{ecore_x_selection_secondary_clear@{ecore\_\-x\_\-selection\_\-secondary\_\-clear}!Ecore_X.h@{Ecore\_\-X.h}}
+\subsubsection[ecore\_\-x\_\-selection\_\-secondary\_\-clear]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-x\_\-selection\_\-secondary\_\-clear (void)}}
+\label{Ecore__X_8h_af525c0c3775ac4efc535acd1a31550e}
+
+
+Release ownership of the secondary selection. 
+
+\begin{Desc}
+\item[Returns:]Returns 1 if the selection was successfully cleared, or 0 if unsuccessful.\end{Desc}
+To use this function, you must call before, and in order, \hyperlink{Ecore__X_8h_b9c419c5128e4d26db4374d281f26ecb}{ecore\_\-x\_\-selection\_\-secondary\_\-prefetch()}, which sends the Get\-Selection\-Owner request, then \hyperlink{Ecore__X_8h_2dee8a2104c506e59a92bfe83dd7407b}{ecore\_\-x\_\-selection\_\-secondary\_\-fetch()}, which gets the reply. \hypertarget{Ecore__X_8h_96fadcc8662e59e40e199d07a74d7d8c}{
+\index{Ecore_X.h@{Ecore\_\-X.h}!ecore_x_selection_secondary_set@{ecore\_\-x\_\-selection\_\-secondary\_\-set}}
+\index{ecore_x_selection_secondary_set@{ecore\_\-x\_\-selection\_\-secondary\_\-set}!Ecore_X.h@{Ecore\_\-X.h}}
+\subsubsection[ecore\_\-x\_\-selection\_\-secondary\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-x\_\-selection\_\-secondary\_\-set (Ecore\_\-X\_\-Window {\em window}, const void $\ast$ {\em data}, int {\em size})}}
+\label{Ecore__X_8h_96fadcc8662e59e40e199d07a74d7d8c}
+
+
+Claim ownership of the SECONDARY selection and set its data. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window to which this selection belongs \item[{\em data}]The data associated with the selection \item[{\em size}]The size of the data buffer in bytes \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]Returns 1 if the ownership of the selection was successfully claimed, or 0 if unsuccessful.\end{Desc}
+To use this function, you must call before, and in order, \hyperlink{Ecore__X_8h_b9c419c5128e4d26db4374d281f26ecb}{ecore\_\-x\_\-selection\_\-secondary\_\-prefetch()}, which sends the Get\-Selection\-Owner request, then \hyperlink{Ecore__X_8h_2dee8a2104c506e59a92bfe83dd7407b}{ecore\_\-x\_\-selection\_\-secondary\_\-fetch()}, which gets the reply. \hypertarget{Ecore__X_8h_ad8c37e733f6fc5ae616ff30d8621871}{
+\index{Ecore_X.h@{Ecore\_\-X.h}!ecore_x_selection_xdnd_clear@{ecore\_\-x\_\-selection\_\-xdnd\_\-clear}}
+\index{ecore_x_selection_xdnd_clear@{ecore\_\-x\_\-selection\_\-xdnd\_\-clear}!Ecore_X.h@{Ecore\_\-X.h}}
+\subsubsection[ecore\_\-x\_\-selection\_\-xdnd\_\-clear]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-x\_\-selection\_\-xdnd\_\-clear (void)}}
+\label{Ecore__X_8h_ad8c37e733f6fc5ae616ff30d8621871}
+
+
+Release ownership of the XDND selection. 
+
+\begin{Desc}
+\item[Returns:]Returns 1 if the selection was successfully cleared, or 0 if unsuccessful.\end{Desc}
+To use this function, you must call before, and in order, \hyperlink{Ecore__X_8h_bee1a5eeb8bddbed3d1e48eb9c122b7f}{ecore\_\-x\_\-selection\_\-xdnd\_\-prefetch()}, which sends the Get\-Selection\-Owner request, then \hyperlink{Ecore__X_8h_668334c7ddf60fa20f98dc9830eba1eb}{ecore\_\-x\_\-selection\_\-xdnd\_\-fetch()}, which gets the reply. \hypertarget{Ecore__X_8h_bdda48b18621d5b212632cfbeaa04a1c}{
+\index{Ecore_X.h@{Ecore\_\-X.h}!ecore_x_selection_xdnd_set@{ecore\_\-x\_\-selection\_\-xdnd\_\-set}}
+\index{ecore_x_selection_xdnd_set@{ecore\_\-x\_\-selection\_\-xdnd\_\-set}!Ecore_X.h@{Ecore\_\-X.h}}
+\subsubsection[ecore\_\-x\_\-selection\_\-xdnd\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-x\_\-selection\_\-xdnd\_\-set (Ecore\_\-X\_\-Window {\em window}, const void $\ast$ {\em data}, int {\em size})}}
+\label{Ecore__X_8h_bdda48b18621d5b212632cfbeaa04a1c}
+
+
+Claim ownership of the XDND selection and set its data. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window to which this selection belongs \item[{\em data}]The data associated with the selection \item[{\em size}]The size of the data buffer in bytes \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]Returns 1 if the ownership of the selection was successfully claimed, or 0 if unsuccessful.\end{Desc}
+To use this function, you must call before, and in order, \hyperlink{Ecore__X_8h_bee1a5eeb8bddbed3d1e48eb9c122b7f}{ecore\_\-x\_\-selection\_\-xdnd\_\-prefetch()}, which sends the Get\-Selection\-Owner request, then \hyperlink{Ecore__X_8h_668334c7ddf60fa20f98dc9830eba1eb}{ecore\_\-x\_\-selection\_\-xdnd\_\-fetch()}, which gets the reply. \hypertarget{Ecore__X_8h_720f4a9d95ad02ef0d8ff6fdf7e6a66b}{
+\index{Ecore_X.h@{Ecore\_\-X.h}!ecore_x_window_area_clear@{ecore\_\-x\_\-window\_\-area\_\-clear}}
+\index{ecore_x_window_area_clear@{ecore\_\-x\_\-window\_\-area\_\-clear}!Ecore_X.h@{Ecore\_\-X.h}}
+\subsubsection[ecore\_\-x\_\-window\_\-area\_\-clear]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-window\_\-area\_\-clear (Ecore\_\-X\_\-Window {\em window}, int {\em x}, int {\em y}, int {\em width}, int {\em height})}}
+\label{Ecore__X_8h_720f4a9d95ad02ef0d8ff6fdf7e6a66b}
+
+
+Clears an area of the given window. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The given window. \item[{\em x}]The X coordinate of the area. \item[{\em y}]The Y coordinate of the area. \item[{\em width}]The width of the area. \item[{\em height}]The height of the area. \end{description}
+\end{Desc}
+\hypertarget{Ecore__X_8h_2cd5023e239ca28674d160d42879521f}{
+\index{Ecore_X.h@{Ecore\_\-X.h}!ecore_x_window_area_expose@{ecore\_\-x\_\-window\_\-area\_\-expose}}
+\index{ecore_x_window_area_expose@{ecore\_\-x\_\-window\_\-area\_\-expose}!Ecore_X.h@{Ecore\_\-X.h}}
+\subsubsection[ecore\_\-x\_\-window\_\-area\_\-expose]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-window\_\-area\_\-expose (Ecore\_\-X\_\-Window {\em window}, int {\em x}, int {\em y}, int {\em width}, int {\em height})}}
+\label{Ecore__X_8h_2cd5023e239ca28674d160d42879521f}
+
+
+Exposes an area of the given window. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The given window. \item[{\em x}]The X coordinate of the area. \item[{\em y}]The Y coordinate of the area. \item[{\em width}]The width of the area. \item[{\em height}]The height of the area. \end{description}
+\end{Desc}
+\hypertarget{Ecore__X_8h_ab9f527e685a919467032d4153774e60}{
+\index{Ecore_X.h@{Ecore\_\-X.h}!ecore_x_window_defaults_set@{ecore\_\-x\_\-window\_\-defaults\_\-set}}
+\index{ecore_x_window_defaults_set@{ecore\_\-x\_\-window\_\-defaults\_\-set}!Ecore_X.h@{Ecore\_\-X.h}}
+\subsubsection[ecore\_\-x\_\-window\_\-defaults\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-window\_\-defaults\_\-set (Ecore\_\-X\_\-Window {\em window})}}
+\label{Ecore__X_8h_ab9f527e685a919467032d4153774e60}
+
+
+Sets the default properties for the given window. 
+
+The default properties set for the window are {\tt WM\_\-CLIENT\_\-MACHINE} and {\tt \_\-NET\_\-WM\_\-PID}.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The given window. \end{description}
+\end{Desc}
+\hypertarget{Ecore__X_8h_e3edc06da877cddcf9f594edb280aa39}{
+\index{Ecore_X.h@{Ecore\_\-X.h}!ecore_x_window_depth_get@{ecore\_\-x\_\-window\_\-depth\_\-get}}
+\index{ecore_x_window_depth_get@{ecore\_\-x\_\-window\_\-depth\_\-get}!Ecore_X.h@{Ecore\_\-X.h}}
+\subsubsection[ecore\_\-x\_\-window\_\-depth\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-x\_\-window\_\-depth\_\-get (Ecore\_\-X\_\-Window {\em win})}}
+\label{Ecore__X_8h_e3edc06da877cddcf9f594edb280aa39}
+
+
+Retrieves the depth of the given window. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em win}]The given window. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]Depth of the window. \end{Desc}
+\hypertarget{Ecore__X_8h_576f72e83f8822abe9e876353ddf32cd}{
+\index{Ecore_X.h@{Ecore\_\-X.h}!ecore_x_window_ignore_list@{ecore\_\-x\_\-window\_\-ignore\_\-list}}
+\index{ecore_x_window_ignore_list@{ecore\_\-x\_\-window\_\-ignore\_\-list}!Ecore_X.h@{Ecore\_\-X.h}}
+\subsubsection[ecore\_\-x\_\-window\_\-ignore\_\-list]{\setlength{\rightskip}{0pt plus 5cm}EAPI Ecore\_\-X\_\-Window$\ast$ ecore\_\-x\_\-window\_\-ignore\_\-list (int $\ast$ {\em num})}}
+\label{Ecore__X_8h_576f72e83f8822abe9e876353ddf32cd}
+
+
+Get the ignore list. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em num}]number of windows in the list \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]list of windows to ignore \end{Desc}
+\hypertarget{Ecore__X_8h_c7fec7dc837b162127fdbb7c35ea4c81}{
+\index{Ecore_X.h@{Ecore\_\-X.h}!ecore_x_window_ignore_set@{ecore\_\-x\_\-window\_\-ignore\_\-set}}
+\index{ecore_x_window_ignore_set@{ecore\_\-x\_\-window\_\-ignore\_\-set}!Ecore_X.h@{Ecore\_\-X.h}}
+\subsubsection[ecore\_\-x\_\-window\_\-ignore\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-window\_\-ignore\_\-set (Ecore\_\-X\_\-Window {\em window}, int {\em ignore})}}
+\label{Ecore__X_8h_c7fec7dc837b162127fdbb7c35ea4c81}
+
+
+Set if a window should be ignored. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The given window. \item[{\em ignore}]if to ignore \end{description}
+\end{Desc}
+\hypertarget{Ecore__X_8h_b09274a94cf3917558e288f01afad53f}{
+\index{Ecore_X.h@{Ecore\_\-X.h}!ecore_x_window_prop_any_type@{ecore\_\-x\_\-window\_\-prop\_\-any\_\-type}}
+\index{ecore_x_window_prop_any_type@{ecore\_\-x\_\-window\_\-prop\_\-any\_\-type}!Ecore_X.h@{Ecore\_\-X.h}}
+\subsubsection[ecore\_\-x\_\-window\_\-prop\_\-any\_\-type]{\setlength{\rightskip}{0pt plus 5cm}EAPI Ecore\_\-X\_\-Atom ecore\_\-x\_\-window\_\-prop\_\-any\_\-type (void)}}
+\label{Ecore__X_8h_b09274a94cf3917558e288f01afad53f}
+
+
+To be documented. 
+
+FIXME: To be fixed. \hypertarget{Ecore__X_8h_f73ba0c18faa574b1e1d68e5e4995266}{
+\index{Ecore_X.h@{Ecore\_\-X.h}!ecore_x_window_prop_atom_get_prefetch@{ecore\_\-x\_\-window\_\-prop\_\-atom\_\-get\_\-prefetch}}
+\index{ecore_x_window_prop_atom_get_prefetch@{ecore\_\-x\_\-window\_\-prop\_\-atom\_\-get\_\-prefetch}!Ecore_X.h@{Ecore\_\-X.h}}
+\subsubsection[ecore\_\-x\_\-window\_\-prop\_\-atom\_\-get\_\-prefetch]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-window\_\-prop\_\-atom\_\-get\_\-prefetch (Ecore\_\-X\_\-Window {\em window}, Ecore\_\-X\_\-Atom {\em atom})}}
+\label{Ecore__X_8h_f73ba0c18faa574b1e1d68e5e4995266}
+
+
+Sends the Get\-Property request. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]Window whose properties are requested. \item[{\em atom}]Property atom. \end{description}
+\end{Desc}
+\hypertarget{Ecore__X_8h_660bab731052c26724f57783ac0c177e}{
+\index{Ecore_X.h@{Ecore\_\-X.h}!ecore_x_window_prop_card32_get_prefetch@{ecore\_\-x\_\-window\_\-prop\_\-card32\_\-get\_\-prefetch}}
+\index{ecore_x_window_prop_card32_get_prefetch@{ecore\_\-x\_\-window\_\-prop\_\-card32\_\-get\_\-prefetch}!Ecore_X.h@{Ecore\_\-X.h}}
+\subsubsection[ecore\_\-x\_\-window\_\-prop\_\-card32\_\-get\_\-prefetch]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-window\_\-prop\_\-card32\_\-get\_\-prefetch (Ecore\_\-X\_\-Window {\em window}, Ecore\_\-X\_\-Atom {\em atom})}}
+\label{Ecore__X_8h_660bab731052c26724f57783ac0c177e}
+
+
+Sends the Get\-Property request. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]Window whose properties are requested. \item[{\em atom}]The atom. \end{description}
+\end{Desc}
+\hypertarget{Ecore__X_8h_35c4eb2d9006b73302e586263dac4a7d}{
+\index{Ecore_X.h@{Ecore\_\-X.h}!ecore_x_window_prop_list_prefetch@{ecore\_\-x\_\-window\_\-prop\_\-list\_\-prefetch}}
+\index{ecore_x_window_prop_list_prefetch@{ecore\_\-x\_\-window\_\-prop\_\-list\_\-prefetch}!Ecore_X.h@{Ecore\_\-X.h}}
+\subsubsection[ecore\_\-x\_\-window\_\-prop\_\-list\_\-prefetch]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-window\_\-prop\_\-list\_\-prefetch (Ecore\_\-X\_\-Window {\em window})}}
+\label{Ecore__X_8h_35c4eb2d9006b73302e586263dac4a7d}
+
+
+Sends the List\-Properties request. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]Window whose properties are requested. \end{description}
+\end{Desc}
+\hypertarget{Ecore__X_8h_7d4659af05243f5998abaf5f1491f4a6}{
+\index{Ecore_X.h@{Ecore\_\-X.h}!ecore_x_window_prop_property_get@{ecore\_\-x\_\-window\_\-prop\_\-property\_\-get}}
+\index{ecore_x_window_prop_property_get@{ecore\_\-x\_\-window\_\-prop\_\-property\_\-get}!Ecore_X.h@{Ecore\_\-X.h}}
+\subsubsection[ecore\_\-x\_\-window\_\-prop\_\-property\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-x\_\-window\_\-prop\_\-property\_\-get (Ecore\_\-X\_\-Window {\em win}, Ecore\_\-X\_\-Atom {\em property}, Ecore\_\-X\_\-Atom {\em type}, int size {\em \_\-\_\-UNUSED\_\-\_\-}, unsigned char $\ast$$\ast$ {\em data}, int $\ast$ {\em num})}}
+\label{Ecore__X_8h_7d4659af05243f5998abaf5f1491f4a6}
+
+
+To be documented. 
+
+FIXME: To be fixed. \hypertarget{Ecore__X_8h_71702d85a255610cd4f689519462fbf0}{
+\index{Ecore_X.h@{Ecore\_\-X.h}!ecore_x_window_prop_property_get_prefetch@{ecore\_\-x\_\-window\_\-prop\_\-property\_\-get\_\-prefetch}}
+\index{ecore_x_window_prop_property_get_prefetch@{ecore\_\-x\_\-window\_\-prop\_\-property\_\-get\_\-prefetch}!Ecore_X.h@{Ecore\_\-X.h}}
+\subsubsection[ecore\_\-x\_\-window\_\-prop\_\-property\_\-get\_\-prefetch]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-window\_\-prop\_\-property\_\-get\_\-prefetch (Ecore\_\-X\_\-Window {\em window}, Ecore\_\-X\_\-Atom {\em property}, Ecore\_\-X\_\-Atom {\em type})}}
+\label{Ecore__X_8h_71702d85a255610cd4f689519462fbf0}
+
+
+Sends the Get\-Property request. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]Window whose properties are requested. \item[{\em property}]Property atom. \item[{\em type}]Type atom. \end{description}
+\end{Desc}
+\hypertarget{Ecore__X_8h_958d730271efc435996d845eb8e89092}{
+\index{Ecore_X.h@{Ecore\_\-X.h}!ecore_x_window_prop_property_set@{ecore\_\-x\_\-window\_\-prop\_\-property\_\-set}}
+\index{ecore_x_window_prop_property_set@{ecore\_\-x\_\-window\_\-prop\_\-property\_\-set}!Ecore_X.h@{Ecore\_\-X.h}}
+\subsubsection[ecore\_\-x\_\-window\_\-prop\_\-property\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-window\_\-prop\_\-property\_\-set (Ecore\_\-X\_\-Window {\em window}, Ecore\_\-X\_\-Atom {\em property}, Ecore\_\-X\_\-Atom {\em type}, int {\em size}, void $\ast$ {\em data}, int {\em number})}}
+\label{Ecore__X_8h_958d730271efc435996d845eb8e89092}
+
+
+To be documented. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window. \item[{\em property}]The property atom. \item[{\em type}]The type atom. \item[{\em size}]The size. \item[{\em data}]The data. \item[{\em number}]The size of the data.\end{description}
+\end{Desc}
+FIXME: To be fixed. \hypertarget{Ecore__X_8h_8972569167bed2624edeeed44e1aec6a}{
+\index{Ecore_X.h@{Ecore\_\-X.h}!ecore_x_window_prop_protocol_list_get@{ecore\_\-x\_\-window\_\-prop\_\-protocol\_\-list\_\-get}}
+\index{ecore_x_window_prop_protocol_list_get@{ecore\_\-x\_\-window\_\-prop\_\-protocol\_\-list\_\-get}!Ecore_X.h@{Ecore\_\-X.h}}
+\subsubsection[ecore\_\-x\_\-window\_\-prop\_\-protocol\_\-list\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI Ecore\_\-X\_\-WM\_\-Protocol$\ast$ ecore\_\-x\_\-window\_\-prop\_\-protocol\_\-list\_\-get (Ecore\_\-X\_\-Window {\em window}, int $\ast$ {\em num\_\-ret})}}
+\label{Ecore__X_8h_8972569167bed2624edeeed44e1aec6a}
+
+
+To be documented. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window. \item[{\em num\_\-ret}]The number of WM protocols. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The returned WM protocols.\end{Desc}
+FIXME: To be fixed. \hypertarget{Ecore__X_8h_114fb34050f957f2c87fb60e7a85f69c}{
+\index{Ecore_X.h@{Ecore\_\-X.h}!ecore_x_window_prop_string_get@{ecore\_\-x\_\-window\_\-prop\_\-string\_\-get}}
+\index{ecore_x_window_prop_string_get@{ecore\_\-x\_\-window\_\-prop\_\-string\_\-get}!Ecore_X.h@{Ecore\_\-X.h}}
+\subsubsection[ecore\_\-x\_\-window\_\-prop\_\-string\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI char$\ast$ ecore\_\-x\_\-window\_\-prop\_\-string\_\-get (Ecore\_\-X\_\-Window {\em win}, Ecore\_\-X\_\-Atom {\em type})}}
+\label{Ecore__X_8h_114fb34050f957f2c87fb60e7a85f69c}
+
+
+Get a window string property. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em win}]The window \item[{\em type}]The property\end{description}
+\end{Desc}
+Return window string property of a window. String must be free'd when done. \hypertarget{Ecore__X_8h_62697f77264b0302abfbc3efa126995d}{
+\index{Ecore_X.h@{Ecore\_\-X.h}!ecore_x_window_prop_string_get_prefetch@{ecore\_\-x\_\-window\_\-prop\_\-string\_\-get\_\-prefetch}}
+\index{ecore_x_window_prop_string_get_prefetch@{ecore\_\-x\_\-window\_\-prop\_\-string\_\-get\_\-prefetch}!Ecore_X.h@{Ecore\_\-X.h}}
+\subsubsection[ecore\_\-x\_\-window\_\-prop\_\-string\_\-get\_\-prefetch]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-window\_\-prop\_\-string\_\-get\_\-prefetch (Ecore\_\-X\_\-Window {\em window}, Ecore\_\-X\_\-Atom {\em type})}}
+\label{Ecore__X_8h_62697f77264b0302abfbc3efa126995d}
+
+
+Sends the Get\-Property request. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]Window whose properties are requested. \item[{\em type}]The atom. \end{description}
+\end{Desc}
+\hypertarget{Ecore__X_8h_4db12cbfb0ab6626dc21f5b9b39bbb52}{
+\index{Ecore_X.h@{Ecore\_\-X.h}!ecore_x_window_prop_string_set@{ecore\_\-x\_\-window\_\-prop\_\-string\_\-set}}
+\index{ecore_x_window_prop_string_set@{ecore\_\-x\_\-window\_\-prop\_\-string\_\-set}!Ecore_X.h@{Ecore\_\-X.h}}
+\subsubsection[ecore\_\-x\_\-window\_\-prop\_\-string\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-window\_\-prop\_\-string\_\-set (Ecore\_\-X\_\-Window {\em win}, Ecore\_\-X\_\-Atom {\em type}, const char $\ast$ {\em str})}}
+\label{Ecore__X_8h_4db12cbfb0ab6626dc21f5b9b39bbb52}
+
+
+Set a window string property. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em win}]The window \item[{\em type}]The property \item[{\em str}]The string\end{description}
+\end{Desc}
+Set a window string property \hypertarget{Ecore__X_8h_83590467335b25392a7fa4f956464da2}{
+\index{Ecore_X.h@{Ecore\_\-X.h}!ecore_x_window_prop_window_get_prefetch@{ecore\_\-x\_\-window\_\-prop\_\-window\_\-get\_\-prefetch}}
+\index{ecore_x_window_prop_window_get_prefetch@{ecore\_\-x\_\-window\_\-prop\_\-window\_\-get\_\-prefetch}!Ecore_X.h@{Ecore\_\-X.h}}
+\subsubsection[ecore\_\-x\_\-window\_\-prop\_\-window\_\-get\_\-prefetch]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-window\_\-prop\_\-window\_\-get\_\-prefetch (Ecore\_\-X\_\-Window {\em window}, Ecore\_\-X\_\-Atom {\em atom})}}
+\label{Ecore__X_8h_83590467335b25392a7fa4f956464da2}
+
+
+Sends the Get\-Property request. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]Window whose properties are requested. \item[{\em atom}]The atom. \end{description}
+\end{Desc}
+\hypertarget{Ecore__X_8h_d1e81ac2852a0af250bce275c0dca9c9}{
+\index{Ecore_X.h@{Ecore\_\-X.h}!ecore_x_window_prop_xid_get_prefetch@{ecore\_\-x\_\-window\_\-prop\_\-xid\_\-get\_\-prefetch}}
+\index{ecore_x_window_prop_xid_get_prefetch@{ecore\_\-x\_\-window\_\-prop\_\-xid\_\-get\_\-prefetch}!Ecore_X.h@{Ecore\_\-X.h}}
+\subsubsection[ecore\_\-x\_\-window\_\-prop\_\-xid\_\-get\_\-prefetch]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-window\_\-prop\_\-xid\_\-get\_\-prefetch (Ecore\_\-X\_\-Window {\em window}, Ecore\_\-X\_\-Atom {\em atom}, Ecore\_\-X\_\-Atom {\em type})}}
+\label{Ecore__X_8h_d1e81ac2852a0af250bce275c0dca9c9}
+
+
+Sends the Get\-Property request. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]Window whose properties are requested. \item[{\em atom}]The atom. \item[{\em type}]The atom type. \end{description}
+\end{Desc}
+\hypertarget{Ecore__X_8h_78bb4a4944619d01db4bccf3047465cb}{
+\index{Ecore_X.h@{Ecore\_\-X.h}!ecore_x_window_root_list@{ecore\_\-x\_\-window\_\-root\_\-list}}
+\index{ecore_x_window_root_list@{ecore\_\-x\_\-window\_\-root\_\-list}!Ecore_X.h@{Ecore\_\-X.h}}
+\subsubsection[ecore\_\-x\_\-window\_\-root\_\-list]{\setlength{\rightskip}{0pt plus 5cm}EAPI Ecore\_\-X\_\-Window$\ast$ ecore\_\-x\_\-window\_\-root\_\-list (int $\ast$ {\em num\_\-ret})}}
+\label{Ecore__X_8h_78bb4a4944619d01db4bccf3047465cb}
+
+
+Get a list of all the root windows on the server. 
+
+\begin{Desc}
+\item[Note:]The returned array will need to be freed after use. \end{Desc}
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em num\_\-ret}]Pointer to integer to put number of windows returned in. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]An array of all the root windows. {\tt NULL} is returned if memory could not be allocated for the list, or if {\tt num\_\-ret} is {\tt NULL}. \end{Desc}
diff --git a/doc/latex/Ecore__X__Atoms_8h.tex b/doc/latex/Ecore__X__Atoms_8h.tex
new file mode 100644
index 0000000..b5643d4
--- /dev/null
+++ b/doc/latex/Ecore__X__Atoms_8h.tex
@@ -0,0 +1,11 @@
+\hypertarget{Ecore__X__Atoms_8h}{
+\section{Ecore\_\-X\_\-Atoms.h File Reference}
+\label{Ecore__X__Atoms_8h}\index{Ecore_X_Atoms.h@{Ecore\_\-X\_\-Atoms.h}}
+}
+Ecore X atoms. 
+
+
+
+\subsection{Detailed Description}
+Ecore X atoms. 
+
diff --git a/doc/latex/Ecore__X__Cursor_8h.tex b/doc/latex/Ecore__X__Cursor_8h.tex
new file mode 100644
index 0000000..37029ff
--- /dev/null
+++ b/doc/latex/Ecore__X__Cursor_8h.tex
@@ -0,0 +1,11 @@
+\hypertarget{Ecore__X__Cursor_8h}{
+\section{Ecore\_\-X\_\-Cursor.h File Reference}
+\label{Ecore__X__Cursor_8h}\index{Ecore_X_Cursor.h@{Ecore\_\-X\_\-Cursor.h}}
+}
+Defines the various cursor types for the X Windows system. 
+
+
+
+\subsection{Detailed Description}
+Defines the various cursor types for the X Windows system. 
+
diff --git a/doc/latex/FreeSans.ttf b/doc/latex/FreeSans.ttf
new file mode 100644
index 0000000..b550b90
Binary files /dev/null and b/doc/latex/FreeSans.ttf differ
diff --git a/doc/latex/Makefile b/doc/latex/Makefile
new file mode 100644
index 0000000..776fcf9
--- /dev/null
+++ b/doc/latex/Makefile
@@ -0,0 +1,39 @@
+all: clean refman.dvi
+
+ps: refman.ps
+
+pdf: refman.pdf
+
+ps_2on1: refman_2on1.ps
+
+pdf_2on1: refman_2on1.pdf
+
+refman.ps: refman.dvi
+	dvips -o refman.ps refman.dvi
+
+refman.pdf: refman.ps
+	ps2pdf refman.ps refman.pdf
+
+refman.dvi: refman.tex doxygen.sty
+	echo "Running latex..."
+	latex refman.tex
+	echo "Running makeindex..."
+	makeindex refman.idx
+	echo "Rerunning latex...."
+	latex refman.tex
+	latex_count=5 ; \
+	while egrep -s 'Rerun (LaTeX|to get cross-references right)' refman.log && [ $$latex_count -gt 0 ] ;\
+	    do \
+	      echo "Rerunning latex...." ;\
+	      latex refman.tex ;\
+	      latex_count=`expr $$latex_count - 1` ;\
+	    done
+
+refman_2on1.ps: refman.ps
+	psnup -2 refman.ps >refman_2on1.ps
+
+refman_2on1.pdf: refman_2on1.ps
+	ps2pdf refman_2on1.ps refman_2on1.pdf
+
+clean:
+	rm -f *.ps *.dvi *.aux *.toc *.idx *.ind *.ilg *.log *.out refman.pdf
diff --git a/doc/latex/X_Window_System_Page.tex b/doc/latex/X_Window_System_Page.tex
new file mode 100644
index 0000000..806862b
--- /dev/null
+++ b/doc/latex/X_Window_System_Page.tex
@@ -0,0 +1,4 @@
+\hypertarget{X_Window_System_Page}{}\section{X Window System}\label{X_Window_System_Page}
+The Ecore library includes a wrapper for handling the X window system.
+
+This page briefly explains what the X window system is and various terms that are used. 
\ No newline at end of file
diff --git a/doc/latex/annotated.tex b/doc/latex/annotated.tex
new file mode 100644
index 0000000..6d43afe
--- /dev/null
+++ b/doc/latex/annotated.tex
@@ -0,0 +1,27 @@
+\section{Ecore Data Structures}
+Here are the data structures with brief descriptions:\begin{CompactList}
+\item\contentsline{section}{\hyperlink{struct__Ecore__DirectFB__Event__Key__Down}{\_\-Ecore\_\-Direct\-FB\_\-Event\_\-Key\_\-Down} (Direct\-FB Key Down event )}{\pageref{struct__Ecore__DirectFB__Event__Key__Down}}{}
+\item\contentsline{section}{\hyperlink{struct__Ecore__DirectFB__Event__Key__Up}{\_\-Ecore\_\-Direct\-FB\_\-Event\_\-Key\_\-Up} (Direct\-FB Key Up event )}{\pageref{struct__Ecore__DirectFB__Event__Key__Up}}{}
+\item\contentsline{section}{\hyperlink{struct__Ecore__Event__Signal__Exit}{\_\-Ecore\_\-Event\_\-Signal\_\-Exit} (Exit request event )}{\pageref{struct__Ecore__Event__Signal__Exit}}{}
+\item\contentsline{section}{\hyperlink{struct__Ecore__Event__Signal__Hup}{\_\-Ecore\_\-Event\_\-Signal\_\-Hup} (Hup signal event )}{\pageref{struct__Ecore__Event__Signal__Hup}}{}
+\item\contentsline{section}{\hyperlink{struct__Ecore__Event__Signal__Power}{\_\-Ecore\_\-Event\_\-Signal\_\-Power} (Power event )}{\pageref{struct__Ecore__Event__Signal__Power}}{}
+\item\contentsline{section}{\hyperlink{struct__Ecore__Event__Signal__Realtime}{\_\-Ecore\_\-Event\_\-Signal\_\-Realtime} (Realtime event )}{\pageref{struct__Ecore__Event__Signal__Realtime}}{}
+\item\contentsline{section}{\hyperlink{struct__Ecore__Event__Signal__User}{\_\-Ecore\_\-Event\_\-Signal\_\-User} (User signal event )}{\pageref{struct__Ecore__Event__Signal__User}}{}
+\item\contentsline{section}{\hyperlink{struct__Ecore__Exe__Event__Add}{\_\-Ecore\_\-Exe\_\-Event\_\-Add} (Process add event )}{\pageref{struct__Ecore__Exe__Event__Add}}{}
+\item\contentsline{section}{\hyperlink{struct__Ecore__Exe__Event__Data}{\_\-Ecore\_\-Exe\_\-Event\_\-Data} (Data from a child process event )}{\pageref{struct__Ecore__Exe__Event__Data}}{}
+\item\contentsline{section}{\hyperlink{struct__Ecore__Exe__Event__Data__Line}{\_\-Ecore\_\-Exe\_\-Event\_\-Data\_\-Line} ($<$ Lines from a child process )}{\pageref{struct__Ecore__Exe__Event__Data__Line}}{}
+\item\contentsline{section}{\hyperlink{struct__Ecore__Exe__Event__Del}{\_\-Ecore\_\-Exe\_\-Event\_\-Del} (Process exit event )}{\pageref{struct__Ecore__Exe__Event__Del}}{}
+\item\contentsline{section}{\hyperlink{struct__Ecore__Fb__Event__Key__Down}{\_\-Ecore\_\-Fb\_\-Event\_\-Key\_\-Down} (FB Key Down event )}{\pageref{struct__Ecore__Fb__Event__Key__Down}}{}
+\item\contentsline{section}{\hyperlink{struct__Ecore__Fb__Event__Key__Up}{\_\-Ecore\_\-Fb\_\-Event\_\-Key\_\-Up} (FB Key Up event )}{\pageref{struct__Ecore__Fb__Event__Key__Up}}{}
+\item\contentsline{section}{\hyperlink{struct__Ecore__Fb__Event__Mouse__Button__Down}{\_\-Ecore\_\-Fb\_\-Event\_\-Mouse\_\-Button\_\-Down} (FB Mouse Down event )}{\pageref{struct__Ecore__Fb__Event__Mouse__Button__Down}}{}
+\item\contentsline{section}{\hyperlink{struct__Ecore__Fb__Event__Mouse__Button__Up}{\_\-Ecore\_\-Fb\_\-Event\_\-Mouse\_\-Button\_\-Up} (FB Mouse Up event )}{\pageref{struct__Ecore__Fb__Event__Mouse__Button__Up}}{}
+\item\contentsline{section}{\hyperlink{struct__Ecore__Fb__Event__Mouse__Move}{\_\-Ecore\_\-Fb\_\-Event\_\-Mouse\_\-Move} (FB Mouse Move event )}{\pageref{struct__Ecore__Fb__Event__Mouse__Move}}{}
+\item\contentsline{section}{\hyperlink{struct__Ecore__Fb__Event__Mouse__Wheel}{\_\-Ecore\_\-Fb\_\-Event\_\-Mouse\_\-Wheel} (FB Mouse Wheel event )}{\pageref{struct__Ecore__Fb__Event__Mouse__Wheel}}{}
+\item\contentsline{section}{\hyperlink{struct__Ecore__Sdl__Event__Key__Down}{\_\-Ecore\_\-Sdl\_\-Event\_\-Key\_\-Down} (SDL Key Down event )}{\pageref{struct__Ecore__Sdl__Event__Key__Down}}{}
+\item\contentsline{section}{\hyperlink{struct__Ecore__Sdl__Event__Key__Up}{\_\-Ecore\_\-Sdl\_\-Event\_\-Key\_\-Up} (SDL Key Up event )}{\pageref{struct__Ecore__Sdl__Event__Key__Up}}{}
+\item\contentsline{section}{\hyperlink{struct__Ecore__Sdl__Event__Mouse__Button__Down}{\_\-Ecore\_\-Sdl\_\-Event\_\-Mouse\_\-Button\_\-Down} (SDL Mouse Down event )}{\pageref{struct__Ecore__Sdl__Event__Mouse__Button__Down}}{}
+\item\contentsline{section}{\hyperlink{struct__Ecore__Sdl__Event__Mouse__Button__Up}{\_\-Ecore\_\-Sdl\_\-Event\_\-Mouse\_\-Button\_\-Up} (SDL Mouse Up event )}{\pageref{struct__Ecore__Sdl__Event__Mouse__Button__Up}}{}
+\item\contentsline{section}{\hyperlink{struct__Ecore__Sdl__Event__Mouse__Move}{\_\-Ecore\_\-Sdl\_\-Event\_\-Mouse\_\-Move} (SDL Mouse Move event )}{\pageref{struct__Ecore__Sdl__Event__Mouse__Move}}{}
+\item\contentsline{section}{\hyperlink{struct__Ecore__Sdl__Event__Mouse__Wheel}{\_\-Ecore\_\-Sdl\_\-Event\_\-Mouse\_\-Wheel} (SDL Mouse Wheel event )}{\pageref{struct__Ecore__Sdl__Event__Mouse__Wheel}}{}
+\item\contentsline{section}{\hyperlink{structEcore__Config__Prop}{Ecore\_\-Config\_\-Prop} (The actual property for storing a key-value pair )}{\pageref{structEcore__Config__Prop}}{}
+\end{CompactList}
diff --git a/doc/latex/args__example_8c-example.tex b/doc/latex/args__example_8c-example.tex
new file mode 100644
index 0000000..6254de8
--- /dev/null
+++ b/doc/latex/args__example_8c-example.tex
@@ -0,0 +1,10 @@
+\hypertarget{args__example_8c-example}{
+\section{args\_\-example.c}
+}
+Shows how to set and retrieve the program arguments.
+
+
+
+\begin{DocInclude}\begin{verbatim}\end{verbatim}
+\end{DocInclude}
+ 
\ No newline at end of file
diff --git a/doc/latex/con__client__example_8c-example.tex b/doc/latex/con__client__example_8c-example.tex
new file mode 100644
index 0000000..0088714
--- /dev/null
+++ b/doc/latex/con__client__example_8c-example.tex
@@ -0,0 +1,10 @@
+\hypertarget{con__client__example_8c-example}{
+\section{con\_\-client\_\-example.c}
+}
+Shows how to write a simple client, that connects to the example server.
+
+
+
+\begin{DocInclude}\begin{verbatim}\end{verbatim}
+\end{DocInclude}
+ 
\ No newline at end of file
diff --git a/doc/latex/con__server__example_8c-example.tex b/doc/latex/con__server__example_8c-example.tex
new file mode 100644
index 0000000..0e75cff
--- /dev/null
+++ b/doc/latex/con__server__example_8c-example.tex
@@ -0,0 +1,10 @@
+\hypertarget{con__server__example_8c-example}{
+\section{con\_\-server\_\-example.c}
+}
+Shows how to write a simple server using the Ecore\_\-Con library.
+
+
+
+\begin{DocInclude}\begin{verbatim}\end{verbatim}
+\end{DocInclude}
+ 
\ No newline at end of file
diff --git a/doc/latex/config__basic__example_8c-example.tex b/doc/latex/config__basic__example_8c-example.tex
new file mode 100644
index 0000000..9fcd6c3
--- /dev/null
+++ b/doc/latex/config__basic__example_8c-example.tex
@@ -0,0 +1,10 @@
+\hypertarget{config__basic__example_8c-example}{
+\section{config\_\-basic\_\-example.c}
+}
+Provides an example of how to use the basic configuration functions.See the file \hyperlink{Ecore__Config_8h}{Ecore\_\-Config.h} for the full list of available functions.
+
+
+
+\begin{DocInclude}\begin{verbatim}\end{verbatim}
+\end{DocInclude}
+ 
\ No newline at end of file
diff --git a/doc/latex/config__listener__example_8c-example.tex b/doc/latex/config__listener__example_8c-example.tex
new file mode 100644
index 0000000..d851159
--- /dev/null
+++ b/doc/latex/config__listener__example_8c-example.tex
@@ -0,0 +1,10 @@
+\hypertarget{config__listener__example_8c-example}{
+\section{config\_\-listener\_\-example.c}
+}
+Shows how to set up a listener to listen for configuration changes.
+
+
+
+\begin{DocInclude}\begin{verbatim}\end{verbatim}
+\end{DocInclude}
+ 
\ No newline at end of file
diff --git a/doc/latex/doxygen.sty b/doc/latex/doxygen.sty
new file mode 100644
index 0000000..2064e3c
--- /dev/null
+++ b/doc/latex/doxygen.sty
@@ -0,0 +1,78 @@
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{doxygen}
+\RequirePackage{calc}
+\RequirePackage{array}
+\pagestyle{fancyplain}
+\newcommand{\clearemptydoublepage}{\newpage{\pagestyle{empty}\cleardoublepage}}
+\renewcommand{\chaptermark}[1]{\markboth{#1}{}}
+\renewcommand{\sectionmark}[1]{\markright{\thesection\ #1}}
+\lhead[\fancyplain{}{\bfseries\thepage}]
+        {\fancyplain{}{\bfseries\rightmark}}
+\rhead[\fancyplain{}{\bfseries\leftmark}]
+        {\fancyplain{}{\bfseries\thepage}}
+\rfoot[\fancyplain{}{\bfseries\scriptsize Generated on Sun Aug 26 22:41:53 2007 for Ecore by Doxygen }]{}
+\lfoot[]{\fancyplain{}{\bfseries\scriptsize Generated on Sun Aug 26 22:41:53 2007 for Ecore by Doxygen }}
+\cfoot{}
+\newenvironment{Code}
+{\footnotesize}
+{\normalsize}
+\newcommand{\doxyref}[3]{\textbf{#1} (\textnormal{#2}\,\pageref{#3})}
+\newenvironment{DocInclude}
+{\footnotesize}
+{\normalsize}
+\newenvironment{VerbInclude}
+{\footnotesize}
+{\normalsize}
+\newenvironment{Image}
+{\begin{figure}[H]}
+{\end{figure}}
+\newenvironment{ImageNoCaption}{}{}
+\newenvironment{CompactList}
+{\begin{list}{}{
+  \setlength{\leftmargin}{0.5cm}
+  \setlength{\itemsep}{0pt}
+  \setlength{\parsep}{0pt}
+  \setlength{\topsep}{0pt}
+  \renewcommand{\makelabel}{\hfill}}}
+{\end{list}}
+\newenvironment{CompactItemize}
+{
+  \begin{itemize}
+  \setlength{\itemsep}{-3pt}
+  \setlength{\parsep}{0pt}
+  \setlength{\topsep}{0pt}
+  \setlength{\partopsep}{0pt}
+}
+{\end{itemize}}
+\newcommand{\PBS}[1]{\let\temp=\\#1\let\\=\temp}
+\newlength{\tmplength}
+\newenvironment{TabularC}[1]
+{
+\setlength{\tmplength}
+     {\linewidth/(#1)-\tabcolsep*2-\arrayrulewidth*(#1+1)/(#1)}
+      \par\begin{tabular*}{\linewidth}
+             {*{#1}{|>{\PBS\raggedright\hspace{0pt}}p{\the\tmplength}}|}
+}
+{\end{tabular*}\par}
+\newcommand{\entrylabel}[1]{
+   {\parbox[b]{\labelwidth-4pt}{\makebox[0pt][l]{\textbf{#1}}\vspace{1.5\baselineskip}}}}
+\newenvironment{Desc}
+{\begin{list}{}
+  {
+    \settowidth{\labelwidth}{40pt}
+    \setlength{\leftmargin}{\labelwidth}
+    \setlength{\parsep}{0pt}
+    \setlength{\itemsep}{-4pt}
+    \renewcommand{\makelabel}{\entrylabel}
+  }
+}
+{\end{list}}
+\newenvironment{Indent}
+  {\begin{list}{}{\setlength{\leftmargin}{0.5cm}}
+      \item[]\ignorespaces}
+  {\unskip\end{list}}
+\setlength{\parindent}{0cm}
+\setlength{\parskip}{0.2cm}
+\addtocounter{secnumdepth}{1}
+\sloppy
+\usepackage[T1]{fontenc}
diff --git a/doc/img/ecore_big.eps b/doc/latex/ecore_big.eps
similarity index 100%
copy from doc/img/ecore_big.eps
copy to doc/latex/ecore_big.eps
diff --git a/doc/latex/event__handler__example_8c-example.tex b/doc/latex/event__handler__example_8c-example.tex
new file mode 100644
index 0000000..8313495
--- /dev/null
+++ b/doc/latex/event__handler__example_8c-example.tex
@@ -0,0 +1,10 @@
+\hypertarget{event__handler__example_8c-example}{
+\section{event\_\-handler\_\-example.c}
+}
+Shows how to use event handlers.
+
+
+
+\begin{DocInclude}\begin{verbatim}\end{verbatim}
+\end{DocInclude}
+ 
\ No newline at end of file
diff --git a/doc/latex/examples.tex b/doc/latex/examples.tex
new file mode 100644
index 0000000..2a86f7c
--- /dev/null
+++ b/doc/latex/examples.tex
@@ -0,0 +1,23 @@
+\section{Ecore Examples}
+Here is a list of all examples:\begin{CompactItemize}
+\item 
+\hyperlink{args__example_8c-example}{args\_\-example.c}
+\item 
+\hyperlink{con__client__example_8c-example}{con\_\-client\_\-example.c}
+\item 
+\hyperlink{con__server__example_8c-example}{con\_\-server\_\-example.c}
+\item 
+\hyperlink{config__basic__example_8c-example}{config\_\-basic\_\-example.c}
+\item 
+\hyperlink{config__listener__example_8c-example}{config\_\-listener\_\-example.c}
+\item 
+\hyperlink{event__handler__example_8c-example}{event\_\-handler\_\-example.c}
+\item 
+\hyperlink{list__destroy__example_8c-example}{list\_\-destroy\_\-example.c}
+\item 
+\hyperlink{list__example_8c-example}{list\_\-example.c}
+\item 
+\hyperlink{timer__example_8c-example}{timer\_\-example.c}
+\item 
+\hyperlink{x__window__example_8c-example}{x\_\-window\_\-example.c}
+\end{CompactItemize}
diff --git a/doc/latex/files.tex b/doc/latex/files.tex
new file mode 100644
index 0000000..9db272b
--- /dev/null
+++ b/doc/latex/files.tex
@@ -0,0 +1,19 @@
+\section{Ecore File List}
+Here is a list of all documented files with brief descriptions:\begin{CompactList}
+\item\contentsline{section}{\hyperlink{Ecore_8h}{Ecore.h} (The file that provides the program utility, main loop and timer functions )}{\pageref{Ecore_8h}}{}
+\item\contentsline{section}{\hyperlink{Ecore__Con_8h}{Ecore\_\-Con.h} (Sockets functions )}{\pageref{Ecore__Con_8h}}{}
+\item\contentsline{section}{\hyperlink{Ecore__Config_8h}{Ecore\_\-Config.h} (Provides the Enlightened Property Library )}{\pageref{Ecore__Config_8h}}{}
+\item\contentsline{section}{\hyperlink{Ecore__Data_8h}{Ecore\_\-Data.h} (Contains threading, list, hash, debugging and tree functions )}{\pageref{Ecore__Data_8h}}{}
+\item\contentsline{section}{\hyperlink{Ecore__Desktop_8h}{Ecore\_\-Desktop.h} (The file that provides the freedesktop.org desktop, icon, and menu functions )}{\pageref{Ecore__Desktop_8h}}{}
+\item\contentsline{section}{\hyperlink{Ecore__Evas_8h}{Ecore\_\-Evas.h} (Evas wrapper functions )}{\pageref{Ecore__Evas_8h}}{}
+\item\contentsline{section}{\hyperlink{Ecore__Fb_8h}{Ecore\_\-Fb.h} (Ecore frame buffer system functions )}{\pageref{Ecore__Fb_8h}}{}
+\item\contentsline{section}{\hyperlink{Ecore__File_8h}{Ecore\_\-File.h} (Files utility functions )}{\pageref{Ecore__File_8h}}{}
+\item\contentsline{section}{\hyperlink{Ecore__Ipc_8h}{Ecore\_\-Ipc.h} (Ecore inter-process communication functions )}{\pageref{Ecore__Ipc_8h}}{}
+\item\contentsline{section}{\hyperlink{Ecore__Job_8h}{Ecore\_\-Job.h} (Functions for dealing with Ecore jobs )}{\pageref{Ecore__Job_8h}}{}
+\item\contentsline{section}{\hyperlink{Ecore__Sdl_8h}{Ecore\_\-Sdl.h} (Ecore SDL system functions )}{\pageref{Ecore__Sdl_8h}}{}
+\item\contentsline{section}{\hyperlink{Ecore__Str_8h}{Ecore\_\-Str.h} (Contains useful C string functions )}{\pageref{Ecore__Str_8h}}{}
+\item\contentsline{section}{\hyperlink{Ecore__Txt_8h}{Ecore\_\-Txt.h} (Provides a text encoding conversion function )}{\pageref{Ecore__Txt_8h}}{}
+\item\contentsline{section}{\hyperlink{Ecore__X_8h}{Ecore\_\-X.h} (Ecore functions for dealing with the X Windows System )}{\pageref{Ecore__X_8h}}{}
+\item\contentsline{section}{\hyperlink{Ecore__X__Atoms_8h}{Ecore\_\-X\_\-Atoms.h} (Ecore X atoms )}{\pageref{Ecore__X__Atoms_8h}}{}
+\item\contentsline{section}{\hyperlink{Ecore__X__Cursor_8h}{Ecore\_\-X\_\-Cursor.h} (Defines the various cursor types for the X Windows system )}{\pageref{Ecore__X__Cursor_8h}}{}
+\end{CompactList}
diff --git a/doc/latex/group__Ecore__Con__Client__Group.tex b/doc/latex/group__Ecore__Con__Client__Group.tex
new file mode 100644
index 0000000..b7d360f
--- /dev/null
+++ b/doc/latex/group__Ecore__Con__Client__Group.tex
@@ -0,0 +1,166 @@
+\hypertarget{group__Ecore__Con__Client__Group}{
+\section{Ecore Connection Client Functions}
+\label{group__Ecore__Con__Client__Group}\index{Ecore Connection Client Functions@{Ecore Connection Client Functions}}
+}
+Functions that operate on Ecore connection client objects.  
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+EAPI int \hyperlink{group__Ecore__Con__Client__Group_gee84bc7c9239050e9b89a393bfc17dd7}{ecore\_\-con\_\-client\_\-send} (\hyperlink{Ecore__Con_8h_a7126b0163113e6f3f18d9bda2dda423}{Ecore\_\-Con\_\-Client} $\ast$cl, void $\ast$data, int size)
+\begin{CompactList}\small\item\em Sends the given data to the given client. \item\end{CompactList}\item 
+EAPI \hyperlink{Ecore__Con_8h_8254d59597add481f0e2471a845f4231}{Ecore\_\-Con\_\-Server} $\ast$ \hyperlink{group__Ecore__Con__Client__Group_g5d19742ffbfeb987c57d8a4093cce7e6}{ecore\_\-con\_\-client\_\-server\_\-get} (\hyperlink{Ecore__Con_8h_a7126b0163113e6f3f18d9bda2dda423}{Ecore\_\-Con\_\-Client} $\ast$cl)
+\begin{CompactList}\small\item\em Retrieves the server representing the socket the client has connected to. \item\end{CompactList}\item 
+EAPI void $\ast$ \hyperlink{group__Ecore__Con__Client__Group_g6ceed1117e823d3d3dc0d9a2df825464}{ecore\_\-con\_\-client\_\-del} (\hyperlink{Ecore__Con_8h_a7126b0163113e6f3f18d9bda2dda423}{Ecore\_\-Con\_\-Client} $\ast$cl)
+\begin{CompactList}\small\item\em Closes the connection and frees memory allocated to the given client. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__Con__Client__Group_g0c81c3b201d7fa6d48b6f5e99a651edc}{ecore\_\-con\_\-client\_\-data\_\-set} (\hyperlink{Ecore__Con_8h_a7126b0163113e6f3f18d9bda2dda423}{Ecore\_\-Con\_\-Client} $\ast$cl, const void $\ast$data)
+\begin{CompactList}\small\item\em Sets the data associated with the given client to {\tt data}. \item\end{CompactList}\item 
+EAPI void $\ast$ \hyperlink{group__Ecore__Con__Client__Group_ge0ee35b9dcbd7e654504baffe4070488}{ecore\_\-con\_\-client\_\-data\_\-get} (\hyperlink{Ecore__Con_8h_a7126b0163113e6f3f18d9bda2dda423}{Ecore\_\-Con\_\-Client} $\ast$cl)
+\begin{CompactList}\small\item\em Retrieves the data associated with the given client. \item\end{CompactList}\item 
+EAPI char $\ast$ \hyperlink{group__Ecore__Con__Client__Group_g18cb123f1d62299bdfc739b2d1124e14}{ecore\_\-con\_\-client\_\-ip\_\-get} (\hyperlink{Ecore__Con_8h_a7126b0163113e6f3f18d9bda2dda423}{Ecore\_\-Con\_\-Client} $\ast$cl)
+\begin{CompactList}\small\item\em Gets the IP address of a cleint that has connected. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__Con__Client__Group_gccf37688bb1ecbedc8791b5b43c1595c}{ecore\_\-con\_\-client\_\-flush} (\hyperlink{Ecore__Con_8h_a7126b0163113e6f3f18d9bda2dda423}{Ecore\_\-Con\_\-Client} $\ast$cl)
+\begin{CompactList}\small\item\em Flushes all pending data to the given client. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Con__Client__Group_ga5d2328b414bd5ffb01466b853c45709}{ecore\_\-con\_\-ssl\_\-available\_\-get} (void)
+\begin{CompactList}\small\item\em Returns if SSL support is available. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Con__Client__Group_gad8e029c00a1a4a6097f5ff17dec3c2e}{ecore\_\-ipc\_\-ssl\_\-available\_\-get} (void)
+\begin{CompactList}\small\item\em Returns if SSL support is available. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Functions that operate on Ecore connection client objects. 
+
+
+
+\subsection{Function Documentation}
+\hypertarget{group__Ecore__Con__Client__Group_ge0ee35b9dcbd7e654504baffe4070488}{
+\index{Ecore_Con_Client_Group@{Ecore\_\-Con\_\-Client\_\-Group}!ecore_con_client_data_get@{ecore\_\-con\_\-client\_\-data\_\-get}}
+\index{ecore_con_client_data_get@{ecore\_\-con\_\-client\_\-data\_\-get}!Ecore_Con_Client_Group@{Ecore\_\-Con\_\-Client\_\-Group}}
+\subsubsection[ecore\_\-con\_\-client\_\-data\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI void$\ast$ ecore\_\-con\_\-client\_\-data\_\-get (\hyperlink{Ecore__Con_8h_a7126b0163113e6f3f18d9bda2dda423}{Ecore\_\-Con\_\-Client} $\ast$ {\em cl})}}
+\label{group__Ecore__Con__Client__Group_ge0ee35b9dcbd7e654504baffe4070488}
+
+
+Retrieves the data associated with the given client. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em cl}]The given client. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The data associated with {\tt cl}. \end{Desc}
+\hypertarget{group__Ecore__Con__Client__Group_g0c81c3b201d7fa6d48b6f5e99a651edc}{
+\index{Ecore_Con_Client_Group@{Ecore\_\-Con\_\-Client\_\-Group}!ecore_con_client_data_set@{ecore\_\-con\_\-client\_\-data\_\-set}}
+\index{ecore_con_client_data_set@{ecore\_\-con\_\-client\_\-data\_\-set}!Ecore_Con_Client_Group@{Ecore\_\-Con\_\-Client\_\-Group}}
+\subsubsection[ecore\_\-con\_\-client\_\-data\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-con\_\-client\_\-data\_\-set (\hyperlink{Ecore__Con_8h_a7126b0163113e6f3f18d9bda2dda423}{Ecore\_\-Con\_\-Client} $\ast$ {\em cl}, const void $\ast$ {\em data})}}
+\label{group__Ecore__Con__Client__Group_g0c81c3b201d7fa6d48b6f5e99a651edc}
+
+
+Sets the data associated with the given client to {\tt data}. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em cl}]The given client. \item[{\em data}]What to set the data to. \end{description}
+\end{Desc}
+\hypertarget{group__Ecore__Con__Client__Group_g6ceed1117e823d3d3dc0d9a2df825464}{
+\index{Ecore_Con_Client_Group@{Ecore\_\-Con\_\-Client\_\-Group}!ecore_con_client_del@{ecore\_\-con\_\-client\_\-del}}
+\index{ecore_con_client_del@{ecore\_\-con\_\-client\_\-del}!Ecore_Con_Client_Group@{Ecore\_\-Con\_\-Client\_\-Group}}
+\subsubsection[ecore\_\-con\_\-client\_\-del]{\setlength{\rightskip}{0pt plus 5cm}EAPI void$\ast$ ecore\_\-con\_\-client\_\-del (\hyperlink{Ecore__Con_8h_a7126b0163113e6f3f18d9bda2dda423}{Ecore\_\-Con\_\-Client} $\ast$ {\em cl})}}
+\label{group__Ecore__Con__Client__Group_g6ceed1117e823d3d3dc0d9a2df825464}
+
+
+Closes the connection and frees memory allocated to the given client. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em cl}]The given client. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]Data associated with the client. \end{Desc}
+\hypertarget{group__Ecore__Con__Client__Group_gccf37688bb1ecbedc8791b5b43c1595c}{
+\index{Ecore_Con_Client_Group@{Ecore\_\-Con\_\-Client\_\-Group}!ecore_con_client_flush@{ecore\_\-con\_\-client\_\-flush}}
+\index{ecore_con_client_flush@{ecore\_\-con\_\-client\_\-flush}!Ecore_Con_Client_Group@{Ecore\_\-Con\_\-Client\_\-Group}}
+\subsubsection[ecore\_\-con\_\-client\_\-flush]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-con\_\-client\_\-flush (\hyperlink{Ecore__Con_8h_a7126b0163113e6f3f18d9bda2dda423}{Ecore\_\-Con\_\-Client} $\ast$ {\em cl})}}
+\label{group__Ecore__Con__Client__Group_gccf37688bb1ecbedc8791b5b43c1595c}
+
+
+Flushes all pending data to the given client. 
+
+Will return when done.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em cl}]The given client. \end{description}
+\end{Desc}
+\hypertarget{group__Ecore__Con__Client__Group_g18cb123f1d62299bdfc739b2d1124e14}{
+\index{Ecore_Con_Client_Group@{Ecore\_\-Con\_\-Client\_\-Group}!ecore_con_client_ip_get@{ecore\_\-con\_\-client\_\-ip\_\-get}}
+\index{ecore_con_client_ip_get@{ecore\_\-con\_\-client\_\-ip\_\-get}!Ecore_Con_Client_Group@{Ecore\_\-Con\_\-Client\_\-Group}}
+\subsubsection[ecore\_\-con\_\-client\_\-ip\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI char$\ast$ ecore\_\-con\_\-client\_\-ip\_\-get (\hyperlink{Ecore__Con_8h_a7126b0163113e6f3f18d9bda2dda423}{Ecore\_\-Con\_\-Client} $\ast$ {\em cl})}}
+\label{group__Ecore__Con__Client__Group_g18cb123f1d62299bdfc739b2d1124e14}
+
+
+Gets the IP address of a cleint that has connected. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em cl}]The given client. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]A pointer to an internal string that contains the IP address of the connected client in the form \char`\"{}XXX.YYY.ZZZ.AAA\char`\"{} IP notation. This string should not be modified or trusted to stay valid after deletion for the {\tt cl} object. If no IP is known NULL is returned. \end{Desc}
+\hypertarget{group__Ecore__Con__Client__Group_gee84bc7c9239050e9b89a393bfc17dd7}{
+\index{Ecore_Con_Client_Group@{Ecore\_\-Con\_\-Client\_\-Group}!ecore_con_client_send@{ecore\_\-con\_\-client\_\-send}}
+\index{ecore_con_client_send@{ecore\_\-con\_\-client\_\-send}!Ecore_Con_Client_Group@{Ecore\_\-Con\_\-Client\_\-Group}}
+\subsubsection[ecore\_\-con\_\-client\_\-send]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-con\_\-client\_\-send (\hyperlink{Ecore__Con_8h_a7126b0163113e6f3f18d9bda2dda423}{Ecore\_\-Con\_\-Client} $\ast$ {\em cl}, void $\ast$ {\em data}, int {\em size})}}
+\label{group__Ecore__Con__Client__Group_gee84bc7c9239050e9b89a393bfc17dd7}
+
+
+Sends the given data to the given client. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em cl}]The given client. \item[{\em data}]The given data. \item[{\em size}]Length of the data, in bytes, to send. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The number of bytes sent. {\tt 0} will be returned if there is an error. \end{Desc}
+\hypertarget{group__Ecore__Con__Client__Group_g5d19742ffbfeb987c57d8a4093cce7e6}{
+\index{Ecore_Con_Client_Group@{Ecore\_\-Con\_\-Client\_\-Group}!ecore_con_client_server_get@{ecore\_\-con\_\-client\_\-server\_\-get}}
+\index{ecore_con_client_server_get@{ecore\_\-con\_\-client\_\-server\_\-get}!Ecore_Con_Client_Group@{Ecore\_\-Con\_\-Client\_\-Group}}
+\subsubsection[ecore\_\-con\_\-client\_\-server\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI \hyperlink{Ecore__Con_8h_8254d59597add481f0e2471a845f4231}{Ecore\_\-Con\_\-Server}$\ast$ ecore\_\-con\_\-client\_\-server\_\-get (\hyperlink{Ecore__Con_8h_a7126b0163113e6f3f18d9bda2dda423}{Ecore\_\-Con\_\-Client} $\ast$ {\em cl})}}
+\label{group__Ecore__Con__Client__Group_g5d19742ffbfeb987c57d8a4093cce7e6}
+
+
+Retrieves the server representing the socket the client has connected to. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em cl}]The given client. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The server that the client connected to. \end{Desc}
+\hypertarget{group__Ecore__Con__Client__Group_ga5d2328b414bd5ffb01466b853c45709}{
+\index{Ecore_Con_Client_Group@{Ecore\_\-Con\_\-Client\_\-Group}!ecore_con_ssl_available_get@{ecore\_\-con\_\-ssl\_\-available\_\-get}}
+\index{ecore_con_ssl_available_get@{ecore\_\-con\_\-ssl\_\-available\_\-get}!Ecore_Con_Client_Group@{Ecore\_\-Con\_\-Client\_\-Group}}
+\subsubsection[ecore\_\-con\_\-ssl\_\-available\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-con\_\-ssl\_\-available\_\-get (void)}}
+\label{group__Ecore__Con__Client__Group_ga5d2328b414bd5ffb01466b853c45709}
+
+
+Returns if SSL support is available. 
+
+\begin{Desc}
+\item[Returns:]1 if SSL is available, 0 if it is not. \end{Desc}
+\hypertarget{group__Ecore__Con__Client__Group_gad8e029c00a1a4a6097f5ff17dec3c2e}{
+\index{Ecore_Con_Client_Group@{Ecore\_\-Con\_\-Client\_\-Group}!ecore_ipc_ssl_available_get@{ecore\_\-ipc\_\-ssl\_\-available\_\-get}}
+\index{ecore_ipc_ssl_available_get@{ecore\_\-ipc\_\-ssl\_\-available\_\-get}!Ecore_Con_Client_Group@{Ecore\_\-Con\_\-Client\_\-Group}}
+\subsubsection[ecore\_\-ipc\_\-ssl\_\-available\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-ipc\_\-ssl\_\-available\_\-get (void)}}
+\label{group__Ecore__Con__Client__Group_gad8e029c00a1a4a6097f5ff17dec3c2e}
+
+
+Returns if SSL support is available. 
+
+\begin{Desc}
+\item[Returns:]1 if SSL is available, 0 if it is not. \end{Desc}
diff --git a/doc/latex/group__Ecore__Con__Lib__Group.tex b/doc/latex/group__Ecore__Con__Lib__Group.tex
new file mode 100644
index 0000000..ce694d0
--- /dev/null
+++ b/doc/latex/group__Ecore__Con__Lib__Group.tex
@@ -0,0 +1,42 @@
+\hypertarget{group__Ecore__Con__Lib__Group}{
+\section{Ecore Connection Library Functions}
+\label{group__Ecore__Con__Lib__Group}\index{Ecore Connection Library Functions@{Ecore Connection Library Functions}}
+}
+Utility functions that set up and shut down the Ecore Connection library.  
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+EAPI int \hyperlink{group__Ecore__Con__Lib__Group_gcf5ecf42c516bb9c8b6759721e9559bd}{ecore\_\-con\_\-init} (void)
+\begin{CompactList}\small\item\em Initialises the Ecore\_\-Con library. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Con__Lib__Group_gccfd8dd2a1187b71339b5cc39dc83938}{ecore\_\-con\_\-shutdown} (void)
+\begin{CompactList}\small\item\em Shuts down the Ecore\_\-Con library. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Utility functions that set up and shut down the Ecore Connection library. 
+
+
+
+\subsection{Function Documentation}
+\hypertarget{group__Ecore__Con__Lib__Group_gcf5ecf42c516bb9c8b6759721e9559bd}{
+\index{Ecore_Con_Lib_Group@{Ecore\_\-Con\_\-Lib\_\-Group}!ecore_con_init@{ecore\_\-con\_\-init}}
+\index{ecore_con_init@{ecore\_\-con\_\-init}!Ecore_Con_Lib_Group@{Ecore\_\-Con\_\-Lib\_\-Group}}
+\subsubsection[ecore\_\-con\_\-init]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-con\_\-init (void)}}
+\label{group__Ecore__Con__Lib__Group_gcf5ecf42c516bb9c8b6759721e9559bd}
+
+
+Initialises the Ecore\_\-Con library. 
+
+\begin{Desc}
+\item[Returns:]Number of times the library has been initialised without being shut down. \end{Desc}
+\hypertarget{group__Ecore__Con__Lib__Group_gccfd8dd2a1187b71339b5cc39dc83938}{
+\index{Ecore_Con_Lib_Group@{Ecore\_\-Con\_\-Lib\_\-Group}!ecore_con_shutdown@{ecore\_\-con\_\-shutdown}}
+\index{ecore_con_shutdown@{ecore\_\-con\_\-shutdown}!Ecore_Con_Lib_Group@{Ecore\_\-Con\_\-Lib\_\-Group}}
+\subsubsection[ecore\_\-con\_\-shutdown]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-con\_\-shutdown (void)}}
+\label{group__Ecore__Con__Lib__Group_gccfd8dd2a1187b71339b5cc39dc83938}
+
+
+Shuts down the Ecore\_\-Con library. 
+
+\begin{Desc}
+\item[Returns:]Number of times the library has been initialised without being shut down. \end{Desc}
diff --git a/doc/latex/group__Ecore__Con__Server__Group.tex b/doc/latex/group__Ecore__Con__Server__Group.tex
new file mode 100644
index 0000000..34d35dc
--- /dev/null
+++ b/doc/latex/group__Ecore__Con__Server__Group.tex
@@ -0,0 +1,200 @@
+\hypertarget{group__Ecore__Con__Server__Group}{
+\section{Ecore Connection Server Functions}
+\label{group__Ecore__Con__Server__Group}\index{Ecore Connection Server Functions@{Ecore Connection Server Functions}}
+}
+Functions that operate on Ecore server objects.  
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+EAPI \hyperlink{Ecore__Con_8h_8254d59597add481f0e2471a845f4231}{Ecore\_\-Con\_\-Server} $\ast$ \hyperlink{group__Ecore__Con__Server__Group_gce4c9656c7bd6eef0d29621d6dd75dee}{ecore\_\-con\_\-server\_\-add} (Ecore\_\-Con\_\-Type compl\_\-type, const char $\ast$name, int port, const void $\ast$data)
+\begin{CompactList}\small\item\em Creates a server to listen for connections. \item\end{CompactList}\item 
+EAPI \hyperlink{Ecore__Con_8h_8254d59597add481f0e2471a845f4231}{Ecore\_\-Con\_\-Server} $\ast$ \hyperlink{group__Ecore__Con__Server__Group_g2cd832b9d0e592559ac13de24634b316}{ecore\_\-con\_\-server\_\-connect} (Ecore\_\-Con\_\-Type compl\_\-type, const char $\ast$name, int port, const void $\ast$data)
+\begin{CompactList}\small\item\em Creates a server object to represent the server listening at the given port. \item\end{CompactList}\item 
+EAPI void $\ast$ \hyperlink{group__Ecore__Con__Server__Group_gdee2f338f3f815a8cbec0288d21918f6}{ecore\_\-con\_\-server\_\-del} (\hyperlink{Ecore__Con_8h_8254d59597add481f0e2471a845f4231}{Ecore\_\-Con\_\-Server} $\ast$svr)
+\begin{CompactList}\small\item\em Closes the connection and frees the given server. \item\end{CompactList}\item 
+EAPI void $\ast$ \hyperlink{group__Ecore__Con__Server__Group_ge7a9fe5aeb2cfa880c7d5098010d1291}{ecore\_\-con\_\-server\_\-data\_\-get} (\hyperlink{Ecore__Con_8h_8254d59597add481f0e2471a845f4231}{Ecore\_\-Con\_\-Server} $\ast$svr)
+\begin{CompactList}\small\item\em Retrieves the data associated with the given server. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Con__Server__Group_g497d30961f7b9e8e5547ef674564efca}{ecore\_\-con\_\-server\_\-connected\_\-get} (\hyperlink{Ecore__Con_8h_8254d59597add481f0e2471a845f4231}{Ecore\_\-Con\_\-Server} $\ast$svr)
+\begin{CompactList}\small\item\em Retrieves whether the given server is currently connected. \item\end{CompactList}\item 
+EAPI Ecore\_\-List $\ast$ \hyperlink{group__Ecore__Con__Server__Group_ga7a54f1b8537c05aae69dae7d3a2e5ff}{ecore\_\-con\_\-server\_\-clients\_\-get} (\hyperlink{Ecore__Con_8h_8254d59597add481f0e2471a845f4231}{Ecore\_\-Con\_\-Server} $\ast$svr)
+\begin{CompactList}\small\item\em Retrieves the current list of clients. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Con__Server__Group_gdf16abc2d4fc16a8b65709eab2cd8337}{ecore\_\-con\_\-server\_\-send} (\hyperlink{Ecore__Con_8h_8254d59597add481f0e2471a845f4231}{Ecore\_\-Con\_\-Server} $\ast$svr, const void $\ast$data, int size)
+\begin{CompactList}\small\item\em Sends the given data to the given server. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__Con__Server__Group_gbaef36c991be8922766611c75372ced4}{ecore\_\-con\_\-server\_\-client\_\-limit\_\-set} (\hyperlink{Ecore__Con_8h_8254d59597add481f0e2471a845f4231}{Ecore\_\-Con\_\-Server} $\ast$svr, int client\_\-limit, char reject\_\-excess\_\-clients)
+\begin{CompactList}\small\item\em Sets a limit on the number of clients that can be handled concurrently by the given server, and a policy on what to do if excess clients try to connect. \item\end{CompactList}\item 
+EAPI char $\ast$ \hyperlink{group__Ecore__Con__Server__Group_gf6d19b6e9dcd751e9a575400f5713b08}{ecore\_\-con\_\-server\_\-ip\_\-get} (\hyperlink{Ecore__Con_8h_8254d59597add481f0e2471a845f4231}{Ecore\_\-Con\_\-Server} $\ast$svr)
+\begin{CompactList}\small\item\em Gets the IP address of a server that has been connected to. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__Con__Server__Group_g3ddb6c88484b59a1f5a5bacb8b6e60fe}{ecore\_\-con\_\-server\_\-flush} (\hyperlink{Ecore__Con_8h_8254d59597add481f0e2471a845f4231}{Ecore\_\-Con\_\-Server} $\ast$svr)
+\begin{CompactList}\small\item\em Flushes all pending data to the given server. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Functions that operate on Ecore server objects. 
+
+
+
+\subsection{Function Documentation}
+\hypertarget{group__Ecore__Con__Server__Group_gce4c9656c7bd6eef0d29621d6dd75dee}{
+\index{Ecore_Con_Server_Group@{Ecore\_\-Con\_\-Server\_\-Group}!ecore_con_server_add@{ecore\_\-con\_\-server\_\-add}}
+\index{ecore_con_server_add@{ecore\_\-con\_\-server\_\-add}!Ecore_Con_Server_Group@{Ecore\_\-Con\_\-Server\_\-Group}}
+\subsubsection[ecore\_\-con\_\-server\_\-add]{\setlength{\rightskip}{0pt plus 5cm}EAPI \hyperlink{Ecore__Con_8h_8254d59597add481f0e2471a845f4231}{Ecore\_\-Con\_\-Server}$\ast$ ecore\_\-con\_\-server\_\-add (Ecore\_\-Con\_\-Type {\em compl\_\-type}, const char $\ast$ {\em name}, int {\em port}, const void $\ast$ {\em data})}}
+\label{group__Ecore__Con__Server__Group_gce4c9656c7bd6eef0d29621d6dd75dee}
+
+
+Creates a server to listen for connections. 
+
+The socket on which the server listens depends on the connection type: \begin{itemize}
+\item If {\em compl\_\-type\/} is {\tt ECORE\_\-CON\_\-LOCAL\_\-USER}, the server will listen on the Unix socket \char`\"{}$\sim$/.ecore/\mbox{[}name\mbox{]}/\mbox{[}port\mbox{]}\char`\"{}. \item If {\em compl\_\-type\/} is {\tt ECORE\_\-CON\_\-LOCAL\_\-SYSTEM}, the server will listen on Unix socket \char`\"{}/tmp/.ecore\_\-service$|$\mbox{[}name\mbox{]}$|$\mbox{[}port\mbox{]}\char`\"{}. \item If {\em compl\_\-type\/} is {\tt ECORE\_\-CON\_\-REMOTE\_\-SYSTEM}, the server will listen on TCP port {\tt port}.\end{itemize}
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em compl\_\-type}]The connection type. \item[{\em name}]Name to associate with the socket. It is used when generating the socket name of a Unix socket. Though it is not used for the TCP socket, it still needs to be a valid character array. {\tt NULL} will not be accepted. \item[{\em port}]Number to identify socket. When a Unix socket is used, it becomes part of the socket name. When a TCP socket is used, it is used as the TCP port. \item[{\em data}]Data to associate with the created Ecore\_\-Con\_\-Server object. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]A new Ecore\_\-Con\_\-Server. \end{Desc}
+\hypertarget{group__Ecore__Con__Server__Group_gbaef36c991be8922766611c75372ced4}{
+\index{Ecore_Con_Server_Group@{Ecore\_\-Con\_\-Server\_\-Group}!ecore_con_server_client_limit_set@{ecore\_\-con\_\-server\_\-client\_\-limit\_\-set}}
+\index{ecore_con_server_client_limit_set@{ecore\_\-con\_\-server\_\-client\_\-limit\_\-set}!Ecore_Con_Server_Group@{Ecore\_\-Con\_\-Server\_\-Group}}
+\subsubsection[ecore\_\-con\_\-server\_\-client\_\-limit\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-con\_\-server\_\-client\_\-limit\_\-set (\hyperlink{Ecore__Con_8h_8254d59597add481f0e2471a845f4231}{Ecore\_\-Con\_\-Server} $\ast$ {\em svr}, int {\em client\_\-limit}, char {\em reject\_\-excess\_\-clients})}}
+\label{group__Ecore__Con__Server__Group_gbaef36c991be8922766611c75372ced4}
+
+
+Sets a limit on the number of clients that can be handled concurrently by the given server, and a policy on what to do if excess clients try to connect. 
+
+Beware that if you set this once ecore is already running, you may already have pending CLIENT\_\-ADD events in your event queue. Those clients have already connected and will not be affected by this call. Only clients subsequently trying to connect will be affected. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em svr}]The given server. \item[{\em client\_\-limit}]The maximum number of clients to handle concurrently. -1 means unlimited (default). 0 effectively disables the server. \item[{\em reject\_\-excess\_\-clients}]Set to 1 to automatically disconnect excess clients as soon as they connect if you are already handling client\_\-limit clients. Set to 0 (default) to just hold off on the \char`\"{}accept()\char`\"{} system call until the number of active clients drops. This causes the kernel to queue up to 4096 connections (or your kernel's limit, whichever is lower). \end{description}
+\end{Desc}
+\hypertarget{group__Ecore__Con__Server__Group_ga7a54f1b8537c05aae69dae7d3a2e5ff}{
+\index{Ecore_Con_Server_Group@{Ecore\_\-Con\_\-Server\_\-Group}!ecore_con_server_clients_get@{ecore\_\-con\_\-server\_\-clients\_\-get}}
+\index{ecore_con_server_clients_get@{ecore\_\-con\_\-server\_\-clients\_\-get}!Ecore_Con_Server_Group@{Ecore\_\-Con\_\-Server\_\-Group}}
+\subsubsection[ecore\_\-con\_\-server\_\-clients\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI Ecore\_\-List$\ast$ ecore\_\-con\_\-server\_\-clients\_\-get (\hyperlink{Ecore__Con_8h_8254d59597add481f0e2471a845f4231}{Ecore\_\-Con\_\-Server} $\ast$ {\em svr})}}
+\label{group__Ecore__Con__Server__Group_ga7a54f1b8537c05aae69dae7d3a2e5ff}
+
+
+Retrieves the current list of clients. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em svr}]The given server. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The list of clients on this server. \end{Desc}
+\hypertarget{group__Ecore__Con__Server__Group_g2cd832b9d0e592559ac13de24634b316}{
+\index{Ecore_Con_Server_Group@{Ecore\_\-Con\_\-Server\_\-Group}!ecore_con_server_connect@{ecore\_\-con\_\-server\_\-connect}}
+\index{ecore_con_server_connect@{ecore\_\-con\_\-server\_\-connect}!Ecore_Con_Server_Group@{Ecore\_\-Con\_\-Server\_\-Group}}
+\subsubsection[ecore\_\-con\_\-server\_\-connect]{\setlength{\rightskip}{0pt plus 5cm}EAPI \hyperlink{Ecore__Con_8h_8254d59597add481f0e2471a845f4231}{Ecore\_\-Con\_\-Server}$\ast$ ecore\_\-con\_\-server\_\-connect (Ecore\_\-Con\_\-Type {\em compl\_\-type}, const char $\ast$ {\em name}, int {\em port}, const void $\ast$ {\em data})}}
+\label{group__Ecore__Con__Server__Group_g2cd832b9d0e592559ac13de24634b316}
+
+
+Creates a server object to represent the server listening at the given port. 
+
+The socket to which the server connects depends on the connection type: \begin{itemize}
+\item If {\em compl\_\-type\/} is {\tt ECORE\_\-CON\_\-LOCAL\_\-USER}, the function will connect to the server listening on the Unix socket \char`\"{}$\sim$/.ecore/\mbox{[}name\mbox{]}/\mbox{[}port\mbox{]}\char`\"{}. \item If {\em compl\_\-type\/} is {\tt ECORE\_\-CON\_\-LOCAL\_\-SYSTEM}, the function will connect to the server listening on the Unix socket \char`\"{}/tmp/.ecore\_\-service$|$\mbox{[}name\mbox{]}$|$\mbox{[}port\mbox{]}\char`\"{}. \item If {\em compl\_\-type\/} is {\tt ECORE\_\-CON\_\-REMOTE\_\-SYSTEM}, the function will connect to the server listening on the TCP port \char`\"{}\mbox{[}name\mbox{]}:\mbox{[}port\mbox{]}\char`\"{}.\end{itemize}
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em compl\_\-type}]The connection type. \item[{\em name}]Name used when determining what socket to connect to. It is used to generate the socket name when the socket is a Unix socket. It is used as the hostname when connecting with a TCP socket. \item[{\em port}]Number to identify the socket to connect to. Used when generating the socket name for a Unix socket, or as the TCP port when connecting to a TCP socket. \item[{\em data}]Data to associate with the created Ecore\_\-Con\_\-Server object. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]A new Ecore\_\-Con\_\-Server. \end{Desc}
+\hypertarget{group__Ecore__Con__Server__Group_g497d30961f7b9e8e5547ef674564efca}{
+\index{Ecore_Con_Server_Group@{Ecore\_\-Con\_\-Server\_\-Group}!ecore_con_server_connected_get@{ecore\_\-con\_\-server\_\-connected\_\-get}}
+\index{ecore_con_server_connected_get@{ecore\_\-con\_\-server\_\-connected\_\-get}!Ecore_Con_Server_Group@{Ecore\_\-Con\_\-Server\_\-Group}}
+\subsubsection[ecore\_\-con\_\-server\_\-connected\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-con\_\-server\_\-connected\_\-get (\hyperlink{Ecore__Con_8h_8254d59597add481f0e2471a845f4231}{Ecore\_\-Con\_\-Server} $\ast$ {\em svr})}}
+\label{group__Ecore__Con__Server__Group_g497d30961f7b9e8e5547ef674564efca}
+
+
+Retrieves whether the given server is currently connected. 
+
+\begin{Desc}
+\item[\hyperlink{todo__todo000004}{Todo}]Check that this function does what the documenter believes it does. \end{Desc}
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em svr}]The given server. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]{\tt 1} if the server is connected. {\tt 0} otherwise. \end{Desc}
+\hypertarget{group__Ecore__Con__Server__Group_ge7a9fe5aeb2cfa880c7d5098010d1291}{
+\index{Ecore_Con_Server_Group@{Ecore\_\-Con\_\-Server\_\-Group}!ecore_con_server_data_get@{ecore\_\-con\_\-server\_\-data\_\-get}}
+\index{ecore_con_server_data_get@{ecore\_\-con\_\-server\_\-data\_\-get}!Ecore_Con_Server_Group@{Ecore\_\-Con\_\-Server\_\-Group}}
+\subsubsection[ecore\_\-con\_\-server\_\-data\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI void$\ast$ ecore\_\-con\_\-server\_\-data\_\-get (\hyperlink{Ecore__Con_8h_8254d59597add481f0e2471a845f4231}{Ecore\_\-Con\_\-Server} $\ast$ {\em svr})}}
+\label{group__Ecore__Con__Server__Group_ge7a9fe5aeb2cfa880c7d5098010d1291}
+
+
+Retrieves the data associated with the given server. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em svr}]The given server. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The associated data. \end{Desc}
+\hypertarget{group__Ecore__Con__Server__Group_gdee2f338f3f815a8cbec0288d21918f6}{
+\index{Ecore_Con_Server_Group@{Ecore\_\-Con\_\-Server\_\-Group}!ecore_con_server_del@{ecore\_\-con\_\-server\_\-del}}
+\index{ecore_con_server_del@{ecore\_\-con\_\-server\_\-del}!Ecore_Con_Server_Group@{Ecore\_\-Con\_\-Server\_\-Group}}
+\subsubsection[ecore\_\-con\_\-server\_\-del]{\setlength{\rightskip}{0pt plus 5cm}EAPI void$\ast$ ecore\_\-con\_\-server\_\-del (\hyperlink{Ecore__Con_8h_8254d59597add481f0e2471a845f4231}{Ecore\_\-Con\_\-Server} $\ast$ {\em svr})}}
+\label{group__Ecore__Con__Server__Group_gdee2f338f3f815a8cbec0288d21918f6}
+
+
+Closes the connection and frees the given server. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em svr}]The given server. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]Data associated with the server when it was created. \end{Desc}
+\hypertarget{group__Ecore__Con__Server__Group_g3ddb6c88484b59a1f5a5bacb8b6e60fe}{
+\index{Ecore_Con_Server_Group@{Ecore\_\-Con\_\-Server\_\-Group}!ecore_con_server_flush@{ecore\_\-con\_\-server\_\-flush}}
+\index{ecore_con_server_flush@{ecore\_\-con\_\-server\_\-flush}!Ecore_Con_Server_Group@{Ecore\_\-Con\_\-Server\_\-Group}}
+\subsubsection[ecore\_\-con\_\-server\_\-flush]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-con\_\-server\_\-flush (\hyperlink{Ecore__Con_8h_8254d59597add481f0e2471a845f4231}{Ecore\_\-Con\_\-Server} $\ast$ {\em svr})}}
+\label{group__Ecore__Con__Server__Group_g3ddb6c88484b59a1f5a5bacb8b6e60fe}
+
+
+Flushes all pending data to the given server. 
+
+Will return when done.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em svr}]The given server. \end{description}
+\end{Desc}
+\hypertarget{group__Ecore__Con__Server__Group_gf6d19b6e9dcd751e9a575400f5713b08}{
+\index{Ecore_Con_Server_Group@{Ecore\_\-Con\_\-Server\_\-Group}!ecore_con_server_ip_get@{ecore\_\-con\_\-server\_\-ip\_\-get}}
+\index{ecore_con_server_ip_get@{ecore\_\-con\_\-server\_\-ip\_\-get}!Ecore_Con_Server_Group@{Ecore\_\-Con\_\-Server\_\-Group}}
+\subsubsection[ecore\_\-con\_\-server\_\-ip\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI char$\ast$ ecore\_\-con\_\-server\_\-ip\_\-get (\hyperlink{Ecore__Con_8h_8254d59597add481f0e2471a845f4231}{Ecore\_\-Con\_\-Server} $\ast$ {\em svr})}}
+\label{group__Ecore__Con__Server__Group_gf6d19b6e9dcd751e9a575400f5713b08}
+
+
+Gets the IP address of a server that has been connected to. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em svr}]The given server. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]A pointer to an internal string that contains the IP address of the connected server in the form \char`\"{}XXX.YYY.ZZZ.AAA\char`\"{} IP notation. This string should not be modified or trusted to stay valid after deletion for the {\tt svr} object. If no IP is known NULL is returned. \end{Desc}
+\hypertarget{group__Ecore__Con__Server__Group_gdf16abc2d4fc16a8b65709eab2cd8337}{
+\index{Ecore_Con_Server_Group@{Ecore\_\-Con\_\-Server\_\-Group}!ecore_con_server_send@{ecore\_\-con\_\-server\_\-send}}
+\index{ecore_con_server_send@{ecore\_\-con\_\-server\_\-send}!Ecore_Con_Server_Group@{Ecore\_\-Con\_\-Server\_\-Group}}
+\subsubsection[ecore\_\-con\_\-server\_\-send]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-con\_\-server\_\-send (\hyperlink{Ecore__Con_8h_8254d59597add481f0e2471a845f4231}{Ecore\_\-Con\_\-Server} $\ast$ {\em svr}, const void $\ast$ {\em data}, int {\em size})}}
+\label{group__Ecore__Con__Server__Group_gdf16abc2d4fc16a8b65709eab2cd8337}
+
+
+Sends the given data to the given server. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em svr}]The given server. \item[{\em data}]The given data. \item[{\em size}]Length of the data, in bytes, to send. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The number of bytes sent. {\tt 0} will be returned if there is an error. \end{Desc}
diff --git a/doc/latex/group__Ecore__Config__App__Lib__Group.tex b/doc/latex/group__Ecore__Config__App__Lib__Group.tex
new file mode 100644
index 0000000..91714c6
--- /dev/null
+++ b/doc/latex/group__Ecore__Config__App__Lib__Group.tex
@@ -0,0 +1,49 @@
+\hypertarget{group__Ecore__Config__App__Lib__Group}{
+\section{Ecore Config App Library Functions}
+\label{group__Ecore__Config__App__Lib__Group}\index{Ecore Config App Library Functions@{Ecore Config App Library Functions}}
+}
+Functions that are used to start up and shutdown the Enlightened Property Library when used directly by an application.  
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+EAPI int \hyperlink{group__Ecore__Config__App__Lib__Group_gfdc677e43c328248e10e08d0599c274e}{ecore\_\-config\_\-init} (const char $\ast$name)
+\begin{CompactList}\small\item\em Initializes the Enlightened Property Library. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Config__App__Lib__Group_g4b20caf672ca445f8d21a7b09b666d70}{ecore\_\-config\_\-shutdown} (void)
+\begin{CompactList}\small\item\em Frees memory and shuts down the library for an application. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Functions that are used to start up and shutdown the Enlightened Property Library when used directly by an application. 
+
+
+
+\subsection{Function Documentation}
+\hypertarget{group__Ecore__Config__App__Lib__Group_gfdc677e43c328248e10e08d0599c274e}{
+\index{Ecore_Config_App_Lib_Group@{Ecore\_\-Config\_\-App\_\-Lib\_\-Group}!ecore_config_init@{ecore\_\-config\_\-init}}
+\index{ecore_config_init@{ecore\_\-config\_\-init}!Ecore_Config_App_Lib_Group@{Ecore\_\-Config\_\-App\_\-Lib\_\-Group}}
+\subsubsection[ecore\_\-config\_\-init]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-config\_\-init (const char $\ast$ {\em name})}}
+\label{group__Ecore__Config__App__Lib__Group_gfdc677e43c328248e10e08d0599c274e}
+
+
+Initializes the Enlightened Property Library. 
+
+Either this function or \hyperlink{group__Ecore__Config__Lib__Lib__Group_g3cb9d5fd7d8b2693d36ca96173f74d4c}{ecore\_\-config\_\-system\_\-init} must be run before any other function in the Enlightened Property Library, even if you have run \hyperlink{Ecore_8h_8af98881ecd1d24072b4fabf216754c4}{ecore\_\-init} . The name given is used to determine the default configuration to load.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em name}]Application name \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]{\tt ECORE\_\-CONFIG\_\-ERR\_\-SUCC} if the library is successfully set up. {\tt ECORE\_\-CONFIG\_\-ERR\_\-FAIL} otherwise. \end{Desc}
+\hypertarget{group__Ecore__Config__App__Lib__Group_g4b20caf672ca445f8d21a7b09b666d70}{
+\index{Ecore_Config_App_Lib_Group@{Ecore\_\-Config\_\-App\_\-Lib\_\-Group}!ecore_config_shutdown@{ecore\_\-config\_\-shutdown}}
+\index{ecore_config_shutdown@{ecore\_\-config\_\-shutdown}!Ecore_Config_App_Lib_Group@{Ecore\_\-Config\_\-App\_\-Lib\_\-Group}}
+\subsubsection[ecore\_\-config\_\-shutdown]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-config\_\-shutdown (void)}}
+\label{group__Ecore__Config__App__Lib__Group_g4b20caf672ca445f8d21a7b09b666d70}
+
+
+Frees memory and shuts down the library for an application. 
+
+\begin{Desc}
+\item[Returns:]{\tt ECORE\_\-CONFIG\_\-ERR\_\-IGNORED} . \end{Desc}
diff --git a/doc/latex/group__Ecore__Config__Create__Group.tex b/doc/latex/group__Ecore__Config__Create__Group.tex
new file mode 100644
index 0000000..eab84e8
--- /dev/null
+++ b/doc/latex/group__Ecore__Config__Create__Group.tex
@@ -0,0 +1,198 @@
+\hypertarget{group__Ecore__Config__Create__Group}{
+\section{Ecore Config Create Functions}
+\label{group__Ecore__Config__Create__Group}\index{Ecore Config Create Functions@{Ecore Config Create Functions}}
+}
+Convenience functions that set default values, bounds, option values and descriptions in one call.  
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+int \hyperlink{group__Ecore__Config__Create__Group_g14c277a6ad31dbcad672ab61dfa5e4d2}{ecore\_\-config\_\-create} (const char $\ast$key, void $\ast$val, char short\_\-opt, char $\ast$long\_\-opt, char $\ast$desc)
+\begin{CompactList}\small\item\em Creates a new property, if it does not already exist, and sets its attributes to those given. \item\end{CompactList}\item 
+int \hyperlink{group__Ecore__Config__Create__Group_g72458cbd9bc08ac67a489bedccc9729d}{ecore\_\-config\_\-typed\_\-create} (const char $\ast$key, void $\ast$val, int type, char short\_\-opt, char $\ast$long\_\-opt, char $\ast$desc)
+\begin{CompactList}\small\item\em Creates a new property, if it does not already exist, and sets its attributes to those given. \item\end{CompactList}\item 
+int \hyperlink{group__Ecore__Config__Create__Group_g3b0938305e64b0237f6e054f9d5f3d36}{ecore\_\-config\_\-boolean\_\-create} (const char $\ast$key, int val, char short\_\-opt, char $\ast$long\_\-opt, char $\ast$desc)
+\begin{CompactList}\small\item\em Creates a new boolean property, if it does not already exist, and sets its attributes to those given. \item\end{CompactList}\item 
+int \hyperlink{group__Ecore__Config__Create__Group_g18cc88e4f1448c1b6c59f1fb81006736}{ecore\_\-config\_\-int\_\-create} (const char $\ast$key, int val, char short\_\-opt, char $\ast$long\_\-opt, char $\ast$desc)
+\begin{CompactList}\small\item\em Creates a new integer property, if it does not already exist, and sets its attributes to those given. \item\end{CompactList}\item 
+int \hyperlink{group__Ecore__Config__Create__Group_g7eac241f83ce610c6da1e7b6f03120da}{ecore\_\-config\_\-int\_\-create\_\-bound} (const char $\ast$key, int val, int low, int high, int step, char short\_\-opt, char $\ast$long\_\-opt, char $\ast$desc)
+\begin{CompactList}\small\item\em Creates a new integer property, if it does not already exist, and sets its attributes to those given. \item\end{CompactList}\item 
+int \hyperlink{group__Ecore__Config__Create__Group_g90a2ffd15afc8781dbacdaef880054ed}{ecore\_\-config\_\-string\_\-create} (const char $\ast$key, char $\ast$val, char short\_\-opt, char $\ast$long\_\-opt, char $\ast$desc)
+\begin{CompactList}\small\item\em Creates a new string property, if it does not already exist, and sets its attributes to those given. \item\end{CompactList}\item 
+int \hyperlink{group__Ecore__Config__Create__Group_g6be6d9eba77ce43bb7a0c88a035696f8}{ecore\_\-config\_\-float\_\-create} (const char $\ast$key, float val, char short\_\-opt, char $\ast$long\_\-opt, char $\ast$desc)
+\begin{CompactList}\small\item\em Creates a new float property, if it does not already exist, and sets its attributes to those given. \item\end{CompactList}\item 
+int \hyperlink{group__Ecore__Config__Create__Group_g213c338d2b1db6ffe4ed3a5c656c8e74}{ecore\_\-config\_\-float\_\-create\_\-bound} (const char $\ast$key, float val, float low, float high, float step, char short\_\-opt, char $\ast$long\_\-opt, char $\ast$desc)
+\begin{CompactList}\small\item\em Creates a new float property, if it does not already exist, and sets its attributes to those given. \item\end{CompactList}\item 
+int \hyperlink{group__Ecore__Config__Create__Group_g982a19b90c5b9ba219ed9d6a0208c0f4}{ecore\_\-config\_\-argb\_\-create} (const char $\ast$key, char $\ast$val, char short\_\-opt, char $\ast$long\_\-opt, char $\ast$desc)
+\begin{CompactList}\small\item\em Creates a new color property, if it does not already exist, and sets its attributes to those given. \item\end{CompactList}\item 
+int \hyperlink{group__Ecore__Config__Create__Group_g121905447a18020e3e6c52ad6e41faa5}{ecore\_\-config\_\-theme\_\-create} (const char $\ast$key, char $\ast$val, char short\_\-opt, char $\ast$long\_\-opt, char $\ast$desc)
+\begin{CompactList}\small\item\em Creates a new theme property, if it does not already exist, and sets its attributes to those given. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Convenience functions that set default values, bounds, option values and descriptions in one call. 
+
+
+
+\subsection{Function Documentation}
+\hypertarget{group__Ecore__Config__Create__Group_g982a19b90c5b9ba219ed9d6a0208c0f4}{
+\index{Ecore_Config_Create_Group@{Ecore\_\-Config\_\-Create\_\-Group}!ecore_config_argb_create@{ecore\_\-config\_\-argb\_\-create}}
+\index{ecore_config_argb_create@{ecore\_\-config\_\-argb\_\-create}!Ecore_Config_Create_Group@{Ecore\_\-Config\_\-Create\_\-Group}}
+\subsubsection[ecore\_\-config\_\-argb\_\-create]{\setlength{\rightskip}{0pt plus 5cm}int ecore\_\-config\_\-argb\_\-create (const char $\ast$ {\em key}, char $\ast$ {\em val}, char {\em short\_\-opt}, char $\ast$ {\em long\_\-opt}, char $\ast$ {\em desc})}}
+\label{group__Ecore__Config__Create__Group_g982a19b90c5b9ba219ed9d6a0208c0f4}
+
+
+Creates a new color property, if it does not already exist, and sets its attributes to those given. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em key}]The property key. \item[{\em val}]Default color value of key, as a hexadecimal string. \item[{\em short\_\-opt}]Short option used to set the property from command line. \item[{\em long\_\-opt}]Long option used to set the property from command line. \item[{\em desc}]String description of property. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]{\tt ECORE\_\-CONFIG\_\-ERR\_\-SUCC} on success. \end{Desc}
+\hypertarget{group__Ecore__Config__Create__Group_g3b0938305e64b0237f6e054f9d5f3d36}{
+\index{Ecore_Config_Create_Group@{Ecore\_\-Config\_\-Create\_\-Group}!ecore_config_boolean_create@{ecore\_\-config\_\-boolean\_\-create}}
+\index{ecore_config_boolean_create@{ecore\_\-config\_\-boolean\_\-create}!Ecore_Config_Create_Group@{Ecore\_\-Config\_\-Create\_\-Group}}
+\subsubsection[ecore\_\-config\_\-boolean\_\-create]{\setlength{\rightskip}{0pt plus 5cm}int ecore\_\-config\_\-boolean\_\-create (const char $\ast$ {\em key}, int {\em val}, char {\em short\_\-opt}, char $\ast$ {\em long\_\-opt}, char $\ast$ {\em desc})}}
+\label{group__Ecore__Config__Create__Group_g3b0938305e64b0237f6e054f9d5f3d36}
+
+
+Creates a new boolean property, if it does not already exist, and sets its attributes to those given. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em key}]The property key. \item[{\em val}]Default boolean value of key. \item[{\em short\_\-opt}]Short option used to set the property from command line. \item[{\em long\_\-opt}]Long option used to set the property from command line. \item[{\em desc}]String description of property. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]{\tt ECORE\_\-CONFIG\_\-ERR\_\-SUCC} on success. \end{Desc}
+\hypertarget{group__Ecore__Config__Create__Group_g14c277a6ad31dbcad672ab61dfa5e4d2}{
+\index{Ecore_Config_Create_Group@{Ecore\_\-Config\_\-Create\_\-Group}!ecore_config_create@{ecore\_\-config\_\-create}}
+\index{ecore_config_create@{ecore\_\-config\_\-create}!Ecore_Config_Create_Group@{Ecore\_\-Config\_\-Create\_\-Group}}
+\subsubsection[ecore\_\-config\_\-create]{\setlength{\rightskip}{0pt plus 5cm}int ecore\_\-config\_\-create (const char $\ast$ {\em key}, void $\ast$ {\em val}, char {\em short\_\-opt}, char $\ast$ {\em long\_\-opt}, char $\ast$ {\em desc})}}
+\label{group__Ecore__Config__Create__Group_g14c277a6ad31dbcad672ab61dfa5e4d2}
+
+
+Creates a new property, if it does not already exist, and sets its attributes to those given. 
+
+The type of the property is guessed from the key and the value given.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em key}]The property key. \item[{\em val}]Pointer to default value of key. \item[{\em short\_\-opt}]Short option used to set the property from command line. \item[{\em long\_\-opt}]Long option used to set the property from command line. \item[{\em desc}]String description of property. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]{\tt ECORE\_\-CONFIG\_\-ERR\_\-SUCC} on success. \end{Desc}
+\hypertarget{group__Ecore__Config__Create__Group_g6be6d9eba77ce43bb7a0c88a035696f8}{
+\index{Ecore_Config_Create_Group@{Ecore\_\-Config\_\-Create\_\-Group}!ecore_config_float_create@{ecore\_\-config\_\-float\_\-create}}
+\index{ecore_config_float_create@{ecore\_\-config\_\-float\_\-create}!Ecore_Config_Create_Group@{Ecore\_\-Config\_\-Create\_\-Group}}
+\subsubsection[ecore\_\-config\_\-float\_\-create]{\setlength{\rightskip}{0pt plus 5cm}int ecore\_\-config\_\-float\_\-create (const char $\ast$ {\em key}, float {\em val}, char {\em short\_\-opt}, char $\ast$ {\em long\_\-opt}, char $\ast$ {\em desc})}}
+\label{group__Ecore__Config__Create__Group_g6be6d9eba77ce43bb7a0c88a035696f8}
+
+
+Creates a new float property, if it does not already exist, and sets its attributes to those given. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em key}]The property key. \item[{\em val}]Default float value of key. \item[{\em short\_\-opt}]Short option used to set the property from command line. \item[{\em long\_\-opt}]Long option used to set the property from command line. \item[{\em desc}]String description of property. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]{\tt ECORE\_\-CONFIG\_\-ERR\_\-SUCC} on success. \end{Desc}
+\hypertarget{group__Ecore__Config__Create__Group_g213c338d2b1db6ffe4ed3a5c656c8e74}{
+\index{Ecore_Config_Create_Group@{Ecore\_\-Config\_\-Create\_\-Group}!ecore_config_float_create_bound@{ecore\_\-config\_\-float\_\-create\_\-bound}}
+\index{ecore_config_float_create_bound@{ecore\_\-config\_\-float\_\-create\_\-bound}!Ecore_Config_Create_Group@{Ecore\_\-Config\_\-Create\_\-Group}}
+\subsubsection[ecore\_\-config\_\-float\_\-create\_\-bound]{\setlength{\rightskip}{0pt plus 5cm}int ecore\_\-config\_\-float\_\-create\_\-bound (const char $\ast$ {\em key}, float {\em val}, float {\em low}, float {\em high}, float {\em step}, char {\em short\_\-opt}, char $\ast$ {\em long\_\-opt}, char $\ast$ {\em desc})}}
+\label{group__Ecore__Config__Create__Group_g213c338d2b1db6ffe4ed3a5c656c8e74}
+
+
+Creates a new float property, if it does not already exist, and sets its attributes to those given. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em key}]The property key. \item[{\em val}]Default float value of key. \item[{\em low}]Lowest valid float value for the property. \item[{\em high}]Highest valid float value for the property. \item[{\em step}]Increment value for the property. \item[{\em short\_\-opt}]Short option used to set the property from command line. \item[{\em long\_\-opt}]Long option used to set the property from command line. \item[{\em desc}]String description of property. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]{\tt ECORE\_\-CONFIG\_\-ERR\_\-SUCC} on success. \end{Desc}
+\hypertarget{group__Ecore__Config__Create__Group_g18cc88e4f1448c1b6c59f1fb81006736}{
+\index{Ecore_Config_Create_Group@{Ecore\_\-Config\_\-Create\_\-Group}!ecore_config_int_create@{ecore\_\-config\_\-int\_\-create}}
+\index{ecore_config_int_create@{ecore\_\-config\_\-int\_\-create}!Ecore_Config_Create_Group@{Ecore\_\-Config\_\-Create\_\-Group}}
+\subsubsection[ecore\_\-config\_\-int\_\-create]{\setlength{\rightskip}{0pt plus 5cm}int ecore\_\-config\_\-int\_\-create (const char $\ast$ {\em key}, int {\em val}, char {\em short\_\-opt}, char $\ast$ {\em long\_\-opt}, char $\ast$ {\em desc})}}
+\label{group__Ecore__Config__Create__Group_g18cc88e4f1448c1b6c59f1fb81006736}
+
+
+Creates a new integer property, if it does not already exist, and sets its attributes to those given. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em key}]The property key. \item[{\em val}]Default integer value of key. \item[{\em short\_\-opt}]Short option used to set the property from command line. \item[{\em long\_\-opt}]Long option used to set the property from command line. \item[{\em desc}]String description of property. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]{\tt ECORE\_\-CONFIG\_\-ERR\_\-SUCC} on success. \end{Desc}
+\hypertarget{group__Ecore__Config__Create__Group_g7eac241f83ce610c6da1e7b6f03120da}{
+\index{Ecore_Config_Create_Group@{Ecore\_\-Config\_\-Create\_\-Group}!ecore_config_int_create_bound@{ecore\_\-config\_\-int\_\-create\_\-bound}}
+\index{ecore_config_int_create_bound@{ecore\_\-config\_\-int\_\-create\_\-bound}!Ecore_Config_Create_Group@{Ecore\_\-Config\_\-Create\_\-Group}}
+\subsubsection[ecore\_\-config\_\-int\_\-create\_\-bound]{\setlength{\rightskip}{0pt plus 5cm}int ecore\_\-config\_\-int\_\-create\_\-bound (const char $\ast$ {\em key}, int {\em val}, int {\em low}, int {\em high}, int {\em step}, char {\em short\_\-opt}, char $\ast$ {\em long\_\-opt}, char $\ast$ {\em desc})}}
+\label{group__Ecore__Config__Create__Group_g7eac241f83ce610c6da1e7b6f03120da}
+
+
+Creates a new integer property, if it does not already exist, and sets its attributes to those given. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em key}]The property key. \item[{\em val}]Default integer value of key. \item[{\em low}]Lowest valid integer value for the property. \item[{\em high}]Highest valid integer value for the property. \item[{\em step}]Increment value for the property. \item[{\em short\_\-opt}]Short option used to set the property from command line. \item[{\em long\_\-opt}]Long option used to set the property from command line. \item[{\em desc}]String description of property. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]{\tt ECORE\_\-CONFIG\_\-ERR\_\-SUCC} on success. \end{Desc}
+\hypertarget{group__Ecore__Config__Create__Group_g90a2ffd15afc8781dbacdaef880054ed}{
+\index{Ecore_Config_Create_Group@{Ecore\_\-Config\_\-Create\_\-Group}!ecore_config_string_create@{ecore\_\-config\_\-string\_\-create}}
+\index{ecore_config_string_create@{ecore\_\-config\_\-string\_\-create}!Ecore_Config_Create_Group@{Ecore\_\-Config\_\-Create\_\-Group}}
+\subsubsection[ecore\_\-config\_\-string\_\-create]{\setlength{\rightskip}{0pt plus 5cm}int ecore\_\-config\_\-string\_\-create (const char $\ast$ {\em key}, char $\ast$ {\em val}, char {\em short\_\-opt}, char $\ast$ {\em long\_\-opt}, char $\ast$ {\em desc})}}
+\label{group__Ecore__Config__Create__Group_g90a2ffd15afc8781dbacdaef880054ed}
+
+
+Creates a new string property, if it does not already exist, and sets its attributes to those given. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em key}]The property key. \item[{\em val}]Default value of key. \item[{\em short\_\-opt}]Short option used to set the property from command line. \item[{\em long\_\-opt}]Long option used to set the property from command line. \item[{\em desc}]String description of property. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]{\tt ECORE\_\-CONFIG\_\-ERR\_\-SUCC} on success. \end{Desc}
+\hypertarget{group__Ecore__Config__Create__Group_g121905447a18020e3e6c52ad6e41faa5}{
+\index{Ecore_Config_Create_Group@{Ecore\_\-Config\_\-Create\_\-Group}!ecore_config_theme_create@{ecore\_\-config\_\-theme\_\-create}}
+\index{ecore_config_theme_create@{ecore\_\-config\_\-theme\_\-create}!Ecore_Config_Create_Group@{Ecore\_\-Config\_\-Create\_\-Group}}
+\subsubsection[ecore\_\-config\_\-theme\_\-create]{\setlength{\rightskip}{0pt plus 5cm}int ecore\_\-config\_\-theme\_\-create (const char $\ast$ {\em key}, char $\ast$ {\em val}, char {\em short\_\-opt}, char $\ast$ {\em long\_\-opt}, char $\ast$ {\em desc})}}
+\label{group__Ecore__Config__Create__Group_g121905447a18020e3e6c52ad6e41faa5}
+
+
+Creates a new theme property, if it does not already exist, and sets its attributes to those given. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em key}]The property key. \item[{\em val}]Default theme name for the property. \item[{\em short\_\-opt}]Short option used to set the property from command line. \item[{\em long\_\-opt}]Long option used to set the property from command line. \item[{\em desc}]String description of property. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]{\tt ECORE\_\-CONFIG\_\-ERR\_\-SUCC} on success. \end{Desc}
+\hypertarget{group__Ecore__Config__Create__Group_g72458cbd9bc08ac67a489bedccc9729d}{
+\index{Ecore_Config_Create_Group@{Ecore\_\-Config\_\-Create\_\-Group}!ecore_config_typed_create@{ecore\_\-config\_\-typed\_\-create}}
+\index{ecore_config_typed_create@{ecore\_\-config\_\-typed\_\-create}!Ecore_Config_Create_Group@{Ecore\_\-Config\_\-Create\_\-Group}}
+\subsubsection[ecore\_\-config\_\-typed\_\-create]{\setlength{\rightskip}{0pt plus 5cm}int ecore\_\-config\_\-typed\_\-create (const char $\ast$ {\em key}, void $\ast$ {\em val}, int {\em type}, char {\em short\_\-opt}, char $\ast$ {\em long\_\-opt}, char $\ast$ {\em desc})}}
+\label{group__Ecore__Config__Create__Group_g72458cbd9bc08ac67a489bedccc9729d}
+
+
+Creates a new property, if it does not already exist, and sets its attributes to those given. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em key}]The property key. \item[{\em val}]Pointer to default value of key. \item[{\em type}]Type of the property. \item[{\em short\_\-opt}]Short option used to set the property from command line. \item[{\em long\_\-opt}]Long option used to set the property from command line. \item[{\em desc}]String description of property. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]{\tt ECORE\_\-CONFIG\_\-ERR\_\-SUCC} on success. \end{Desc}
diff --git a/doc/latex/group__Ecore__Config__Default__Group.tex b/doc/latex/group__Ecore__Config__Default__Group.tex
new file mode 100644
index 0000000..cb6af38
--- /dev/null
+++ b/doc/latex/group__Ecore__Config__Default__Group.tex
@@ -0,0 +1,220 @@
+\hypertarget{group__Ecore__Config__Default__Group}{
+\section{Ecore Config Defaults}
+\label{group__Ecore__Config__Default__Group}\index{Ecore Config Defaults@{Ecore Config Defaults}}
+}
+Functions that are used to set the default values of properties.  
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+EAPI int \hyperlink{group__Ecore__Config__Default__Group_g93615990523f103af30ec67759063045}{ecore\_\-config\_\-default} (const char $\ast$key, const char $\ast$val, float lo, float hi, float step)
+\begin{CompactList}\small\item\em Sets the indicated property if it has not already been set or loaded. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Config__Default__Group_gb975ecfba269108f3d33061b8a04c7ca}{ecore\_\-config\_\-boolean\_\-default} (const char $\ast$key, int val)
+\begin{CompactList}\small\item\em Sets the indicated property to the given boolean if the property has not yet been set. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Config__Default__Group_g0ea9a5280c2c263769fede02cf83b223}{ecore\_\-config\_\-int\_\-default} (const char $\ast$key, int val)
+\begin{CompactList}\small\item\em Sets the indicated property to the given integer if the property has not yet been set. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Config__Default__Group_gf041320b27afd2d25382a186e525844d}{ecore\_\-config\_\-int\_\-default\_\-bound} (const char $\ast$key, int val, int low, int high, int step)
+\begin{CompactList}\small\item\em Sets the indicated property to the given integer if the property has not yet been set. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Config__Default__Group_g85aa8ecad2a747ac3ee4b1f9b476db64}{ecore\_\-config\_\-string\_\-default} (const char $\ast$key, const char $\ast$val)
+\begin{CompactList}\small\item\em Sets the indicated property to the given string if the property has not yet been set. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Config__Default__Group_g38f3626bd1d59e69e513b04e3a7908ee}{ecore\_\-config\_\-float\_\-default} (const char $\ast$key, float val)
+\begin{CompactList}\small\item\em Sets the indicated property to the given float if the property has not yet been set. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Config__Default__Group_ga62d8a4d3499f6552dc9bd694084af75}{ecore\_\-config\_\-float\_\-default\_\-bound} (const char $\ast$key, float val, float low, float high, float step)
+\begin{CompactList}\small\item\em Sets the indicated property to the given float if the property has not yet been set. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Config__Default__Group_g7e05038c1f325bac01f85ce4d479d8ba}{ecore\_\-config\_\-argb\_\-default} (const char $\ast$key, int a, int r, int g, int b)
+\begin{CompactList}\small\item\em Sets the indicated property to a color value if the property has not yet been set. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Config__Default__Group_gac44186cc54f3f31c406813c0f44cf57}{ecore\_\-config\_\-argbint\_\-default} (const char $\ast$key, long argb)
+\begin{CompactList}\small\item\em Sets the indicated property to a color value if the property has not yet been set. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Config__Default__Group_gfc2fc6ce01297b0bcfcd0ebdfca5c2f1}{ecore\_\-config\_\-argbstr\_\-default} (const char $\ast$key, const char $\ast$val)
+\begin{CompactList}\small\item\em Sets the indicated property to a color value if the property has not yet been set. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Config__Default__Group_gd0beb2c67b2b8d6fd5976665e4a6dc44}{ecore\_\-config\_\-theme\_\-default} (const char $\ast$key, const char $\ast$val)
+\begin{CompactList}\small\item\em Sets the indicated property to a theme name if the property has not yet been set. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Functions that are used to set the default values of properties. 
+
+
+
+\subsection{Function Documentation}
+\hypertarget{group__Ecore__Config__Default__Group_g7e05038c1f325bac01f85ce4d479d8ba}{
+\index{Ecore_Config_Default_Group@{Ecore\_\-Config\_\-Default\_\-Group}!ecore_config_argb_default@{ecore\_\-config\_\-argb\_\-default}}
+\index{ecore_config_argb_default@{ecore\_\-config\_\-argb\_\-default}!Ecore_Config_Default_Group@{Ecore\_\-Config\_\-Default\_\-Group}}
+\subsubsection[ecore\_\-config\_\-argb\_\-default]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-config\_\-argb\_\-default (const char $\ast$ {\em key}, int {\em a}, int {\em r}, int {\em g}, int {\em b})}}
+\label{group__Ecore__Config__Default__Group_g7e05038c1f325bac01f85ce4d479d8ba}
+
+
+Sets the indicated property to a color value if the property has not yet been set. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em key}]The property key. \item[{\em a}]integer 0..255 \item[{\em r}]integer 0..255 \item[{\em g}]integer 0..255 \item[{\em b}]integer 0..255 \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]{\tt ECORE\_\-CONFIG\_\-ERR\_\-SUCC} if there are no problems. \end{Desc}
+\hypertarget{group__Ecore__Config__Default__Group_gac44186cc54f3f31c406813c0f44cf57}{
+\index{Ecore_Config_Default_Group@{Ecore\_\-Config\_\-Default\_\-Group}!ecore_config_argbint_default@{ecore\_\-config\_\-argbint\_\-default}}
+\index{ecore_config_argbint_default@{ecore\_\-config\_\-argbint\_\-default}!Ecore_Config_Default_Group@{Ecore\_\-Config\_\-Default\_\-Group}}
+\subsubsection[ecore\_\-config\_\-argbint\_\-default]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-config\_\-argbint\_\-default (const char $\ast$ {\em key}, long {\em argb})}}
+\label{group__Ecore__Config__Default__Group_gac44186cc54f3f31c406813c0f44cf57}
+
+
+Sets the indicated property to a color value if the property has not yet been set. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em key}]The property key. \item[{\em argb}]ARGB data as long \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]{\tt ECORE\_\-CONFIG\_\-ERR\_\-SUCC} if there are no problems. \end{Desc}
+\hypertarget{group__Ecore__Config__Default__Group_gfc2fc6ce01297b0bcfcd0ebdfca5c2f1}{
+\index{Ecore_Config_Default_Group@{Ecore\_\-Config\_\-Default\_\-Group}!ecore_config_argbstr_default@{ecore\_\-config\_\-argbstr\_\-default}}
+\index{ecore_config_argbstr_default@{ecore\_\-config\_\-argbstr\_\-default}!Ecore_Config_Default_Group@{Ecore\_\-Config\_\-Default\_\-Group}}
+\subsubsection[ecore\_\-config\_\-argbstr\_\-default]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-config\_\-argbstr\_\-default (const char $\ast$ {\em key}, const char $\ast$ {\em val})}}
+\label{group__Ecore__Config__Default__Group_gfc2fc6ce01297b0bcfcd0ebdfca5c2f1}
+
+
+Sets the indicated property to a color value if the property has not yet been set. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em key}]The property key. \item[{\em val}]Color value in ARGB format. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]{\tt ECORE\_\-CONFIG\_\-ERR\_\-SUCC} if there are no problems. \end{Desc}
+\hypertarget{group__Ecore__Config__Default__Group_gb975ecfba269108f3d33061b8a04c7ca}{
+\index{Ecore_Config_Default_Group@{Ecore\_\-Config\_\-Default\_\-Group}!ecore_config_boolean_default@{ecore\_\-config\_\-boolean\_\-default}}
+\index{ecore_config_boolean_default@{ecore\_\-config\_\-boolean\_\-default}!Ecore_Config_Default_Group@{Ecore\_\-Config\_\-Default\_\-Group}}
+\subsubsection[ecore\_\-config\_\-boolean\_\-default]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-config\_\-boolean\_\-default (const char $\ast$ {\em key}, int {\em val})}}
+\label{group__Ecore__Config__Default__Group_gb975ecfba269108f3d33061b8a04c7ca}
+
+
+Sets the indicated property to the given boolean if the property has not yet been set. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em key}]The property key. \item[{\em val}]Boolean Integer to set the value to. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]{\tt ECORE\_\-CONFIG\_\-ERR\_\-SUCC} if there are no problems. \end{Desc}
+\hypertarget{group__Ecore__Config__Default__Group_g93615990523f103af30ec67759063045}{
+\index{Ecore_Config_Default_Group@{Ecore\_\-Config\_\-Default\_\-Group}!ecore_config_default@{ecore\_\-config\_\-default}}
+\index{ecore_config_default@{ecore\_\-config\_\-default}!Ecore_Config_Default_Group@{Ecore\_\-Config\_\-Default\_\-Group}}
+\subsubsection[ecore\_\-config\_\-default]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-config\_\-default (const char $\ast$ {\em key}, const char $\ast$ {\em val}, float {\em lo}, float {\em hi}, float {\em step})}}
+\label{group__Ecore__Config__Default__Group_g93615990523f103af30ec67759063045}
+
+
+Sets the indicated property if it has not already been set or loaded. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em key}]The property key. \item[{\em val}]Default value of the key. \item[{\em lo}]Lowest valid value for the key. \item[{\em hi}]Highest valid value for the key. \item[{\em step}]Used by integer and float values. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]{\tt ECORE\_\-CONFIG\_\-ERR\_\-SUCC} if there are no errors. \end{Desc}
+\begin{Desc}
+\item[Note:]The {\tt lo}, {\tt hi} and {\tt step} parameters are only used when storing integer and float properties. \end{Desc}
+\hypertarget{group__Ecore__Config__Default__Group_g38f3626bd1d59e69e513b04e3a7908ee}{
+\index{Ecore_Config_Default_Group@{Ecore\_\-Config\_\-Default\_\-Group}!ecore_config_float_default@{ecore\_\-config\_\-float\_\-default}}
+\index{ecore_config_float_default@{ecore\_\-config\_\-float\_\-default}!Ecore_Config_Default_Group@{Ecore\_\-Config\_\-Default\_\-Group}}
+\subsubsection[ecore\_\-config\_\-float\_\-default]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-config\_\-float\_\-default (const char $\ast$ {\em key}, float {\em val})}}
+\label{group__Ecore__Config__Default__Group_g38f3626bd1d59e69e513b04e3a7908ee}
+
+
+Sets the indicated property to the given float if the property has not yet been set. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em key}]The property key. \item[{\em val}]Float to set the property to. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]{\tt ECORE\_\-CONFIG\_\-ERR\_\-SUCC} if there were no problems. \end{Desc}
+\hypertarget{group__Ecore__Config__Default__Group_ga62d8a4d3499f6552dc9bd694084af75}{
+\index{Ecore_Config_Default_Group@{Ecore\_\-Config\_\-Default\_\-Group}!ecore_config_float_default_bound@{ecore\_\-config\_\-float\_\-default\_\-bound}}
+\index{ecore_config_float_default_bound@{ecore\_\-config\_\-float\_\-default\_\-bound}!Ecore_Config_Default_Group@{Ecore\_\-Config\_\-Default\_\-Group}}
+\subsubsection[ecore\_\-config\_\-float\_\-default\_\-bound]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-config\_\-float\_\-default\_\-bound (const char $\ast$ {\em key}, float {\em val}, float {\em low}, float {\em high}, float {\em step})}}
+\label{group__Ecore__Config__Default__Group_ga62d8a4d3499f6552dc9bd694084af75}
+
+
+Sets the indicated property to the given float if the property has not yet been set. 
+
+The bounds and step values are set regardless.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em key}]The property key. \item[{\em val}]Float to set the property to. \item[{\em low}]Lowest valid integer value for the property. \item[{\em high}]Highest valid float value for the property. \item[{\em step}]Increment value for the property. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]{\tt ECORE\_\-CONFIG\_\-ERR\_\-SUCC} if there were no problems. \end{Desc}
+\hypertarget{group__Ecore__Config__Default__Group_g0ea9a5280c2c263769fede02cf83b223}{
+\index{Ecore_Config_Default_Group@{Ecore\_\-Config\_\-Default\_\-Group}!ecore_config_int_default@{ecore\_\-config\_\-int\_\-default}}
+\index{ecore_config_int_default@{ecore\_\-config\_\-int\_\-default}!Ecore_Config_Default_Group@{Ecore\_\-Config\_\-Default\_\-Group}}
+\subsubsection[ecore\_\-config\_\-int\_\-default]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-config\_\-int\_\-default (const char $\ast$ {\em key}, int {\em val})}}
+\label{group__Ecore__Config__Default__Group_g0ea9a5280c2c263769fede02cf83b223}
+
+
+Sets the indicated property to the given integer if the property has not yet been set. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em key}]The property key. \item[{\em val}]Integer to set the value to. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]{\tt ECORE\_\-CONFIG\_\-ERR\_\-SUCC} if there are no problems. \end{Desc}
+\hypertarget{group__Ecore__Config__Default__Group_gf041320b27afd2d25382a186e525844d}{
+\index{Ecore_Config_Default_Group@{Ecore\_\-Config\_\-Default\_\-Group}!ecore_config_int_default_bound@{ecore\_\-config\_\-int\_\-default\_\-bound}}
+\index{ecore_config_int_default_bound@{ecore\_\-config\_\-int\_\-default\_\-bound}!Ecore_Config_Default_Group@{Ecore\_\-Config\_\-Default\_\-Group}}
+\subsubsection[ecore\_\-config\_\-int\_\-default\_\-bound]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-config\_\-int\_\-default\_\-bound (const char $\ast$ {\em key}, int {\em val}, int {\em low}, int {\em high}, int {\em step})}}
+\label{group__Ecore__Config__Default__Group_gf041320b27afd2d25382a186e525844d}
+
+
+Sets the indicated property to the given integer if the property has not yet been set. 
+
+The bounds and step values are set regardless.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em key}]The property key. \item[{\em val}]Integer to set the property to. \item[{\em low}]Lowest valid integer value for the property. \item[{\em high}]Highest valid integer value for the property. \item[{\em step}]Increment value for the property. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]{\tt ECORE\_\-CONFIG\_\-ERR\_\-SUCC} if there were no problems. \end{Desc}
+\hypertarget{group__Ecore__Config__Default__Group_g85aa8ecad2a747ac3ee4b1f9b476db64}{
+\index{Ecore_Config_Default_Group@{Ecore\_\-Config\_\-Default\_\-Group}!ecore_config_string_default@{ecore\_\-config\_\-string\_\-default}}
+\index{ecore_config_string_default@{ecore\_\-config\_\-string\_\-default}!Ecore_Config_Default_Group@{Ecore\_\-Config\_\-Default\_\-Group}}
+\subsubsection[ecore\_\-config\_\-string\_\-default]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-config\_\-string\_\-default (const char $\ast$ {\em key}, const char $\ast$ {\em val})}}
+\label{group__Ecore__Config__Default__Group_g85aa8ecad2a747ac3ee4b1f9b476db64}
+
+
+Sets the indicated property to the given string if the property has not yet been set. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em key}]The property key. \item[{\em val}]String to set the property to. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]{\tt ECORE\_\-CONFIG\_\-ERR\_\-SUCC} if there were no problems. \end{Desc}
+\hypertarget{group__Ecore__Config__Default__Group_gd0beb2c67b2b8d6fd5976665e4a6dc44}{
+\index{Ecore_Config_Default_Group@{Ecore\_\-Config\_\-Default\_\-Group}!ecore_config_theme_default@{ecore\_\-config\_\-theme\_\-default}}
+\index{ecore_config_theme_default@{ecore\_\-config\_\-theme\_\-default}!Ecore_Config_Default_Group@{Ecore\_\-Config\_\-Default\_\-Group}}
+\subsubsection[ecore\_\-config\_\-theme\_\-default]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-config\_\-theme\_\-default (const char $\ast$ {\em key}, const char $\ast$ {\em val})}}
+\label{group__Ecore__Config__Default__Group_gd0beb2c67b2b8d6fd5976665e4a6dc44}
+
+
+Sets the indicated property to a theme name if the property has not yet been set. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em key}]The property key. \item[{\em val}]String giving the name of the theme. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]{\tt ECORE\_\-CONFIG\_\-ERR\_\-SUCC} if the property is set successfully. \end{Desc}
diff --git a/doc/latex/group__Ecore__Config__File__Group.tex b/doc/latex/group__Ecore__Config__File__Group.tex
new file mode 100644
index 0000000..66d842d
--- /dev/null
+++ b/doc/latex/group__Ecore__Config__File__Group.tex
@@ -0,0 +1,78 @@
+\hypertarget{group__Ecore__Config__File__Group}{
+\section{Ecore Config File Functions}
+\label{group__Ecore__Config__File__Group}\index{Ecore Config File Functions@{Ecore Config File Functions}}
+}
+Functions that are used to load and save properties from and to files.  
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+EAPI int \hyperlink{group__Ecore__Config__File__Group_g8e064585346f2234620dbbeb034d406b}{ecore\_\-config\_\-load} (void)
+\begin{CompactList}\small\item\em Loads the default configuration. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Config__File__Group_g94318c18d7c19ea2980552edddb88899}{ecore\_\-config\_\-save} (void)
+\begin{CompactList}\small\item\em Saves the current configuration to the default file. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Config__File__Group_gfcaee9b135bc412ac41b87fdf72bc289}{ecore\_\-config\_\-file\_\-load} (const char $\ast$file)
+\begin{CompactList}\small\item\em Load the given configuration file to the local configuration. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Config__File__Group_gf9b8be68224f804946e7409084ad967e}{ecore\_\-config\_\-file\_\-save} (const char $\ast$file)
+\begin{CompactList}\small\item\em Saves the local configuration to the given file. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Functions that are used to load and save properties from and to files. 
+
+
+
+\subsection{Function Documentation}
+\hypertarget{group__Ecore__Config__File__Group_gfcaee9b135bc412ac41b87fdf72bc289}{
+\index{Ecore_Config_File_Group@{Ecore\_\-Config\_\-File\_\-Group}!ecore_config_file_load@{ecore\_\-config\_\-file\_\-load}}
+\index{ecore_config_file_load@{ecore\_\-config\_\-file\_\-load}!Ecore_Config_File_Group@{Ecore\_\-Config\_\-File\_\-Group}}
+\subsubsection[ecore\_\-config\_\-file\_\-load]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-config\_\-file\_\-load (const char $\ast$ {\em file})}}
+\label{group__Ecore__Config__File__Group_gfcaee9b135bc412ac41b87fdf72bc289}
+
+
+Load the given configuration file to the local configuration. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em file}]Name of the file to load. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]{\tt ECORE\_\-CONFIG\_\-ERR\_\-SUCC} on success. {\tt ECORE\_\-CONFIG\_\-ERR\_\-NODATA} is returned if the file cannot be loaded. \end{Desc}
+\hypertarget{group__Ecore__Config__File__Group_gf9b8be68224f804946e7409084ad967e}{
+\index{Ecore_Config_File_Group@{Ecore\_\-Config\_\-File\_\-Group}!ecore_config_file_save@{ecore\_\-config\_\-file\_\-save}}
+\index{ecore_config_file_save@{ecore\_\-config\_\-file\_\-save}!Ecore_Config_File_Group@{Ecore\_\-Config\_\-File\_\-Group}}
+\subsubsection[ecore\_\-config\_\-file\_\-save]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-config\_\-file\_\-save (const char $\ast$ {\em file})}}
+\label{group__Ecore__Config__File__Group_gf9b8be68224f804946e7409084ad967e}
+
+
+Saves the local configuration to the given file. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em file}]Name of the file to save to. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]{\tt ECORE\_\-CONFIG\_\-ERR\_\-SUCC} is returned on success. {\tt ECORE\_\-CONFIG\_\-ERR\_\-FAIL} is returned if the data cannot be saved. \end{Desc}
+\hypertarget{group__Ecore__Config__File__Group_g8e064585346f2234620dbbeb034d406b}{
+\index{Ecore_Config_File_Group@{Ecore\_\-Config\_\-File\_\-Group}!ecore_config_load@{ecore\_\-config\_\-load}}
+\index{ecore_config_load@{ecore\_\-config\_\-load}!Ecore_Config_File_Group@{Ecore\_\-Config\_\-File\_\-Group}}
+\subsubsection[ecore\_\-config\_\-load]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-config\_\-load (void)}}
+\label{group__Ecore__Config__File__Group_g8e064585346f2234620dbbeb034d406b}
+
+
+Loads the default configuration. 
+
+\begin{Desc}
+\item[Returns:]{\tt ECORE\_\-CONFIG\_\-ERR\_\-SUCC} on success. {\tt ECORE\_\-CONFIG\_\-ERR\_\-NODATA} is returned if the file cannot be loaded. \end{Desc}
+\hypertarget{group__Ecore__Config__File__Group_g94318c18d7c19ea2980552edddb88899}{
+\index{Ecore_Config_File_Group@{Ecore\_\-Config\_\-File\_\-Group}!ecore_config_save@{ecore\_\-config\_\-save}}
+\index{ecore_config_save@{ecore\_\-config\_\-save}!Ecore_Config_File_Group@{Ecore\_\-Config\_\-File\_\-Group}}
+\subsubsection[ecore\_\-config\_\-save]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-config\_\-save (void)}}
+\label{group__Ecore__Config__File__Group_g94318c18d7c19ea2980552edddb88899}
+
+
+Saves the current configuration to the default file. 
+
+\begin{Desc}
+\item[Returns:]{\tt ECORE\_\-CONFIG\_\-ERR\_\-SUCC} is returned on success. {\tt ECORE\_\-CONFIG\_\-ERR\_\-FAIL} is returned if the data cannot be saved. \end{Desc}
diff --git a/doc/latex/group__Ecore__Config__Get__Group.tex b/doc/latex/group__Ecore__Config__Get__Group.tex
new file mode 100644
index 0000000..7a7ee4c
--- /dev/null
+++ b/doc/latex/group__Ecore__Config__Get__Group.tex
@@ -0,0 +1,196 @@
+\hypertarget{group__Ecore__Config__Get__Group}{
+\section{Configuration Retrieve Functions}
+\label{group__Ecore__Config__Get__Group}\index{Configuration Retrieve Functions@{Configuration Retrieve Functions}}
+}
+Functions that retrieve configuration values, based on type.  
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+EAPI \hyperlink{structEcore__Config__Prop}{Ecore\_\-Config\_\-Prop} $\ast$ \hyperlink{group__Ecore__Config__Get__Group_g8453b6c6d12816fc67bc528c890767ea}{ecore\_\-config\_\-get} (const char $\ast$key)
+\begin{CompactList}\small\item\em Returns the property with the given key. \item\end{CompactList}\item 
+EAPI char $\ast$ \hyperlink{group__Ecore__Config__Get__Group_g65c1ae4aad5f8cfe9a049895ca8214fe}{ecore\_\-config\_\-string\_\-get} (const char $\ast$key)
+\begin{CompactList}\small\item\em Returns the specified property as a string. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Config__Get__Group_g83dc5cc9f1cf931994333c5886c22827}{ecore\_\-config\_\-boolean\_\-get} (const char $\ast$key)
+\begin{CompactList}\small\item\em Returns the specified property as an integer. \item\end{CompactList}\item 
+EAPI long \hyperlink{group__Ecore__Config__Get__Group_g30e915e424e93cb60fbfb5159f5f7ee8}{ecore\_\-config\_\-int\_\-get} (const char $\ast$key)
+\begin{CompactList}\small\item\em Returns the specified property as a long integer. \item\end{CompactList}\item 
+EAPI float \hyperlink{group__Ecore__Config__Get__Group_geea46377d8255d0216d5639ead8d92ff}{ecore\_\-config\_\-float\_\-get} (const char $\ast$key)
+\begin{CompactList}\small\item\em Returns the specified property as a float. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Config__Get__Group_g20de581cdf7397b54b6126362a56418a}{ecore\_\-config\_\-argb\_\-get} (const char $\ast$key, int $\ast$a, int $\ast$r, int $\ast$g, int $\ast$b)
+\begin{CompactList}\small\item\em Finds the alpha, red, green and blue values of a color property. \item\end{CompactList}\item 
+EAPI long \hyperlink{group__Ecore__Config__Get__Group_gf7f2ea069a615cdce15fb103108d610d}{ecore\_\-config\_\-argbint\_\-get} (const char $\ast$key)
+\begin{CompactList}\small\item\em Returns a color property as a long. \item\end{CompactList}\item 
+EAPI char $\ast$ \hyperlink{group__Ecore__Config__Get__Group_g5c7821152165c73dcb5c5d6ada024305}{ecore\_\-config\_\-argbstr\_\-get} (const char $\ast$key)
+\begin{CompactList}\small\item\em Returns a color property as a string of hexadecimal characters. \item\end{CompactList}\item 
+EAPI char $\ast$ \hyperlink{group__Ecore__Config__Get__Group_g7ecf05eef12f00801301ca2fc07b5bb5}{ecore\_\-config\_\-theme\_\-get} (const char $\ast$key)
+\begin{CompactList}\small\item\em Returns a theme property. \item\end{CompactList}\item 
+EAPI char $\ast$ \hyperlink{group__Ecore__Config__Get__Group_gc9a15f02dd6b027ff52aa8d8ea4ab095}{ecore\_\-config\_\-as\_\-string\_\-get} (const char $\ast$key)
+\begin{CompactList}\small\item\em Retrieves the key as a string. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Functions that retrieve configuration values, based on type. 
+
+
+
+\subsection{Function Documentation}
+\hypertarget{group__Ecore__Config__Get__Group_g20de581cdf7397b54b6126362a56418a}{
+\index{Ecore_Config_Get_Group@{Ecore\_\-Config\_\-Get\_\-Group}!ecore_config_argb_get@{ecore\_\-config\_\-argb\_\-get}}
+\index{ecore_config_argb_get@{ecore\_\-config\_\-argb\_\-get}!Ecore_Config_Get_Group@{Ecore\_\-Config\_\-Get\_\-Group}}
+\subsubsection[ecore\_\-config\_\-argb\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-config\_\-argb\_\-get (const char $\ast$ {\em key}, int $\ast$ {\em a}, int $\ast$ {\em r}, int $\ast$ {\em g}, int $\ast$ {\em b})}}
+\label{group__Ecore__Config__Get__Group_g20de581cdf7397b54b6126362a56418a}
+
+
+Finds the alpha, red, green and blue values of a color property. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em key}]The property key. \item[{\em a}]A pointer to an integer to store the alpha value into. \item[{\em r}]A pointer to an integer to store the red value into. \item[{\em g}]A pointer to an integer to store the green value into. \item[{\em b}]A pointer to an integer to store the blue value into. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]{\tt ECORE\_\-CONFIG\_\-ERR\_\-SUCC} on success. {\tt ECORE\_\-CONFIG\_\-ERR\_\-FAIL} otherwise. \end{Desc}
+\hypertarget{group__Ecore__Config__Get__Group_gf7f2ea069a615cdce15fb103108d610d}{
+\index{Ecore_Config_Get_Group@{Ecore\_\-Config\_\-Get\_\-Group}!ecore_config_argbint_get@{ecore\_\-config\_\-argbint\_\-get}}
+\index{ecore_config_argbint_get@{ecore\_\-config\_\-argbint\_\-get}!Ecore_Config_Get_Group@{Ecore\_\-Config\_\-Get\_\-Group}}
+\subsubsection[ecore\_\-config\_\-argbint\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI long ecore\_\-config\_\-argbint\_\-get (const char $\ast$ {\em key})}}
+\label{group__Ecore__Config__Get__Group_gf7f2ea069a615cdce15fb103108d610d}
+
+
+Returns a color property as a long. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em key}]The property key. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]ARGB data as long \end{Desc}
+\hypertarget{group__Ecore__Config__Get__Group_g5c7821152165c73dcb5c5d6ada024305}{
+\index{Ecore_Config_Get_Group@{Ecore\_\-Config\_\-Get\_\-Group}!ecore_config_argbstr_get@{ecore\_\-config\_\-argbstr\_\-get}}
+\index{ecore_config_argbstr_get@{ecore\_\-config\_\-argbstr\_\-get}!Ecore_Config_Get_Group@{Ecore\_\-Config\_\-Get\_\-Group}}
+\subsubsection[ecore\_\-config\_\-argbstr\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI char$\ast$ ecore\_\-config\_\-argbstr\_\-get (const char $\ast$ {\em key})}}
+\label{group__Ecore__Config__Get__Group_g5c7821152165c73dcb5c5d6ada024305}
+
+
+Returns a color property as a string of hexadecimal characters. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em key}]The property key. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]A string of hexadecimal characters in the format aarrggbb. \end{Desc}
+\hypertarget{group__Ecore__Config__Get__Group_gc9a15f02dd6b027ff52aa8d8ea4ab095}{
+\index{Ecore_Config_Get_Group@{Ecore\_\-Config\_\-Get\_\-Group}!ecore_config_as_string_get@{ecore\_\-config\_\-as\_\-string\_\-get}}
+\index{ecore_config_as_string_get@{ecore\_\-config\_\-as\_\-string\_\-get}!Ecore_Config_Get_Group@{Ecore\_\-Config\_\-Get\_\-Group}}
+\subsubsection[ecore\_\-config\_\-as\_\-string\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI char$\ast$ ecore\_\-config\_\-as\_\-string\_\-get (const char $\ast$ {\em key})}}
+\label{group__Ecore__Config__Get__Group_gc9a15f02dd6b027ff52aa8d8ea4ab095}
+
+
+Retrieves the key as a string. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em key}]The property key. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]Returns a character array in the form of 'key:type=value'. {\tt NULL} is returned if the property does not exist. \end{Desc}
+\hypertarget{group__Ecore__Config__Get__Group_g83dc5cc9f1cf931994333c5886c22827}{
+\index{Ecore_Config_Get_Group@{Ecore\_\-Config\_\-Get\_\-Group}!ecore_config_boolean_get@{ecore\_\-config\_\-boolean\_\-get}}
+\index{ecore_config_boolean_get@{ecore\_\-config\_\-boolean\_\-get}!Ecore_Config_Get_Group@{Ecore\_\-Config\_\-Get\_\-Group}}
+\subsubsection[ecore\_\-config\_\-boolean\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-config\_\-boolean\_\-get (const char $\ast$ {\em key})}}
+\label{group__Ecore__Config__Get__Group_g83dc5cc9f1cf931994333c5886c22827}
+
+
+Returns the specified property as an integer. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em key}]The property key. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The value of the property. The function returns -1 if the property is not an integer or is not set. \end{Desc}
+\hypertarget{group__Ecore__Config__Get__Group_geea46377d8255d0216d5639ead8d92ff}{
+\index{Ecore_Config_Get_Group@{Ecore\_\-Config\_\-Get\_\-Group}!ecore_config_float_get@{ecore\_\-config\_\-float\_\-get}}
+\index{ecore_config_float_get@{ecore\_\-config\_\-float\_\-get}!Ecore_Config_Get_Group@{Ecore\_\-Config\_\-Get\_\-Group}}
+\subsubsection[ecore\_\-config\_\-float\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI float ecore\_\-config\_\-float\_\-get (const char $\ast$ {\em key})}}
+\label{group__Ecore__Config__Get__Group_geea46377d8255d0216d5639ead8d92ff}
+
+
+Returns the specified property as a float. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em key}]The property key. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The float value of the property. The function returns 0.0 if the property is not a float or is not set. \end{Desc}
+\hypertarget{group__Ecore__Config__Get__Group_g8453b6c6d12816fc67bc528c890767ea}{
+\index{Ecore_Config_Get_Group@{Ecore\_\-Config\_\-Get\_\-Group}!ecore_config_get@{ecore\_\-config\_\-get}}
+\index{ecore_config_get@{ecore\_\-config\_\-get}!Ecore_Config_Get_Group@{Ecore\_\-Config\_\-Get\_\-Group}}
+\subsubsection[ecore\_\-config\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI \hyperlink{structEcore__Config__Prop}{Ecore\_\-Config\_\-Prop}$\ast$ ecore\_\-config\_\-get (const char $\ast$ {\em key})}}
+\label{group__Ecore__Config__Get__Group_g8453b6c6d12816fc67bc528c890767ea}
+
+
+Returns the property with the given key. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em key}]The unique name of the wanted property. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The property that corresponds to the given key. {\tt NULL} if the key could not be found. \end{Desc}
+\hypertarget{group__Ecore__Config__Get__Group_g30e915e424e93cb60fbfb5159f5f7ee8}{
+\index{Ecore_Config_Get_Group@{Ecore\_\-Config\_\-Get\_\-Group}!ecore_config_int_get@{ecore\_\-config\_\-int\_\-get}}
+\index{ecore_config_int_get@{ecore\_\-config\_\-int\_\-get}!Ecore_Config_Get_Group@{Ecore\_\-Config\_\-Get\_\-Group}}
+\subsubsection[ecore\_\-config\_\-int\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI long ecore\_\-config\_\-int\_\-get (const char $\ast$ {\em key})}}
+\label{group__Ecore__Config__Get__Group_g30e915e424e93cb60fbfb5159f5f7ee8}
+
+
+Returns the specified property as a long integer. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em key}]The property key. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The integer value of the property. The function returns 0 if the property is not an integer or is not set. \end{Desc}
+\hypertarget{group__Ecore__Config__Get__Group_g65c1ae4aad5f8cfe9a049895ca8214fe}{
+\index{Ecore_Config_Get_Group@{Ecore\_\-Config\_\-Get\_\-Group}!ecore_config_string_get@{ecore\_\-config\_\-string\_\-get}}
+\index{ecore_config_string_get@{ecore\_\-config\_\-string\_\-get}!Ecore_Config_Get_Group@{Ecore\_\-Config\_\-Get\_\-Group}}
+\subsubsection[ecore\_\-config\_\-string\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI char$\ast$ ecore\_\-config\_\-string\_\-get (const char $\ast$ {\em key})}}
+\label{group__Ecore__Config__Get__Group_g65c1ae4aad5f8cfe9a049895ca8214fe}
+
+
+Returns the specified property as a string. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em key}]The property key. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The string value of the property. The function returns {\tt NULL} if the property is not a string or is not set. \end{Desc}
+\hypertarget{group__Ecore__Config__Get__Group_g7ecf05eef12f00801301ca2fc07b5bb5}{
+\index{Ecore_Config_Get_Group@{Ecore\_\-Config\_\-Get\_\-Group}!ecore_config_theme_get@{ecore\_\-config\_\-theme\_\-get}}
+\index{ecore_config_theme_get@{ecore\_\-config\_\-theme\_\-get}!Ecore_Config_Get_Group@{Ecore\_\-Config\_\-Get\_\-Group}}
+\subsubsection[ecore\_\-config\_\-theme\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI char$\ast$ ecore\_\-config\_\-theme\_\-get (const char $\ast$ {\em key})}}
+\label{group__Ecore__Config__Get__Group_g7ecf05eef12f00801301ca2fc07b5bb5}
+
+
+Returns a theme property. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em key}]The property key. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The name of the theme the property refers to. The function returns {\tt NULL} if the property is not a theme or is not set. \end{Desc}
diff --git a/doc/latex/group__Ecore__Config__Lib__Lib__Group.tex b/doc/latex/group__Ecore__Config__Lib__Lib__Group.tex
new file mode 100644
index 0000000..5f2cb67
--- /dev/null
+++ b/doc/latex/group__Ecore__Config__Lib__Lib__Group.tex
@@ -0,0 +1,46 @@
+\hypertarget{group__Ecore__Config__Lib__Lib__Group}{
+\section{Ecore Config Library Functions}
+\label{group__Ecore__Config__Lib__Lib__Group}\index{Ecore Config Library Functions@{Ecore Config Library Functions}}
+}
+Functions that are used to start up and shutdown the Enlightened Property Library when used directly by an application.  
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+EAPI int \hyperlink{group__Ecore__Config__Lib__Lib__Group_g3cb9d5fd7d8b2693d36ca96173f74d4c}{ecore\_\-config\_\-system\_\-init} (void)
+\begin{CompactList}\small\item\em Initializes the Enlightened Property Library. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Config__Lib__Lib__Group_g925ea8694077c1fc013bb313908d1148}{ecore\_\-config\_\-system\_\-shutdown} (void)
+\begin{CompactList}\small\item\em Frees memory and shuts down the library for other programming libraries. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Functions that are used to start up and shutdown the Enlightened Property Library when used directly by an application. 
+
+
+
+\subsection{Function Documentation}
+\hypertarget{group__Ecore__Config__Lib__Lib__Group_g3cb9d5fd7d8b2693d36ca96173f74d4c}{
+\index{Ecore_Config_Lib_Lib_Group@{Ecore\_\-Config\_\-Lib\_\-Lib\_\-Group}!ecore_config_system_init@{ecore\_\-config\_\-system\_\-init}}
+\index{ecore_config_system_init@{ecore\_\-config\_\-system\_\-init}!Ecore_Config_Lib_Lib_Group@{Ecore\_\-Config\_\-Lib\_\-Lib\_\-Group}}
+\subsubsection[ecore\_\-config\_\-system\_\-init]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-config\_\-system\_\-init (void)}}
+\label{group__Ecore__Config__Lib__Lib__Group_g3cb9d5fd7d8b2693d36ca96173f74d4c}
+
+
+Initializes the Enlightened Property Library. 
+
+This function is meant to be run from other programming libraries. It should not be called from applications.
+
+This function (or \hyperlink{group__Ecore__Config__App__Lib__Group_gfdc677e43c328248e10e08d0599c274e}{ecore\_\-config\_\-init} ) must be run before any other function in the Enlightened Property Library, even if you have run \hyperlink{Ecore_8h_8af98881ecd1d24072b4fabf216754c4}{ecore\_\-init} .
+
+\begin{Desc}
+\item[Returns:]{\tt ECORE\_\-CONFIG\_\-ERR\_\-SUCC} if the library is successfully set up. {\tt ECORE\_\-CONFIG\_\-ERR\_\-FAIL} otherwise. \end{Desc}
+\hypertarget{group__Ecore__Config__Lib__Lib__Group_g925ea8694077c1fc013bb313908d1148}{
+\index{Ecore_Config_Lib_Lib_Group@{Ecore\_\-Config\_\-Lib\_\-Lib\_\-Group}!ecore_config_system_shutdown@{ecore\_\-config\_\-system\_\-shutdown}}
+\index{ecore_config_system_shutdown@{ecore\_\-config\_\-system\_\-shutdown}!Ecore_Config_Lib_Lib_Group@{Ecore\_\-Config\_\-Lib\_\-Lib\_\-Group}}
+\subsubsection[ecore\_\-config\_\-system\_\-shutdown]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-config\_\-system\_\-shutdown (void)}}
+\label{group__Ecore__Config__Lib__Lib__Group_g925ea8694077c1fc013bb313908d1148}
+
+
+Frees memory and shuts down the library for other programming libraries. 
+
+\begin{Desc}
+\item[Returns:]{\tt ECORE\_\-CONFIG\_\-ERR\_\-IGNORED} \end{Desc}
diff --git a/doc/latex/group__Ecore__Config__Listeners__Group.tex b/doc/latex/group__Ecore__Config__Listeners__Group.tex
new file mode 100644
index 0000000..e8a90e8
--- /dev/null
+++ b/doc/latex/group__Ecore__Config__Listeners__Group.tex
@@ -0,0 +1,52 @@
+\hypertarget{group__Ecore__Config__Listeners__Group}{
+\section{Ecore Config Listeners}
+\label{group__Ecore__Config__Listeners__Group}\index{Ecore Config Listeners@{Ecore Config Listeners}}
+}
+Functions that set and unset property listener callbacks.  
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+EAPI int \hyperlink{group__Ecore__Config__Listeners__Group_g50ffd2d9a28c501bbd6f512648b7e593}{ecore\_\-config\_\-listen} (const char $\ast$name, const char $\ast$key, \hyperlink{Ecore__Config_8h_57366c1938a04f353bbc64ad6fd231de}{Ecore\_\-Config\_\-Listener} listener, int tag, void $\ast$data)
+\begin{CompactList}\small\item\em Adds a callback function to the list of functions called when a property changes. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Config__Listeners__Group_g9ff2e49dde18e0f4a039c225512b3a2d}{ecore\_\-config\_\-deaf} (const char $\ast$name, const char $\ast$key, \hyperlink{Ecore__Config_8h_57366c1938a04f353bbc64ad6fd231de}{Ecore\_\-Config\_\-Listener} listener)
+\begin{CompactList}\small\item\em Removes a listener callback. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Functions that set and unset property listener callbacks. 
+
+
+
+\subsection{Function Documentation}
+\hypertarget{group__Ecore__Config__Listeners__Group_g9ff2e49dde18e0f4a039c225512b3a2d}{
+\index{Ecore_Config_Listeners_Group@{Ecore\_\-Config\_\-Listeners\_\-Group}!ecore_config_deaf@{ecore\_\-config\_\-deaf}}
+\index{ecore_config_deaf@{ecore\_\-config\_\-deaf}!Ecore_Config_Listeners_Group@{Ecore\_\-Config\_\-Listeners\_\-Group}}
+\subsubsection[ecore\_\-config\_\-deaf]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-config\_\-deaf (const char $\ast$ {\em name}, const char $\ast$ {\em key}, \hyperlink{Ecore__Config_8h_57366c1938a04f353bbc64ad6fd231de}{Ecore\_\-Config\_\-Listener} {\em listener})}}
+\label{group__Ecore__Config__Listeners__Group_g9ff2e49dde18e0f4a039c225512b3a2d}
+
+
+Removes a listener callback. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em name}]Name of the callback to remove. \item[{\em key}]The property key the callback is listening to. \item[{\em listener}]The callback function to remove. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]{\tt ECORE\_\-CONFIG\_\-ERR\_\-SUCC} if successful in removing the callback. If no callback matches the given parameters, then {\tt ECORE\_\-CONFIG\_\-ERR\_\-NOTFOUND} is returned. If {\tt NULL} is passed for the key pointer, {\tt ECORE\_\-CONFIG\_\-ERR\_\-NODATA} is returned. \end{Desc}
+\hypertarget{group__Ecore__Config__Listeners__Group_g50ffd2d9a28c501bbd6f512648b7e593}{
+\index{Ecore_Config_Listeners_Group@{Ecore\_\-Config\_\-Listeners\_\-Group}!ecore_config_listen@{ecore\_\-config\_\-listen}}
+\index{ecore_config_listen@{ecore\_\-config\_\-listen}!Ecore_Config_Listeners_Group@{Ecore\_\-Config\_\-Listeners\_\-Group}}
+\subsubsection[ecore\_\-config\_\-listen]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-config\_\-listen (const char $\ast$ {\em name}, const char $\ast$ {\em key}, \hyperlink{Ecore__Config_8h_57366c1938a04f353bbc64ad6fd231de}{Ecore\_\-Config\_\-Listener} {\em listener}, int {\em tag}, void $\ast$ {\em data})}}
+\label{group__Ecore__Config__Listeners__Group_g50ffd2d9a28c501bbd6f512648b7e593}
+
+
+Adds a callback function to the list of functions called when a property changes. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em name}]Name of the callback. \item[{\em key}]The key of the property to listen to. \item[{\em listener}]Listener callback function. \item[{\em tag}]Tag to pass to {\tt listener} when it is called. \item[{\em data}]Data to pass to {\tt listener} when it is called. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]{\tt ECORE\_\-CONFIG\_\-ERR\_\-SUCC} if successful in setting up the callback. \end{Desc}
diff --git a/doc/latex/group__Ecore__Config__Property__Group.tex b/doc/latex/group__Ecore__Config__Property__Group.tex
new file mode 100644
index 0000000..30df023
--- /dev/null
+++ b/doc/latex/group__Ecore__Config__Property__Group.tex
@@ -0,0 +1,124 @@
+\hypertarget{group__Ecore__Config__Property__Group}{
+\section{Ecore Config Property Functions}
+\label{group__Ecore__Config__Property__Group}\index{Ecore Config Property Functions@{Ecore Config Property Functions}}
+}
+Functions that retrieve or set the attributes relating to a property.  
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+EAPI \hyperlink{structEcore__Config__Prop}{Ecore\_\-Config\_\-Prop} $\ast$ \hyperlink{group__Ecore__Config__Property__Group_g038aaaaaf88a144f52139712f2e17360}{ecore\_\-config\_\-dst} (\hyperlink{structEcore__Config__Prop}{Ecore\_\-Config\_\-Prop} $\ast$e)
+\begin{CompactList}\small\item\em Removes the given property from the local configuration and destroys it. \item\end{CompactList}\item 
+EAPI const char $\ast$ \hyperlink{group__Ecore__Config__Property__Group_g04c58473e83ba85d2c382c9d10bc56f9}{ecore\_\-config\_\-type\_\-get} (const \hyperlink{structEcore__Config__Prop}{Ecore\_\-Config\_\-Prop} $\ast$e)
+\begin{CompactList}\small\item\em Returns the type of the property. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Config__Property__Group_gb4e20b407d32a502dc3689c1b0bcf60a}{ecore\_\-config\_\-describe} (const char $\ast$key, const char $\ast$desc)
+\begin{CompactList}\small\item\em Sets the description field of the indicated property. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Config__Property__Group_g2684926ce5ad5582e974333db15ba978}{ecore\_\-config\_\-short\_\-opt\_\-set} (const char $\ast$key, char short\_\-opt)
+\begin{CompactList}\small\item\em Set the short option character of a property. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Config__Property__Group_g969ade806f926802e37d14639dc24f75}{ecore\_\-config\_\-long\_\-opt\_\-set} (const char $\ast$key, const char $\ast$long\_\-opt)
+\begin{CompactList}\small\item\em Set the long option string of the property. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Config__Property__Group_gf1d734bd9aeb5ff8a1094b6d0921cf1b}{ecore\_\-config\_\-typed\_\-set} (const char $\ast$key, const void $\ast$val, int type)
+\begin{CompactList}\small\item\em Sets the indicated property to the given value and type. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Functions that retrieve or set the attributes relating to a property. 
+
+
+
+\subsection{Function Documentation}
+\hypertarget{group__Ecore__Config__Property__Group_gb4e20b407d32a502dc3689c1b0bcf60a}{
+\index{Ecore_Config_Property_Group@{Ecore\_\-Config\_\-Property\_\-Group}!ecore_config_describe@{ecore\_\-config\_\-describe}}
+\index{ecore_config_describe@{ecore\_\-config\_\-describe}!Ecore_Config_Property_Group@{Ecore\_\-Config\_\-Property\_\-Group}}
+\subsubsection[ecore\_\-config\_\-describe]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-config\_\-describe (const char $\ast$ {\em key}, const char $\ast$ {\em desc})}}
+\label{group__Ecore__Config__Property__Group_gb4e20b407d32a502dc3689c1b0bcf60a}
+
+
+Sets the description field of the indicated property. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em key}]The property key. \item[{\em desc}]Description string. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Note:]The description string is copied for the property's use. You can free {\tt desc} once this function is called. \end{Desc}
+\hypertarget{group__Ecore__Config__Property__Group_g038aaaaaf88a144f52139712f2e17360}{
+\index{Ecore_Config_Property_Group@{Ecore\_\-Config\_\-Property\_\-Group}!ecore_config_dst@{ecore\_\-config\_\-dst}}
+\index{ecore_config_dst@{ecore\_\-config\_\-dst}!Ecore_Config_Property_Group@{Ecore\_\-Config\_\-Property\_\-Group}}
+\subsubsection[ecore\_\-config\_\-dst]{\setlength{\rightskip}{0pt plus 5cm}EAPI \hyperlink{structEcore__Config__Prop}{Ecore\_\-Config\_\-Prop}$\ast$ ecore\_\-config\_\-dst (\hyperlink{structEcore__Config__Prop}{Ecore\_\-Config\_\-Prop} $\ast$ {\em e})}}
+\label{group__Ecore__Config__Property__Group_g038aaaaaf88a144f52139712f2e17360}
+
+
+Removes the given property from the local configuration and destroys it. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em e}]Property to destroy. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]{\tt NULL} \end{Desc}
+\hypertarget{group__Ecore__Config__Property__Group_g969ade806f926802e37d14639dc24f75}{
+\index{Ecore_Config_Property_Group@{Ecore\_\-Config\_\-Property\_\-Group}!ecore_config_long_opt_set@{ecore\_\-config\_\-long\_\-opt\_\-set}}
+\index{ecore_config_long_opt_set@{ecore\_\-config\_\-long\_\-opt\_\-set}!Ecore_Config_Property_Group@{Ecore\_\-Config\_\-Property\_\-Group}}
+\subsubsection[ecore\_\-config\_\-long\_\-opt\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-config\_\-long\_\-opt\_\-set (const char $\ast$ {\em key}, const char $\ast$ {\em long\_\-opt})}}
+\label{group__Ecore__Config__Property__Group_g969ade806f926802e37d14639dc24f75}
+
+
+Set the long option string of the property. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em key}]The property key. \item[{\em long\_\-opt}]String used to indicate the value of a property given on the command line. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]{\tt ECORE\_\-CONFIG\_\-ERR\_\-SUCC} on success. {\tt ECORE\_\-CONFIG\_\-ERR\_\-NODATA} is returned if the property does not exist. \end{Desc}
+\hypertarget{group__Ecore__Config__Property__Group_g2684926ce5ad5582e974333db15ba978}{
+\index{Ecore_Config_Property_Group@{Ecore\_\-Config\_\-Property\_\-Group}!ecore_config_short_opt_set@{ecore\_\-config\_\-short\_\-opt\_\-set}}
+\index{ecore_config_short_opt_set@{ecore\_\-config\_\-short\_\-opt\_\-set}!Ecore_Config_Property_Group@{Ecore\_\-Config\_\-Property\_\-Group}}
+\subsubsection[ecore\_\-config\_\-short\_\-opt\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-config\_\-short\_\-opt\_\-set (const char $\ast$ {\em key}, char {\em short\_\-opt})}}
+\label{group__Ecore__Config__Property__Group_g2684926ce5ad5582e974333db15ba978}
+
+
+Set the short option character of a property. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em key}]The property key. \item[{\em short\_\-opt}]Character used to indicate the value of a property given on the command line. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]{\tt ECORE\_\-CONFIG\_\-ERR\_\-SUCC} on success. {\tt ECORE\_\-CONFIG\_\-ERR\_\-NODATA} is returned if the property does not exist. \end{Desc}
+\hypertarget{group__Ecore__Config__Property__Group_g04c58473e83ba85d2c382c9d10bc56f9}{
+\index{Ecore_Config_Property_Group@{Ecore\_\-Config\_\-Property\_\-Group}!ecore_config_type_get@{ecore\_\-config\_\-type\_\-get}}
+\index{ecore_config_type_get@{ecore\_\-config\_\-type\_\-get}!Ecore_Config_Property_Group@{Ecore\_\-Config\_\-Property\_\-Group}}
+\subsubsection[ecore\_\-config\_\-type\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI const char$\ast$ ecore\_\-config\_\-type\_\-get (const \hyperlink{structEcore__Config__Prop}{Ecore\_\-Config\_\-Prop} $\ast$ {\em e})}}
+\label{group__Ecore__Config__Property__Group_g04c58473e83ba85d2c382c9d10bc56f9}
+
+
+Returns the type of the property. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em e}]Property to get the type of. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The type of the property. If the property is invalid, then the string \char`\"{}not found\char`\"{} is returned. \end{Desc}
+\hypertarget{group__Ecore__Config__Property__Group_gf1d734bd9aeb5ff8a1094b6d0921cf1b}{
+\index{Ecore_Config_Property_Group@{Ecore\_\-Config\_\-Property\_\-Group}!ecore_config_typed_set@{ecore\_\-config\_\-typed\_\-set}}
+\index{ecore_config_typed_set@{ecore\_\-config\_\-typed\_\-set}!Ecore_Config_Property_Group@{Ecore\_\-Config\_\-Property\_\-Group}}
+\subsubsection[ecore\_\-config\_\-typed\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-config\_\-typed\_\-set (const char $\ast$ {\em key}, const void $\ast$ {\em val}, int {\em type})}}
+\label{group__Ecore__Config__Property__Group_gf1d734bd9aeb5ff8a1094b6d0921cf1b}
+
+
+Sets the indicated property to the given value and type. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em key}]The property key. \item[{\em val}]A pointer to the value to set the property to. \item[{\em type}]The type of the property. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]{\tt ECORE\_\-CONFIG\_\-ERR\_\-SUCC} if the property is set successfully. \end{Desc}
diff --git a/doc/latex/group__Ecore__Config__Set__Group.tex b/doc/latex/group__Ecore__Config__Set__Group.tex
new file mode 100644
index 0000000..5146a99
--- /dev/null
+++ b/doc/latex/group__Ecore__Config__Set__Group.tex
@@ -0,0 +1,214 @@
+\hypertarget{group__Ecore__Config__Set__Group}{
+\section{Ecore Config Setters}
+\label{group__Ecore__Config__Set__Group}\index{Ecore Config Setters@{Ecore Config Setters}}
+}
+Functions that set the value of a property.  
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+EAPI int \hyperlink{group__Ecore__Config__Set__Group_ge147ffba6c49474298bcfb1461f593c9}{ecore\_\-config\_\-set} (const char $\ast$key, const char $\ast$val)
+\begin{CompactList}\small\item\em Sets the indicated property to the value indicated by {\em val\/}. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Config__Set__Group_gfab691d111ef16fdd486add2fed4b8bd}{ecore\_\-config\_\-as\_\-string\_\-set} (const char $\ast$key, const char $\ast$val)
+\begin{CompactList}\small\item\em Sets the indicated property to the value given in the string. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Config__Set__Group_g6fbad3ecd7dce0d8ace0e0b5118cc2a6}{ecore\_\-config\_\-boolean\_\-set} (const char $\ast$key, int val)
+\begin{CompactList}\small\item\em Sets the indicated property to the given boolean. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Config__Set__Group_g541dcb58df81de9197ce5533863c4085}{ecore\_\-config\_\-int\_\-set} (const char $\ast$key, int val)
+\begin{CompactList}\small\item\em Sets the indicated property to the given integer. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Config__Set__Group_g5445639f28f4e46611e5fe2ba1f46364}{ecore\_\-config\_\-string\_\-set} (const char $\ast$key, const char $\ast$val)
+\begin{CompactList}\small\item\em Sets the indicated property to the given string. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Config__Set__Group_gaec767dd5034671bdb8ffab8f4edb4dc}{ecore\_\-config\_\-float\_\-set} (const char $\ast$key, float val)
+\begin{CompactList}\small\item\em Sets the indicated property to the given float value. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Config__Set__Group_g0166bb9b3a099bfac7f1c5d58d9d9431}{ecore\_\-config\_\-argb\_\-set} (const char $\ast$key, int a, int r, int g, int b)
+\begin{CompactList}\small\item\em Sets the indicated property to a color value. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Config__Set__Group_gfee1c65f82dfb80959fb05a390ce4141}{ecore\_\-config\_\-argbint\_\-set} (const char $\ast$key, long argb)
+\begin{CompactList}\small\item\em Sets the indicated property to a color value. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Config__Set__Group_g7b7b74438c9b0f9651332b3867b5b131}{ecore\_\-config\_\-argbstr\_\-set} (const char $\ast$key, const char $\ast$val)
+\begin{CompactList}\small\item\em Sets the indicated property to a color value. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Config__Set__Group_g804199f5e845eb07ca6057a7bdfb1b1f}{ecore\_\-config\_\-theme\_\-set} (const char $\ast$key, const char $\ast$val)
+\begin{CompactList}\small\item\em Sets the indicated property to a theme name. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Config__Set__Group_g6e5aa9c33a4d0c42a35a77ba2c48b8e2}{ecore\_\-config\_\-theme\_\-preview\_\-group\_\-set} (const char $\ast$key, const char $\ast$group)
+\begin{CompactList}\small\item\em Sets the theme preview group of an indicated property. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Functions that set the value of a property. 
+
+
+
+\subsection{Function Documentation}
+\hypertarget{group__Ecore__Config__Set__Group_g0166bb9b3a099bfac7f1c5d58d9d9431}{
+\index{Ecore_Config_Set_Group@{Ecore\_\-Config\_\-Set\_\-Group}!ecore_config_argb_set@{ecore\_\-config\_\-argb\_\-set}}
+\index{ecore_config_argb_set@{ecore\_\-config\_\-argb\_\-set}!Ecore_Config_Set_Group@{Ecore\_\-Config\_\-Set\_\-Group}}
+\subsubsection[ecore\_\-config\_\-argb\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-config\_\-argb\_\-set (const char $\ast$ {\em key}, int {\em a}, int {\em r}, int {\em g}, int {\em b})}}
+\label{group__Ecore__Config__Set__Group_g0166bb9b3a099bfac7f1c5d58d9d9431}
+
+
+Sets the indicated property to a color value. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em key}]The property key \item[{\em a}]integer 0..255 \item[{\em r}]integer 0..255 \item[{\em g}]integer 0..255 \item[{\em b}]integer 0..255 \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]{\tt ECORE\_\-CONFIG\_\-ERR\_\-SUCC} if the property is set successfully. \end{Desc}
+\hypertarget{group__Ecore__Config__Set__Group_gfee1c65f82dfb80959fb05a390ce4141}{
+\index{Ecore_Config_Set_Group@{Ecore\_\-Config\_\-Set\_\-Group}!ecore_config_argbint_set@{ecore\_\-config\_\-argbint\_\-set}}
+\index{ecore_config_argbint_set@{ecore\_\-config\_\-argbint\_\-set}!Ecore_Config_Set_Group@{Ecore\_\-Config\_\-Set\_\-Group}}
+\subsubsection[ecore\_\-config\_\-argbint\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-config\_\-argbint\_\-set (const char $\ast$ {\em key}, long {\em argb})}}
+\label{group__Ecore__Config__Set__Group_gfee1c65f82dfb80959fb05a390ce4141}
+
+
+Sets the indicated property to a color value. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em key}]The property key \item[{\em argb}]ARGB data as long \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]{\tt ECORE\_\-CONFIG\_\-ERR\_\-SUCC} if the property is set successfully. \end{Desc}
+\hypertarget{group__Ecore__Config__Set__Group_g7b7b74438c9b0f9651332b3867b5b131}{
+\index{Ecore_Config_Set_Group@{Ecore\_\-Config\_\-Set\_\-Group}!ecore_config_argbstr_set@{ecore\_\-config\_\-argbstr\_\-set}}
+\index{ecore_config_argbstr_set@{ecore\_\-config\_\-argbstr\_\-set}!Ecore_Config_Set_Group@{Ecore\_\-Config\_\-Set\_\-Group}}
+\subsubsection[ecore\_\-config\_\-argbstr\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-config\_\-argbstr\_\-set (const char $\ast$ {\em key}, const char $\ast$ {\em val})}}
+\label{group__Ecore__Config__Set__Group_g7b7b74438c9b0f9651332b3867b5b131}
+
+
+Sets the indicated property to a color value. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em key}]The property key \item[{\em val}]Color value in ARGB format. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]{\tt ECORE\_\-CONFIG\_\-ERR\_\-SUCC} if the property is set successfully. \end{Desc}
+\hypertarget{group__Ecore__Config__Set__Group_gfab691d111ef16fdd486add2fed4b8bd}{
+\index{Ecore_Config_Set_Group@{Ecore\_\-Config\_\-Set\_\-Group}!ecore_config_as_string_set@{ecore\_\-config\_\-as\_\-string\_\-set}}
+\index{ecore_config_as_string_set@{ecore\_\-config\_\-as\_\-string\_\-set}!Ecore_Config_Set_Group@{Ecore\_\-Config\_\-Set\_\-Group}}
+\subsubsection[ecore\_\-config\_\-as\_\-string\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-config\_\-as\_\-string\_\-set (const char $\ast$ {\em key}, const char $\ast$ {\em val})}}
+\label{group__Ecore__Config__Set__Group_gfab691d111ef16fdd486add2fed4b8bd}
+
+
+Sets the indicated property to the value given in the string. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em key}]The property key. \item[{\em val}]String representation of the value. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]{\tt ECORE\_\-CONFIG\_\-ERR\_\-SUCC} if the property is set successfully. \end{Desc}
+\hypertarget{group__Ecore__Config__Set__Group_g6fbad3ecd7dce0d8ace0e0b5118cc2a6}{
+\index{Ecore_Config_Set_Group@{Ecore\_\-Config\_\-Set\_\-Group}!ecore_config_boolean_set@{ecore\_\-config\_\-boolean\_\-set}}
+\index{ecore_config_boolean_set@{ecore\_\-config\_\-boolean\_\-set}!Ecore_Config_Set_Group@{Ecore\_\-Config\_\-Set\_\-Group}}
+\subsubsection[ecore\_\-config\_\-boolean\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-config\_\-boolean\_\-set (const char $\ast$ {\em key}, int {\em val})}}
+\label{group__Ecore__Config__Set__Group_g6fbad3ecd7dce0d8ace0e0b5118cc2a6}
+
+
+Sets the indicated property to the given boolean. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em key}]The property key. \item[{\em val}]Boolean integer to set the property to. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]{\tt ECORE\_\-CONFIG\_\-ERR\_\-SUCC} if the property is set successfully. \end{Desc}
+\hypertarget{group__Ecore__Config__Set__Group_gaec767dd5034671bdb8ffab8f4edb4dc}{
+\index{Ecore_Config_Set_Group@{Ecore\_\-Config\_\-Set\_\-Group}!ecore_config_float_set@{ecore\_\-config\_\-float\_\-set}}
+\index{ecore_config_float_set@{ecore\_\-config\_\-float\_\-set}!Ecore_Config_Set_Group@{Ecore\_\-Config\_\-Set\_\-Group}}
+\subsubsection[ecore\_\-config\_\-float\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-config\_\-float\_\-set (const char $\ast$ {\em key}, float {\em val})}}
+\label{group__Ecore__Config__Set__Group_gaec767dd5034671bdb8ffab8f4edb4dc}
+
+
+Sets the indicated property to the given float value. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em key}]The property key. \item[{\em val}]Float to set the property to. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]{\tt ECORE\_\-CONFIG\_\-ERR\_\-SUCC} if the property is set successfully. \end{Desc}
+\hypertarget{group__Ecore__Config__Set__Group_g541dcb58df81de9197ce5533863c4085}{
+\index{Ecore_Config_Set_Group@{Ecore\_\-Config\_\-Set\_\-Group}!ecore_config_int_set@{ecore\_\-config\_\-int\_\-set}}
+\index{ecore_config_int_set@{ecore\_\-config\_\-int\_\-set}!Ecore_Config_Set_Group@{Ecore\_\-Config\_\-Set\_\-Group}}
+\subsubsection[ecore\_\-config\_\-int\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-config\_\-int\_\-set (const char $\ast$ {\em key}, int {\em val})}}
+\label{group__Ecore__Config__Set__Group_g541dcb58df81de9197ce5533863c4085}
+
+
+Sets the indicated property to the given integer. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em key}]The property key. \item[{\em val}]Integer to set the property to. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]{\tt ECORE\_\-CONFIG\_\-ERR\_\-SUCC} if the property is set successfully. \end{Desc}
+\hypertarget{group__Ecore__Config__Set__Group_ge147ffba6c49474298bcfb1461f593c9}{
+\index{Ecore_Config_Set_Group@{Ecore\_\-Config\_\-Set\_\-Group}!ecore_config_set@{ecore\_\-config\_\-set}}
+\index{ecore_config_set@{ecore\_\-config\_\-set}!Ecore_Config_Set_Group@{Ecore\_\-Config\_\-Set\_\-Group}}
+\subsubsection[ecore\_\-config\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-config\_\-set (const char $\ast$ {\em key}, const char $\ast$ {\em val})}}
+\label{group__Ecore__Config__Set__Group_ge147ffba6c49474298bcfb1461f593c9}
+
+
+Sets the indicated property to the value indicated by {\em val\/}. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em key}]The property key. \item[{\em val}]String representation of value to set. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]{\tt ECORE\_\-CONFIG\_\-ERR\_\-SUCC} if the property is set successfully. \end{Desc}
+\hypertarget{group__Ecore__Config__Set__Group_g5445639f28f4e46611e5fe2ba1f46364}{
+\index{Ecore_Config_Set_Group@{Ecore\_\-Config\_\-Set\_\-Group}!ecore_config_string_set@{ecore\_\-config\_\-string\_\-set}}
+\index{ecore_config_string_set@{ecore\_\-config\_\-string\_\-set}!Ecore_Config_Set_Group@{Ecore\_\-Config\_\-Set\_\-Group}}
+\subsubsection[ecore\_\-config\_\-string\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-config\_\-string\_\-set (const char $\ast$ {\em key}, const char $\ast$ {\em val})}}
+\label{group__Ecore__Config__Set__Group_g5445639f28f4e46611e5fe2ba1f46364}
+
+
+Sets the indicated property to the given string. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em key}]The property key. \item[{\em val}]String to set the property to. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]{\tt ECORE\_\-CONFIG\_\-ERR\_\-SUCC} if the property is set successfully. \end{Desc}
+\hypertarget{group__Ecore__Config__Set__Group_g6e5aa9c33a4d0c42a35a77ba2c48b8e2}{
+\index{Ecore_Config_Set_Group@{Ecore\_\-Config\_\-Set\_\-Group}!ecore_config_theme_preview_group_set@{ecore\_\-config\_\-theme\_\-preview\_\-group\_\-set}}
+\index{ecore_config_theme_preview_group_set@{ecore\_\-config\_\-theme\_\-preview\_\-group\_\-set}!Ecore_Config_Set_Group@{Ecore\_\-Config\_\-Set\_\-Group}}
+\subsubsection[ecore\_\-config\_\-theme\_\-preview\_\-group\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-config\_\-theme\_\-preview\_\-group\_\-set (const char $\ast$ {\em key}, const char $\ast$ {\em group})}}
+\label{group__Ecore__Config__Set__Group_g6e5aa9c33a4d0c42a35a77ba2c48b8e2}
+
+
+Sets the theme preview group of an indicated property. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em key}]The property key. \item[{\em group}]The group name. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]{\tt ECORE\_\-CONFIG\_\-ERR\_\-SUCC} on success. \end{Desc}
+\hypertarget{group__Ecore__Config__Set__Group_g804199f5e845eb07ca6057a7bdfb1b1f}{
+\index{Ecore_Config_Set_Group@{Ecore\_\-Config\_\-Set\_\-Group}!ecore_config_theme_set@{ecore\_\-config\_\-theme\_\-set}}
+\index{ecore_config_theme_set@{ecore\_\-config\_\-theme\_\-set}!Ecore_Config_Set_Group@{Ecore\_\-Config\_\-Set\_\-Group}}
+\subsubsection[ecore\_\-config\_\-theme\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-config\_\-theme\_\-set (const char $\ast$ {\em key}, const char $\ast$ {\em val})}}
+\label{group__Ecore__Config__Set__Group_g804199f5e845eb07ca6057a7bdfb1b1f}
+
+
+Sets the indicated property to a theme name. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em key}]The property key. \item[{\em val}]String giving the name of the theme. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]{\tt ECORE\_\-CONFIG\_\-ERR\_\-SUCC} if the property is set successfully. \end{Desc}
diff --git a/doc/latex/group__Ecore__Config__Struct__Group.tex b/doc/latex/group__Ecore__Config__Struct__Group.tex
new file mode 100644
index 0000000..de3e273
--- /dev/null
+++ b/doc/latex/group__Ecore__Config__Struct__Group.tex
@@ -0,0 +1,160 @@
+\hypertarget{group__Ecore__Config__Struct__Group}{
+\section{Ecore Config Structures}
+\label{group__Ecore__Config__Struct__Group}\index{Ecore Config Structures@{Ecore Config Structures}}
+}
+Functions that are used to create structures of properties.  
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+EAPI int \hyperlink{group__Ecore__Config__Struct__Group_gcbae1417d6074d82211ec1c69991ca28}{ecore\_\-config\_\-struct\_\-create} (const char $\ast$key)
+\begin{CompactList}\small\item\em Sets the indicated property to a structure if the property has not yet been set. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Config__Struct__Group_g481f406528ecacdb0f91ecb8e8f9bf42}{ecore\_\-config\_\-struct\_\-int\_\-add} (const char $\ast$key, const char $\ast$name, int val)
+\begin{CompactList}\small\item\em Add an int property to the named structure. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Config__Struct__Group_gcdee07879a9f89c333448923c008cd39}{ecore\_\-config\_\-struct\_\-float\_\-add} (const char $\ast$key, const char $\ast$name, float val)
+\begin{CompactList}\small\item\em Add a float property to the named structure. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Config__Struct__Group_g2a2d784a5325e3497daee85b9399531a}{ecore\_\-config\_\-struct\_\-string\_\-add} (const char $\ast$key, const char $\ast$name, const char $\ast$val)
+\begin{CompactList}\small\item\em Add a string property to the named structure. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Config__Struct__Group_g666575a0d011b5d88f527a9d85358dc6}{ecore\_\-config\_\-struct\_\-argb\_\-add} (const char $\ast$key, const char $\ast$name, int a, int r, int g, int b)
+\begin{CompactList}\small\item\em Add an argb property to the named structure. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Config__Struct__Group_g8a996d734081bafcf1b1c58d9cf6ef7d}{ecore\_\-config\_\-struct\_\-theme\_\-add} (const char $\ast$key, const char $\ast$name, const char $\ast$val)
+\begin{CompactList}\small\item\em Add a theme property to the named structure. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Config__Struct__Group_g7f070dc50cb60ea8d1d9f0b390c2b35d}{ecore\_\-config\_\-struct\_\-boolean\_\-add} (const char $\ast$key, const char $\ast$name, int val)
+\begin{CompactList}\small\item\em Add a boolean property to the named structure. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Config__Struct__Group_g6da0b9663d592bc1333f59d83941d703}{ecore\_\-config\_\-struct\_\-get} (const char $\ast$key, void $\ast$data)
+\begin{CompactList}\small\item\em Get the contents of a defined structure property and load it into the passed C struct. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Functions that are used to create structures of properties. 
+
+
+
+\subsection{Function Documentation}
+\hypertarget{group__Ecore__Config__Struct__Group_g666575a0d011b5d88f527a9d85358dc6}{
+\index{Ecore_Config_Struct_Group@{Ecore\_\-Config\_\-Struct\_\-Group}!ecore_config_struct_argb_add@{ecore\_\-config\_\-struct\_\-argb\_\-add}}
+\index{ecore_config_struct_argb_add@{ecore\_\-config\_\-struct\_\-argb\_\-add}!Ecore_Config_Struct_Group@{Ecore\_\-Config\_\-Struct\_\-Group}}
+\subsubsection[ecore\_\-config\_\-struct\_\-argb\_\-add]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-config\_\-struct\_\-argb\_\-add (const char $\ast$ {\em key}, const char $\ast$ {\em name}, int {\em a}, int {\em r}, int {\em g}, int {\em b})}}
+\label{group__Ecore__Config__Struct__Group_g666575a0d011b5d88f527a9d85358dc6}
+
+
+Add an argb property to the named structure. 
+
+The property is set if it has not yet been set. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em key}]The key of the structure to add to. \item[{\em name}]The name of the item to add - this will be appended to the key \item[{\em a}]The alpha to default to \item[{\em r}]The red to default to \item[{\em g}]The green to default to \item[{\em b}]The blue to default to \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]{\tt ECORE\_\-CONFIG\_\-ERR\_\-SUCC} if the property is set successfully. \end{Desc}
+\hypertarget{group__Ecore__Config__Struct__Group_g7f070dc50cb60ea8d1d9f0b390c2b35d}{
+\index{Ecore_Config_Struct_Group@{Ecore\_\-Config\_\-Struct\_\-Group}!ecore_config_struct_boolean_add@{ecore\_\-config\_\-struct\_\-boolean\_\-add}}
+\index{ecore_config_struct_boolean_add@{ecore\_\-config\_\-struct\_\-boolean\_\-add}!Ecore_Config_Struct_Group@{Ecore\_\-Config\_\-Struct\_\-Group}}
+\subsubsection[ecore\_\-config\_\-struct\_\-boolean\_\-add]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-config\_\-struct\_\-boolean\_\-add (const char $\ast$ {\em key}, const char $\ast$ {\em name}, int {\em val})}}
+\label{group__Ecore__Config__Struct__Group_g7f070dc50cb60ea8d1d9f0b390c2b35d}
+
+
+Add a boolean property to the named structure. 
+
+The property is set if it has not yet been set. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em key}]The key of the structure to add to. \item[{\em name}]The name of the item to add - this will be appended to the key \item[{\em val}]The boolean to default to \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]{\tt ECORE\_\-CONFIG\_\-ERR\_\-SUCC} if the property is set successfully. \end{Desc}
+\hypertarget{group__Ecore__Config__Struct__Group_gcbae1417d6074d82211ec1c69991ca28}{
+\index{Ecore_Config_Struct_Group@{Ecore\_\-Config\_\-Struct\_\-Group}!ecore_config_struct_create@{ecore\_\-config\_\-struct\_\-create}}
+\index{ecore_config_struct_create@{ecore\_\-config\_\-struct\_\-create}!Ecore_Config_Struct_Group@{Ecore\_\-Config\_\-Struct\_\-Group}}
+\subsubsection[ecore\_\-config\_\-struct\_\-create]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-config\_\-struct\_\-create (const char $\ast$ {\em key})}}
+\label{group__Ecore__Config__Struct__Group_gcbae1417d6074d82211ec1c69991ca28}
+
+
+Sets the indicated property to a structure if the property has not yet been set. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em key}]The property key. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]{\tt ECORE\_\-CONFIG\_\-ERR\_\-SUCC} if the property is set successfully. \end{Desc}
+\hypertarget{group__Ecore__Config__Struct__Group_gcdee07879a9f89c333448923c008cd39}{
+\index{Ecore_Config_Struct_Group@{Ecore\_\-Config\_\-Struct\_\-Group}!ecore_config_struct_float_add@{ecore\_\-config\_\-struct\_\-float\_\-add}}
+\index{ecore_config_struct_float_add@{ecore\_\-config\_\-struct\_\-float\_\-add}!Ecore_Config_Struct_Group@{Ecore\_\-Config\_\-Struct\_\-Group}}
+\subsubsection[ecore\_\-config\_\-struct\_\-float\_\-add]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-config\_\-struct\_\-float\_\-add (const char $\ast$ {\em key}, const char $\ast$ {\em name}, float {\em val})}}
+\label{group__Ecore__Config__Struct__Group_gcdee07879a9f89c333448923c008cd39}
+
+
+Add a float property to the named structure. 
+
+The property is set if it has not yet been set. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em key}]The key of the structure to add to. \item[{\em name}]The name of the item to add - this will be appended to the key \item[{\em val}]The float to default to \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]{\tt ECORE\_\-CONFIG\_\-ERR\_\-SUCC} if the property is set successfully. \end{Desc}
+\hypertarget{group__Ecore__Config__Struct__Group_g6da0b9663d592bc1333f59d83941d703}{
+\index{Ecore_Config_Struct_Group@{Ecore\_\-Config\_\-Struct\_\-Group}!ecore_config_struct_get@{ecore\_\-config\_\-struct\_\-get}}
+\index{ecore_config_struct_get@{ecore\_\-config\_\-struct\_\-get}!Ecore_Config_Struct_Group@{Ecore\_\-Config\_\-Struct\_\-Group}}
+\subsubsection[ecore\_\-config\_\-struct\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-config\_\-struct\_\-get (const char $\ast$ {\em key}, void $\ast$ {\em data})}}
+\label{group__Ecore__Config__Struct__Group_g6da0b9663d592bc1333f59d83941d703}
+
+
+Get the contents of a defined structure property and load it into the passed C struct. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em key}]The name of the structure property to look up. \item[{\em data}]The struct to write into. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]{\tt ECORE\_\-CONFIG\_\-ERR\_\-SUCC} if the structure is written successfully. \end{Desc}
+\hypertarget{group__Ecore__Config__Struct__Group_g481f406528ecacdb0f91ecb8e8f9bf42}{
+\index{Ecore_Config_Struct_Group@{Ecore\_\-Config\_\-Struct\_\-Group}!ecore_config_struct_int_add@{ecore\_\-config\_\-struct\_\-int\_\-add}}
+\index{ecore_config_struct_int_add@{ecore\_\-config\_\-struct\_\-int\_\-add}!Ecore_Config_Struct_Group@{Ecore\_\-Config\_\-Struct\_\-Group}}
+\subsubsection[ecore\_\-config\_\-struct\_\-int\_\-add]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-config\_\-struct\_\-int\_\-add (const char $\ast$ {\em key}, const char $\ast$ {\em name}, int {\em val})}}
+\label{group__Ecore__Config__Struct__Group_g481f406528ecacdb0f91ecb8e8f9bf42}
+
+
+Add an int property to the named structure. 
+
+The property is set if it has not yet been set. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em key}]The key of the structure to add to. \item[{\em name}]The name of the item to add - this will be appended to the key \item[{\em val}]the int to default to \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]{\tt ECORE\_\-CONFIG\_\-ERR\_\-SUCC} if the property is set successfully. \end{Desc}
+\hypertarget{group__Ecore__Config__Struct__Group_g2a2d784a5325e3497daee85b9399531a}{
+\index{Ecore_Config_Struct_Group@{Ecore\_\-Config\_\-Struct\_\-Group}!ecore_config_struct_string_add@{ecore\_\-config\_\-struct\_\-string\_\-add}}
+\index{ecore_config_struct_string_add@{ecore\_\-config\_\-struct\_\-string\_\-add}!Ecore_Config_Struct_Group@{Ecore\_\-Config\_\-Struct\_\-Group}}
+\subsubsection[ecore\_\-config\_\-struct\_\-string\_\-add]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-config\_\-struct\_\-string\_\-add (const char $\ast$ {\em key}, const char $\ast$ {\em name}, const char $\ast$ {\em val})}}
+\label{group__Ecore__Config__Struct__Group_g2a2d784a5325e3497daee85b9399531a}
+
+
+Add a string property to the named structure. 
+
+The property is set if it has not yet been set. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em key}]The key of the structure to add to. \item[{\em name}]The name of the item to add - this will be appended to the key \item[{\em val}]The string to default to \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]{\tt ECORE\_\-CONFIG\_\-ERR\_\-SUCC} if the property is set successfully. \end{Desc}
+\hypertarget{group__Ecore__Config__Struct__Group_g8a996d734081bafcf1b1c58d9cf6ef7d}{
+\index{Ecore_Config_Struct_Group@{Ecore\_\-Config\_\-Struct\_\-Group}!ecore_config_struct_theme_add@{ecore\_\-config\_\-struct\_\-theme\_\-add}}
+\index{ecore_config_struct_theme_add@{ecore\_\-config\_\-struct\_\-theme\_\-add}!Ecore_Config_Struct_Group@{Ecore\_\-Config\_\-Struct\_\-Group}}
+\subsubsection[ecore\_\-config\_\-struct\_\-theme\_\-add]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-config\_\-struct\_\-theme\_\-add (const char $\ast$ {\em key}, const char $\ast$ {\em name}, const char $\ast$ {\em val})}}
+\label{group__Ecore__Config__Struct__Group_g8a996d734081bafcf1b1c58d9cf6ef7d}
+
+
+Add a theme property to the named structure. 
+
+The property is set if it has not yet been set. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em key}]The key of the structure to add to. \item[{\em name}]The name of the item to add - this will be appended to the key \item[{\em val}]The theme name to default to \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]{\tt ECORE\_\-CONFIG\_\-ERR\_\-SUCC} if the property is set successfully. \end{Desc}
diff --git a/doc/latex/group__Ecore__Data__DList__Add__Item__Group.tex b/doc/latex/group__Ecore__Data__DList__Add__Item__Group.tex
new file mode 100644
index 0000000..de6262b
--- /dev/null
+++ b/doc/latex/group__Ecore__Data__DList__Add__Item__Group.tex
@@ -0,0 +1,106 @@
+\hypertarget{group__Ecore__Data__DList__Add__Item__Group}{
+\section{Doubly Linked List Adding Functions}
+\label{group__Ecore__Data__DList__Add__Item__Group}\index{Doubly Linked List Adding Functions@{Doubly Linked List Adding Functions}}
+}
+Functions that are used to add nodes to an Ecore\_\-DList.  
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+EAPI int \hyperlink{group__Ecore__Data__DList__Add__Item__Group_gb9ecd4d6c0b462afd43b6703497952dc}{ecore\_\-dlist\_\-append} (Ecore\_\-DList $\ast$list, void $\ast$data)
+\begin{CompactList}\small\item\em Appends data to the given doubly linked list. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Data__DList__Add__Item__Group_g95c60034d74c2200bce2f8cb1e1fd952}{ecore\_\-dlist\_\-prepend} (Ecore\_\-DList $\ast$list, void $\ast$data)
+\begin{CompactList}\small\item\em Adds data to the very beginning of the given doubly linked list. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Data__DList__Add__Item__Group_g222f069fec04411a84c8b874f01c66a3}{ecore\_\-dlist\_\-insert} (Ecore\_\-DList $\ast$list, void $\ast$data)
+\begin{CompactList}\small\item\em Inserts data at the current point in the given doubly linked list. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Data__DList__Add__Item__Group_g04436a308abfaf767d15579d6b7f92d9}{ecore\_\-dlist\_\-append\_\-list} (Ecore\_\-DList $\ast$list, Ecore\_\-DList $\ast$append)
+\begin{CompactList}\small\item\em Appends a list to the given doubly linked list. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Data__DList__Add__Item__Group_g220fcae29f75447ebaa00aa204852db1}{ecore\_\-dlist\_\-prepend\_\-list} (Ecore\_\-DList $\ast$list, Ecore\_\-DList $\ast$prepend)
+\begin{CompactList}\small\item\em Adds a list to the very beginning of the given doubly linked list. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Functions that are used to add nodes to an Ecore\_\-DList. 
+
+
+
+\subsection{Function Documentation}
+\hypertarget{group__Ecore__Data__DList__Add__Item__Group_gb9ecd4d6c0b462afd43b6703497952dc}{
+\index{Ecore_Data_DList_Add_Item_Group@{Ecore\_\-Data\_\-DList\_\-Add\_\-Item\_\-Group}!ecore_dlist_append@{ecore\_\-dlist\_\-append}}
+\index{ecore_dlist_append@{ecore\_\-dlist\_\-append}!Ecore_Data_DList_Add_Item_Group@{Ecore\_\-Data\_\-DList\_\-Add\_\-Item\_\-Group}}
+\subsubsection[ecore\_\-dlist\_\-append]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-dlist\_\-append (Ecore\_\-DList $\ast$ {\em list}, void $\ast$ {\em data})}}
+\label{group__Ecore__Data__DList__Add__Item__Group_gb9ecd4d6c0b462afd43b6703497952dc}
+
+
+Appends data to the given doubly linked list. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em list}]The given doubly linked list. \item[{\em data}]The data to append. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]{\tt TRUE} if the data is successfully appended, {\tt FALSE} otherwise. \end{Desc}
+\hypertarget{group__Ecore__Data__DList__Add__Item__Group_g04436a308abfaf767d15579d6b7f92d9}{
+\index{Ecore_Data_DList_Add_Item_Group@{Ecore\_\-Data\_\-DList\_\-Add\_\-Item\_\-Group}!ecore_dlist_append_list@{ecore\_\-dlist\_\-append\_\-list}}
+\index{ecore_dlist_append_list@{ecore\_\-dlist\_\-append\_\-list}!Ecore_Data_DList_Add_Item_Group@{Ecore\_\-Data\_\-DList\_\-Add\_\-Item\_\-Group}}
+\subsubsection[ecore\_\-dlist\_\-append\_\-list]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-dlist\_\-append\_\-list (Ecore\_\-DList $\ast$ {\em list}, Ecore\_\-DList $\ast$ {\em append})}}
+\label{group__Ecore__Data__DList__Add__Item__Group_g04436a308abfaf767d15579d6b7f92d9}
+
+
+Appends a list to the given doubly linked list. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em list}]The given doubly linked list. \item[{\em append}]The list to append. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]{\tt TRUE} if the data is successfully appended, {\tt FALSE} otherwise. \end{Desc}
+\hypertarget{group__Ecore__Data__DList__Add__Item__Group_g222f069fec04411a84c8b874f01c66a3}{
+\index{Ecore_Data_DList_Add_Item_Group@{Ecore\_\-Data\_\-DList\_\-Add\_\-Item\_\-Group}!ecore_dlist_insert@{ecore\_\-dlist\_\-insert}}
+\index{ecore_dlist_insert@{ecore\_\-dlist\_\-insert}!Ecore_Data_DList_Add_Item_Group@{Ecore\_\-Data\_\-DList\_\-Add\_\-Item\_\-Group}}
+\subsubsection[ecore\_\-dlist\_\-insert]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-dlist\_\-insert (Ecore\_\-DList $\ast$ {\em list}, void $\ast$ {\em data})}}
+\label{group__Ecore__Data__DList__Add__Item__Group_g222f069fec04411a84c8b874f01c66a3}
+
+
+Inserts data at the current point in the given doubly linked list. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em list}]The given doubly linked list. \item[{\em data}]The data to be inserted. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]{\tt TRUE} on success, {\tt FALSE} otherwise. \end{Desc}
+\hypertarget{group__Ecore__Data__DList__Add__Item__Group_g95c60034d74c2200bce2f8cb1e1fd952}{
+\index{Ecore_Data_DList_Add_Item_Group@{Ecore\_\-Data\_\-DList\_\-Add\_\-Item\_\-Group}!ecore_dlist_prepend@{ecore\_\-dlist\_\-prepend}}
+\index{ecore_dlist_prepend@{ecore\_\-dlist\_\-prepend}!Ecore_Data_DList_Add_Item_Group@{Ecore\_\-Data\_\-DList\_\-Add\_\-Item\_\-Group}}
+\subsubsection[ecore\_\-dlist\_\-prepend]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-dlist\_\-prepend (Ecore\_\-DList $\ast$ {\em list}, void $\ast$ {\em data})}}
+\label{group__Ecore__Data__DList__Add__Item__Group_g95c60034d74c2200bce2f8cb1e1fd952}
+
+
+Adds data to the very beginning of the given doubly linked list. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em list}]The given doubly linked list. \item[{\em data}]The data to prepend. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]{\tt TRUE} if the data is successfully prepended, {\tt FALSE} otherwise. \end{Desc}
+\hypertarget{group__Ecore__Data__DList__Add__Item__Group_g220fcae29f75447ebaa00aa204852db1}{
+\index{Ecore_Data_DList_Add_Item_Group@{Ecore\_\-Data\_\-DList\_\-Add\_\-Item\_\-Group}!ecore_dlist_prepend_list@{ecore\_\-dlist\_\-prepend\_\-list}}
+\index{ecore_dlist_prepend_list@{ecore\_\-dlist\_\-prepend\_\-list}!Ecore_Data_DList_Add_Item_Group@{Ecore\_\-Data\_\-DList\_\-Add\_\-Item\_\-Group}}
+\subsubsection[ecore\_\-dlist\_\-prepend\_\-list]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-dlist\_\-prepend\_\-list (Ecore\_\-DList $\ast$ {\em list}, Ecore\_\-DList $\ast$ {\em prepend})}}
+\label{group__Ecore__Data__DList__Add__Item__Group_g220fcae29f75447ebaa00aa204852db1}
+
+
+Adds a list to the very beginning of the given doubly linked list. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em list}]The given doubly linked list. \item[{\em prepend}]The list to prepend. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]{\tt TRUE} if the data is successfully prepended, {\tt FALSE} otherwise. \end{Desc}
diff --git a/doc/latex/group__Ecore__Data__DList__Creation__Group.tex b/doc/latex/group__Ecore__Data__DList__Creation__Group.tex
new file mode 100644
index 0000000..7b76a85
--- /dev/null
+++ b/doc/latex/group__Ecore__Data__DList__Creation__Group.tex
@@ -0,0 +1,81 @@
+\hypertarget{group__Ecore__Data__DList__Creation__Group}{
+\section{Doubly Linked List Creation/Destruction Functions}
+\label{group__Ecore__Data__DList__Creation__Group}\index{Doubly Linked List Creation/Destruction Functions@{Doubly Linked List Creation/Destruction Functions}}
+}
+Functions used to create, initialize and destroy {\tt Ecore\_\-DLists}.  
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+EAPI Ecore\_\-DList $\ast$ \hyperlink{group__Ecore__Data__DList__Creation__Group_g6b10331356b28504aedbe6fb5f483a21}{ecore\_\-dlist\_\-new} ()
+\begin{CompactList}\small\item\em Creates and initialises a new doubly linked list. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Data__DList__Creation__Group_g7958d0f1de2e465f521456f12fad103c}{ecore\_\-dlist\_\-init} (Ecore\_\-DList $\ast$list)
+\begin{CompactList}\small\item\em Initialises a list to some sane starting values. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__Data__DList__Creation__Group_g838f7287130783e63b6ccf9ebbd6d7b2}{ecore\_\-dlist\_\-destroy} (Ecore\_\-DList $\ast$list)
+\begin{CompactList}\small\item\em Frees a doubly linked list and all of its nodes. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Data__DList__Creation__Group_gda3e2854278324fcf135e4831aadce71}{ecore\_\-dlist\_\-free\_\-cb\_\-set} (Ecore\_\-DList $\ast$list, Ecore\_\-Free\_\-Cb free\_\-func)
+\begin{CompactList}\small\item\em Sets the function used for freeing data stored in a doubly linked list. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Functions used to create, initialize and destroy {\tt Ecore\_\-DLists}. 
+
+
+
+\subsection{Function Documentation}
+\hypertarget{group__Ecore__Data__DList__Creation__Group_g838f7287130783e63b6ccf9ebbd6d7b2}{
+\index{Ecore_Data_DList_Creation_Group@{Ecore\_\-Data\_\-DList\_\-Creation\_\-Group}!ecore_dlist_destroy@{ecore\_\-dlist\_\-destroy}}
+\index{ecore_dlist_destroy@{ecore\_\-dlist\_\-destroy}!Ecore_Data_DList_Creation_Group@{Ecore\_\-Data\_\-DList\_\-Creation\_\-Group}}
+\subsubsection[ecore\_\-dlist\_\-destroy]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-dlist\_\-destroy (Ecore\_\-DList $\ast$ {\em list})}}
+\label{group__Ecore__Data__DList__Creation__Group_g838f7287130783e63b6ccf9ebbd6d7b2}
+
+
+Frees a doubly linked list and all of its nodes. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em list}]The doubly linked list to be freed. \end{description}
+\end{Desc}
+\hypertarget{group__Ecore__Data__DList__Creation__Group_gda3e2854278324fcf135e4831aadce71}{
+\index{Ecore_Data_DList_Creation_Group@{Ecore\_\-Data\_\-DList\_\-Creation\_\-Group}!ecore_dlist_free_cb_set@{ecore\_\-dlist\_\-free\_\-cb\_\-set}}
+\index{ecore_dlist_free_cb_set@{ecore\_\-dlist\_\-free\_\-cb\_\-set}!Ecore_Data_DList_Creation_Group@{Ecore\_\-Data\_\-DList\_\-Creation\_\-Group}}
+\subsubsection[ecore\_\-dlist\_\-free\_\-cb\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-dlist\_\-free\_\-cb\_\-set (Ecore\_\-DList $\ast$ {\em list}, Ecore\_\-Free\_\-Cb {\em free\_\-func})}}
+\label{group__Ecore__Data__DList__Creation__Group_gda3e2854278324fcf135e4831aadce71}
+
+
+Sets the function used for freeing data stored in a doubly linked list. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em list}]The doubly linked list that will use this function when nodes are destroyed. \item[{\em free\_\-func}]The function that will free the key data \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]{\tt TRUE} on success, {\tt FALSE} on failure. \end{Desc}
+\hypertarget{group__Ecore__Data__DList__Creation__Group_g7958d0f1de2e465f521456f12fad103c}{
+\index{Ecore_Data_DList_Creation_Group@{Ecore\_\-Data\_\-DList\_\-Creation\_\-Group}!ecore_dlist_init@{ecore\_\-dlist\_\-init}}
+\index{ecore_dlist_init@{ecore\_\-dlist\_\-init}!Ecore_Data_DList_Creation_Group@{Ecore\_\-Data\_\-DList\_\-Creation\_\-Group}}
+\subsubsection[ecore\_\-dlist\_\-init]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-dlist\_\-init (Ecore\_\-DList $\ast$ {\em list})}}
+\label{group__Ecore__Data__DList__Creation__Group_g7958d0f1de2e465f521456f12fad103c}
+
+
+Initialises a list to some sane starting values. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em list}]The doubly linked list to initialise. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]{\tt TRUE} if successful, {\tt FALSE} if an error occurs. \end{Desc}
+\hypertarget{group__Ecore__Data__DList__Creation__Group_g6b10331356b28504aedbe6fb5f483a21}{
+\index{Ecore_Data_DList_Creation_Group@{Ecore\_\-Data\_\-DList\_\-Creation\_\-Group}!ecore_dlist_new@{ecore\_\-dlist\_\-new}}
+\index{ecore_dlist_new@{ecore\_\-dlist\_\-new}!Ecore_Data_DList_Creation_Group@{Ecore\_\-Data\_\-DList\_\-Creation\_\-Group}}
+\subsubsection[ecore\_\-dlist\_\-new]{\setlength{\rightskip}{0pt plus 5cm}EAPI Ecore\_\-DList$\ast$ ecore\_\-dlist\_\-new (void)}}
+\label{group__Ecore__Data__DList__Creation__Group_g6b10331356b28504aedbe6fb5f483a21}
+
+
+Creates and initialises a new doubly linked list. 
+
+\begin{Desc}
+\item[Returns:]A new initialised doubly linked list on success, {\tt NULL} on failure. \end{Desc}
diff --git a/doc/latex/group__Ecore__Data__DList__Remove__Item__Group.tex b/doc/latex/group__Ecore__Data__DList__Remove__Item__Group.tex
new file mode 100644
index 0000000..285e243
--- /dev/null
+++ b/doc/latex/group__Ecore__Data__DList__Remove__Item__Group.tex
@@ -0,0 +1,88 @@
+\hypertarget{group__Ecore__Data__DList__Remove__Item__Group}{
+\section{Doubly Linked List Removing Functions}
+\label{group__Ecore__Data__DList__Remove__Item__Group}\index{Doubly Linked List Removing Functions@{Doubly Linked List Removing Functions}}
+}
+Functions that remove nodes from an {\tt Ecore\_\-DList}.  
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+EAPI void $\ast$ \hyperlink{group__Ecore__Data__DList__Remove__Item__Group_g57c91ac510db4da827353d0f034a6fb8}{ecore\_\-dlist\_\-remove} (Ecore\_\-DList $\ast$list)
+\begin{CompactList}\small\item\em Removes the current item from the given doubly linked list. \item\end{CompactList}\item 
+EAPI void $\ast$ \hyperlink{group__Ecore__Data__DList__Remove__Item__Group_g6df23f69806e4a65bde1a4031170ef2c}{ecore\_\-dlist\_\-first\_\-remove} (Ecore\_\-DList $\ast$list)
+\begin{CompactList}\small\item\em Removes the first item from the given doubly linked list. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Data__DList__Remove__Item__Group_gd98f5e6976e2da0fcabe4a22a4f704f7}{ecore\_\-dlist\_\-remove\_\-destroy} (Ecore\_\-DList $\ast$list)
+\begin{CompactList}\small\item\em Removes and frees the data at the current position in the given doubly linked list. \item\end{CompactList}\item 
+EAPI void $\ast$ \hyperlink{group__Ecore__Data__DList__Remove__Item__Group_ga8104f45ce30a4d8df091d58c0c56d00}{ecore\_\-dlist\_\-last\_\-remove} (Ecore\_\-DList $\ast$list)
+\begin{CompactList}\small\item\em Removes the last item from the given doubly linked list. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Functions that remove nodes from an {\tt Ecore\_\-DList}. 
+
+
+
+\subsection{Function Documentation}
+\hypertarget{group__Ecore__Data__DList__Remove__Item__Group_g6df23f69806e4a65bde1a4031170ef2c}{
+\index{Ecore_Data_DList_Remove_Item_Group@{Ecore\_\-Data\_\-DList\_\-Remove\_\-Item\_\-Group}!ecore_dlist_first_remove@{ecore\_\-dlist\_\-first\_\-remove}}
+\index{ecore_dlist_first_remove@{ecore\_\-dlist\_\-first\_\-remove}!Ecore_Data_DList_Remove_Item_Group@{Ecore\_\-Data\_\-DList\_\-Remove\_\-Item\_\-Group}}
+\subsubsection[ecore\_\-dlist\_\-first\_\-remove]{\setlength{\rightskip}{0pt plus 5cm}EAPI void$\ast$ ecore\_\-dlist\_\-first\_\-remove (Ecore\_\-DList $\ast$ {\em list})}}
+\label{group__Ecore__Data__DList__Remove__Item__Group_g6df23f69806e4a65bde1a4031170ef2c}
+
+
+Removes the first item from the given doubly linked list. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em list}]The given doubly linked list. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]A pointer to the removed data on success, {\tt NULL} on failure. \end{Desc}
+\hypertarget{group__Ecore__Data__DList__Remove__Item__Group_ga8104f45ce30a4d8df091d58c0c56d00}{
+\index{Ecore_Data_DList_Remove_Item_Group@{Ecore\_\-Data\_\-DList\_\-Remove\_\-Item\_\-Group}!ecore_dlist_last_remove@{ecore\_\-dlist\_\-last\_\-remove}}
+\index{ecore_dlist_last_remove@{ecore\_\-dlist\_\-last\_\-remove}!Ecore_Data_DList_Remove_Item_Group@{Ecore\_\-Data\_\-DList\_\-Remove\_\-Item\_\-Group}}
+\subsubsection[ecore\_\-dlist\_\-last\_\-remove]{\setlength{\rightskip}{0pt plus 5cm}EAPI void$\ast$ ecore\_\-dlist\_\-last\_\-remove (Ecore\_\-DList $\ast$ {\em list})}}
+\label{group__Ecore__Data__DList__Remove__Item__Group_ga8104f45ce30a4d8df091d58c0c56d00}
+
+
+Removes the last item from the given doubly linked list. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em list}]The given doubly linked list. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]A pointer to the removed data on success, {\tt NULL} otherwise. \end{Desc}
+\hypertarget{group__Ecore__Data__DList__Remove__Item__Group_g57c91ac510db4da827353d0f034a6fb8}{
+\index{Ecore_Data_DList_Remove_Item_Group@{Ecore\_\-Data\_\-DList\_\-Remove\_\-Item\_\-Group}!ecore_dlist_remove@{ecore\_\-dlist\_\-remove}}
+\index{ecore_dlist_remove@{ecore\_\-dlist\_\-remove}!Ecore_Data_DList_Remove_Item_Group@{Ecore\_\-Data\_\-DList\_\-Remove\_\-Item\_\-Group}}
+\subsubsection[ecore\_\-dlist\_\-remove]{\setlength{\rightskip}{0pt plus 5cm}EAPI void$\ast$ ecore\_\-dlist\_\-remove (Ecore\_\-DList $\ast$ {\em list})}}
+\label{group__Ecore__Data__DList__Remove__Item__Group_g57c91ac510db4da827353d0f034a6fb8}
+
+
+Removes the current item from the given doubly linked list. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em list}]The given doubly linked list. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]A pointer to the removed data on success, {\tt NULL} otherwise. \end{Desc}
+\hypertarget{group__Ecore__Data__DList__Remove__Item__Group_gd98f5e6976e2da0fcabe4a22a4f704f7}{
+\index{Ecore_Data_DList_Remove_Item_Group@{Ecore\_\-Data\_\-DList\_\-Remove\_\-Item\_\-Group}!ecore_dlist_remove_destroy@{ecore\_\-dlist\_\-remove\_\-destroy}}
+\index{ecore_dlist_remove_destroy@{ecore\_\-dlist\_\-remove\_\-destroy}!Ecore_Data_DList_Remove_Item_Group@{Ecore\_\-Data\_\-DList\_\-Remove\_\-Item\_\-Group}}
+\subsubsection[ecore\_\-dlist\_\-remove\_\-destroy]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-dlist\_\-remove\_\-destroy (Ecore\_\-DList $\ast$ {\em list})}}
+\label{group__Ecore__Data__DList__Remove__Item__Group_gd98f5e6976e2da0fcabe4a22a4f704f7}
+
+
+Removes and frees the data at the current position in the given doubly linked list. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em list}]The given doubly linked list. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]{\tt TRUE} on success, {\tt FALSE} otherwise. \end{Desc}
diff --git a/doc/latex/group__Ecore__Data__Hash__ADT__Creation__Group.tex b/doc/latex/group__Ecore__Data__Hash__ADT__Creation__Group.tex
new file mode 100644
index 0000000..7bebf34
--- /dev/null
+++ b/doc/latex/group__Ecore__Data__Hash__ADT__Creation__Group.tex
@@ -0,0 +1,52 @@
+\hypertarget{group__Ecore__Data__Hash__ADT__Creation__Group}{
+\section{Hash Creation Functions}
+\label{group__Ecore__Data__Hash__ADT__Creation__Group}\index{Hash Creation Functions@{Hash Creation Functions}}
+}
+Functions that create hash tables.  
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+EAPI Ecore\_\-Hash $\ast$ \hyperlink{group__Ecore__Data__Hash__ADT__Creation__Group_g5de992790f5cc11571b5739299a1f472}{ecore\_\-hash\_\-new} (Ecore\_\-Hash\_\-Cb hash\_\-func, Ecore\_\-Compare\_\-Cb compare)
+\begin{CompactList}\small\item\em Creates and initializes a new hash. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Data__Hash__ADT__Creation__Group_gce3bbd88a3fc2bcc391da07fce9cf1a7}{ecore\_\-hash\_\-init} (Ecore\_\-Hash $\ast$hash, Ecore\_\-Hash\_\-Cb hash\_\-func, Ecore\_\-Compare\_\-Cb compare)
+\begin{CompactList}\small\item\em Initializes the given hash. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Functions that create hash tables. 
+
+
+
+\subsection{Function Documentation}
+\hypertarget{group__Ecore__Data__Hash__ADT__Creation__Group_gce3bbd88a3fc2bcc391da07fce9cf1a7}{
+\index{Ecore_Data_Hash_ADT_Creation_Group@{Ecore\_\-Data\_\-Hash\_\-ADT\_\-Creation\_\-Group}!ecore_hash_init@{ecore\_\-hash\_\-init}}
+\index{ecore_hash_init@{ecore\_\-hash\_\-init}!Ecore_Data_Hash_ADT_Creation_Group@{Ecore\_\-Data\_\-Hash\_\-ADT\_\-Creation\_\-Group}}
+\subsubsection[ecore\_\-hash\_\-init]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-hash\_\-init (Ecore\_\-Hash $\ast$ {\em hash}, Ecore\_\-Hash\_\-Cb {\em hash\_\-func}, Ecore\_\-Compare\_\-Cb {\em compare})}}
+\label{group__Ecore__Data__Hash__ADT__Creation__Group_gce3bbd88a3fc2bcc391da07fce9cf1a7}
+
+
+Initializes the given hash. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em hash}]The given hash. \item[{\em hash\_\-func}]The function used for hashing node keys. \item[{\em compare}]The function used for comparing node keys. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]{\tt TRUE} on success, {\tt FALSE} on an error. \end{Desc}
+\hypertarget{group__Ecore__Data__Hash__ADT__Creation__Group_g5de992790f5cc11571b5739299a1f472}{
+\index{Ecore_Data_Hash_ADT_Creation_Group@{Ecore\_\-Data\_\-Hash\_\-ADT\_\-Creation\_\-Group}!ecore_hash_new@{ecore\_\-hash\_\-new}}
+\index{ecore_hash_new@{ecore\_\-hash\_\-new}!Ecore_Data_Hash_ADT_Creation_Group@{Ecore\_\-Data\_\-Hash\_\-ADT\_\-Creation\_\-Group}}
+\subsubsection[ecore\_\-hash\_\-new]{\setlength{\rightskip}{0pt plus 5cm}EAPI Ecore\_\-Hash$\ast$ ecore\_\-hash\_\-new (Ecore\_\-Hash\_\-Cb {\em hash\_\-func}, Ecore\_\-Compare\_\-Cb {\em compare})}}
+\label{group__Ecore__Data__Hash__ADT__Creation__Group_g5de992790f5cc11571b5739299a1f472}
+
+
+Creates and initializes a new hash. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em hash\_\-func}]The function for determining hash position. \item[{\em compare}]The function for comparing node keys. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]{\tt NULL} on error, a new hash on success. \end{Desc}
diff --git a/doc/latex/group__Ecore__Data__Hash__ADT__Data__Group.tex b/doc/latex/group__Ecore__Data__Hash__ADT__Data__Group.tex
new file mode 100644
index 0000000..e3df8b3
--- /dev/null
+++ b/doc/latex/group__Ecore__Data__Hash__ADT__Data__Group.tex
@@ -0,0 +1,106 @@
+\hypertarget{group__Ecore__Data__Hash__ADT__Data__Group}{
+\section{Hash Data Functions}
+\label{group__Ecore__Data__Hash__ADT__Data__Group}\index{Hash Data Functions@{Hash Data Functions}}
+}
+Functions that set, access and delete values from the hash tables.  
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+EAPI int \hyperlink{group__Ecore__Data__Hash__ADT__Data__Group_gbac7868d1b39556c7499dc2786ca1fe5}{ecore\_\-hash\_\-set} (Ecore\_\-Hash $\ast$hash, void $\ast$key, void $\ast$value)
+\begin{CompactList}\small\item\em Sets a key-value pair in the given hash table. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Data__Hash__ADT__Data__Group_g64262a142e203f74778cff91bdc46e1e}{ecore\_\-hash\_\-hash\_\-set} (Ecore\_\-Hash $\ast$hash, Ecore\_\-Hash $\ast$set)
+\begin{CompactList}\small\item\em Sets all key-value pairs from set in the given hash table. \item\end{CompactList}\item 
+EAPI void $\ast$ \hyperlink{group__Ecore__Data__Hash__ADT__Data__Group_g90c2fcaadceee751422bce089bff22e9}{ecore\_\-hash\_\-get} (Ecore\_\-Hash $\ast$hash, const void $\ast$key)
+\begin{CompactList}\small\item\em Retrieves the value associated with the given key from the given hash table. \item\end{CompactList}\item 
+EAPI void $\ast$ \hyperlink{group__Ecore__Data__Hash__ADT__Data__Group_g1f69d26d118beb108e260bf92f764b77}{ecore\_\-hash\_\-remove} (Ecore\_\-Hash $\ast$hash, const void $\ast$key)
+\begin{CompactList}\small\item\em Removes the value associated with the given key in the given hash table. \item\end{CompactList}\item 
+EAPI void $\ast$ \hyperlink{group__Ecore__Data__Hash__ADT__Data__Group_g9c2c0764302ec227472c3b643864c745}{ecore\_\-hash\_\-find} (Ecore\_\-Hash $\ast$hash, Ecore\_\-Compare\_\-Cb compare, const void $\ast$value)
+\begin{CompactList}\small\item\em Retrieves the first value that matches table. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Functions that set, access and delete values from the hash tables. 
+
+
+
+\subsection{Function Documentation}
+\hypertarget{group__Ecore__Data__Hash__ADT__Data__Group_g9c2c0764302ec227472c3b643864c745}{
+\index{Ecore_Data_Hash_ADT_Data_Group@{Ecore\_\-Data\_\-Hash\_\-ADT\_\-Data\_\-Group}!ecore_hash_find@{ecore\_\-hash\_\-find}}
+\index{ecore_hash_find@{ecore\_\-hash\_\-find}!Ecore_Data_Hash_ADT_Data_Group@{Ecore\_\-Data\_\-Hash\_\-ADT\_\-Data\_\-Group}}
+\subsubsection[ecore\_\-hash\_\-find]{\setlength{\rightskip}{0pt plus 5cm}EAPI void$\ast$ ecore\_\-hash\_\-find (Ecore\_\-Hash $\ast$ {\em hash}, Ecore\_\-Compare\_\-Cb {\em compare}, const void $\ast$ {\em value})}}
+\label{group__Ecore__Data__Hash__ADT__Data__Group_g9c2c0764302ec227472c3b643864c745}
+
+
+Retrieves the first value that matches table. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em hash}]The given hash table. \item[{\em key}]The key to search for. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The value corresponding to key on success, {\tt NULL} otherwise. \end{Desc}
+\hypertarget{group__Ecore__Data__Hash__ADT__Data__Group_g90c2fcaadceee751422bce089bff22e9}{
+\index{Ecore_Data_Hash_ADT_Data_Group@{Ecore\_\-Data\_\-Hash\_\-ADT\_\-Data\_\-Group}!ecore_hash_get@{ecore\_\-hash\_\-get}}
+\index{ecore_hash_get@{ecore\_\-hash\_\-get}!Ecore_Data_Hash_ADT_Data_Group@{Ecore\_\-Data\_\-Hash\_\-ADT\_\-Data\_\-Group}}
+\subsubsection[ecore\_\-hash\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI void$\ast$ ecore\_\-hash\_\-get (Ecore\_\-Hash $\ast$ {\em hash}, const void $\ast$ {\em key})}}
+\label{group__Ecore__Data__Hash__ADT__Data__Group_g90c2fcaadceee751422bce089bff22e9}
+
+
+Retrieves the value associated with the given key from the given hash table. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em hash}]The given hash table. \item[{\em key}]The key to search for. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The value corresponding to key on success, {\tt NULL} otherwise. \end{Desc}
+\hypertarget{group__Ecore__Data__Hash__ADT__Data__Group_g64262a142e203f74778cff91bdc46e1e}{
+\index{Ecore_Data_Hash_ADT_Data_Group@{Ecore\_\-Data\_\-Hash\_\-ADT\_\-Data\_\-Group}!ecore_hash_hash_set@{ecore\_\-hash\_\-hash\_\-set}}
+\index{ecore_hash_hash_set@{ecore\_\-hash\_\-hash\_\-set}!Ecore_Data_Hash_ADT_Data_Group@{Ecore\_\-Data\_\-Hash\_\-ADT\_\-Data\_\-Group}}
+\subsubsection[ecore\_\-hash\_\-hash\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-hash\_\-hash\_\-set (Ecore\_\-Hash $\ast$ {\em hash}, Ecore\_\-Hash $\ast$ {\em set})}}
+\label{group__Ecore__Data__Hash__ADT__Data__Group_g64262a142e203f74778cff91bdc46e1e}
+
+
+Sets all key-value pairs from set in the given hash table. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em hash}]The given hash table. \item[{\em set}]The hash table to import. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]{\tt TRUE} if successful, {\tt FALSE} if not. \end{Desc}
+\hypertarget{group__Ecore__Data__Hash__ADT__Data__Group_g1f69d26d118beb108e260bf92f764b77}{
+\index{Ecore_Data_Hash_ADT_Data_Group@{Ecore\_\-Data\_\-Hash\_\-ADT\_\-Data\_\-Group}!ecore_hash_remove@{ecore\_\-hash\_\-remove}}
+\index{ecore_hash_remove@{ecore\_\-hash\_\-remove}!Ecore_Data_Hash_ADT_Data_Group@{Ecore\_\-Data\_\-Hash\_\-ADT\_\-Data\_\-Group}}
+\subsubsection[ecore\_\-hash\_\-remove]{\setlength{\rightskip}{0pt plus 5cm}EAPI void$\ast$ ecore\_\-hash\_\-remove (Ecore\_\-Hash $\ast$ {\em hash}, const void $\ast$ {\em key})}}
+\label{group__Ecore__Data__Hash__ADT__Data__Group_g1f69d26d118beb108e260bf92f764b77}
+
+
+Removes the value associated with the given key in the given hash table. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em hash}]The given hash table. \item[{\em key}]The key to search for. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The value corresponding to the key on success. {\tt NULL} is returned if there is an error. \end{Desc}
+\hypertarget{group__Ecore__Data__Hash__ADT__Data__Group_gbac7868d1b39556c7499dc2786ca1fe5}{
+\index{Ecore_Data_Hash_ADT_Data_Group@{Ecore\_\-Data\_\-Hash\_\-ADT\_\-Data\_\-Group}!ecore_hash_set@{ecore\_\-hash\_\-set}}
+\index{ecore_hash_set@{ecore\_\-hash\_\-set}!Ecore_Data_Hash_ADT_Data_Group@{Ecore\_\-Data\_\-Hash\_\-ADT\_\-Data\_\-Group}}
+\subsubsection[ecore\_\-hash\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-hash\_\-set (Ecore\_\-Hash $\ast$ {\em hash}, void $\ast$ {\em key}, void $\ast$ {\em value})}}
+\label{group__Ecore__Data__Hash__ADT__Data__Group_gbac7868d1b39556c7499dc2786ca1fe5}
+
+
+Sets a key-value pair in the given hash table. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em hash}]The given hash table. \item[{\em key}]The key. \item[{\em value}]The value. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]{\tt TRUE} if successful, {\tt FALSE} if not. \end{Desc}
diff --git a/doc/latex/group__Ecore__Data__Hash__ADT__Destruction__Group.tex b/doc/latex/group__Ecore__Data__Hash__ADT__Destruction__Group.tex
new file mode 100644
index 0000000..49fcf29
--- /dev/null
+++ b/doc/latex/group__Ecore__Data__Hash__ADT__Destruction__Group.tex
@@ -0,0 +1,88 @@
+\hypertarget{group__Ecore__Data__Hash__ADT__Destruction__Group}{
+\section{Hash Destruction Functions}
+\label{group__Ecore__Data__Hash__ADT__Destruction__Group}\index{Hash Destruction Functions@{Hash Destruction Functions}}
+}
+Functions that destroy hash tables and their contents.  
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+EAPI int \hyperlink{group__Ecore__Data__Hash__ADT__Destruction__Group_g3f98af9e6362e243a1da0252f93fb540}{ecore\_\-hash\_\-free\_\-key\_\-cb\_\-set} (Ecore\_\-Hash $\ast$hash, Ecore\_\-Free\_\-Cb function)
+\begin{CompactList}\small\item\em Sets the function to destroy the keys of the given hash. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Data__Hash__ADT__Destruction__Group_g0f0a17ac35a89cb7dac73fea23564ddd}{ecore\_\-hash\_\-free\_\-value\_\-cb\_\-set} (Ecore\_\-Hash $\ast$hash, Ecore\_\-Free\_\-Cb function)
+\begin{CompactList}\small\item\em Sets the function to destroy the values in the given hash. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__Data__Hash__ADT__Destruction__Group_g105c167609936be76f83bcae7ceef598}{ecore\_\-hash\_\-destroy} (Ecore\_\-Hash $\ast$hash)
+\begin{CompactList}\small\item\em Frees the hash table and the data contained inside it. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Data__Hash__ADT__Destruction__Group_g2f4df7c58d507297d465395bcd2f57c6}{ecore\_\-hash\_\-count} (Ecore\_\-Hash $\ast$hash)
+\begin{CompactList}\small\item\em Counts the number of nodes in a hash table. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Functions that destroy hash tables and their contents. 
+
+
+
+\subsection{Function Documentation}
+\hypertarget{group__Ecore__Data__Hash__ADT__Destruction__Group_g2f4df7c58d507297d465395bcd2f57c6}{
+\index{Ecore_Data_Hash_ADT_Destruction_Group@{Ecore\_\-Data\_\-Hash\_\-ADT\_\-Destruction\_\-Group}!ecore_hash_count@{ecore\_\-hash\_\-count}}
+\index{ecore_hash_count@{ecore\_\-hash\_\-count}!Ecore_Data_Hash_ADT_Destruction_Group@{Ecore\_\-Data\_\-Hash\_\-ADT\_\-Destruction\_\-Group}}
+\subsubsection[ecore\_\-hash\_\-count]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-hash\_\-count (Ecore\_\-Hash $\ast$ {\em hash})}}
+\label{group__Ecore__Data__Hash__ADT__Destruction__Group_g2f4df7c58d507297d465395bcd2f57c6}
+
+
+Counts the number of nodes in a hash table. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em hash}]The hash table to count current nodes. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The number of nodes in the hash. \end{Desc}
+\hypertarget{group__Ecore__Data__Hash__ADT__Destruction__Group_g105c167609936be76f83bcae7ceef598}{
+\index{Ecore_Data_Hash_ADT_Destruction_Group@{Ecore\_\-Data\_\-Hash\_\-ADT\_\-Destruction\_\-Group}!ecore_hash_destroy@{ecore\_\-hash\_\-destroy}}
+\index{ecore_hash_destroy@{ecore\_\-hash\_\-destroy}!Ecore_Data_Hash_ADT_Destruction_Group@{Ecore\_\-Data\_\-Hash\_\-ADT\_\-Destruction\_\-Group}}
+\subsubsection[ecore\_\-hash\_\-destroy]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-hash\_\-destroy (Ecore\_\-Hash $\ast$ {\em hash})}}
+\label{group__Ecore__Data__Hash__ADT__Destruction__Group_g105c167609936be76f83bcae7ceef598}
+
+
+Frees the hash table and the data contained inside it. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em hash}]The hash table to destroy. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]{\tt TRUE} on success, {\tt FALSE} on error. \end{Desc}
+\hypertarget{group__Ecore__Data__Hash__ADT__Destruction__Group_g3f98af9e6362e243a1da0252f93fb540}{
+\index{Ecore_Data_Hash_ADT_Destruction_Group@{Ecore\_\-Data\_\-Hash\_\-ADT\_\-Destruction\_\-Group}!ecore_hash_free_key_cb_set@{ecore\_\-hash\_\-free\_\-key\_\-cb\_\-set}}
+\index{ecore_hash_free_key_cb_set@{ecore\_\-hash\_\-free\_\-key\_\-cb\_\-set}!Ecore_Data_Hash_ADT_Destruction_Group@{Ecore\_\-Data\_\-Hash\_\-ADT\_\-Destruction\_\-Group}}
+\subsubsection[ecore\_\-hash\_\-free\_\-key\_\-cb\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-hash\_\-free\_\-key\_\-cb\_\-set (Ecore\_\-Hash $\ast$ {\em hash}, Ecore\_\-Free\_\-Cb {\em function})}}
+\label{group__Ecore__Data__Hash__ADT__Destruction__Group_g3f98af9e6362e243a1da0252f93fb540}
+
+
+Sets the function to destroy the keys of the given hash. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em hash}]The given hash. \item[{\em function}]The function used to free the node keys. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]{\tt TRUE} on success, {\tt FALSE} on error. \end{Desc}
+\hypertarget{group__Ecore__Data__Hash__ADT__Destruction__Group_g0f0a17ac35a89cb7dac73fea23564ddd}{
+\index{Ecore_Data_Hash_ADT_Destruction_Group@{Ecore\_\-Data\_\-Hash\_\-ADT\_\-Destruction\_\-Group}!ecore_hash_free_value_cb_set@{ecore\_\-hash\_\-free\_\-value\_\-cb\_\-set}}
+\index{ecore_hash_free_value_cb_set@{ecore\_\-hash\_\-free\_\-value\_\-cb\_\-set}!Ecore_Data_Hash_ADT_Destruction_Group@{Ecore\_\-Data\_\-Hash\_\-ADT\_\-Destruction\_\-Group}}
+\subsubsection[ecore\_\-hash\_\-free\_\-value\_\-cb\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-hash\_\-free\_\-value\_\-cb\_\-set (Ecore\_\-Hash $\ast$ {\em hash}, Ecore\_\-Free\_\-Cb {\em function})}}
+\label{group__Ecore__Data__Hash__ADT__Destruction__Group_g0f0a17ac35a89cb7dac73fea23564ddd}
+
+
+Sets the function to destroy the values in the given hash. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em hash}]The given hash. \item[{\em function}]The function that will free the node values. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]{\tt TRUE} on success, {\tt FALSE} on error \end{Desc}
diff --git a/doc/latex/group__Ecore__Data__Hash__ADT__Traverse__Group.tex b/doc/latex/group__Ecore__Data__Hash__ADT__Traverse__Group.tex
new file mode 100644
index 0000000..92c74a8
--- /dev/null
+++ b/doc/latex/group__Ecore__Data__Hash__ADT__Traverse__Group.tex
@@ -0,0 +1,52 @@
+\hypertarget{group__Ecore__Data__Hash__ADT__Traverse__Group}{
+\section{Hash Traverse Functions}
+\label{group__Ecore__Data__Hash__ADT__Traverse__Group}\index{Hash Traverse Functions@{Hash Traverse Functions}}
+}
+Functions that iterate through hash tables.  
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+EAPI int \hyperlink{group__Ecore__Data__Hash__ADT__Traverse__Group_g2c2ae04b3ce693d317e52e510d0b6e52}{ecore\_\-hash\_\-for\_\-each\_\-node} (Ecore\_\-Hash $\ast$hash, Ecore\_\-For\_\-Each for\_\-each\_\-func, void $\ast$user\_\-data)
+\begin{CompactList}\small\item\em Runs the {\tt for\_\-each\_\-func} function on each entry in the given hash. \item\end{CompactList}\item 
+EAPI Ecore\_\-List $\ast$ \hyperlink{group__Ecore__Data__Hash__ADT__Traverse__Group_geb61f09759a6325a34f797438f1bdce0}{ecore\_\-hash\_\-keys} (Ecore\_\-Hash $\ast$hash)
+\begin{CompactList}\small\item\em Retrieves an ecore\_\-list of all keys in the given hash. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Functions that iterate through hash tables. 
+
+
+
+\subsection{Function Documentation}
+\hypertarget{group__Ecore__Data__Hash__ADT__Traverse__Group_g2c2ae04b3ce693d317e52e510d0b6e52}{
+\index{Ecore_Data_Hash_ADT_Traverse_Group@{Ecore\_\-Data\_\-Hash\_\-ADT\_\-Traverse\_\-Group}!ecore_hash_for_each_node@{ecore\_\-hash\_\-for\_\-each\_\-node}}
+\index{ecore_hash_for_each_node@{ecore\_\-hash\_\-for\_\-each\_\-node}!Ecore_Data_Hash_ADT_Traverse_Group@{Ecore\_\-Data\_\-Hash\_\-ADT\_\-Traverse\_\-Group}}
+\subsubsection[ecore\_\-hash\_\-for\_\-each\_\-node]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-hash\_\-for\_\-each\_\-node (Ecore\_\-Hash $\ast$ {\em hash}, Ecore\_\-For\_\-Each {\em for\_\-each\_\-func}, void $\ast$ {\em user\_\-data})}}
+\label{group__Ecore__Data__Hash__ADT__Traverse__Group_g2c2ae04b3ce693d317e52e510d0b6e52}
+
+
+Runs the {\tt for\_\-each\_\-func} function on each entry in the given hash. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em hash}]The given hash. \item[{\em for\_\-each\_\-func}]The function that each entry is passed to. \item[{\em user\_\-data}]a pointer passed to calls of for\_\-each\_\-func \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]TRUE on success, FALSE otherwise. \end{Desc}
+\hypertarget{group__Ecore__Data__Hash__ADT__Traverse__Group_geb61f09759a6325a34f797438f1bdce0}{
+\index{Ecore_Data_Hash_ADT_Traverse_Group@{Ecore\_\-Data\_\-Hash\_\-ADT\_\-Traverse\_\-Group}!ecore_hash_keys@{ecore\_\-hash\_\-keys}}
+\index{ecore_hash_keys@{ecore\_\-hash\_\-keys}!Ecore_Data_Hash_ADT_Traverse_Group@{Ecore\_\-Data\_\-Hash\_\-ADT\_\-Traverse\_\-Group}}
+\subsubsection[ecore\_\-hash\_\-keys]{\setlength{\rightskip}{0pt plus 5cm}EAPI Ecore\_\-List$\ast$ ecore\_\-hash\_\-keys (Ecore\_\-Hash $\ast$ {\em hash})}}
+\label{group__Ecore__Data__Hash__ADT__Traverse__Group_geb61f09759a6325a34f797438f1bdce0}
+
+
+Retrieves an ecore\_\-list of all keys in the given hash. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em hash}]The given hash. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]new ecore\_\-list on success, NULL otherwise \end{Desc}
diff --git a/doc/latex/group__Ecore__Data__List__Add__Item__Group.tex b/doc/latex/group__Ecore__Data__List__Add__Item__Group.tex
new file mode 100644
index 0000000..1b36eb6
--- /dev/null
+++ b/doc/latex/group__Ecore__Data__List__Add__Item__Group.tex
@@ -0,0 +1,106 @@
+\hypertarget{group__Ecore__Data__List__Add__Item__Group}{
+\section{List Item Adding Functions}
+\label{group__Ecore__Data__List__Add__Item__Group}\index{List Item Adding Functions@{List Item Adding Functions}}
+}
+Functions that are used to add nodes to an Ecore\_\-List.  
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+EAPI int \hyperlink{group__Ecore__Data__List__Add__Item__Group_gb211707773975890b6406d9282cfcbf5}{ecore\_\-list\_\-append} (Ecore\_\-List $\ast$list, void $\ast$data)
+\begin{CompactList}\small\item\em Append data to the list. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Data__List__Add__Item__Group_g6b7c6361881c17430313cb1a214c9df6}{ecore\_\-list\_\-prepend} (Ecore\_\-List $\ast$list, void $\ast$data)
+\begin{CompactList}\small\item\em Prepend data to the beginning of the list. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Data__List__Add__Item__Group_g5ba15c63f0b4e3c4bf45870d086a3ac9}{ecore\_\-list\_\-insert} (Ecore\_\-List $\ast$list, void $\ast$data)
+\begin{CompactList}\small\item\em Insert data in front of the current point in the list. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Data__List__Add__Item__Group_g87f46b1ee4fa7ca39c676539bf09d3cc}{ecore\_\-list\_\-append\_\-list} (Ecore\_\-List $\ast$list, Ecore\_\-List $\ast$append)
+\begin{CompactList}\small\item\em Append a list to the list. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Data__List__Add__Item__Group_g1622d5b1973ee9b40e1b228d414cd26d}{ecore\_\-list\_\-prepend\_\-list} (Ecore\_\-List $\ast$list, Ecore\_\-List $\ast$prepend)
+\begin{CompactList}\small\item\em Prepend a list to the beginning of the list. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Functions that are used to add nodes to an Ecore\_\-List. 
+
+
+
+\subsection{Function Documentation}
+\hypertarget{group__Ecore__Data__List__Add__Item__Group_gb211707773975890b6406d9282cfcbf5}{
+\index{Ecore_Data_List_Add_Item_Group@{Ecore\_\-Data\_\-List\_\-Add\_\-Item\_\-Group}!ecore_list_append@{ecore\_\-list\_\-append}}
+\index{ecore_list_append@{ecore\_\-list\_\-append}!Ecore_Data_List_Add_Item_Group@{Ecore\_\-Data\_\-List\_\-Add\_\-Item\_\-Group}}
+\subsubsection[ecore\_\-list\_\-append]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-list\_\-append (Ecore\_\-List $\ast$ {\em list}, void $\ast$ {\em data})\hspace{0.3cm}{\tt  \mbox{[}inline\mbox{]}}}}
+\label{group__Ecore__Data__List__Add__Item__Group_gb211707773975890b6406d9282cfcbf5}
+
+
+Append data to the list. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em list}]The list. \item[{\em data}]The data to append. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]{\tt FALSE} if an error occurs, {\tt TRUE} if appended successfully \end{Desc}
+\hypertarget{group__Ecore__Data__List__Add__Item__Group_g87f46b1ee4fa7ca39c676539bf09d3cc}{
+\index{Ecore_Data_List_Add_Item_Group@{Ecore\_\-Data\_\-List\_\-Add\_\-Item\_\-Group}!ecore_list_append_list@{ecore\_\-list\_\-append\_\-list}}
+\index{ecore_list_append_list@{ecore\_\-list\_\-append\_\-list}!Ecore_Data_List_Add_Item_Group@{Ecore\_\-Data\_\-List\_\-Add\_\-Item\_\-Group}}
+\subsubsection[ecore\_\-list\_\-append\_\-list]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-list\_\-append\_\-list (Ecore\_\-List $\ast$ {\em list}, Ecore\_\-List $\ast$ {\em append})}}
+\label{group__Ecore__Data__List__Add__Item__Group_g87f46b1ee4fa7ca39c676539bf09d3cc}
+
+
+Append a list to the list. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em list}]The list. \item[{\em append}]The list to append. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]{\tt FALSE} if an error occurs, {\tt TRUE} if appended successfully \end{Desc}
+\hypertarget{group__Ecore__Data__List__Add__Item__Group_g5ba15c63f0b4e3c4bf45870d086a3ac9}{
+\index{Ecore_Data_List_Add_Item_Group@{Ecore\_\-Data\_\-List\_\-Add\_\-Item\_\-Group}!ecore_list_insert@{ecore\_\-list\_\-insert}}
+\index{ecore_list_insert@{ecore\_\-list\_\-insert}!Ecore_Data_List_Add_Item_Group@{Ecore\_\-Data\_\-List\_\-Add\_\-Item\_\-Group}}
+\subsubsection[ecore\_\-list\_\-insert]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-list\_\-insert (Ecore\_\-List $\ast$ {\em list}, void $\ast$ {\em data})\hspace{0.3cm}{\tt  \mbox{[}inline\mbox{]}}}}
+\label{group__Ecore__Data__List__Add__Item__Group_g5ba15c63f0b4e3c4bf45870d086a3ac9}
+
+
+Insert data in front of the current point in the list. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em list}]The list to hold the inserted {\tt data}. \item[{\em data}]The data to insert into {\tt list}. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]{\tt FALSE} if there is an error, {\tt TRUE} on success \end{Desc}
+\hypertarget{group__Ecore__Data__List__Add__Item__Group_g6b7c6361881c17430313cb1a214c9df6}{
+\index{Ecore_Data_List_Add_Item_Group@{Ecore\_\-Data\_\-List\_\-Add\_\-Item\_\-Group}!ecore_list_prepend@{ecore\_\-list\_\-prepend}}
+\index{ecore_list_prepend@{ecore\_\-list\_\-prepend}!Ecore_Data_List_Add_Item_Group@{Ecore\_\-Data\_\-List\_\-Add\_\-Item\_\-Group}}
+\subsubsection[ecore\_\-list\_\-prepend]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-list\_\-prepend (Ecore\_\-List $\ast$ {\em list}, void $\ast$ {\em data})\hspace{0.3cm}{\tt  \mbox{[}inline\mbox{]}}}}
+\label{group__Ecore__Data__List__Add__Item__Group_g6b7c6361881c17430313cb1a214c9df6}
+
+
+Prepend data to the beginning of the list. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em list}]The list. \item[{\em data}]The data to prepend. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]{\tt FALSE} if an error occurs, {\tt TRUE} if prepended successfully. \end{Desc}
+\hypertarget{group__Ecore__Data__List__Add__Item__Group_g1622d5b1973ee9b40e1b228d414cd26d}{
+\index{Ecore_Data_List_Add_Item_Group@{Ecore\_\-Data\_\-List\_\-Add\_\-Item\_\-Group}!ecore_list_prepend_list@{ecore\_\-list\_\-prepend\_\-list}}
+\index{ecore_list_prepend_list@{ecore\_\-list\_\-prepend\_\-list}!Ecore_Data_List_Add_Item_Group@{Ecore\_\-Data\_\-List\_\-Add\_\-Item\_\-Group}}
+\subsubsection[ecore\_\-list\_\-prepend\_\-list]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-list\_\-prepend\_\-list (Ecore\_\-List $\ast$ {\em list}, Ecore\_\-List $\ast$ {\em prepend})}}
+\label{group__Ecore__Data__List__Add__Item__Group_g1622d5b1973ee9b40e1b228d414cd26d}
+
+
+Prepend a list to the beginning of the list. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em list}]The list. \item[{\em prepend}]The list to prepend. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]{\tt FALSE} if an error occurs, {\tt TRUE} if prepended successfully. \end{Desc}
diff --git a/doc/latex/group__Ecore__Data__List__Creation__Group.tex b/doc/latex/group__Ecore__Data__List__Creation__Group.tex
new file mode 100644
index 0000000..a0e184d
--- /dev/null
+++ b/doc/latex/group__Ecore__Data__List__Creation__Group.tex
@@ -0,0 +1,63 @@
+\hypertarget{group__Ecore__Data__List__Creation__Group}{
+\section{List Creation/Destruction Functions}
+\label{group__Ecore__Data__List__Creation__Group}\index{List Creation/Destruction Functions@{List Creation/Destruction Functions}}
+}
+Functions that create, initialize and destroy Ecore\_\-Lists.  
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+EAPI Ecore\_\-List $\ast$ \hyperlink{group__Ecore__Data__List__Creation__Group_g80ada4d782322648df8889e9d7d18ad6}{ecore\_\-list\_\-new} ()
+\begin{CompactList}\small\item\em Create and initialize a new list. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Data__List__Creation__Group_g06c059777db36f8ecd699d992e148120}{ecore\_\-list\_\-init} (Ecore\_\-List $\ast$list)
+\begin{CompactList}\small\item\em Initialize a list to some sane starting values. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__Data__List__Creation__Group_g15e19a128b9926c96b999212f2d5b793}{ecore\_\-list\_\-destroy} (Ecore\_\-List $\ast$list)
+\begin{CompactList}\small\item\em Free a list and all of it's nodes. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Functions that create, initialize and destroy Ecore\_\-Lists. 
+
+
+
+\subsection{Function Documentation}
+\hypertarget{group__Ecore__Data__List__Creation__Group_g15e19a128b9926c96b999212f2d5b793}{
+\index{Ecore_Data_List_Creation_Group@{Ecore\_\-Data\_\-List\_\-Creation\_\-Group}!ecore_list_destroy@{ecore\_\-list\_\-destroy}}
+\index{ecore_list_destroy@{ecore\_\-list\_\-destroy}!Ecore_Data_List_Creation_Group@{Ecore\_\-Data\_\-List\_\-Creation\_\-Group}}
+\subsubsection[ecore\_\-list\_\-destroy]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-list\_\-destroy (Ecore\_\-List $\ast$ {\em list})}}
+\label{group__Ecore__Data__List__Creation__Group_g15e19a128b9926c96b999212f2d5b793}
+
+
+Free a list and all of it's nodes. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em list}]The list to be freed. \end{description}
+\end{Desc}
+\hypertarget{group__Ecore__Data__List__Creation__Group_g06c059777db36f8ecd699d992e148120}{
+\index{Ecore_Data_List_Creation_Group@{Ecore\_\-Data\_\-List\_\-Creation\_\-Group}!ecore_list_init@{ecore\_\-list\_\-init}}
+\index{ecore_list_init@{ecore\_\-list\_\-init}!Ecore_Data_List_Creation_Group@{Ecore\_\-Data\_\-List\_\-Creation\_\-Group}}
+\subsubsection[ecore\_\-list\_\-init]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-list\_\-init (Ecore\_\-List $\ast$ {\em list})}}
+\label{group__Ecore__Data__List__Creation__Group_g06c059777db36f8ecd699d992e148120}
+
+
+Initialize a list to some sane starting values. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em list}]The list to initialize. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]{\tt TRUE} if successful, {\tt FALSE} if an error occurs. \end{Desc}
+\hypertarget{group__Ecore__Data__List__Creation__Group_g80ada4d782322648df8889e9d7d18ad6}{
+\index{Ecore_Data_List_Creation_Group@{Ecore\_\-Data\_\-List\_\-Creation\_\-Group}!ecore_list_new@{ecore\_\-list\_\-new}}
+\index{ecore_list_new@{ecore\_\-list\_\-new}!Ecore_Data_List_Creation_Group@{Ecore\_\-Data\_\-List\_\-Creation\_\-Group}}
+\subsubsection[ecore\_\-list\_\-new]{\setlength{\rightskip}{0pt plus 5cm}EAPI Ecore\_\-List$\ast$ ecore\_\-list\_\-new (void)}}
+\label{group__Ecore__Data__List__Creation__Group_g80ada4d782322648df8889e9d7d18ad6}
+
+
+Create and initialize a new list. 
+
+\begin{Desc}
+\item[Returns:]A new initialized list on success, {\tt NULL} on failure. \end{Desc}
diff --git a/doc/latex/group__Ecore__Data__List__Node__Group.tex b/doc/latex/group__Ecore__Data__List__Node__Group.tex
new file mode 100644
index 0000000..9ff6916
--- /dev/null
+++ b/doc/latex/group__Ecore__Data__List__Node__Group.tex
@@ -0,0 +1,47 @@
+\hypertarget{group__Ecore__Data__List__Node__Group}{
+\section{List Node Functions}
+\label{group__Ecore__Data__List__Node__Group}\index{List Node Functions@{List Node Functions}}
+}
+Functions that are used in the creation, maintenance and destruction of Ecore\_\-List nodes.  
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+EAPI Ecore\_\-List\_\-Node $\ast$ \hyperlink{group__Ecore__Data__List__Node__Group_gaecc02845c38719dfe67b32c00cf5248}{ecore\_\-list\_\-node\_\-new} ()
+\begin{CompactList}\small\item\em Allocates and initializes a new list node. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Data__List__Node__Group_g1cda1cfa085463a8b833034c1ab47730}{ecore\_\-list\_\-node\_\-destroy} (Ecore\_\-List\_\-Node $\ast$node, Ecore\_\-Free\_\-Cb free\_\-func)
+\begin{CompactList}\small\item\em Calls the function to free the data and the node. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Functions that are used in the creation, maintenance and destruction of Ecore\_\-List nodes. 
+
+
+
+\subsection{Function Documentation}
+\hypertarget{group__Ecore__Data__List__Node__Group_g1cda1cfa085463a8b833034c1ab47730}{
+\index{Ecore_Data_List_Node_Group@{Ecore\_\-Data\_\-List\_\-Node\_\-Group}!ecore_list_node_destroy@{ecore\_\-list\_\-node\_\-destroy}}
+\index{ecore_list_node_destroy@{ecore\_\-list\_\-node\_\-destroy}!Ecore_Data_List_Node_Group@{Ecore\_\-Data\_\-List\_\-Node\_\-Group}}
+\subsubsection[ecore\_\-list\_\-node\_\-destroy]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-list\_\-node\_\-destroy (Ecore\_\-List\_\-Node $\ast$ {\em node}, Ecore\_\-Free\_\-Cb {\em free\_\-func})}}
+\label{group__Ecore__Data__List__Node__Group_g1cda1cfa085463a8b833034c1ab47730}
+
+
+Calls the function to free the data and the node. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em node}]Node to destroy. \item[{\em free\_\-func}]Function to call if {\tt node} points to data to free. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]{\tt TRUE}. \end{Desc}
+\hypertarget{group__Ecore__Data__List__Node__Group_gaecc02845c38719dfe67b32c00cf5248}{
+\index{Ecore_Data_List_Node_Group@{Ecore\_\-Data\_\-List\_\-Node\_\-Group}!ecore_list_node_new@{ecore\_\-list\_\-node\_\-new}}
+\index{ecore_list_node_new@{ecore\_\-list\_\-node\_\-new}!Ecore_Data_List_Node_Group@{Ecore\_\-Data\_\-List\_\-Node\_\-Group}}
+\subsubsection[ecore\_\-list\_\-node\_\-new]{\setlength{\rightskip}{0pt plus 5cm}EAPI Ecore\_\-List\_\-Node$\ast$ ecore\_\-list\_\-node\_\-new (void)}}
+\label{group__Ecore__Data__List__Node__Group_gaecc02845c38719dfe67b32c00cf5248}
+
+
+Allocates and initializes a new list node. 
+
+\begin{Desc}
+\item[Returns:]A new Ecore\_\-List\_\-Node on success, {\tt NULL} otherwise. \end{Desc}
diff --git a/doc/latex/group__Ecore__Data__List__Remove__Item__Group.tex b/doc/latex/group__Ecore__Data__List__Remove__Item__Group.tex
new file mode 100644
index 0000000..ae47a2f
--- /dev/null
+++ b/doc/latex/group__Ecore__Data__List__Remove__Item__Group.tex
@@ -0,0 +1,88 @@
+\hypertarget{group__Ecore__Data__List__Remove__Item__Group}{
+\section{List Item Removing Functions}
+\label{group__Ecore__Data__List__Remove__Item__Group}\index{List Item Removing Functions@{List Item Removing Functions}}
+}
+Functions that remove nodes from an Ecore\_\-List.  
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+EAPI void $\ast$ \hyperlink{group__Ecore__Data__List__Remove__Item__Group_ga1ef518d46ab426978383037d0401486}{ecore\_\-list\_\-remove} (Ecore\_\-List $\ast$list)
+\begin{CompactList}\small\item\em Remove the current item from the list. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Data__List__Remove__Item__Group_gf0b1bc4dd9841fe85f195e3be77353fa}{ecore\_\-list\_\-remove\_\-destroy} (Ecore\_\-List $\ast$list)
+\begin{CompactList}\small\item\em Remove and free the data in lists current position. \item\end{CompactList}\item 
+EAPI void $\ast$ \hyperlink{group__Ecore__Data__List__Remove__Item__Group_g759db54fb9a6a45dc98c83f44f9b7959}{ecore\_\-list\_\-first\_\-remove} (Ecore\_\-List $\ast$list)
+\begin{CompactList}\small\item\em Remove the first item from the list. \item\end{CompactList}\item 
+EAPI void $\ast$ \hyperlink{group__Ecore__Data__List__Remove__Item__Group_g6ab71587df43b0a27359fc0359b85a74}{ecore\_\-list\_\-last\_\-remove} (Ecore\_\-List $\ast$list)
+\begin{CompactList}\small\item\em Remove the last item from the list. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Functions that remove nodes from an Ecore\_\-List. 
+
+
+
+\subsection{Function Documentation}
+\hypertarget{group__Ecore__Data__List__Remove__Item__Group_g759db54fb9a6a45dc98c83f44f9b7959}{
+\index{Ecore_Data_List_Remove_Item_Group@{Ecore\_\-Data\_\-List\_\-Remove\_\-Item\_\-Group}!ecore_list_first_remove@{ecore\_\-list\_\-first\_\-remove}}
+\index{ecore_list_first_remove@{ecore\_\-list\_\-first\_\-remove}!Ecore_Data_List_Remove_Item_Group@{Ecore\_\-Data\_\-List\_\-Remove\_\-Item\_\-Group}}
+\subsubsection[ecore\_\-list\_\-first\_\-remove]{\setlength{\rightskip}{0pt plus 5cm}EAPI void$\ast$ ecore\_\-list\_\-first\_\-remove (Ecore\_\-List $\ast$ {\em list})\hspace{0.3cm}{\tt  \mbox{[}inline\mbox{]}}}}
+\label{group__Ecore__Data__List__Remove__Item__Group_g759db54fb9a6a45dc98c83f44f9b7959}
+
+
+Remove the first item from the list. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em list}]The list to remove the current item \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]Returns a pointer to the removed data on success, {\tt NULL} on failure. \end{Desc}
+\hypertarget{group__Ecore__Data__List__Remove__Item__Group_g6ab71587df43b0a27359fc0359b85a74}{
+\index{Ecore_Data_List_Remove_Item_Group@{Ecore\_\-Data\_\-List\_\-Remove\_\-Item\_\-Group}!ecore_list_last_remove@{ecore\_\-list\_\-last\_\-remove}}
+\index{ecore_list_last_remove@{ecore\_\-list\_\-last\_\-remove}!Ecore_Data_List_Remove_Item_Group@{Ecore\_\-Data\_\-List\_\-Remove\_\-Item\_\-Group}}
+\subsubsection[ecore\_\-list\_\-last\_\-remove]{\setlength{\rightskip}{0pt plus 5cm}EAPI void$\ast$ ecore\_\-list\_\-last\_\-remove (Ecore\_\-List $\ast$ {\em list})\hspace{0.3cm}{\tt  \mbox{[}inline\mbox{]}}}}
+\label{group__Ecore__Data__List__Remove__Item__Group_g6ab71587df43b0a27359fc0359b85a74}
+
+
+Remove the last item from the list. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em list}]The list to remove the last node from \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]A pointer to the removed data on success, {\tt NULL} on failure. \end{Desc}
+\hypertarget{group__Ecore__Data__List__Remove__Item__Group_ga1ef518d46ab426978383037d0401486}{
+\index{Ecore_Data_List_Remove_Item_Group@{Ecore\_\-Data\_\-List\_\-Remove\_\-Item\_\-Group}!ecore_list_remove@{ecore\_\-list\_\-remove}}
+\index{ecore_list_remove@{ecore\_\-list\_\-remove}!Ecore_Data_List_Remove_Item_Group@{Ecore\_\-Data\_\-List\_\-Remove\_\-Item\_\-Group}}
+\subsubsection[ecore\_\-list\_\-remove]{\setlength{\rightskip}{0pt plus 5cm}EAPI void$\ast$ ecore\_\-list\_\-remove (Ecore\_\-List $\ast$ {\em list})\hspace{0.3cm}{\tt  \mbox{[}inline\mbox{]}}}}
+\label{group__Ecore__Data__List__Remove__Item__Group_ga1ef518d46ab426978383037d0401486}
+
+
+Remove the current item from the list. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em list}]The list to remove the current item \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]A pointer to the removed data on success, {\tt NULL} on failure. \end{Desc}
+\hypertarget{group__Ecore__Data__List__Remove__Item__Group_gf0b1bc4dd9841fe85f195e3be77353fa}{
+\index{Ecore_Data_List_Remove_Item_Group@{Ecore\_\-Data\_\-List\_\-Remove\_\-Item\_\-Group}!ecore_list_remove_destroy@{ecore\_\-list\_\-remove\_\-destroy}}
+\index{ecore_list_remove_destroy@{ecore\_\-list\_\-remove\_\-destroy}!Ecore_Data_List_Remove_Item_Group@{Ecore\_\-Data\_\-List\_\-Remove\_\-Item\_\-Group}}
+\subsubsection[ecore\_\-list\_\-remove\_\-destroy]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-list\_\-remove\_\-destroy (Ecore\_\-List $\ast$ {\em list})}}
+\label{group__Ecore__Data__List__Remove__Item__Group_gf0b1bc4dd9841fe85f195e3be77353fa}
+
+
+Remove and free the data in lists current position. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em list}]The list to remove and free the current item. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]{\tt TRUE} on success, {\tt FALSE} on error \end{Desc}
diff --git a/doc/latex/group__Ecore__Data__List__Traverse__Group.tex b/doc/latex/group__Ecore__Data__List__Traverse__Group.tex
new file mode 100644
index 0000000..18ed763
--- /dev/null
+++ b/doc/latex/group__Ecore__Data__List__Traverse__Group.tex
@@ -0,0 +1,106 @@
+\hypertarget{group__Ecore__Data__List__Traverse__Group}{
+\section{List Traversal Functions}
+\label{group__Ecore__Data__List__Traverse__Group}\index{List Traversal Functions@{List Traversal Functions}}
+}
+Functions that can be used to traverse an Ecore\_\-List.  
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+EAPI void $\ast$ \hyperlink{group__Ecore__Data__List__Traverse__Group_gb900744acb5d2cf35b71d9a4b99d3260}{ecore\_\-list\_\-index\_\-goto} (Ecore\_\-List $\ast$list, int index)
+\begin{CompactList}\small\item\em Make the current item the item with the given index number. \item\end{CompactList}\item 
+EAPI void $\ast$ \hyperlink{group__Ecore__Data__List__Traverse__Group_g2c072ae18b640ea104d5a583c28aa0e9}{ecore\_\-list\_\-goto} (Ecore\_\-List $\ast$list, const void $\ast$data)
+\begin{CompactList}\small\item\em Make the current item the node that contains {\tt data}. \item\end{CompactList}\item 
+EAPI void $\ast$ \hyperlink{group__Ecore__Data__List__Traverse__Group_g0ed72f2fafabf21761391a93fe1e6196}{ecore\_\-list\_\-first\_\-goto} (Ecore\_\-List $\ast$list)
+\begin{CompactList}\small\item\em Make the current item the first item in the list. \item\end{CompactList}\item 
+EAPI void $\ast$ \hyperlink{group__Ecore__Data__List__Traverse__Group_g7bfec15801e3d4a12730352b62364478}{ecore\_\-list\_\-last\_\-goto} (Ecore\_\-List $\ast$list)
+\begin{CompactList}\small\item\em Make the current item the last item in the list. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Data__List__Traverse__Group_gd981fd3e42031c62e344ec42da2dccb3}{ecore\_\-list\_\-for\_\-each} (Ecore\_\-List $\ast$list, Ecore\_\-For\_\-Each function, void $\ast$user\_\-data)
+\begin{CompactList}\small\item\em Execute function for each node in {\tt list}. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Functions that can be used to traverse an Ecore\_\-List. 
+
+
+
+\subsection{Function Documentation}
+\hypertarget{group__Ecore__Data__List__Traverse__Group_g0ed72f2fafabf21761391a93fe1e6196}{
+\index{Ecore_Data_List_Traverse_Group@{Ecore\_\-Data\_\-List\_\-Traverse\_\-Group}!ecore_list_first_goto@{ecore\_\-list\_\-first\_\-goto}}
+\index{ecore_list_first_goto@{ecore\_\-list\_\-first\_\-goto}!Ecore_Data_List_Traverse_Group@{Ecore\_\-Data\_\-List\_\-Traverse\_\-Group}}
+\subsubsection[ecore\_\-list\_\-first\_\-goto]{\setlength{\rightskip}{0pt plus 5cm}EAPI void$\ast$ ecore\_\-list\_\-first\_\-goto (Ecore\_\-List $\ast$ {\em list})\hspace{0.3cm}{\tt  \mbox{[}inline\mbox{]}}}}
+\label{group__Ecore__Data__List__Traverse__Group_g0ed72f2fafabf21761391a93fe1e6196}
+
+
+Make the current item the first item in the list. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em list}]The list. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]A pointer to the first item on success, {\tt NULL} on failure \end{Desc}
+\hypertarget{group__Ecore__Data__List__Traverse__Group_gd981fd3e42031c62e344ec42da2dccb3}{
+\index{Ecore_Data_List_Traverse_Group@{Ecore\_\-Data\_\-List\_\-Traverse\_\-Group}!ecore_list_for_each@{ecore\_\-list\_\-for\_\-each}}
+\index{ecore_list_for_each@{ecore\_\-list\_\-for\_\-each}!Ecore_Data_List_Traverse_Group@{Ecore\_\-Data\_\-List\_\-Traverse\_\-Group}}
+\subsubsection[ecore\_\-list\_\-for\_\-each]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-list\_\-for\_\-each (Ecore\_\-List $\ast$ {\em list}, Ecore\_\-For\_\-Each {\em function}, void $\ast$ {\em user\_\-data})}}
+\label{group__Ecore__Data__List__Traverse__Group_gd981fd3e42031c62e344ec42da2dccb3}
+
+
+Execute function for each node in {\tt list}. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em list}]The list. \item[{\em function}]The function to pass each node from {\tt list} to. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]Returns {\tt TRUE} on success, {\tt FALSE} on failure. \end{Desc}
+\hypertarget{group__Ecore__Data__List__Traverse__Group_g2c072ae18b640ea104d5a583c28aa0e9}{
+\index{Ecore_Data_List_Traverse_Group@{Ecore\_\-Data\_\-List\_\-Traverse\_\-Group}!ecore_list_goto@{ecore\_\-list\_\-goto}}
+\index{ecore_list_goto@{ecore\_\-list\_\-goto}!Ecore_Data_List_Traverse_Group@{Ecore\_\-Data\_\-List\_\-Traverse\_\-Group}}
+\subsubsection[ecore\_\-list\_\-goto]{\setlength{\rightskip}{0pt plus 5cm}EAPI void$\ast$ ecore\_\-list\_\-goto (Ecore\_\-List $\ast$ {\em list}, const void $\ast$ {\em data})\hspace{0.3cm}{\tt  \mbox{[}inline\mbox{]}}}}
+\label{group__Ecore__Data__List__Traverse__Group_g2c072ae18b640ea104d5a583c28aa0e9}
+
+
+Make the current item the node that contains {\tt data}. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em list}]The list. \item[{\em data}]The data to find. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]A pointer to {\tt data} on success, {\tt NULL} on failure. \end{Desc}
+\hypertarget{group__Ecore__Data__List__Traverse__Group_gb900744acb5d2cf35b71d9a4b99d3260}{
+\index{Ecore_Data_List_Traverse_Group@{Ecore\_\-Data\_\-List\_\-Traverse\_\-Group}!ecore_list_index_goto@{ecore\_\-list\_\-index\_\-goto}}
+\index{ecore_list_index_goto@{ecore\_\-list\_\-index\_\-goto}!Ecore_Data_List_Traverse_Group@{Ecore\_\-Data\_\-List\_\-Traverse\_\-Group}}
+\subsubsection[ecore\_\-list\_\-index\_\-goto]{\setlength{\rightskip}{0pt plus 5cm}EAPI void$\ast$ ecore\_\-list\_\-index\_\-goto (Ecore\_\-List $\ast$ {\em list}, int {\em index})\hspace{0.3cm}{\tt  \mbox{[}inline\mbox{]}}}}
+\label{group__Ecore__Data__List__Traverse__Group_gb900744acb5d2cf35b71d9a4b99d3260}
+
+
+Make the current item the item with the given index number. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em list}]The list. \item[{\em index}]The position to move the current item. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]A pointer to new current item on success, {\tt NULL} on failure. \end{Desc}
+\hypertarget{group__Ecore__Data__List__Traverse__Group_g7bfec15801e3d4a12730352b62364478}{
+\index{Ecore_Data_List_Traverse_Group@{Ecore\_\-Data\_\-List\_\-Traverse\_\-Group}!ecore_list_last_goto@{ecore\_\-list\_\-last\_\-goto}}
+\index{ecore_list_last_goto@{ecore\_\-list\_\-last\_\-goto}!Ecore_Data_List_Traverse_Group@{Ecore\_\-Data\_\-List\_\-Traverse\_\-Group}}
+\subsubsection[ecore\_\-list\_\-last\_\-goto]{\setlength{\rightskip}{0pt plus 5cm}EAPI void$\ast$ ecore\_\-list\_\-last\_\-goto (Ecore\_\-List $\ast$ {\em list})\hspace{0.3cm}{\tt  \mbox{[}inline\mbox{]}}}}
+\label{group__Ecore__Data__List__Traverse__Group_g7bfec15801e3d4a12730352b62364478}
+
+
+Make the current item the last item in the list. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em list}]The list. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]A pointer to the last item on success, {\tt NULL} on failure. \end{Desc}
diff --git a/doc/latex/group__Ecore__Desktop__Icon__Group.tex b/doc/latex/group__Ecore__Desktop__Icon__Group.tex
new file mode 100644
index 0000000..25bad88
--- /dev/null
+++ b/doc/latex/group__Ecore__Desktop__Icon__Group.tex
@@ -0,0 +1,100 @@
+\hypertarget{group__Ecore__Desktop__Icon__Group}{
+\section{icon theme Functions}
+\label{group__Ecore__Desktop__Icon__Group}\index{icon theme Functions@{icon theme Functions}}
+}
+Functions that deal with freedesktop.org icon themes.  
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+EAPI char $\ast$ \hyperlink{group__Ecore__Desktop__Icon__Group_g60c2a21d6b52143cafcbbbd312fd932c}{ecore\_\-desktop\_\-icon\_\-find} (const char $\ast$icon, const char $\ast$icon\_\-size, const char $\ast$icon\_\-theme)
+\begin{CompactList}\small\item\em Find the path to an icon. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Desktop__Icon__Group_g8eb4511d3b31e25472198335154653db}{ecore\_\-desktop\_\-icon\_\-init} ()
+\begin{CompactList}\small\item\em Setup what ever needs to be setup to support ecore\_\-desktop\_\-icon. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Desktop__Icon__Group_g87efafddfda52dfb70ff56d721be7ec2}{ecore\_\-desktop\_\-icon\_\-shutdown} ()
+\begin{CompactList}\small\item\em Tear down what ever needs to be torn down to support ecore\_\-desktop\_\-ycon. \item\end{CompactList}\item 
+Ecore\_\-Desktop\_\-Icon\_\-Theme $\ast$ \hyperlink{group__Ecore__Desktop__Icon__Group_g83ae0014a874d264d836b29c3b27227f}{ecore\_\-desktop\_\-icon\_\-theme\_\-get} (const char $\ast$icon\_\-theme, const char $\ast$lang \_\-\_\-UNUSED\_\-\_\-)
+\begin{CompactList}\small\item\em Get the contents of an index.theme file. \item\end{CompactList}\item 
+void \hyperlink{group__Ecore__Desktop__Icon__Group_g73a8ff071454e48b4be88eeedd4a89d1}{ecore\_\-desktop\_\-icon\_\-theme\_\-destroy} (Ecore\_\-Desktop\_\-Icon\_\-Theme $\ast$icon\_\-theme)
+\begin{CompactList}\small\item\em Free whatever resources are used by an Ecore\_\-Desktop\_\-Icon\_\-Theme. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Functions that deal with freedesktop.org icon themes. 
+
+This conforms with the freedesktop.org XDG Icon Theme Specification version 0.11 
+
+\subsection{Function Documentation}
+\hypertarget{group__Ecore__Desktop__Icon__Group_g60c2a21d6b52143cafcbbbd312fd932c}{
+\index{Ecore_Desktop_Icon_Group@{Ecore\_\-Desktop\_\-Icon\_\-Group}!ecore_desktop_icon_find@{ecore\_\-desktop\_\-icon\_\-find}}
+\index{ecore_desktop_icon_find@{ecore\_\-desktop\_\-icon\_\-find}!Ecore_Desktop_Icon_Group@{Ecore\_\-Desktop\_\-Icon\_\-Group}}
+\subsubsection[ecore\_\-desktop\_\-icon\_\-find]{\setlength{\rightskip}{0pt plus 5cm}EAPI char$\ast$ ecore\_\-desktop\_\-icon\_\-find (const char $\ast$ {\em icon}, const char $\ast$ {\em icon\_\-size}, const char $\ast$ {\em icon\_\-theme})}}
+\label{group__Ecore__Desktop__Icon__Group_g60c2a21d6b52143cafcbbbd312fd932c}
+
+
+Find the path to an icon. 
+
+Using the search algorithm specified by freedesktop.org, search for an icon in the currently installed set of icon themes.
+
+The returned string needs to be freed eventually.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em icon}]The name of the required icon. \item[{\em icon\_\-size}]The size of the required icon. \item[{\em icon\_\-theme}]The theme of the required icon. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The full path to an icon file, or NULL. \end{Desc}
+\hypertarget{group__Ecore__Desktop__Icon__Group_g8eb4511d3b31e25472198335154653db}{
+\index{Ecore_Desktop_Icon_Group@{Ecore\_\-Desktop\_\-Icon\_\-Group}!ecore_desktop_icon_init@{ecore\_\-desktop\_\-icon\_\-init}}
+\index{ecore_desktop_icon_init@{ecore\_\-desktop\_\-icon\_\-init}!Ecore_Desktop_Icon_Group@{Ecore\_\-Desktop\_\-Icon\_\-Group}}
+\subsubsection[ecore\_\-desktop\_\-icon\_\-init]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-desktop\_\-icon\_\-init (void)}}
+\label{group__Ecore__Desktop__Icon__Group_g8eb4511d3b31e25472198335154653db}
+
+
+Setup what ever needs to be setup to support ecore\_\-desktop\_\-icon. 
+
+There are internal structures that are needed for ecore\_\-desktop\_\-icon functions to operate, this sets them up. \hypertarget{group__Ecore__Desktop__Icon__Group_g87efafddfda52dfb70ff56d721be7ec2}{
+\index{Ecore_Desktop_Icon_Group@{Ecore\_\-Desktop\_\-Icon\_\-Group}!ecore_desktop_icon_shutdown@{ecore\_\-desktop\_\-icon\_\-shutdown}}
+\index{ecore_desktop_icon_shutdown@{ecore\_\-desktop\_\-icon\_\-shutdown}!Ecore_Desktop_Icon_Group@{Ecore\_\-Desktop\_\-Icon\_\-Group}}
+\subsubsection[ecore\_\-desktop\_\-icon\_\-shutdown]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-desktop\_\-icon\_\-shutdown (void)}}
+\label{group__Ecore__Desktop__Icon__Group_g87efafddfda52dfb70ff56d721be7ec2}
+
+
+Tear down what ever needs to be torn down to support ecore\_\-desktop\_\-ycon. 
+
+There are internal structures that are needed for ecore\_\-desktop\_\-icon functions to operate, this tears them down. \hypertarget{group__Ecore__Desktop__Icon__Group_g73a8ff071454e48b4be88eeedd4a89d1}{
+\index{Ecore_Desktop_Icon_Group@{Ecore\_\-Desktop\_\-Icon\_\-Group}!ecore_desktop_icon_theme_destroy@{ecore\_\-desktop\_\-icon\_\-theme\_\-destroy}}
+\index{ecore_desktop_icon_theme_destroy@{ecore\_\-desktop\_\-icon\_\-theme\_\-destroy}!Ecore_Desktop_Icon_Group@{Ecore\_\-Desktop\_\-Icon\_\-Group}}
+\subsubsection[ecore\_\-desktop\_\-icon\_\-theme\_\-destroy]{\setlength{\rightskip}{0pt plus 5cm}void ecore\_\-desktop\_\-icon\_\-theme\_\-destroy (Ecore\_\-Desktop\_\-Icon\_\-Theme $\ast$ {\em icon\_\-theme})}}
+\label{group__Ecore__Desktop__Icon__Group_g73a8ff071454e48b4be88eeedd4a89d1}
+
+
+Free whatever resources are used by an Ecore\_\-Desktop\_\-Icon\_\-Theme. 
+
+There are internal resources used by each Ecore\_\-Desktop\_\-Icon\_\-Theme This releases those resources.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em icon\_\-theme}]An Ecore\_\-Desktop\_\-Icon\_\-Theme. \end{description}
+\end{Desc}
+\hypertarget{group__Ecore__Desktop__Icon__Group_g83ae0014a874d264d836b29c3b27227f}{
+\index{Ecore_Desktop_Icon_Group@{Ecore\_\-Desktop\_\-Icon\_\-Group}!ecore_desktop_icon_theme_get@{ecore\_\-desktop\_\-icon\_\-theme\_\-get}}
+\index{ecore_desktop_icon_theme_get@{ecore\_\-desktop\_\-icon\_\-theme\_\-get}!Ecore_Desktop_Icon_Group@{Ecore\_\-Desktop\_\-Icon\_\-Group}}
+\subsubsection[ecore\_\-desktop\_\-icon\_\-theme\_\-get]{\setlength{\rightskip}{0pt plus 5cm}Ecore\_\-Desktop\_\-Icon\_\-Theme$\ast$ ecore\_\-desktop\_\-icon\_\-theme\_\-get (const char $\ast$ {\em icon\_\-theme}, const char $\ast$lang {\em \_\-\_\-UNUSED\_\-\_\-})}}
+\label{group__Ecore__Desktop__Icon__Group_g83ae0014a874d264d836b29c3b27227f}
+
+
+Get the contents of an index.theme file. 
+
+Everything that is in the index.theme file is returned in the data member of the Ecore\_\-Desktop\_\-Icon\_\-Theme structure, it's an Ecore\_\-Hash as returned by \hyperlink{group__Ecore__Desktop__Main__Group_g771417e482733a68b8853c142ae2ab7e}{ecore\_\-desktop\_\-ini\_\-get()}. Some of the data in the index.theme file is decoded into specific members of the returned structure.
+
+Use \hyperlink{group__Ecore__Desktop__Icon__Group_g73a8ff071454e48b4be88eeedd4a89d1}{ecore\_\-desktop\_\-icon\_\-theme\_\-destroy()} to free this structure.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em icon\_\-theme}]Name of the icon theme, or full path to the index.theme file. \item[{\em lang}]Language to use, or NULL for default. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]An Ecore\_\-Desktop\_\-Icon\_\-Theme containing the files contents. \end{Desc}
diff --git a/doc/latex/group__Ecore__Desktop__Main__Group.tex b/doc/latex/group__Ecore__Desktop__Main__Group.tex
new file mode 100644
index 0000000..4e52a43
--- /dev/null
+++ b/doc/latex/group__Ecore__Desktop__Main__Group.tex
@@ -0,0 +1,112 @@
+\hypertarget{group__Ecore__Desktop__Main__Group}{
+\section{.desktop file Functions}
+\label{group__Ecore__Desktop__Main__Group}\index{.desktop file Functions@{.desktop file Functions}}
+}
+Functions that deal with freedesktop.org desktop files.  
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+Ecore\_\-Hash $\ast$ \hyperlink{group__Ecore__Desktop__Main__Group_g771417e482733a68b8853c142ae2ab7e}{ecore\_\-desktop\_\-ini\_\-get} (const char $\ast$file)
+\begin{CompactList}\small\item\em Get the contents of a .ini style file. \item\end{CompactList}\item 
+Ecore\_\-Desktop $\ast$ \hyperlink{group__Ecore__Desktop__Main__Group_g954f3b1b0a81250a072844e8b51e2bf8}{ecore\_\-desktop\_\-get} (const char $\ast$file, const char $\ast$lang)
+\begin{CompactList}\small\item\em Get the contents of a .desktop file. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Desktop__Main__Group_gcbc8e90e58b724aa9bf71662245f0d3b}{ecore\_\-desktop\_\-init} ()
+\begin{CompactList}\small\item\em Setup what ever needs to be setup to support Ecore\_\-Desktop. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Desktop__Main__Group_gb7c84f7f35197af1367adcf1c391d8b0}{ecore\_\-desktop\_\-shutdown} ()
+\begin{CompactList}\small\item\em Tear down what ever needs to be torn down to support Ecore\_\-Desktop. \item\end{CompactList}\item 
+void \hyperlink{group__Ecore__Desktop__Main__Group_g61bac27920d4b04e21882a79d2610219}{ecore\_\-desktop\_\-destroy} (Ecore\_\-Desktop $\ast$desktop)
+\begin{CompactList}\small\item\em Free whatever resources are used by an Ecore\_\-Desktop. \item\end{CompactList}\item 
+char $\ast$ \hyperlink{group__Ecore__Desktop__Main__Group_g391bcf733c23f74642356c08ba58d549}{ecore\_\-desktop\_\-home\_\-get} ()
+\begin{CompactList}\small\item\em Get and massage the users home directory. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Functions that deal with freedesktop.org desktop files. 
+
+This conforms with the freedesktop.org XDG Desktop Entry Specification version 0.9.4 
+
+\subsection{Function Documentation}
+\hypertarget{group__Ecore__Desktop__Main__Group_g61bac27920d4b04e21882a79d2610219}{
+\index{Ecore_Desktop_Main_Group@{Ecore\_\-Desktop\_\-Main\_\-Group}!ecore_desktop_destroy@{ecore\_\-desktop\_\-destroy}}
+\index{ecore_desktop_destroy@{ecore\_\-desktop\_\-destroy}!Ecore_Desktop_Main_Group@{Ecore\_\-Desktop\_\-Main\_\-Group}}
+\subsubsection[ecore\_\-desktop\_\-destroy]{\setlength{\rightskip}{0pt plus 5cm}void ecore\_\-desktop\_\-destroy (Ecore\_\-Desktop $\ast$ {\em desktop})}}
+\label{group__Ecore__Desktop__Main__Group_g61bac27920d4b04e21882a79d2610219}
+
+
+Free whatever resources are used by an Ecore\_\-Desktop. 
+
+There are internal resources used by each Ecore\_\-Desktop This releases those resources.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em desktop}]An Ecore\_\-Desktop that was previously returned by \hyperlink{group__Ecore__Desktop__Main__Group_g954f3b1b0a81250a072844e8b51e2bf8}{ecore\_\-desktop\_\-get()}. \end{description}
+\end{Desc}
+\hypertarget{group__Ecore__Desktop__Main__Group_g954f3b1b0a81250a072844e8b51e2bf8}{
+\index{Ecore_Desktop_Main_Group@{Ecore\_\-Desktop\_\-Main\_\-Group}!ecore_desktop_get@{ecore\_\-desktop\_\-get}}
+\index{ecore_desktop_get@{ecore\_\-desktop\_\-get}!Ecore_Desktop_Main_Group@{Ecore\_\-Desktop\_\-Main\_\-Group}}
+\subsubsection[ecore\_\-desktop\_\-get]{\setlength{\rightskip}{0pt plus 5cm}Ecore\_\-Desktop$\ast$ ecore\_\-desktop\_\-get (const char $\ast$ {\em file}, const char $\ast$ {\em lang})}}
+\label{group__Ecore__Desktop__Main__Group_g954f3b1b0a81250a072844e8b51e2bf8}
+
+
+Get the contents of a .desktop file. 
+
+Use \hyperlink{group__Ecore__Desktop__Main__Group_g61bac27920d4b04e21882a79d2610219}{ecore\_\-desktop\_\-destroy()} to free this structure.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em file}]Full path to the .desktop file. \item[{\em lang}]Language to use, or NULL for default. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]An Ecore\_\-Desktop containing the files contents. \end{Desc}
+\hypertarget{group__Ecore__Desktop__Main__Group_g391bcf733c23f74642356c08ba58d549}{
+\index{Ecore_Desktop_Main_Group@{Ecore\_\-Desktop\_\-Main\_\-Group}!ecore_desktop_home_get@{ecore\_\-desktop\_\-home\_\-get}}
+\index{ecore_desktop_home_get@{ecore\_\-desktop\_\-home\_\-get}!Ecore_Desktop_Main_Group@{Ecore\_\-Desktop\_\-Main\_\-Group}}
+\subsubsection[ecore\_\-desktop\_\-home\_\-get]{\setlength{\rightskip}{0pt plus 5cm}char$\ast$ ecore\_\-desktop\_\-home\_\-get (void)}}
+\label{group__Ecore__Desktop__Main__Group_g391bcf733c23f74642356c08ba58d549}
+
+
+Get and massage the users home directory. 
+
+This is an internal function that may be useful elsewhere.
+
+\begin{Desc}
+\item[Returns:]The users howe directory. \end{Desc}
+\hypertarget{group__Ecore__Desktop__Main__Group_g771417e482733a68b8853c142ae2ab7e}{
+\index{Ecore_Desktop_Main_Group@{Ecore\_\-Desktop\_\-Main\_\-Group}!ecore_desktop_ini_get@{ecore\_\-desktop\_\-ini\_\-get}}
+\index{ecore_desktop_ini_get@{ecore\_\-desktop\_\-ini\_\-get}!Ecore_Desktop_Main_Group@{Ecore\_\-Desktop\_\-Main\_\-Group}}
+\subsubsection[ecore\_\-desktop\_\-ini\_\-get]{\setlength{\rightskip}{0pt plus 5cm}Ecore\_\-Hash$\ast$ ecore\_\-desktop\_\-ini\_\-get (const char $\ast$ {\em file})}}
+\label{group__Ecore__Desktop__Main__Group_g771417e482733a68b8853c142ae2ab7e}
+
+
+Get the contents of a .ini style file. 
+
+The Ecore\_\-Hash returned is a two level hash, the first level is the groups in the file, one per group, keyed by the name of that group. The value of each of those first level hashes is the second level Ecore\_\-Hash, the contents of each group.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em file}]Full path to the .ini style file. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]An Ecore\_\-Hash of the files contents. \end{Desc}
+\hypertarget{group__Ecore__Desktop__Main__Group_gcbc8e90e58b724aa9bf71662245f0d3b}{
+\index{Ecore_Desktop_Main_Group@{Ecore\_\-Desktop\_\-Main\_\-Group}!ecore_desktop_init@{ecore\_\-desktop\_\-init}}
+\index{ecore_desktop_init@{ecore\_\-desktop\_\-init}!Ecore_Desktop_Main_Group@{Ecore\_\-Desktop\_\-Main\_\-Group}}
+\subsubsection[ecore\_\-desktop\_\-init]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-desktop\_\-init (void)}}
+\label{group__Ecore__Desktop__Main__Group_gcbc8e90e58b724aa9bf71662245f0d3b}
+
+
+Setup what ever needs to be setup to support Ecore\_\-Desktop. 
+
+There are internal structures that are needed for Ecore\_\-Desktop functions to operate, this sets them up. \hypertarget{group__Ecore__Desktop__Main__Group_gb7c84f7f35197af1367adcf1c391d8b0}{
+\index{Ecore_Desktop_Main_Group@{Ecore\_\-Desktop\_\-Main\_\-Group}!ecore_desktop_shutdown@{ecore\_\-desktop\_\-shutdown}}
+\index{ecore_desktop_shutdown@{ecore\_\-desktop\_\-shutdown}!Ecore_Desktop_Main_Group@{Ecore\_\-Desktop\_\-Main\_\-Group}}
+\subsubsection[ecore\_\-desktop\_\-shutdown]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-desktop\_\-shutdown (void)}}
+\label{group__Ecore__Desktop__Main__Group_gb7c84f7f35197af1367adcf1c391d8b0}
+
+
+Tear down what ever needs to be torn down to support Ecore\_\-Desktop. 
+
+There are internal structures that are needed for Ecore\_\-Desktop functions to operate, this tears them down. 
\ No newline at end of file
diff --git a/doc/latex/group__Ecore__Desktop__Menu__Group.tex b/doc/latex/group__Ecore__Desktop__Menu__Group.tex
new file mode 100644
index 0000000..1c1ba45
--- /dev/null
+++ b/doc/latex/group__Ecore__Desktop__Menu__Group.tex
@@ -0,0 +1,36 @@
+\hypertarget{group__Ecore__Desktop__Menu__Group}{
+\section{menu Functions}
+\label{group__Ecore__Desktop__Menu__Group}\index{menu Functions@{menu Functions}}
+}
+Functions that deal with freedesktop.org menus.  
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+Ecore\_\-Desktop\_\-Tree $\ast$ \hyperlink{group__Ecore__Desktop__Menu__Group_g479a22ac6910dbb6e991278243bfd7cd}{ecore\_\-desktop\_\-menu\_\-get} (char $\ast$file)
+\begin{CompactList}\small\item\em Decode a freedesktop.org menu XML jungle. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Functions that deal with freedesktop.org menus. 
+
+
+
+\subsection{Function Documentation}
+\hypertarget{group__Ecore__Desktop__Menu__Group_g479a22ac6910dbb6e991278243bfd7cd}{
+\index{Ecore_Desktop_Menu_Group@{Ecore\_\-Desktop\_\-Menu\_\-Group}!ecore_desktop_menu_get@{ecore\_\-desktop\_\-menu\_\-get}}
+\index{ecore_desktop_menu_get@{ecore\_\-desktop\_\-menu\_\-get}!Ecore_Desktop_Menu_Group@{Ecore\_\-Desktop\_\-Menu\_\-Group}}
+\subsubsection[ecore\_\-desktop\_\-menu\_\-get]{\setlength{\rightskip}{0pt plus 5cm}Ecore\_\-Desktop\_\-Tree$\ast$ ecore\_\-desktop\_\-menu\_\-get (char $\ast$ {\em file})}}
+\label{group__Ecore__Desktop__Menu__Group_g479a22ac6910dbb6e991278243bfd7cd}
+
+
+Decode a freedesktop.org menu XML jungle. 
+
+Using the algorithm specified by freedesktop.org, fully decode a menu based on an initial menu file.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em file}]The base file for the menu. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The resulting menu tree. \end{Desc}
diff --git a/doc/latex/group__Ecore__Exe__Basic__Group.tex b/doc/latex/group__Ecore__Exe__Basic__Group.tex
new file mode 100644
index 0000000..67dc0a2
--- /dev/null
+++ b/doc/latex/group__Ecore__Exe__Basic__Group.tex
@@ -0,0 +1,254 @@
+\hypertarget{group__Ecore__Exe__Basic__Group}{
+\section{Process Spawning Functions}
+\label{group__Ecore__Exe__Basic__Group}\index{Process Spawning Functions@{Process Spawning Functions}}
+}
+Functions that deal with spawned processes.  
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+EAPI \hyperlink{Ecore_8h_5560d4d853db434d387e818c908f394d}{Ecore\_\-Exe} $\ast$ \hyperlink{group__Ecore__Exe__Basic__Group_g7ee5b2a9c3b1458395ff60287d368faa}{ecore\_\-exe\_\-run} (const char $\ast$exe\_\-cmd, const void $\ast$data)
+\begin{CompactList}\small\item\em Spawns a child process. \item\end{CompactList}\item 
+EAPI \hyperlink{Ecore_8h_5560d4d853db434d387e818c908f394d}{Ecore\_\-Exe} $\ast$ \hyperlink{group__Ecore__Exe__Basic__Group_g769740ce38413683fb40ddf725ac54b7}{ecore\_\-exe\_\-pipe\_\-run} (const char $\ast$exe\_\-cmd, Ecore\_\-Exe\_\-Flags flags, const void $\ast$data)
+\begin{CompactList}\small\item\em Spawns a child process with its stdin/out available for communication. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Exe__Basic__Group_gcf1dfcfd5c4a7f57a85ac2369123e47e}{ecore\_\-exe\_\-send} (\hyperlink{Ecore_8h_5560d4d853db434d387e818c908f394d}{Ecore\_\-Exe} $\ast$exe, void $\ast$data, int size)
+\begin{CompactList}\small\item\em Sends data to the given child process which it recieves on stdin. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__Exe__Basic__Group_gf5b870a7a134744ecbe9accb57bb8730}{ecore\_\-exe\_\-close\_\-stdin} (\hyperlink{Ecore_8h_5560d4d853db434d387e818c908f394d}{Ecore\_\-Exe} $\ast$exe)
+\begin{CompactList}\small\item\em The stdin of the given child process will close when the write buffer is empty. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__Exe__Basic__Group_g2ab04470c77bedbaad1ff8e23277e375}{ecore\_\-exe\_\-auto\_\-limits\_\-set} (\hyperlink{Ecore_8h_5560d4d853db434d387e818c908f394d}{Ecore\_\-Exe} $\ast$exe, int start\_\-bytes, int end\_\-bytes, int start\_\-lines, int end\_\-lines)
+\begin{CompactList}\small\item\em Sets the auto pipe limits for the given process handle. \item\end{CompactList}\item 
+EAPI \hyperlink{struct__Ecore__Exe__Event__Data}{Ecore\_\-Exe\_\-Event\_\-Data} $\ast$ \hyperlink{group__Ecore__Exe__Basic__Group_gce51fedd2709f26c6c82cd0135aa6dbe}{ecore\_\-exe\_\-event\_\-data\_\-get} (\hyperlink{Ecore_8h_5560d4d853db434d387e818c908f394d}{Ecore\_\-Exe} $\ast$exe, Ecore\_\-Exe\_\-Flags flags)
+\begin{CompactList}\small\item\em Gets the auto pipe data for the given process handle. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__Exe__Basic__Group_g68245a929e914cbe4fb64c287ef3f5ae}{ecore\_\-exe\_\-tag\_\-set} (\hyperlink{Ecore_8h_5560d4d853db434d387e818c908f394d}{Ecore\_\-Exe} $\ast$exe, const char $\ast$tag)
+\begin{CompactList}\small\item\em Sets the string tag for the given process handle. \item\end{CompactList}\item 
+EAPI char $\ast$ \hyperlink{group__Ecore__Exe__Basic__Group_g934ea965265b697840a44f860ac4f907}{ecore\_\-exe\_\-tag\_\-get} (\hyperlink{Ecore_8h_5560d4d853db434d387e818c908f394d}{Ecore\_\-Exe} $\ast$exe)
+\begin{CompactList}\small\item\em Retrieves the tag attached to the given process handle. \item\end{CompactList}\item 
+EAPI void $\ast$ \hyperlink{group__Ecore__Exe__Basic__Group_g07ef2b7bd313988a0d1691d7e3edcddb}{ecore\_\-exe\_\-free} (\hyperlink{Ecore_8h_5560d4d853db434d387e818c908f394d}{Ecore\_\-Exe} $\ast$exe)
+\begin{CompactList}\small\item\em Frees the given process handle. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__Exe__Basic__Group_g5a0737cb4881d4c4374697335e62336b}{ecore\_\-exe\_\-event\_\-data\_\-free} (\hyperlink{struct__Ecore__Exe__Event__Data}{Ecore\_\-Exe\_\-Event\_\-Data} $\ast$e)
+\begin{CompactList}\small\item\em Frees the given event data. \item\end{CompactList}\item 
+EAPI pid\_\-t \hyperlink{group__Ecore__Exe__Basic__Group_g2677aa0958df5744ca31b1276a58ac5f}{ecore\_\-exe\_\-pid\_\-get} (\hyperlink{Ecore_8h_5560d4d853db434d387e818c908f394d}{Ecore\_\-Exe} $\ast$exe)
+\begin{CompactList}\small\item\em Retrieves the process ID of the given spawned process. \item\end{CompactList}\item 
+EAPI char $\ast$ \hyperlink{group__Ecore__Exe__Basic__Group_g21241b1825e413a04a1b4455e17bfb7d}{ecore\_\-exe\_\-cmd\_\-get} (\hyperlink{Ecore_8h_5560d4d853db434d387e818c908f394d}{Ecore\_\-Exe} $\ast$exe)
+\begin{CompactList}\small\item\em Retrieves the command of the given spawned process. \item\end{CompactList}\item 
+EAPI void $\ast$ \hyperlink{group__Ecore__Exe__Basic__Group_ge83b4ac303698d508d56953f153bd767}{ecore\_\-exe\_\-data\_\-get} (\hyperlink{Ecore_8h_5560d4d853db434d387e818c908f394d}{Ecore\_\-Exe} $\ast$exe)
+\begin{CompactList}\small\item\em Retrieves the data attached to the given process handle. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Functions that deal with spawned processes. 
+
+
+
+\subsection{Function Documentation}
+\hypertarget{group__Ecore__Exe__Basic__Group_g2ab04470c77bedbaad1ff8e23277e375}{
+\index{Ecore_Exe_Basic_Group@{Ecore\_\-Exe\_\-Basic\_\-Group}!ecore_exe_auto_limits_set@{ecore\_\-exe\_\-auto\_\-limits\_\-set}}
+\index{ecore_exe_auto_limits_set@{ecore\_\-exe\_\-auto\_\-limits\_\-set}!Ecore_Exe_Basic_Group@{Ecore\_\-Exe\_\-Basic\_\-Group}}
+\subsubsection[ecore\_\-exe\_\-auto\_\-limits\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-exe\_\-auto\_\-limits\_\-set (\hyperlink{Ecore_8h_5560d4d853db434d387e818c908f394d}{Ecore\_\-Exe} $\ast$ {\em exe}, int {\em start\_\-bytes}, int {\em end\_\-bytes}, int {\em start\_\-lines}, int {\em end\_\-lines})}}
+\label{group__Ecore__Exe__Basic__Group_g2ab04470c77bedbaad1ff8e23277e375}
+
+
+Sets the auto pipe limits for the given process handle. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em exe}]The given process handle. \item[{\em start\_\-bytes}]limit of bytes at start of output to buffer. \item[{\em end\_\-bytes}]limit of bytes at end of output to buffer. \item[{\em start\_\-lines}]limit of lines at start of output to buffer. \item[{\em end\_\-lines}]limit of lines at end of output to buffer. \end{description}
+\end{Desc}
+\hypertarget{group__Ecore__Exe__Basic__Group_gf5b870a7a134744ecbe9accb57bb8730}{
+\index{Ecore_Exe_Basic_Group@{Ecore\_\-Exe\_\-Basic\_\-Group}!ecore_exe_close_stdin@{ecore\_\-exe\_\-close\_\-stdin}}
+\index{ecore_exe_close_stdin@{ecore\_\-exe\_\-close\_\-stdin}!Ecore_Exe_Basic_Group@{Ecore\_\-Exe\_\-Basic\_\-Group}}
+\subsubsection[ecore\_\-exe\_\-close\_\-stdin]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-exe\_\-close\_\-stdin (\hyperlink{Ecore_8h_5560d4d853db434d387e818c908f394d}{Ecore\_\-Exe} $\ast$ {\em exe})}}
+\label{group__Ecore__Exe__Basic__Group_gf5b870a7a134744ecbe9accb57bb8730}
+
+
+The stdin of the given child process will close when the write buffer is empty. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em exe}]The child process \end{description}
+\end{Desc}
+\hypertarget{group__Ecore__Exe__Basic__Group_g21241b1825e413a04a1b4455e17bfb7d}{
+\index{Ecore_Exe_Basic_Group@{Ecore\_\-Exe\_\-Basic\_\-Group}!ecore_exe_cmd_get@{ecore\_\-exe\_\-cmd\_\-get}}
+\index{ecore_exe_cmd_get@{ecore\_\-exe\_\-cmd\_\-get}!Ecore_Exe_Basic_Group@{Ecore\_\-Exe\_\-Basic\_\-Group}}
+\subsubsection[ecore\_\-exe\_\-cmd\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI char$\ast$ ecore\_\-exe\_\-cmd\_\-get (\hyperlink{Ecore_8h_5560d4d853db434d387e818c908f394d}{Ecore\_\-Exe} $\ast$ {\em exe})}}
+\label{group__Ecore__Exe__Basic__Group_g21241b1825e413a04a1b4455e17bfb7d}
+
+
+Retrieves the command of the given spawned process. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em exe}]Handle to the given spawned process. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The command on success. NULL otherwise. \end{Desc}
+\hypertarget{group__Ecore__Exe__Basic__Group_ge83b4ac303698d508d56953f153bd767}{
+\index{Ecore_Exe_Basic_Group@{Ecore\_\-Exe\_\-Basic\_\-Group}!ecore_exe_data_get@{ecore\_\-exe\_\-data\_\-get}}
+\index{ecore_exe_data_get@{ecore\_\-exe\_\-data\_\-get}!Ecore_Exe_Basic_Group@{Ecore\_\-Exe\_\-Basic\_\-Group}}
+\subsubsection[ecore\_\-exe\_\-data\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI void$\ast$ ecore\_\-exe\_\-data\_\-get (\hyperlink{Ecore_8h_5560d4d853db434d387e818c908f394d}{Ecore\_\-Exe} $\ast$ {\em exe})}}
+\label{group__Ecore__Exe__Basic__Group_ge83b4ac303698d508d56953f153bd767}
+
+
+Retrieves the data attached to the given process handle. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em exe}]The given process handle. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The data pointer attached to {\tt exe}. \end{Desc}
+\hypertarget{group__Ecore__Exe__Basic__Group_g5a0737cb4881d4c4374697335e62336b}{
+\index{Ecore_Exe_Basic_Group@{Ecore\_\-Exe\_\-Basic\_\-Group}!ecore_exe_event_data_free@{ecore\_\-exe\_\-event\_\-data\_\-free}}
+\index{ecore_exe_event_data_free@{ecore\_\-exe\_\-event\_\-data\_\-free}!Ecore_Exe_Basic_Group@{Ecore\_\-Exe\_\-Basic\_\-Group}}
+\subsubsection[ecore\_\-exe\_\-event\_\-data\_\-free]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-exe\_\-event\_\-data\_\-free (\hyperlink{struct__Ecore__Exe__Event__Data}{Ecore\_\-Exe\_\-Event\_\-Data} $\ast$ {\em e})}}
+\label{group__Ecore__Exe__Basic__Group_g5a0737cb4881d4c4374697335e62336b}
+
+
+Frees the given event data. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em e}]The given event data. \end{description}
+\end{Desc}
+\hypertarget{group__Ecore__Exe__Basic__Group_gce51fedd2709f26c6c82cd0135aa6dbe}{
+\index{Ecore_Exe_Basic_Group@{Ecore\_\-Exe\_\-Basic\_\-Group}!ecore_exe_event_data_get@{ecore\_\-exe\_\-event\_\-data\_\-get}}
+\index{ecore_exe_event_data_get@{ecore\_\-exe\_\-event\_\-data\_\-get}!Ecore_Exe_Basic_Group@{Ecore\_\-Exe\_\-Basic\_\-Group}}
+\subsubsection[ecore\_\-exe\_\-event\_\-data\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI \hyperlink{struct__Ecore__Exe__Event__Data}{Ecore\_\-Exe\_\-Event\_\-Data}$\ast$ ecore\_\-exe\_\-event\_\-data\_\-get (\hyperlink{Ecore_8h_5560d4d853db434d387e818c908f394d}{Ecore\_\-Exe} $\ast$ {\em exe}, Ecore\_\-Exe\_\-Flags {\em flags})}}
+\label{group__Ecore__Exe__Basic__Group_gce51fedd2709f26c6c82cd0135aa6dbe}
+
+
+Gets the auto pipe data for the given process handle. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em exe}]The given process handle. \item[{\em flags}]Is this a ECORE\_\-EXE\_\-PIPE\_\-READ or ECORE\_\-EXE\_\-PIPE\_\-ERROR? \end{description}
+\end{Desc}
+\hypertarget{group__Ecore__Exe__Basic__Group_g07ef2b7bd313988a0d1691d7e3edcddb}{
+\index{Ecore_Exe_Basic_Group@{Ecore\_\-Exe\_\-Basic\_\-Group}!ecore_exe_free@{ecore\_\-exe\_\-free}}
+\index{ecore_exe_free@{ecore\_\-exe\_\-free}!Ecore_Exe_Basic_Group@{Ecore\_\-Exe\_\-Basic\_\-Group}}
+\subsubsection[ecore\_\-exe\_\-free]{\setlength{\rightskip}{0pt plus 5cm}EAPI void$\ast$ ecore\_\-exe\_\-free (\hyperlink{Ecore_8h_5560d4d853db434d387e818c908f394d}{Ecore\_\-Exe} $\ast$ {\em exe})}}
+\label{group__Ecore__Exe__Basic__Group_g07ef2b7bd313988a0d1691d7e3edcddb}
+
+
+Frees the given process handle. 
+
+Note that the process that the handle represents is unaffected by this function.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em exe}]The given process handle. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The data attached to the handle when \hyperlink{group__Ecore__Exe__Basic__Group_g7ee5b2a9c3b1458395ff60287d368faa}{ecore\_\-exe\_\-run} was called. \end{Desc}
+\hypertarget{group__Ecore__Exe__Basic__Group_g2677aa0958df5744ca31b1276a58ac5f}{
+\index{Ecore_Exe_Basic_Group@{Ecore\_\-Exe\_\-Basic\_\-Group}!ecore_exe_pid_get@{ecore\_\-exe\_\-pid\_\-get}}
+\index{ecore_exe_pid_get@{ecore\_\-exe\_\-pid\_\-get}!Ecore_Exe_Basic_Group@{Ecore\_\-Exe\_\-Basic\_\-Group}}
+\subsubsection[ecore\_\-exe\_\-pid\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI pid\_\-t ecore\_\-exe\_\-pid\_\-get (\hyperlink{Ecore_8h_5560d4d853db434d387e818c908f394d}{Ecore\_\-Exe} $\ast$ {\em exe})}}
+\label{group__Ecore__Exe__Basic__Group_g2677aa0958df5744ca31b1276a58ac5f}
+
+
+Retrieves the process ID of the given spawned process. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em exe}]Handle to the given spawned process. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The process ID on success. {\tt -1} otherwise. \end{Desc}
+\hypertarget{group__Ecore__Exe__Basic__Group_g769740ce38413683fb40ddf725ac54b7}{
+\index{Ecore_Exe_Basic_Group@{Ecore\_\-Exe\_\-Basic\_\-Group}!ecore_exe_pipe_run@{ecore\_\-exe\_\-pipe\_\-run}}
+\index{ecore_exe_pipe_run@{ecore\_\-exe\_\-pipe\_\-run}!Ecore_Exe_Basic_Group@{Ecore\_\-Exe\_\-Basic\_\-Group}}
+\subsubsection[ecore\_\-exe\_\-pipe\_\-run]{\setlength{\rightskip}{0pt plus 5cm}EAPI \hyperlink{Ecore_8h_5560d4d853db434d387e818c908f394d}{Ecore\_\-Exe}$\ast$ ecore\_\-exe\_\-pipe\_\-run (const char $\ast$ {\em exe\_\-cmd}, Ecore\_\-Exe\_\-Flags {\em flags}, const void $\ast$ {\em data})}}
+\label{group__Ecore__Exe__Basic__Group_g769740ce38413683fb40ddf725ac54b7}
+
+
+Spawns a child process with its stdin/out available for communication. 
+
+This function forks and runs the given command using {\tt /bin/sh}.
+
+Note that the process handle is only valid until a child process terminated event is received. After all handlers for the child process terminated event have been called, the handle will be freed by Ecore.
+
+This function does the same thing as \hyperlink{group__Ecore__Exe__Basic__Group_g7ee5b2a9c3b1458395ff60287d368faa}{ecore\_\-exe\_\-run()}, but also makes the standard in and/or out as wel las stderr from the child process available for reading or writing. To write use \hyperlink{group__Ecore__Exe__Basic__Group_gcf1dfcfd5c4a7f57a85ac2369123e47e}{ecore\_\-exe\_\-send()}. To read listen to ECORE\_\-EXE\_\-EVENT\_\-DATA or ECORE\_\-EXE\_\-EVENT\_\-ERROR events (set up handlers). Ecore may buffer read and error data until a newline character if asked for with the {\tt flags}. All data will be included in the events (newlines will be replaced with NULLS if line buffered). ECORE\_\-EXE\_\-EVENT\_\-DATA events will only happen if the process is run with ECORE\_\-EXE\_\-PIPE\_\-READ enabled in the flags. The same with the error version. Writing will only be allowed with ECORE\_\-EXE\_\-PIPE\_\-WRITE enabled in the flags.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em exe\_\-cmd}]The command to run with {\tt /bin/sh}. \item[{\em flags}]The flag parameters for how to deal with inter-process I/O \item[{\em data}]Data to attach to the returned process handle. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]A process handle to the spawned process. \end{Desc}
+\hypertarget{group__Ecore__Exe__Basic__Group_g7ee5b2a9c3b1458395ff60287d368faa}{
+\index{Ecore_Exe_Basic_Group@{Ecore\_\-Exe\_\-Basic\_\-Group}!ecore_exe_run@{ecore\_\-exe\_\-run}}
+\index{ecore_exe_run@{ecore\_\-exe\_\-run}!Ecore_Exe_Basic_Group@{Ecore\_\-Exe\_\-Basic\_\-Group}}
+\subsubsection[ecore\_\-exe\_\-run]{\setlength{\rightskip}{0pt plus 5cm}EAPI \hyperlink{Ecore_8h_5560d4d853db434d387e818c908f394d}{Ecore\_\-Exe}$\ast$ ecore\_\-exe\_\-run (const char $\ast$ {\em exe\_\-cmd}, const void $\ast$ {\em data})}}
+\label{group__Ecore__Exe__Basic__Group_g7ee5b2a9c3b1458395ff60287d368faa}
+
+
+Spawns a child process. 
+
+This is now just a thin wrapper around \hyperlink{group__Ecore__Exe__Basic__Group_g769740ce38413683fb40ddf725ac54b7}{ecore\_\-exe\_\-pipe\_\-run()}
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em exe\_\-cmd}]The command to run with {\tt /bin/sh}. \item[{\em data}]Data to attach to the returned process handle. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]A process handle to the spawned process. \end{Desc}
+\hypertarget{group__Ecore__Exe__Basic__Group_gcf1dfcfd5c4a7f57a85ac2369123e47e}{
+\index{Ecore_Exe_Basic_Group@{Ecore\_\-Exe\_\-Basic\_\-Group}!ecore_exe_send@{ecore\_\-exe\_\-send}}
+\index{ecore_exe_send@{ecore\_\-exe\_\-send}!Ecore_Exe_Basic_Group@{Ecore\_\-Exe\_\-Basic\_\-Group}}
+\subsubsection[ecore\_\-exe\_\-send]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-exe\_\-send (\hyperlink{Ecore_8h_5560d4d853db434d387e818c908f394d}{Ecore\_\-Exe} $\ast$ {\em exe}, void $\ast$ {\em data}, int {\em size})}}
+\label{group__Ecore__Exe__Basic__Group_gcf1dfcfd5c4a7f57a85ac2369123e47e}
+
+
+Sends data to the given child process which it recieves on stdin. 
+
+This function writes to a child processes standard in, with unlimited buffering. This call will never block. It may fail if the system runs out of memory.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em exe}]The child process to send to \item[{\em data}]The data to send \item[{\em size}]The size of the data to send, in bytes \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]1 if successful, 0 on failure. \end{Desc}
+\hypertarget{group__Ecore__Exe__Basic__Group_g934ea965265b697840a44f860ac4f907}{
+\index{Ecore_Exe_Basic_Group@{Ecore\_\-Exe\_\-Basic\_\-Group}!ecore_exe_tag_get@{ecore\_\-exe\_\-tag\_\-get}}
+\index{ecore_exe_tag_get@{ecore\_\-exe\_\-tag\_\-get}!Ecore_Exe_Basic_Group@{Ecore\_\-Exe\_\-Basic\_\-Group}}
+\subsubsection[ecore\_\-exe\_\-tag\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI char$\ast$ ecore\_\-exe\_\-tag\_\-get (\hyperlink{Ecore_8h_5560d4d853db434d387e818c908f394d}{Ecore\_\-Exe} $\ast$ {\em exe})}}
+\label{group__Ecore__Exe__Basic__Group_g934ea965265b697840a44f860ac4f907}
+
+
+Retrieves the tag attached to the given process handle. 
+
+There is no need to free it as it just returns the internal pointer value. This value is only valid as long as the {\tt exe} is valid or until the tag is set to something else on this {\tt exe}.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em exe}]The given process handle. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The string attached to {\tt exe}. \end{Desc}
+\hypertarget{group__Ecore__Exe__Basic__Group_g68245a929e914cbe4fb64c287ef3f5ae}{
+\index{Ecore_Exe_Basic_Group@{Ecore\_\-Exe\_\-Basic\_\-Group}!ecore_exe_tag_set@{ecore\_\-exe\_\-tag\_\-set}}
+\index{ecore_exe_tag_set@{ecore\_\-exe\_\-tag\_\-set}!Ecore_Exe_Basic_Group@{Ecore\_\-Exe\_\-Basic\_\-Group}}
+\subsubsection[ecore\_\-exe\_\-tag\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-exe\_\-tag\_\-set (\hyperlink{Ecore_8h_5560d4d853db434d387e818c908f394d}{Ecore\_\-Exe} $\ast$ {\em exe}, const char $\ast$ {\em tag})}}
+\label{group__Ecore__Exe__Basic__Group_g68245a929e914cbe4fb64c287ef3f5ae}
+
+
+Sets the string tag for the given process handle. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em exe}]The given process handle. \item[{\em tag}]The string tag to set on the process handle. \end{description}
+\end{Desc}
diff --git a/doc/latex/group__Ecore__Exe__Signal__Group.tex b/doc/latex/group__Ecore__Exe__Signal__Group.tex
new file mode 100644
index 0000000..f36822d
--- /dev/null
+++ b/doc/latex/group__Ecore__Exe__Signal__Group.tex
@@ -0,0 +1,112 @@
+\hypertarget{group__Ecore__Exe__Signal__Group}{
+\section{Spawned Process Signal Functions}
+\label{group__Ecore__Exe__Signal__Group}\index{Spawned Process Signal Functions@{Spawned Process Signal Functions}}
+}
+Functions that send signals to spawned processes.  
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+EAPI void \hyperlink{group__Ecore__Exe__Signal__Group_g390ff3fbd834c483cb3b52701061b224}{ecore\_\-exe\_\-pause} (\hyperlink{Ecore_8h_5560d4d853db434d387e818c908f394d}{Ecore\_\-Exe} $\ast$exe)
+\begin{CompactList}\small\item\em Pauses the given process by sending it a {\tt SIGSTOP} signal. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__Exe__Signal__Group_gb2a1c0e6b97362a08b043a53bb2167e9}{ecore\_\-exe\_\-continue} (\hyperlink{Ecore_8h_5560d4d853db434d387e818c908f394d}{Ecore\_\-Exe} $\ast$exe)
+\begin{CompactList}\small\item\em Continues the given paused process by sending it a {\tt SIGCONT} signal. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__Exe__Signal__Group_g181cf5546257df38243b82164317450d}{ecore\_\-exe\_\-terminate} (\hyperlink{Ecore_8h_5560d4d853db434d387e818c908f394d}{Ecore\_\-Exe} $\ast$exe)
+\begin{CompactList}\small\item\em Sends the given spawned process a terminate ({\tt SIGTERM}) signal. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__Exe__Signal__Group_ga1f87cd678eacacd8742a49703f94128}{ecore\_\-exe\_\-kill} (\hyperlink{Ecore_8h_5560d4d853db434d387e818c908f394d}{Ecore\_\-Exe} $\ast$exe)
+\begin{CompactList}\small\item\em Kills the given spawned process by sending it a {\tt SIGKILL} signal. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__Exe__Signal__Group_g293b5baa7703e113e7444f21855f7b95}{ecore\_\-exe\_\-signal} (\hyperlink{Ecore_8h_5560d4d853db434d387e818c908f394d}{Ecore\_\-Exe} $\ast$exe, int num)
+\begin{CompactList}\small\item\em Sends a {\tt SIGUSR} signal to the given spawned process. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__Exe__Signal__Group_ge50008a47cf6d717a8d2266b8b7fae57}{ecore\_\-exe\_\-hup} (\hyperlink{Ecore_8h_5560d4d853db434d387e818c908f394d}{Ecore\_\-Exe} $\ast$exe)
+\begin{CompactList}\small\item\em Sends a {\tt SIGHUP} signal to the given spawned process. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Functions that send signals to spawned processes. 
+
+
+
+\subsection{Function Documentation}
+\hypertarget{group__Ecore__Exe__Signal__Group_gb2a1c0e6b97362a08b043a53bb2167e9}{
+\index{Ecore_Exe_Signal_Group@{Ecore\_\-Exe\_\-Signal\_\-Group}!ecore_exe_continue@{ecore\_\-exe\_\-continue}}
+\index{ecore_exe_continue@{ecore\_\-exe\_\-continue}!Ecore_Exe_Signal_Group@{Ecore\_\-Exe\_\-Signal\_\-Group}}
+\subsubsection[ecore\_\-exe\_\-continue]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-exe\_\-continue (\hyperlink{Ecore_8h_5560d4d853db434d387e818c908f394d}{Ecore\_\-Exe} $\ast$ {\em exe})}}
+\label{group__Ecore__Exe__Signal__Group_gb2a1c0e6b97362a08b043a53bb2167e9}
+
+
+Continues the given paused process by sending it a {\tt SIGCONT} signal. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em exe}]Process handle to the given process. \end{description}
+\end{Desc}
+\hypertarget{group__Ecore__Exe__Signal__Group_ge50008a47cf6d717a8d2266b8b7fae57}{
+\index{Ecore_Exe_Signal_Group@{Ecore\_\-Exe\_\-Signal\_\-Group}!ecore_exe_hup@{ecore\_\-exe\_\-hup}}
+\index{ecore_exe_hup@{ecore\_\-exe\_\-hup}!Ecore_Exe_Signal_Group@{Ecore\_\-Exe\_\-Signal\_\-Group}}
+\subsubsection[ecore\_\-exe\_\-hup]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-exe\_\-hup (\hyperlink{Ecore_8h_5560d4d853db434d387e818c908f394d}{Ecore\_\-Exe} $\ast$ {\em exe})}}
+\label{group__Ecore__Exe__Signal__Group_ge50008a47cf6d717a8d2266b8b7fae57}
+
+
+Sends a {\tt SIGHUP} signal to the given spawned process. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em exe}]Process handle to the given process. \end{description}
+\end{Desc}
+\hypertarget{group__Ecore__Exe__Signal__Group_ga1f87cd678eacacd8742a49703f94128}{
+\index{Ecore_Exe_Signal_Group@{Ecore\_\-Exe\_\-Signal\_\-Group}!ecore_exe_kill@{ecore\_\-exe\_\-kill}}
+\index{ecore_exe_kill@{ecore\_\-exe\_\-kill}!Ecore_Exe_Signal_Group@{Ecore\_\-Exe\_\-Signal\_\-Group}}
+\subsubsection[ecore\_\-exe\_\-kill]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-exe\_\-kill (\hyperlink{Ecore_8h_5560d4d853db434d387e818c908f394d}{Ecore\_\-Exe} $\ast$ {\em exe})}}
+\label{group__Ecore__Exe__Signal__Group_ga1f87cd678eacacd8742a49703f94128}
+
+
+Kills the given spawned process by sending it a {\tt SIGKILL} signal. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em exe}]Process handle to the given process. \end{description}
+\end{Desc}
+\hypertarget{group__Ecore__Exe__Signal__Group_g390ff3fbd834c483cb3b52701061b224}{
+\index{Ecore_Exe_Signal_Group@{Ecore\_\-Exe\_\-Signal\_\-Group}!ecore_exe_pause@{ecore\_\-exe\_\-pause}}
+\index{ecore_exe_pause@{ecore\_\-exe\_\-pause}!Ecore_Exe_Signal_Group@{Ecore\_\-Exe\_\-Signal\_\-Group}}
+\subsubsection[ecore\_\-exe\_\-pause]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-exe\_\-pause (\hyperlink{Ecore_8h_5560d4d853db434d387e818c908f394d}{Ecore\_\-Exe} $\ast$ {\em exe})}}
+\label{group__Ecore__Exe__Signal__Group_g390ff3fbd834c483cb3b52701061b224}
+
+
+Pauses the given process by sending it a {\tt SIGSTOP} signal. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em exe}]Process handle to the given process. \end{description}
+\end{Desc}
+\hypertarget{group__Ecore__Exe__Signal__Group_g293b5baa7703e113e7444f21855f7b95}{
+\index{Ecore_Exe_Signal_Group@{Ecore\_\-Exe\_\-Signal\_\-Group}!ecore_exe_signal@{ecore\_\-exe\_\-signal}}
+\index{ecore_exe_signal@{ecore\_\-exe\_\-signal}!Ecore_Exe_Signal_Group@{Ecore\_\-Exe\_\-Signal\_\-Group}}
+\subsubsection[ecore\_\-exe\_\-signal]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-exe\_\-signal (\hyperlink{Ecore_8h_5560d4d853db434d387e818c908f394d}{Ecore\_\-Exe} $\ast$ {\em exe}, int {\em num})}}
+\label{group__Ecore__Exe__Signal__Group_g293b5baa7703e113e7444f21855f7b95}
+
+
+Sends a {\tt SIGUSR} signal to the given spawned process. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em exe}]Process handle to the given process. \item[{\em num}]The number user signal to send. Must be either 1 or 2, or the signal will be ignored. \end{description}
+\end{Desc}
+\hypertarget{group__Ecore__Exe__Signal__Group_g181cf5546257df38243b82164317450d}{
+\index{Ecore_Exe_Signal_Group@{Ecore\_\-Exe\_\-Signal\_\-Group}!ecore_exe_terminate@{ecore\_\-exe\_\-terminate}}
+\index{ecore_exe_terminate@{ecore\_\-exe\_\-terminate}!Ecore_Exe_Signal_Group@{Ecore\_\-Exe\_\-Signal\_\-Group}}
+\subsubsection[ecore\_\-exe\_\-terminate]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-exe\_\-terminate (\hyperlink{Ecore_8h_5560d4d853db434d387e818c908f394d}{Ecore\_\-Exe} $\ast$ {\em exe})}}
+\label{group__Ecore__Exe__Signal__Group_g181cf5546257df38243b82164317450d}
+
+
+Sends the given spawned process a terminate ({\tt SIGTERM}) signal. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em exe}]Process handle to the given process. \end{description}
+\end{Desc}
diff --git a/doc/latex/group__Ecore__FB__Backlight__Group.tex b/doc/latex/group__Ecore__FB__Backlight__Group.tex
new file mode 100644
index 0000000..40a0a28
--- /dev/null
+++ b/doc/latex/group__Ecore__FB__Backlight__Group.tex
@@ -0,0 +1,74 @@
+\hypertarget{group__Ecore__FB__Backlight__Group}{
+\section{Framebuffer Backlight Functions}
+\label{group__Ecore__FB__Backlight__Group}\index{Framebuffer Backlight Functions@{Framebuffer Backlight Functions}}
+}
+Functions that deal with the backlight of a framebuffer's screen.  
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+EAPI void \hyperlink{group__Ecore__FB__Backlight__Group_gad15d906ed652847b0e5e69e60b62c5d}{ecore\_\-fb\_\-backlight\_\-set} (int on)
+\begin{CompactList}\small\item\em Turns on or off the backlight. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__FB__Backlight__Group_g9acaeb66b4c2c6066d7617a35f7d7480}{ecore\_\-fb\_\-backlight\_\-get} (void)
+\begin{CompactList}\small\item\em Retrieves the backlight state. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__FB__Backlight__Group_gd7bd9a8f6e346d38763558a2d12677f5}{ecore\_\-fb\_\-backlight\_\-brightness\_\-set} (double br)
+\begin{CompactList}\small\item\em Sets the backlight brightness. \item\end{CompactList}\item 
+EAPI double \hyperlink{group__Ecore__FB__Backlight__Group_g2404499370f041dd192aebf3dbb774b9}{ecore\_\-fb\_\-backlight\_\-brightness\_\-get} (void)
+\begin{CompactList}\small\item\em Retrieves the backlight brightness. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Functions that deal with the backlight of a framebuffer's screen. 
+
+
+
+\subsection{Function Documentation}
+\hypertarget{group__Ecore__FB__Backlight__Group_g2404499370f041dd192aebf3dbb774b9}{
+\index{Ecore_FB_Backlight_Group@{Ecore\_\-FB\_\-Backlight\_\-Group}!ecore_fb_backlight_brightness_get@{ecore\_\-fb\_\-backlight\_\-brightness\_\-get}}
+\index{ecore_fb_backlight_brightness_get@{ecore\_\-fb\_\-backlight\_\-brightness\_\-get}!Ecore_FB_Backlight_Group@{Ecore\_\-FB\_\-Backlight\_\-Group}}
+\subsubsection[ecore\_\-fb\_\-backlight\_\-brightness\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI double ecore\_\-fb\_\-backlight\_\-brightness\_\-get (void)}}
+\label{group__Ecore__FB__Backlight__Group_g2404499370f041dd192aebf3dbb774b9}
+
+
+Retrieves the backlight brightness. 
+
+\begin{Desc}
+\item[Returns:]The current backlight brigntess, where 0.0 is the darkest and 1.0 is the brightest. \end{Desc}
+\hypertarget{group__Ecore__FB__Backlight__Group_gd7bd9a8f6e346d38763558a2d12677f5}{
+\index{Ecore_FB_Backlight_Group@{Ecore\_\-FB\_\-Backlight\_\-Group}!ecore_fb_backlight_brightness_set@{ecore\_\-fb\_\-backlight\_\-brightness\_\-set}}
+\index{ecore_fb_backlight_brightness_set@{ecore\_\-fb\_\-backlight\_\-brightness\_\-set}!Ecore_FB_Backlight_Group@{Ecore\_\-FB\_\-Backlight\_\-Group}}
+\subsubsection[ecore\_\-fb\_\-backlight\_\-brightness\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-fb\_\-backlight\_\-brightness\_\-set (double {\em br})}}
+\label{group__Ecore__FB__Backlight__Group_gd7bd9a8f6e346d38763558a2d12677f5}
+
+
+Sets the backlight brightness. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em br}]Brightness between 0.0 to 1.0, where 0.0 is darkest and 1.0 is brightest. \end{description}
+\end{Desc}
+\hypertarget{group__Ecore__FB__Backlight__Group_g9acaeb66b4c2c6066d7617a35f7d7480}{
+\index{Ecore_FB_Backlight_Group@{Ecore\_\-FB\_\-Backlight\_\-Group}!ecore_fb_backlight_get@{ecore\_\-fb\_\-backlight\_\-get}}
+\index{ecore_fb_backlight_get@{ecore\_\-fb\_\-backlight\_\-get}!Ecore_FB_Backlight_Group@{Ecore\_\-FB\_\-Backlight\_\-Group}}
+\subsubsection[ecore\_\-fb\_\-backlight\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-fb\_\-backlight\_\-get (void)}}
+\label{group__Ecore__FB__Backlight__Group_g9acaeb66b4c2c6066d7617a35f7d7480}
+
+
+Retrieves the backlight state. 
+
+\begin{Desc}
+\item[Returns:]Whether the backlight is on. \end{Desc}
+\hypertarget{group__Ecore__FB__Backlight__Group_gad15d906ed652847b0e5e69e60b62c5d}{
+\index{Ecore_FB_Backlight_Group@{Ecore\_\-FB\_\-Backlight\_\-Group}!ecore_fb_backlight_set@{ecore\_\-fb\_\-backlight\_\-set}}
+\index{ecore_fb_backlight_set@{ecore\_\-fb\_\-backlight\_\-set}!Ecore_FB_Backlight_Group@{Ecore\_\-FB\_\-Backlight\_\-Group}}
+\subsubsection[ecore\_\-fb\_\-backlight\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-fb\_\-backlight\_\-set (int {\em on})}}
+\label{group__Ecore__FB__Backlight__Group_gad15d906ed652847b0e5e69e60b62c5d}
+
+
+Turns on or off the backlight. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em on}]{\tt 1} to turn the backlight on. {\tt 0} to turn it off. \end{description}
+\end{Desc}
diff --git a/doc/latex/group__Ecore__FB__Calibrate__Group.tex b/doc/latex/group__Ecore__FB__Calibrate__Group.tex
new file mode 100644
index 0000000..d5d5861
--- /dev/null
+++ b/doc/latex/group__Ecore__FB__Calibrate__Group.tex
@@ -0,0 +1,48 @@
+\hypertarget{group__Ecore__FB__Calibrate__Group}{
+\section{Framebuffer Calibration Functions}
+\label{group__Ecore__FB__Calibrate__Group}\index{Framebuffer Calibration Functions@{Framebuffer Calibration Functions}}
+}
+Functions that calibrate the screen.  
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+EAPI void \hyperlink{group__Ecore__FB__Calibrate__Group_g9d9fcdece8e69f7e3798a5ddea7f9403}{ecore\_\-fb\_\-touch\_\-screen\_\-calibrate\_\-set} (int xscale, int xtrans, int yscale, int ytrans, int xyswap)
+\begin{CompactList}\small\item\em Calibrates the touschreen using the given parameters. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__FB__Calibrate__Group_ge4aa44af19bec4dcc5c7e66c81e31fef}{ecore\_\-fb\_\-touch\_\-screen\_\-calibrate\_\-get} (int $\ast$xscale, int $\ast$xtrans, int $\ast$yscale, int $\ast$ytrans, int $\ast$xyswap)
+\begin{CompactList}\small\item\em Retrieves the calibration parameters of the touchscreen. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Functions that calibrate the screen. 
+
+
+
+\subsection{Function Documentation}
+\hypertarget{group__Ecore__FB__Calibrate__Group_ge4aa44af19bec4dcc5c7e66c81e31fef}{
+\index{Ecore_FB_Calibrate_Group@{Ecore\_\-FB\_\-Calibrate\_\-Group}!ecore_fb_touch_screen_calibrate_get@{ecore\_\-fb\_\-touch\_\-screen\_\-calibrate\_\-get}}
+\index{ecore_fb_touch_screen_calibrate_get@{ecore\_\-fb\_\-touch\_\-screen\_\-calibrate\_\-get}!Ecore_FB_Calibrate_Group@{Ecore\_\-FB\_\-Calibrate\_\-Group}}
+\subsubsection[ecore\_\-fb\_\-touch\_\-screen\_\-calibrate\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-fb\_\-touch\_\-screen\_\-calibrate\_\-get (int $\ast$ {\em xscale}, int $\ast$ {\em xtrans}, int $\ast$ {\em yscale}, int $\ast$ {\em ytrans}, int $\ast$ {\em xyswap})}}
+\label{group__Ecore__FB__Calibrate__Group_ge4aa44af19bec4dcc5c7e66c81e31fef}
+
+
+Retrieves the calibration parameters of the touchscreen. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em xscale}]Pointer to an integer in which to store the X scaling. Note that 256 = 1.0. \item[{\em xtrans}]Pointer to an integer in which to store the X translation. \item[{\em yscale}]Pointer to an integer in which to store the Y scaling. \item[{\em ytrans}]Pointer to an integer in which to store the Y translation. \item[{\em xyswap}]Pointer to an integer in which to store the Swap X \& Y flag. \end{description}
+\end{Desc}
+\hypertarget{group__Ecore__FB__Calibrate__Group_g9d9fcdece8e69f7e3798a5ddea7f9403}{
+\index{Ecore_FB_Calibrate_Group@{Ecore\_\-FB\_\-Calibrate\_\-Group}!ecore_fb_touch_screen_calibrate_set@{ecore\_\-fb\_\-touch\_\-screen\_\-calibrate\_\-set}}
+\index{ecore_fb_touch_screen_calibrate_set@{ecore\_\-fb\_\-touch\_\-screen\_\-calibrate\_\-set}!Ecore_FB_Calibrate_Group@{Ecore\_\-FB\_\-Calibrate\_\-Group}}
+\subsubsection[ecore\_\-fb\_\-touch\_\-screen\_\-calibrate\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-fb\_\-touch\_\-screen\_\-calibrate\_\-set (int {\em xscale}, int {\em xtrans}, int {\em yscale}, int {\em ytrans}, int {\em xyswap})}}
+\label{group__Ecore__FB__Calibrate__Group_g9d9fcdece8e69f7e3798a5ddea7f9403}
+
+
+Calibrates the touschreen using the given parameters. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em xscale}]X scaling, where 256 = 1.0 \item[{\em xtrans}]X translation. \item[{\em yscale}]Y scaling. \item[{\em ytrans}]Y translation. \item[{\em xyswap}]Swap X \& Y flag. \end{description}
+\end{Desc}
diff --git a/doc/latex/group__Ecore__FB__Click__Group.tex b/doc/latex/group__Ecore__FB__Click__Group.tex
new file mode 100644
index 0000000..9bc4a3e
--- /dev/null
+++ b/doc/latex/group__Ecore__FB__Click__Group.tex
@@ -0,0 +1,49 @@
+\hypertarget{group__Ecore__FB__Click__Group}{
+\section{Framebuffer Double Click Functions}
+\label{group__Ecore__FB__Click__Group}\index{Framebuffer Double Click Functions@{Framebuffer Double Click Functions}}
+}
+Functions that deal with the double click time of the framebuffer.  
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+EAPI void \hyperlink{group__Ecore__FB__Click__Group_gc029af471622f928bd1a98df9de56fa1}{ecore\_\-fb\_\-double\_\-click\_\-time\_\-set} (double t)
+\begin{CompactList}\small\item\em Sets the timeout for a double and triple clicks to be flagged. \item\end{CompactList}\item 
+EAPI double \hyperlink{group__Ecore__FB__Click__Group_g0b27ae79d19271988f7451171ab0b086}{ecore\_\-fb\_\-double\_\-click\_\-time\_\-get} (void)
+\begin{CompactList}\small\item\em Retrieves the double and triple click flag timeout. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Functions that deal with the double click time of the framebuffer. 
+
+
+
+\subsection{Function Documentation}
+\hypertarget{group__Ecore__FB__Click__Group_g0b27ae79d19271988f7451171ab0b086}{
+\index{Ecore_FB_Click_Group@{Ecore\_\-FB\_\-Click\_\-Group}!ecore_fb_double_click_time_get@{ecore\_\-fb\_\-double\_\-click\_\-time\_\-get}}
+\index{ecore_fb_double_click_time_get@{ecore\_\-fb\_\-double\_\-click\_\-time\_\-get}!Ecore_FB_Click_Group@{Ecore\_\-FB\_\-Click\_\-Group}}
+\subsubsection[ecore\_\-fb\_\-double\_\-click\_\-time\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI double ecore\_\-fb\_\-double\_\-click\_\-time\_\-get (void)}}
+\label{group__Ecore__FB__Click__Group_g0b27ae79d19271988f7451171ab0b086}
+
+
+Retrieves the double and triple click flag timeout. 
+
+See \hyperlink{group__Ecore__Xcb__Display__Attr__Group_gfc0ad83fd20e71ffdd8d706323778f67}{ecore\_\-x\_\-double\_\-click\_\-time\_\-set} for more information.
+
+\begin{Desc}
+\item[Returns:]The timeout for double clicks in seconds. \end{Desc}
+\hypertarget{group__Ecore__FB__Click__Group_gc029af471622f928bd1a98df9de56fa1}{
+\index{Ecore_FB_Click_Group@{Ecore\_\-FB\_\-Click\_\-Group}!ecore_fb_double_click_time_set@{ecore\_\-fb\_\-double\_\-click\_\-time\_\-set}}
+\index{ecore_fb_double_click_time_set@{ecore\_\-fb\_\-double\_\-click\_\-time\_\-set}!Ecore_FB_Click_Group@{Ecore\_\-FB\_\-Click\_\-Group}}
+\subsubsection[ecore\_\-fb\_\-double\_\-click\_\-time\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-fb\_\-double\_\-click\_\-time\_\-set (double {\em t})}}
+\label{group__Ecore__FB__Click__Group_gc029af471622f928bd1a98df9de56fa1}
+
+
+Sets the timeout for a double and triple clicks to be flagged. 
+
+This sets the time between clicks before the double\_\-click flag is set in a button down event. If 3 clicks occur within double this time, the triple\_\-click flag is also set.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em t}]The time in seconds \end{description}
+\end{Desc}
diff --git a/doc/latex/group__Ecore__FB__Contrast__Group.tex b/doc/latex/group__Ecore__FB__Contrast__Group.tex
new file mode 100644
index 0000000..b3d21a6
--- /dev/null
+++ b/doc/latex/group__Ecore__FB__Contrast__Group.tex
@@ -0,0 +1,45 @@
+\hypertarget{group__Ecore__FB__Contrast__Group}{
+\section{Framebuffer Contrast Functions}
+\label{group__Ecore__FB__Contrast__Group}\index{Framebuffer Contrast Functions@{Framebuffer Contrast Functions}}
+}
+Values that set and retrieve the contrast of a framebuffer screen.  
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+EAPI void \hyperlink{group__Ecore__FB__Contrast__Group_g641cafa7e17741cc7488deea7cf72329}{ecore\_\-fb\_\-contrast\_\-set} (double cr)
+\begin{CompactList}\small\item\em Sets the contrast used by the framebuffer screen. \item\end{CompactList}\item 
+EAPI double \hyperlink{group__Ecore__FB__Contrast__Group_gc0d0b7a530c5cfc4b94b94e56e3b35be}{ecore\_\-fb\_\-contrast\_\-get} (void)
+\begin{CompactList}\small\item\em Retrieves the contrast currently being used by the framebuffer screen. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Values that set and retrieve the contrast of a framebuffer screen. 
+
+
+
+\subsection{Function Documentation}
+\hypertarget{group__Ecore__FB__Contrast__Group_gc0d0b7a530c5cfc4b94b94e56e3b35be}{
+\index{Ecore_FB_Contrast_Group@{Ecore\_\-FB\_\-Contrast\_\-Group}!ecore_fb_contrast_get@{ecore\_\-fb\_\-contrast\_\-get}}
+\index{ecore_fb_contrast_get@{ecore\_\-fb\_\-contrast\_\-get}!Ecore_FB_Contrast_Group@{Ecore\_\-FB\_\-Contrast\_\-Group}}
+\subsubsection[ecore\_\-fb\_\-contrast\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI double ecore\_\-fb\_\-contrast\_\-get (void)}}
+\label{group__Ecore__FB__Contrast__Group_gc0d0b7a530c5cfc4b94b94e56e3b35be}
+
+
+Retrieves the contrast currently being used by the framebuffer screen. 
+
+\begin{Desc}
+\item[Returns:]A value between 0 and 1 that represents the current contrast of the screen. \end{Desc}
+\hypertarget{group__Ecore__FB__Contrast__Group_g641cafa7e17741cc7488deea7cf72329}{
+\index{Ecore_FB_Contrast_Group@{Ecore\_\-FB\_\-Contrast\_\-Group}!ecore_fb_contrast_set@{ecore\_\-fb\_\-contrast\_\-set}}
+\index{ecore_fb_contrast_set@{ecore\_\-fb\_\-contrast\_\-set}!Ecore_FB_Contrast_Group@{Ecore\_\-FB\_\-Contrast\_\-Group}}
+\subsubsection[ecore\_\-fb\_\-contrast\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-fb\_\-contrast\_\-set (double {\em cr})}}
+\label{group__Ecore__FB__Contrast__Group_g641cafa7e17741cc7488deea7cf72329}
+
+
+Sets the contrast used by the framebuffer screen. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em cr}]Value between 0 and 1 that gives the new contrast of the screen. \end{description}
+\end{Desc}
diff --git a/doc/latex/group__Ecore__FB__LED__Group.tex b/doc/latex/group__Ecore__FB__LED__Group.tex
new file mode 100644
index 0000000..ecd7b33
--- /dev/null
+++ b/doc/latex/group__Ecore__FB__LED__Group.tex
@@ -0,0 +1,50 @@
+\hypertarget{group__Ecore__FB__LED__Group}{
+\section{Framebuffer LED Functions}
+\label{group__Ecore__FB__LED__Group}\index{Framebuffer LED Functions@{Framebuffer LED Functions}}
+}
+Functions that deal with the light emitting diode connected to the current framebuffer.  
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+EAPI void \hyperlink{group__Ecore__FB__LED__Group_g5a7b6c0b741c81b1a8e0626f7fe686c4}{ecore\_\-fb\_\-led\_\-set} (int on)
+\begin{CompactList}\small\item\em Sets whether the current framebuffer's LED to the given state. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__FB__LED__Group_g3c3ae8419c3368d844770b616efdb360}{ecore\_\-fb\_\-led\_\-blink\_\-set} (double speed)
+\begin{CompactList}\small\item\em Makes the LED of the current framebuffer blink. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Functions that deal with the light emitting diode connected to the current framebuffer. 
+
+
+
+\subsection{Function Documentation}
+\hypertarget{group__Ecore__FB__LED__Group_g3c3ae8419c3368d844770b616efdb360}{
+\index{Ecore_FB_LED_Group@{Ecore\_\-FB\_\-LED\_\-Group}!ecore_fb_led_blink_set@{ecore\_\-fb\_\-led\_\-blink\_\-set}}
+\index{ecore_fb_led_blink_set@{ecore\_\-fb\_\-led\_\-blink\_\-set}!Ecore_FB_LED_Group@{Ecore\_\-FB\_\-LED\_\-Group}}
+\subsubsection[ecore\_\-fb\_\-led\_\-blink\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-fb\_\-led\_\-blink\_\-set (double {\em speed})}}
+\label{group__Ecore__FB__LED__Group_g3c3ae8419c3368d844770b616efdb360}
+
+
+Makes the LED of the current framebuffer blink. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em speed}]Number to give the speed on the blink.\end{description}
+\end{Desc}
+\begin{Desc}
+\item[\hyperlink{todo__todo000005}{Todo}]Documentation: Work out what speed the units are in. \end{Desc}
+\hypertarget{group__Ecore__FB__LED__Group_g5a7b6c0b741c81b1a8e0626f7fe686c4}{
+\index{Ecore_FB_LED_Group@{Ecore\_\-FB\_\-LED\_\-Group}!ecore_fb_led_set@{ecore\_\-fb\_\-led\_\-set}}
+\index{ecore_fb_led_set@{ecore\_\-fb\_\-led\_\-set}!Ecore_FB_LED_Group@{Ecore\_\-FB\_\-LED\_\-Group}}
+\subsubsection[ecore\_\-fb\_\-led\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-fb\_\-led\_\-set (int {\em on})}}
+\label{group__Ecore__FB__LED__Group_g5a7b6c0b741c81b1a8e0626f7fe686c4}
+
+
+Sets whether the current framebuffer's LED to the given state. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em on}]{\tt 1} to indicate the LED should be on, {\tt 0} if it should be off. \end{description}
+\end{Desc}
diff --git a/doc/latex/group__Ecore__FB__Library__Group.tex b/doc/latex/group__Ecore__FB__Library__Group.tex
new file mode 100644
index 0000000..5815b94
--- /dev/null
+++ b/doc/latex/group__Ecore__FB__Library__Group.tex
@@ -0,0 +1,47 @@
+\hypertarget{group__Ecore__FB__Library__Group}{
+\section{Framebuffer Library Functions}
+\label{group__Ecore__FB__Library__Group}\index{Framebuffer Library Functions@{Framebuffer Library Functions}}
+}
+Functions used to set up and shut down the Ecore\_\-Framebuffer functions.  
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+EAPI int \hyperlink{group__Ecore__FB__Library__Group_ge945032cdb59b1a1c7f7bdc6385189e2}{ecore\_\-fb\_\-init} (const char $\ast$name \_\-\_\-UNUSED\_\-\_\-)
+\begin{CompactList}\small\item\em Sets up the Ecore\_\-Fb library. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__FB__Library__Group_gefa9ae93cf6163379747349bb8cc82f7}{ecore\_\-fb\_\-shutdown} (void)
+\begin{CompactList}\small\item\em Shuts down the Ecore\_\-Fb library. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Functions used to set up and shut down the Ecore\_\-Framebuffer functions. 
+
+
+
+\subsection{Function Documentation}
+\hypertarget{group__Ecore__FB__Library__Group_ge945032cdb59b1a1c7f7bdc6385189e2}{
+\index{Ecore_FB_Library_Group@{Ecore\_\-FB\_\-Library\_\-Group}!ecore_fb_init@{ecore\_\-fb\_\-init}}
+\index{ecore_fb_init@{ecore\_\-fb\_\-init}!Ecore_FB_Library_Group@{Ecore\_\-FB\_\-Library\_\-Group}}
+\subsubsection[ecore\_\-fb\_\-init]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-fb\_\-init (const char $\ast$name {\em \_\-\_\-UNUSED\_\-\_\-})}}
+\label{group__Ecore__FB__Library__Group_ge945032cdb59b1a1c7f7bdc6385189e2}
+
+
+Sets up the Ecore\_\-Fb library. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em name}]device target name \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]{\tt 0} on failure. Otherwise, the number of times the library has been initialised without being shut down. \end{Desc}
+\hypertarget{group__Ecore__FB__Library__Group_gefa9ae93cf6163379747349bb8cc82f7}{
+\index{Ecore_FB_Library_Group@{Ecore\_\-FB\_\-Library\_\-Group}!ecore_fb_shutdown@{ecore\_\-fb\_\-shutdown}}
+\index{ecore_fb_shutdown@{ecore\_\-fb\_\-shutdown}!Ecore_FB_Library_Group@{Ecore\_\-FB\_\-Library\_\-Group}}
+\subsubsection[ecore\_\-fb\_\-shutdown]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-fb\_\-shutdown (void)}}
+\label{group__Ecore__FB__Library__Group_gefa9ae93cf6163379747349bb8cc82f7}
+
+
+Shuts down the Ecore\_\-Fb library. 
+
+\begin{Desc}
+\item[Returns:]{\tt The} number of times the system has been initialised without being shut down. \end{Desc}
diff --git a/doc/latex/group__Ecore__FD__Handler__Group.tex b/doc/latex/group__Ecore__FD__Handler__Group.tex
new file mode 100644
index 0000000..df80e10
--- /dev/null
+++ b/doc/latex/group__Ecore__FD__Handler__Group.tex
@@ -0,0 +1,110 @@
+\hypertarget{group__Ecore__FD__Handler__Group}{
+\section{File Event Handling Functions}
+\label{group__Ecore__FD__Handler__Group}\index{File Event Handling Functions@{File Event Handling Functions}}
+}
+Functions that deal with file descriptor handlers.  
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+EAPI \hyperlink{Ecore_8h_b207e5d7d1cf2f13b1ff93755f695324}{Ecore\_\-Fd\_\-Handler} $\ast$ \hyperlink{group__Ecore__FD__Handler__Group_g6c0a9974e998e5b17c88b74e7eb4e852}{ecore\_\-main\_\-fd\_\-handler\_\-add} (int fd, Ecore\_\-Fd\_\-Handler\_\-Flags flags, int($\ast$func)(void $\ast$data, \hyperlink{Ecore_8h_b207e5d7d1cf2f13b1ff93755f695324}{Ecore\_\-Fd\_\-Handler} $\ast$fd\_\-handler), const void $\ast$data, int($\ast$buf\_\-func)(void $\ast$buf\_\-data, \hyperlink{Ecore_8h_b207e5d7d1cf2f13b1ff93755f695324}{Ecore\_\-Fd\_\-Handler} $\ast$fd\_\-handler), const void $\ast$buf\_\-data)
+\begin{CompactList}\small\item\em Adds a callback for activity on the given file descriptor. \item\end{CompactList}\item 
+EAPI void $\ast$ \hyperlink{group__Ecore__FD__Handler__Group_gd3f12bb7aa3b4240f001dcb27319eec2}{ecore\_\-main\_\-fd\_\-handler\_\-del} (\hyperlink{Ecore_8h_b207e5d7d1cf2f13b1ff93755f695324}{Ecore\_\-Fd\_\-Handler} $\ast$fd\_\-handler)
+\begin{CompactList}\small\item\em Deletes the given FD handler. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__FD__Handler__Group_gbc14e9f2f670e1b1334949e142f858b6}{ecore\_\-main\_\-fd\_\-handler\_\-fd\_\-get} (\hyperlink{Ecore_8h_b207e5d7d1cf2f13b1ff93755f695324}{Ecore\_\-Fd\_\-Handler} $\ast$fd\_\-handler)
+\begin{CompactList}\small\item\em Retrieves the file descriptor that the given handler is handling. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__FD__Handler__Group_g23b775f4dd6d59c83b1066139ddaeb57}{ecore\_\-main\_\-fd\_\-handler\_\-active\_\-get} (\hyperlink{Ecore_8h_b207e5d7d1cf2f13b1ff93755f695324}{Ecore\_\-Fd\_\-Handler} $\ast$fd\_\-handler, Ecore\_\-Fd\_\-Handler\_\-Flags flags)
+\begin{CompactList}\small\item\em Return if read, write or error, or a combination thereof, is active on the file descriptor of the given FD handler. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__FD__Handler__Group_g8e1cecdf75529a274b28df1544e9aec0}{ecore\_\-main\_\-fd\_\-handler\_\-active\_\-set} (\hyperlink{Ecore_8h_b207e5d7d1cf2f13b1ff93755f695324}{Ecore\_\-Fd\_\-Handler} $\ast$fd\_\-handler, Ecore\_\-Fd\_\-Handler\_\-Flags flags)
+\begin{CompactList}\small\item\em Set what active streams the given FD handler should be monitoring. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Functions that deal with file descriptor handlers. 
+
+
+
+\subsection{Function Documentation}
+\hypertarget{group__Ecore__FD__Handler__Group_g23b775f4dd6d59c83b1066139ddaeb57}{
+\index{Ecore_FD_Handler_Group@{Ecore\_\-FD\_\-Handler\_\-Group}!ecore_main_fd_handler_active_get@{ecore\_\-main\_\-fd\_\-handler\_\-active\_\-get}}
+\index{ecore_main_fd_handler_active_get@{ecore\_\-main\_\-fd\_\-handler\_\-active\_\-get}!Ecore_FD_Handler_Group@{Ecore\_\-FD\_\-Handler\_\-Group}}
+\subsubsection[ecore\_\-main\_\-fd\_\-handler\_\-active\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-main\_\-fd\_\-handler\_\-active\_\-get (\hyperlink{Ecore_8h_b207e5d7d1cf2f13b1ff93755f695324}{Ecore\_\-Fd\_\-Handler} $\ast$ {\em fd\_\-handler}, Ecore\_\-Fd\_\-Handler\_\-Flags {\em flags})}}
+\label{group__Ecore__FD__Handler__Group_g23b775f4dd6d59c83b1066139ddaeb57}
+
+
+Return if read, write or error, or a combination thereof, is active on the file descriptor of the given FD handler. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em fd\_\-handler}]The given FD handler. \item[{\em flags}]The flags, {\tt ECORE\_\-FD\_\-READ}, {\tt ECORE\_\-FD\_\-WRITE} or {\tt ECORE\_\-FD\_\-ERROR} to query. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]{\tt 1} if any of the given flags are active. {\tt 0} otherwise. \end{Desc}
+\hypertarget{group__Ecore__FD__Handler__Group_g8e1cecdf75529a274b28df1544e9aec0}{
+\index{Ecore_FD_Handler_Group@{Ecore\_\-FD\_\-Handler\_\-Group}!ecore_main_fd_handler_active_set@{ecore\_\-main\_\-fd\_\-handler\_\-active\_\-set}}
+\index{ecore_main_fd_handler_active_set@{ecore\_\-main\_\-fd\_\-handler\_\-active\_\-set}!Ecore_FD_Handler_Group@{Ecore\_\-FD\_\-Handler\_\-Group}}
+\subsubsection[ecore\_\-main\_\-fd\_\-handler\_\-active\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-main\_\-fd\_\-handler\_\-active\_\-set (\hyperlink{Ecore_8h_b207e5d7d1cf2f13b1ff93755f695324}{Ecore\_\-Fd\_\-Handler} $\ast$ {\em fd\_\-handler}, Ecore\_\-Fd\_\-Handler\_\-Flags {\em flags})}}
+\label{group__Ecore__FD__Handler__Group_g8e1cecdf75529a274b28df1544e9aec0}
+
+
+Set what active streams the given FD handler should be monitoring. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em fd\_\-handler}]The given FD handler. \item[{\em flags}]The flags to be watching. \end{description}
+\end{Desc}
+\hypertarget{group__Ecore__FD__Handler__Group_g6c0a9974e998e5b17c88b74e7eb4e852}{
+\index{Ecore_FD_Handler_Group@{Ecore\_\-FD\_\-Handler\_\-Group}!ecore_main_fd_handler_add@{ecore\_\-main\_\-fd\_\-handler\_\-add}}
+\index{ecore_main_fd_handler_add@{ecore\_\-main\_\-fd\_\-handler\_\-add}!Ecore_FD_Handler_Group@{Ecore\_\-FD\_\-Handler\_\-Group}}
+\subsubsection[ecore\_\-main\_\-fd\_\-handler\_\-add]{\setlength{\rightskip}{0pt plus 5cm}EAPI \hyperlink{Ecore_8h_b207e5d7d1cf2f13b1ff93755f695324}{Ecore\_\-Fd\_\-Handler}$\ast$ ecore\_\-main\_\-fd\_\-handler\_\-add (int {\em fd}, Ecore\_\-Fd\_\-Handler\_\-Flags {\em flags}, int($\ast$)(void $\ast$data, \hyperlink{Ecore_8h_b207e5d7d1cf2f13b1ff93755f695324}{Ecore\_\-Fd\_\-Handler} $\ast$fd\_\-handler) {\em func}, const void $\ast$ {\em data}, int($\ast$)(void $\ast$buf\_\-data, \hyperlink{Ecore_8h_b207e5d7d1cf2f13b1ff93755f695324}{Ecore\_\-Fd\_\-Handler} $\ast$fd\_\-handler) {\em buf\_\-func}, const void $\ast$ {\em buf\_\-data})}}
+\label{group__Ecore__FD__Handler__Group_g6c0a9974e998e5b17c88b74e7eb4e852}
+
+
+Adds a callback for activity on the given file descriptor. 
+
+{\tt func} will be called during the execution of \hyperlink{group__Ecore__Main__Loop__Group_g04daa7648a9d027bed25d27c150fdda7}{ecore\_\-main\_\-loop\_\-begin} when the file descriptor is available for reading, or writing, or both.
+
+Normally the return value from the {\tt func} is \char`\"{}zero means this handler is finished and can be deleted\char`\"{} as is usual for handler callbacks. However, if the {\tt buf\_\-func} is supplied, then the return value from the {\tt func} is \char`\"{}non zero means the handler should be called again in a tight loop\char`\"{}.
+
+{\tt buf\_\-func} is called during event loop handling to check if data that has been read from the file descriptor is in a buffer and is available to read. Some systems (notably xlib) handle their own buffering, and would otherwise not work with select(). These systems should use a {\tt buf\_\-func}. This is a most annoying hack, only ecore\_\-x uses it, so refer to that for an example. NOTE - {\tt func} should probably return \char`\"{}one\char`\"{} always if {\tt buf\_\-func} is used, to avoid confusion with the other return walue semantics.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em fd}]The file descriptor to watch. \item[{\em flags}]To watch it for read ({\tt ECORE\_\-FD\_\-READ}) and/or ({\tt ECORE\_\-FD\_\-WRITE}) write ability. {\tt ECORE\_\-FD\_\-ERROR} \item[{\em func}]The callback function. \item[{\em data}]The data to pass to the callback. \item[{\em buf\_\-func}]The function to call to check if any data has been buffered and already read from the fd. Can be {\tt NULL}. \item[{\em buf\_\-data}]The data to pass to the {\tt buf\_\-func} function. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]A fd handler handle if successful. {\tt NULL} otherwise. \end{Desc}
+\hypertarget{group__Ecore__FD__Handler__Group_gd3f12bb7aa3b4240f001dcb27319eec2}{
+\index{Ecore_FD_Handler_Group@{Ecore\_\-FD\_\-Handler\_\-Group}!ecore_main_fd_handler_del@{ecore\_\-main\_\-fd\_\-handler\_\-del}}
+\index{ecore_main_fd_handler_del@{ecore\_\-main\_\-fd\_\-handler\_\-del}!Ecore_FD_Handler_Group@{Ecore\_\-FD\_\-Handler\_\-Group}}
+\subsubsection[ecore\_\-main\_\-fd\_\-handler\_\-del]{\setlength{\rightskip}{0pt plus 5cm}EAPI void$\ast$ ecore\_\-main\_\-fd\_\-handler\_\-del (\hyperlink{Ecore_8h_b207e5d7d1cf2f13b1ff93755f695324}{Ecore\_\-Fd\_\-Handler} $\ast$ {\em fd\_\-handler})}}
+\label{group__Ecore__FD__Handler__Group_gd3f12bb7aa3b4240f001dcb27319eec2}
+
+
+Deletes the given FD handler. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em fd\_\-handler}]The given FD handler. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The data pointer set using \hyperlink{group__Ecore__FD__Handler__Group_g6c0a9974e998e5b17c88b74e7eb4e852}{ecore\_\-main\_\-fd\_\-handler\_\-add}, for {\tt fd\_\-handler} on success. {\tt NULL} otherwise. \end{Desc}
+\hypertarget{group__Ecore__FD__Handler__Group_gbc14e9f2f670e1b1334949e142f858b6}{
+\index{Ecore_FD_Handler_Group@{Ecore\_\-FD\_\-Handler\_\-Group}!ecore_main_fd_handler_fd_get@{ecore\_\-main\_\-fd\_\-handler\_\-fd\_\-get}}
+\index{ecore_main_fd_handler_fd_get@{ecore\_\-main\_\-fd\_\-handler\_\-fd\_\-get}!Ecore_FD_Handler_Group@{Ecore\_\-FD\_\-Handler\_\-Group}}
+\subsubsection[ecore\_\-main\_\-fd\_\-handler\_\-fd\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-main\_\-fd\_\-handler\_\-fd\_\-get (\hyperlink{Ecore_8h_b207e5d7d1cf2f13b1ff93755f695324}{Ecore\_\-Fd\_\-Handler} $\ast$ {\em fd\_\-handler})}}
+\label{group__Ecore__FD__Handler__Group_gbc14e9f2f670e1b1334949e142f858b6}
+
+
+Retrieves the file descriptor that the given handler is handling. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em fd\_\-handler}]The given FD handler. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The file descriptor the handler is watching. \end{Desc}
diff --git a/doc/latex/group__Ecore__IPC__Client__Group.tex b/doc/latex/group__Ecore__IPC__Client__Group.tex
new file mode 100644
index 0000000..793fcaf
--- /dev/null
+++ b/doc/latex/group__Ecore__IPC__Client__Group.tex
@@ -0,0 +1,108 @@
+\hypertarget{group__Ecore__IPC__Client__Group}{
+\section{IPC Client Functions}
+\label{group__Ecore__IPC__Client__Group}\index{IPC Client Functions@{IPC Client Functions}}
+}
+Functions that deal with IPC client objects.  
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+EAPI int \hyperlink{group__Ecore__IPC__Client__Group_gd401b95b95c998bcf7749ffe876de812}{ecore\_\-ipc\_\-client\_\-send} (\hyperlink{Ecore__Ipc_8h_907f972d57d41ff33fc6eb2a37be9ae8}{Ecore\_\-Ipc\_\-Client} $\ast$cl, int major, int minor, int ref, int ref\_\-to, int response, void $\ast$data, int size)
+\begin{CompactList}\small\item\em Sends a message to the given IPC client. \item\end{CompactList}\item 
+EAPI \hyperlink{Ecore__Ipc_8h_e7e172a5fc9ae1b60deae8539b802c50}{Ecore\_\-Ipc\_\-Server} $\ast$ \hyperlink{group__Ecore__IPC__Client__Group_g6fef6153dc1ed497d78265103518feed}{ecore\_\-ipc\_\-client\_\-server\_\-get} (\hyperlink{Ecore__Ipc_8h_907f972d57d41ff33fc6eb2a37be9ae8}{Ecore\_\-Ipc\_\-Client} $\ast$cl)
+\begin{CompactList}\small\item\em Retrieves the IPC server that the given IPC client is connected to. \item\end{CompactList}\item 
+EAPI void $\ast$ \hyperlink{group__Ecore__IPC__Client__Group_g33d563f3d055c9dbec3d3200cce36913}{ecore\_\-ipc\_\-client\_\-del} (\hyperlink{Ecore__Ipc_8h_907f972d57d41ff33fc6eb2a37be9ae8}{Ecore\_\-Ipc\_\-Client} $\ast$cl)
+\begin{CompactList}\small\item\em Closes the connection and frees memory allocated to the given IPC client. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__IPC__Client__Group_g7cdfcf0051c9d1bcc7e72aac33a0acd7}{ecore\_\-ipc\_\-client\_\-data\_\-set} (\hyperlink{Ecore__Ipc_8h_907f972d57d41ff33fc6eb2a37be9ae8}{Ecore\_\-Ipc\_\-Client} $\ast$cl, const void $\ast$data)
+\begin{CompactList}\small\item\em Sets the IPC data associated with the given IPC client to {\tt data}. \item\end{CompactList}\item 
+EAPI void $\ast$ \hyperlink{group__Ecore__IPC__Client__Group_gb3285d8275d0662676c55f612dbaa49f}{ecore\_\-ipc\_\-client\_\-data\_\-get} (\hyperlink{Ecore__Ipc_8h_907f972d57d41ff33fc6eb2a37be9ae8}{Ecore\_\-Ipc\_\-Client} $\ast$cl)
+\begin{CompactList}\small\item\em Retrieves the data that has been associated with the given IPC client. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Functions that deal with IPC client objects. 
+
+
+
+\subsection{Function Documentation}
+\hypertarget{group__Ecore__IPC__Client__Group_gb3285d8275d0662676c55f612dbaa49f}{
+\index{Ecore_IPC_Client_Group@{Ecore\_\-IPC\_\-Client\_\-Group}!ecore_ipc_client_data_get@{ecore\_\-ipc\_\-client\_\-data\_\-get}}
+\index{ecore_ipc_client_data_get@{ecore\_\-ipc\_\-client\_\-data\_\-get}!Ecore_IPC_Client_Group@{Ecore\_\-IPC\_\-Client\_\-Group}}
+\subsubsection[ecore\_\-ipc\_\-client\_\-data\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI void$\ast$ ecore\_\-ipc\_\-client\_\-data\_\-get (\hyperlink{Ecore__Ipc_8h_907f972d57d41ff33fc6eb2a37be9ae8}{Ecore\_\-Ipc\_\-Client} $\ast$ {\em cl})}}
+\label{group__Ecore__IPC__Client__Group_gb3285d8275d0662676c55f612dbaa49f}
+
+
+Retrieves the data that has been associated with the given IPC client. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em cl}]The given client. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The data associated with the IPC client. \end{Desc}
+\hypertarget{group__Ecore__IPC__Client__Group_g7cdfcf0051c9d1bcc7e72aac33a0acd7}{
+\index{Ecore_IPC_Client_Group@{Ecore\_\-IPC\_\-Client\_\-Group}!ecore_ipc_client_data_set@{ecore\_\-ipc\_\-client\_\-data\_\-set}}
+\index{ecore_ipc_client_data_set@{ecore\_\-ipc\_\-client\_\-data\_\-set}!Ecore_IPC_Client_Group@{Ecore\_\-IPC\_\-Client\_\-Group}}
+\subsubsection[ecore\_\-ipc\_\-client\_\-data\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-ipc\_\-client\_\-data\_\-set (\hyperlink{Ecore__Ipc_8h_907f972d57d41ff33fc6eb2a37be9ae8}{Ecore\_\-Ipc\_\-Client} $\ast$ {\em cl}, const void $\ast$ {\em data})}}
+\label{group__Ecore__IPC__Client__Group_g7cdfcf0051c9d1bcc7e72aac33a0acd7}
+
+
+Sets the IPC data associated with the given IPC client to {\tt data}. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em cl}]The given IPC client. \item[{\em data}]The data to associate with the IPC client. \end{description}
+\end{Desc}
+\hypertarget{group__Ecore__IPC__Client__Group_g33d563f3d055c9dbec3d3200cce36913}{
+\index{Ecore_IPC_Client_Group@{Ecore\_\-IPC\_\-Client\_\-Group}!ecore_ipc_client_del@{ecore\_\-ipc\_\-client\_\-del}}
+\index{ecore_ipc_client_del@{ecore\_\-ipc\_\-client\_\-del}!Ecore_IPC_Client_Group@{Ecore\_\-IPC\_\-Client\_\-Group}}
+\subsubsection[ecore\_\-ipc\_\-client\_\-del]{\setlength{\rightskip}{0pt plus 5cm}EAPI void$\ast$ ecore\_\-ipc\_\-client\_\-del (\hyperlink{Ecore__Ipc_8h_907f972d57d41ff33fc6eb2a37be9ae8}{Ecore\_\-Ipc\_\-Client} $\ast$ {\em cl})}}
+\label{group__Ecore__IPC__Client__Group_g33d563f3d055c9dbec3d3200cce36913}
+
+
+Closes the connection and frees memory allocated to the given IPC client. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em cl}]The given client. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]Data associated with the client. \end{Desc}
+\hypertarget{group__Ecore__IPC__Client__Group_gd401b95b95c998bcf7749ffe876de812}{
+\index{Ecore_IPC_Client_Group@{Ecore\_\-IPC\_\-Client\_\-Group}!ecore_ipc_client_send@{ecore\_\-ipc\_\-client\_\-send}}
+\index{ecore_ipc_client_send@{ecore\_\-ipc\_\-client\_\-send}!Ecore_IPC_Client_Group@{Ecore\_\-IPC\_\-Client\_\-Group}}
+\subsubsection[ecore\_\-ipc\_\-client\_\-send]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-ipc\_\-client\_\-send (\hyperlink{Ecore__Ipc_8h_907f972d57d41ff33fc6eb2a37be9ae8}{Ecore\_\-Ipc\_\-Client} $\ast$ {\em cl}, int {\em major}, int {\em minor}, int {\em ref}, int {\em ref\_\-to}, int {\em response}, void $\ast$ {\em data}, int {\em size})}}
+\label{group__Ecore__IPC__Client__Group_gd401b95b95c998bcf7749ffe876de812}
+
+
+Sends a message to the given IPC client. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em cl}]The given IPC client. \item[{\em major}]Major opcode of the message. \item[{\em minor}]Minor opcode of the message. \item[{\em ref}]Reference number of the message. \item[{\em ref\_\-to}]Reference number of the message this message refers to. \item[{\em response}]Requires response. \item[{\em data}]The data to send as part of the message. \item[{\em size}]Length of the data, in bytes, to send. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The number of bytes sent. {\tt 0} will be returned if there is an error.\end{Desc}
+\begin{Desc}
+\item[\hyperlink{todo__todo000012}{Todo}]This function needs to become an IPC message. \end{Desc}
+\begin{Desc}
+\item[\hyperlink{todo__todo000012}{Todo}]Make sure ref\_\-to and response parameters are described correctly. \end{Desc}
+\hypertarget{group__Ecore__IPC__Client__Group_g6fef6153dc1ed497d78265103518feed}{
+\index{Ecore_IPC_Client_Group@{Ecore\_\-IPC\_\-Client\_\-Group}!ecore_ipc_client_server_get@{ecore\_\-ipc\_\-client\_\-server\_\-get}}
+\index{ecore_ipc_client_server_get@{ecore\_\-ipc\_\-client\_\-server\_\-get}!Ecore_IPC_Client_Group@{Ecore\_\-IPC\_\-Client\_\-Group}}
+\subsubsection[ecore\_\-ipc\_\-client\_\-server\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI \hyperlink{Ecore__Ipc_8h_e7e172a5fc9ae1b60deae8539b802c50}{Ecore\_\-Ipc\_\-Server}$\ast$ ecore\_\-ipc\_\-client\_\-server\_\-get (\hyperlink{Ecore__Ipc_8h_907f972d57d41ff33fc6eb2a37be9ae8}{Ecore\_\-Ipc\_\-Client} $\ast$ {\em cl})}}
+\label{group__Ecore__IPC__Client__Group_g6fef6153dc1ed497d78265103518feed}
+
+
+Retrieves the IPC server that the given IPC client is connected to. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em cl}]The given IPC client. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The IPC server the IPC client is connected to. \end{Desc}
diff --git a/doc/latex/group__Ecore__IPC__Library__Group.tex b/doc/latex/group__Ecore__IPC__Library__Group.tex
new file mode 100644
index 0000000..12c89df
--- /dev/null
+++ b/doc/latex/group__Ecore__IPC__Library__Group.tex
@@ -0,0 +1,42 @@
+\hypertarget{group__Ecore__IPC__Library__Group}{
+\section{IPC Library Functions}
+\label{group__Ecore__IPC__Library__Group}\index{IPC Library Functions@{IPC Library Functions}}
+}
+Functions that set up and shut down the Ecore IPC Library.  
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+EAPI int \hyperlink{group__Ecore__IPC__Library__Group_gde1baa6a3e79dd7c9bd6244dad0e6571}{ecore\_\-ipc\_\-init} (void)
+\begin{CompactList}\small\item\em Initialises the Ecore IPC library. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__IPC__Library__Group_g48e9b9ace36dd75ade7ffa90fa9a093c}{ecore\_\-ipc\_\-shutdown} (void)
+\begin{CompactList}\small\item\em Shuts down the Ecore IPC library. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Functions that set up and shut down the Ecore IPC Library. 
+
+
+
+\subsection{Function Documentation}
+\hypertarget{group__Ecore__IPC__Library__Group_gde1baa6a3e79dd7c9bd6244dad0e6571}{
+\index{Ecore_IPC_Library_Group@{Ecore\_\-IPC\_\-Library\_\-Group}!ecore_ipc_init@{ecore\_\-ipc\_\-init}}
+\index{ecore_ipc_init@{ecore\_\-ipc\_\-init}!Ecore_IPC_Library_Group@{Ecore\_\-IPC\_\-Library\_\-Group}}
+\subsubsection[ecore\_\-ipc\_\-init]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-ipc\_\-init (void)}}
+\label{group__Ecore__IPC__Library__Group_gde1baa6a3e79dd7c9bd6244dad0e6571}
+
+
+Initialises the Ecore IPC library. 
+
+\begin{Desc}
+\item[Returns:]Number of times the library has been initialised without being shut down. \end{Desc}
+\hypertarget{group__Ecore__IPC__Library__Group_g48e9b9ace36dd75ade7ffa90fa9a093c}{
+\index{Ecore_IPC_Library_Group@{Ecore\_\-IPC\_\-Library\_\-Group}!ecore_ipc_shutdown@{ecore\_\-ipc\_\-shutdown}}
+\index{ecore_ipc_shutdown@{ecore\_\-ipc\_\-shutdown}!Ecore_IPC_Library_Group@{Ecore\_\-IPC\_\-Library\_\-Group}}
+\subsubsection[ecore\_\-ipc\_\-shutdown]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-ipc\_\-shutdown (void)}}
+\label{group__Ecore__IPC__Library__Group_g48e9b9ace36dd75ade7ffa90fa9a093c}
+
+
+Shuts down the Ecore IPC library. 
+
+\begin{Desc}
+\item[Returns:]Number of times the library has been initialised without being shut down. \end{Desc}
diff --git a/doc/latex/group__Ecore__IPC__Server__Group.tex b/doc/latex/group__Ecore__IPC__Server__Group.tex
new file mode 100644
index 0000000..f066a5b
--- /dev/null
+++ b/doc/latex/group__Ecore__IPC__Server__Group.tex
@@ -0,0 +1,156 @@
+\hypertarget{group__Ecore__IPC__Server__Group}{
+\section{IPC Server Functions}
+\label{group__Ecore__IPC__Server__Group}\index{IPC Server Functions@{IPC Server Functions}}
+}
+Functions the deal with IPC server objects.  
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+EAPI \hyperlink{Ecore__Ipc_8h_e7e172a5fc9ae1b60deae8539b802c50}{Ecore\_\-Ipc\_\-Server} $\ast$ \hyperlink{group__Ecore__IPC__Server__Group_geba705e14ef79c1f824fcc1c184ddadb}{ecore\_\-ipc\_\-server\_\-add} (Ecore\_\-Ipc\_\-Type compl\_\-type, const char $\ast$name, int port, const void $\ast$data)
+\begin{CompactList}\small\item\em Creates an IPC server that listens for connections. \item\end{CompactList}\item 
+EAPI \hyperlink{Ecore__Ipc_8h_e7e172a5fc9ae1b60deae8539b802c50}{Ecore\_\-Ipc\_\-Server} $\ast$ \hyperlink{group__Ecore__IPC__Server__Group_gfe02c81940d4e5a464cb32e125887f7e}{ecore\_\-ipc\_\-server\_\-connect} (Ecore\_\-Ipc\_\-Type compl\_\-type, char $\ast$name, int port, const void $\ast$data)
+\begin{CompactList}\small\item\em Creates an IPC server object to represent the IPC server listening on the given port. \item\end{CompactList}\item 
+EAPI void $\ast$ \hyperlink{group__Ecore__IPC__Server__Group_g04148eb8454432091e29b185c68a3eb2}{ecore\_\-ipc\_\-server\_\-del} (\hyperlink{Ecore__Ipc_8h_e7e172a5fc9ae1b60deae8539b802c50}{Ecore\_\-Ipc\_\-Server} $\ast$svr)
+\begin{CompactList}\small\item\em Closes the connection and frees the given IPC server. \item\end{CompactList}\item 
+EAPI void $\ast$ \hyperlink{group__Ecore__IPC__Server__Group_gc32fe6a6757a54e6714fb080472f8901}{ecore\_\-ipc\_\-server\_\-data\_\-get} (\hyperlink{Ecore__Ipc_8h_e7e172a5fc9ae1b60deae8539b802c50}{Ecore\_\-Ipc\_\-Server} $\ast$svr)
+\begin{CompactList}\small\item\em Retrieves the data associated with the given IPC server. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__IPC__Server__Group_gc585ae7ee881855af1f0322eaa5c5108}{ecore\_\-ipc\_\-server\_\-connected\_\-get} (\hyperlink{Ecore__Ipc_8h_e7e172a5fc9ae1b60deae8539b802c50}{Ecore\_\-Ipc\_\-Server} $\ast$svr)
+\begin{CompactList}\small\item\em Retrieves whether the given IPC server is currently connected. \item\end{CompactList}\item 
+EAPI Ecore\_\-List $\ast$ \hyperlink{group__Ecore__IPC__Server__Group_gc67d22ab84194a71ff9c4c51e718112a}{ecore\_\-ipc\_\-server\_\-clients\_\-get} (\hyperlink{Ecore__Ipc_8h_e7e172a5fc9ae1b60deae8539b802c50}{Ecore\_\-Ipc\_\-Server} $\ast$svr)
+\begin{CompactList}\small\item\em Retrieves the list of clients for this server. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__IPC__Server__Group_ge192e84cfa5893c798662adfaed9dd57}{ecore\_\-ipc\_\-server\_\-send} (\hyperlink{Ecore__Ipc_8h_e7e172a5fc9ae1b60deae8539b802c50}{Ecore\_\-Ipc\_\-Server} $\ast$svr, int major, int minor, int ref, int ref\_\-to, int response, void $\ast$data, int size)
+\begin{CompactList}\small\item\em Sends a message to the given IPC server. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Functions the deal with IPC server objects. 
+
+
+
+\subsection{Function Documentation}
+\hypertarget{group__Ecore__IPC__Server__Group_geba705e14ef79c1f824fcc1c184ddadb}{
+\index{Ecore_IPC_Server_Group@{Ecore\_\-IPC\_\-Server\_\-Group}!ecore_ipc_server_add@{ecore\_\-ipc\_\-server\_\-add}}
+\index{ecore_ipc_server_add@{ecore\_\-ipc\_\-server\_\-add}!Ecore_IPC_Server_Group@{Ecore\_\-IPC\_\-Server\_\-Group}}
+\subsubsection[ecore\_\-ipc\_\-server\_\-add]{\setlength{\rightskip}{0pt plus 5cm}EAPI \hyperlink{Ecore__Ipc_8h_e7e172a5fc9ae1b60deae8539b802c50}{Ecore\_\-Ipc\_\-Server}$\ast$ ecore\_\-ipc\_\-server\_\-add (Ecore\_\-Ipc\_\-Type {\em compl\_\-type}, const char $\ast$ {\em name}, int {\em port}, const void $\ast$ {\em data})}}
+\label{group__Ecore__IPC__Server__Group_geba705e14ef79c1f824fcc1c184ddadb}
+
+
+Creates an IPC server that listens for connections. 
+
+For more details about the {\tt compl\_\-type}, {\tt name} and {\tt port} parameters, see the \hyperlink{group__Ecore__Con__Server__Group_gce4c9656c7bd6eef0d29621d6dd75dee}{ecore\_\-con\_\-server\_\-add} documentation.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em compl\_\-type}]The connection type. \item[{\em name}]Name to associate with the socket used for connection. \item[{\em port}]Number to identify with socket used for connection. \item[{\em data}]Data to associate with the IPC server. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]New IPC server. If there is an error, {\tt NULL} is returned.\end{Desc}
+\begin{Desc}
+\item[\hyperlink{todo__todo000008}{Todo}]Need to add protocol type parameter to this function. \end{Desc}
+\hypertarget{group__Ecore__IPC__Server__Group_gc67d22ab84194a71ff9c4c51e718112a}{
+\index{Ecore_IPC_Server_Group@{Ecore\_\-IPC\_\-Server\_\-Group}!ecore_ipc_server_clients_get@{ecore\_\-ipc\_\-server\_\-clients\_\-get}}
+\index{ecore_ipc_server_clients_get@{ecore\_\-ipc\_\-server\_\-clients\_\-get}!Ecore_IPC_Server_Group@{Ecore\_\-IPC\_\-Server\_\-Group}}
+\subsubsection[ecore\_\-ipc\_\-server\_\-clients\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI Ecore\_\-List$\ast$ ecore\_\-ipc\_\-server\_\-clients\_\-get (\hyperlink{Ecore__Ipc_8h_e7e172a5fc9ae1b60deae8539b802c50}{Ecore\_\-Ipc\_\-Server} $\ast$ {\em svr})}}
+\label{group__Ecore__IPC__Server__Group_gc67d22ab84194a71ff9c4c51e718112a}
+
+
+Retrieves the list of clients for this server. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em svr}]The given IPC server. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]An Ecore\_\-List with the clients. \end{Desc}
+\hypertarget{group__Ecore__IPC__Server__Group_gfe02c81940d4e5a464cb32e125887f7e}{
+\index{Ecore_IPC_Server_Group@{Ecore\_\-IPC\_\-Server\_\-Group}!ecore_ipc_server_connect@{ecore\_\-ipc\_\-server\_\-connect}}
+\index{ecore_ipc_server_connect@{ecore\_\-ipc\_\-server\_\-connect}!Ecore_IPC_Server_Group@{Ecore\_\-IPC\_\-Server\_\-Group}}
+\subsubsection[ecore\_\-ipc\_\-server\_\-connect]{\setlength{\rightskip}{0pt plus 5cm}EAPI \hyperlink{Ecore__Ipc_8h_e7e172a5fc9ae1b60deae8539b802c50}{Ecore\_\-Ipc\_\-Server}$\ast$ ecore\_\-ipc\_\-server\_\-connect (Ecore\_\-Ipc\_\-Type {\em compl\_\-type}, char $\ast$ {\em name}, int {\em port}, const void $\ast$ {\em data})}}
+\label{group__Ecore__IPC__Server__Group_gfe02c81940d4e5a464cb32e125887f7e}
+
+
+Creates an IPC server object to represent the IPC server listening on the given port. 
+
+For more details about the {\tt compl\_\-type}, {\tt name} and {\tt port} parameters, see the \hyperlink{group__Ecore__Con__Server__Group_g2cd832b9d0e592559ac13de24634b316}{ecore\_\-con\_\-server\_\-connect} documentation.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em compl\_\-type}]The IPC connection type. \item[{\em name}]Name used to determine which socket to use for the IPC connection. \item[{\em port}]Number used to identify the socket to use for the IPC connection. \item[{\em data}]Data to associate with the server. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]A new IPC server. {\tt NULL} is returned on error.\end{Desc}
+\begin{Desc}
+\item[\hyperlink{todo__todo000009}{Todo}]Need to add protocol type parameter. \end{Desc}
+\hypertarget{group__Ecore__IPC__Server__Group_gc585ae7ee881855af1f0322eaa5c5108}{
+\index{Ecore_IPC_Server_Group@{Ecore\_\-IPC\_\-Server\_\-Group}!ecore_ipc_server_connected_get@{ecore\_\-ipc\_\-server\_\-connected\_\-get}}
+\index{ecore_ipc_server_connected_get@{ecore\_\-ipc\_\-server\_\-connected\_\-get}!Ecore_IPC_Server_Group@{Ecore\_\-IPC\_\-Server\_\-Group}}
+\subsubsection[ecore\_\-ipc\_\-server\_\-connected\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-ipc\_\-server\_\-connected\_\-get (\hyperlink{Ecore__Ipc_8h_e7e172a5fc9ae1b60deae8539b802c50}{Ecore\_\-Ipc\_\-Server} $\ast$ {\em svr})}}
+\label{group__Ecore__IPC__Server__Group_gc585ae7ee881855af1f0322eaa5c5108}
+
+
+Retrieves whether the given IPC server is currently connected. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em svr}]The given IPC server. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]{\tt 1} if the server is connected. {\tt 0} otherwise. \end{Desc}
+\hypertarget{group__Ecore__IPC__Server__Group_gc32fe6a6757a54e6714fb080472f8901}{
+\index{Ecore_IPC_Server_Group@{Ecore\_\-IPC\_\-Server\_\-Group}!ecore_ipc_server_data_get@{ecore\_\-ipc\_\-server\_\-data\_\-get}}
+\index{ecore_ipc_server_data_get@{ecore\_\-ipc\_\-server\_\-data\_\-get}!Ecore_IPC_Server_Group@{Ecore\_\-IPC\_\-Server\_\-Group}}
+\subsubsection[ecore\_\-ipc\_\-server\_\-data\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI void$\ast$ ecore\_\-ipc\_\-server\_\-data\_\-get (\hyperlink{Ecore__Ipc_8h_e7e172a5fc9ae1b60deae8539b802c50}{Ecore\_\-Ipc\_\-Server} $\ast$ {\em svr})}}
+\label{group__Ecore__IPC__Server__Group_gc32fe6a6757a54e6714fb080472f8901}
+
+
+Retrieves the data associated with the given IPC server. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em svr}]The given IPC server. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The associated data. \end{Desc}
+\hypertarget{group__Ecore__IPC__Server__Group_g04148eb8454432091e29b185c68a3eb2}{
+\index{Ecore_IPC_Server_Group@{Ecore\_\-IPC\_\-Server\_\-Group}!ecore_ipc_server_del@{ecore\_\-ipc\_\-server\_\-del}}
+\index{ecore_ipc_server_del@{ecore\_\-ipc\_\-server\_\-del}!Ecore_IPC_Server_Group@{Ecore\_\-IPC\_\-Server\_\-Group}}
+\subsubsection[ecore\_\-ipc\_\-server\_\-del]{\setlength{\rightskip}{0pt plus 5cm}EAPI void$\ast$ ecore\_\-ipc\_\-server\_\-del (\hyperlink{Ecore__Ipc_8h_e7e172a5fc9ae1b60deae8539b802c50}{Ecore\_\-Ipc\_\-Server} $\ast$ {\em svr})}}
+\label{group__Ecore__IPC__Server__Group_g04148eb8454432091e29b185c68a3eb2}
+
+
+Closes the connection and frees the given IPC server. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em svr}]The given IPC server. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The data associated with the server when it was created. \end{Desc}
+\hypertarget{group__Ecore__IPC__Server__Group_ge192e84cfa5893c798662adfaed9dd57}{
+\index{Ecore_IPC_Server_Group@{Ecore\_\-IPC\_\-Server\_\-Group}!ecore_ipc_server_send@{ecore\_\-ipc\_\-server\_\-send}}
+\index{ecore_ipc_server_send@{ecore\_\-ipc\_\-server\_\-send}!Ecore_IPC_Server_Group@{Ecore\_\-IPC\_\-Server\_\-Group}}
+\subsubsection[ecore\_\-ipc\_\-server\_\-send]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-ipc\_\-server\_\-send (\hyperlink{Ecore__Ipc_8h_e7e172a5fc9ae1b60deae8539b802c50}{Ecore\_\-Ipc\_\-Server} $\ast$ {\em svr}, int {\em major}, int {\em minor}, int {\em ref}, int {\em ref\_\-to}, int {\em response}, void $\ast$ {\em data}, int {\em size})}}
+\label{group__Ecore__IPC__Server__Group_ge192e84cfa5893c798662adfaed9dd57}
+
+
+Sends a message to the given IPC server. 
+
+The content of the parameters, excluding the {\tt svr} paramter, is up to the client.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em svr}]The given IPC server. \item[{\em major}]Major opcode of the message. \item[{\em minor}]Minor opcode of the message. \item[{\em ref}]Message reference number. \item[{\em ref\_\-to}]Reference number of the message this message refers to. \item[{\em response}]Requires response. \item[{\em data}]The data to send as part of the message. \item[{\em size}]Length of the data, in bytes, to send. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]Number of bytes sent. {\tt 0} is returned if there is an error.\end{Desc}
+\begin{Desc}
+\item[\hyperlink{todo__todo000010}{Todo}]This function needs to become an IPC message. \end{Desc}
+\begin{Desc}
+\item[\hyperlink{todo__todo000010}{Todo}]Fix up the documentation: Make sure what ref\_\-to and response are. \end{Desc}
diff --git a/doc/latex/group__Ecore__Job__Group.tex b/doc/latex/group__Ecore__Job__Group.tex
new file mode 100644
index 0000000..e08312f
--- /dev/null
+++ b/doc/latex/group__Ecore__Job__Group.tex
@@ -0,0 +1,54 @@
+\hypertarget{group__Ecore__Job__Group}{
+\section{Ecore Jobs}
+\label{group__Ecore__Job__Group}\index{Ecore Jobs@{Ecore Jobs}}
+}
+You can queue jobs that are to be done by the main loop when the current event is dealt with.  
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+EAPI \hyperlink{Ecore__Job_8h_11cf21598fca412bd4a8a0a502717c61}{Ecore\_\-Job} $\ast$ \hyperlink{group__Ecore__Job__Group_g9bb4655e3e4c06d78cd07aa0ac055956}{ecore\_\-job\_\-add} (void($\ast$func)(void $\ast$data), const void $\ast$data)
+\begin{CompactList}\small\item\em Add a job to the event queue. \item\end{CompactList}\item 
+EAPI void $\ast$ \hyperlink{group__Ecore__Job__Group_ge64c687b8d34b255cf9ab62175e62859}{ecore\_\-job\_\-del} (\hyperlink{Ecore__Job_8h_11cf21598fca412bd4a8a0a502717c61}{Ecore\_\-Job} $\ast$job)
+\begin{CompactList}\small\item\em Delete a queued job that has not yet been executed. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+You can queue jobs that are to be done by the main loop when the current event is dealt with. 
+
+
+
+\subsection{Function Documentation}
+\hypertarget{group__Ecore__Job__Group_g9bb4655e3e4c06d78cd07aa0ac055956}{
+\index{Ecore_Job_Group@{Ecore\_\-Job\_\-Group}!ecore_job_add@{ecore\_\-job\_\-add}}
+\index{ecore_job_add@{ecore\_\-job\_\-add}!Ecore_Job_Group@{Ecore\_\-Job\_\-Group}}
+\subsubsection[ecore\_\-job\_\-add]{\setlength{\rightskip}{0pt plus 5cm}EAPI \hyperlink{Ecore__Job_8h_11cf21598fca412bd4a8a0a502717c61}{Ecore\_\-Job}$\ast$ ecore\_\-job\_\-add (void($\ast$)(void $\ast$data) {\em func}, const void $\ast$ {\em data})}}
+\label{group__Ecore__Job__Group_g9bb4655e3e4c06d78cd07aa0ac055956}
+
+
+Add a job to the event queue. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em func}]The function to call when the job gets handled. \item[{\em data}]Data pointer to be passed to the job function when the job is handled. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The handle of the job. {\tt NULL} is returned if the job could not be added to the queue.\end{Desc}
+\begin{Desc}
+\item[Note:]Once the job has been executed, the job handle is invalid. \end{Desc}
+\hypertarget{group__Ecore__Job__Group_ge64c687b8d34b255cf9ab62175e62859}{
+\index{Ecore_Job_Group@{Ecore\_\-Job\_\-Group}!ecore_job_del@{ecore\_\-job\_\-del}}
+\index{ecore_job_del@{ecore\_\-job\_\-del}!Ecore_Job_Group@{Ecore\_\-Job\_\-Group}}
+\subsubsection[ecore\_\-job\_\-del]{\setlength{\rightskip}{0pt plus 5cm}EAPI void$\ast$ ecore\_\-job\_\-del (\hyperlink{Ecore__Job_8h_11cf21598fca412bd4a8a0a502717c61}{Ecore\_\-Job} $\ast$ {\em job})}}
+\label{group__Ecore__Job__Group_ge64c687b8d34b255cf9ab62175e62859}
+
+
+Delete a queued job that has not yet been executed. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em job}]Handle of the job to delete. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The data pointer that was to be passed to the job. \end{Desc}
diff --git a/doc/latex/group__Ecore__Main__Loop__Group.tex b/doc/latex/group__Ecore__Main__Loop__Group.tex
new file mode 100644
index 0000000..0b09d2b
--- /dev/null
+++ b/doc/latex/group__Ecore__Main__Loop__Group.tex
@@ -0,0 +1,44 @@
+\hypertarget{group__Ecore__Main__Loop__Group}{
+\section{Main Loop Functions}
+\label{group__Ecore__Main__Loop__Group}\index{Main Loop Functions@{Main Loop Functions}}
+}
+These functions control the Ecore event handling loop.  
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+\hypertarget{group__Ecore__Main__Loop__Group_g7f5463c1d4f3f020968ed06d6e5816cb}{
+EAPI void \hyperlink{group__Ecore__Main__Loop__Group_g7f5463c1d4f3f020968ed06d6e5816cb}{ecore\_\-main\_\-loop\_\-iterate} (void)}
+\label{group__Ecore__Main__Loop__Group_g7f5463c1d4f3f020968ed06d6e5816cb}
+
+\begin{CompactList}\small\item\em Runs a single iteration of the main loop to process everything on the queue. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__Main__Loop__Group_g04daa7648a9d027bed25d27c150fdda7}{ecore\_\-main\_\-loop\_\-begin} (void)
+\begin{CompactList}\small\item\em Runs the application main loop. \item\end{CompactList}\item 
+\hypertarget{group__Ecore__Main__Loop__Group_g329898ea4b32333c12c34cfde48326fd}{
+EAPI void \hyperlink{group__Ecore__Main__Loop__Group_g329898ea4b32333c12c34cfde48326fd}{ecore\_\-main\_\-loop\_\-quit} (void)}
+\label{group__Ecore__Main__Loop__Group_g329898ea4b32333c12c34cfde48326fd}
+
+\begin{CompactList}\small\item\em Quits the main loop once all the events currently on the queue have been processed. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+These functions control the Ecore event handling loop. 
+
+This loop is designed to work on embedded systems all the way to large and powerful mutli-cpu workstations.
+
+It serialises all system signals and events into a single event queue, that can be easily processed without needing to worry about concurrency. A properly written, event-driven program using this kind of programming does not need threads. It makes the program very robust and easy to follow.
+
+Here is an example of simple program and its basic event loop flow: 
+
+For examples of setting up and using a main loop, see \hyperlink{event__handler__example_8c-example}{event\_\-handler\_\-example::c} and \hyperlink{timer__example_8c-example}{timer\_\-example::c}. 
+
+\subsection{Function Documentation}
+\hypertarget{group__Ecore__Main__Loop__Group_g04daa7648a9d027bed25d27c150fdda7}{
+\index{Ecore_Main_Loop_Group@{Ecore\_\-Main\_\-Loop\_\-Group}!ecore_main_loop_begin@{ecore\_\-main\_\-loop\_\-begin}}
+\index{ecore_main_loop_begin@{ecore\_\-main\_\-loop\_\-begin}!Ecore_Main_Loop_Group@{Ecore\_\-Main\_\-Loop\_\-Group}}
+\subsubsection[ecore\_\-main\_\-loop\_\-begin]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-main\_\-loop\_\-begin (void)}}
+\label{group__Ecore__Main__Loop__Group_g04daa7648a9d027bed25d27c150fdda7}
+
+
+Runs the application main loop. 
+
+This function will not return until \hyperlink{group__Ecore__Main__Loop__Group_g329898ea4b32333c12c34cfde48326fd}{ecore\_\-main\_\-loop\_\-quit} is called. 
\ No newline at end of file
diff --git a/doc/latex/group__Ecore__Path__Group.tex b/doc/latex/group__Ecore__Path__Group.tex
new file mode 100644
index 0000000..aec571c
--- /dev/null
+++ b/doc/latex/group__Ecore__Path__Group.tex
@@ -0,0 +1,120 @@
+\hypertarget{group__Ecore__Path__Group}{
+\section{Path Group Functions}
+\label{group__Ecore__Path__Group}\index{Path Group Functions@{Path Group Functions}}
+}
+Functions that make it easier to find a file in a set of search paths.  
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+EAPI int \hyperlink{group__Ecore__Path__Group_g473c0199a5051f156c5f90620379aa5f}{ecore\_\-path\_\-group\_\-new} (char $\ast$group\_\-name)
+\begin{CompactList}\small\item\em Creates a new path group. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__Path__Group_gab5e4ad6a1bbd4d8f9981428008f8e7d}{ecore\_\-path\_\-group\_\-del} (int group\_\-id)
+\begin{CompactList}\small\item\em Destroys a previously created path group. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__Path__Group_g68a0408334b4a5917cd15f03eed96ba0}{ecore\_\-path\_\-group\_\-add} (int group\_\-id, char $\ast$path)
+\begin{CompactList}\small\item\em Adds a directory to be searched for files. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__Path__Group_gfeca230cd94ad8a5616170c9d015efdb}{ecore\_\-path\_\-group\_\-remove} (int group\_\-id, char $\ast$path)
+\begin{CompactList}\small\item\em Removes the given directory from the given group. \item\end{CompactList}\item 
+EAPI char $\ast$ \hyperlink{group__Ecore__Path__Group_g12f3c1df8f9ef551561409b36377621d}{ecore\_\-path\_\-group\_\-find} (int group\_\-id, char $\ast$name)
+\begin{CompactList}\small\item\em Finds a file in a group of paths. \item\end{CompactList}\item 
+EAPI Ecore\_\-List $\ast$ \hyperlink{group__Ecore__Path__Group_g9f45c0a8e744b56b2b14d1cce60907be}{ecore\_\-path\_\-group\_\-available} (int group\_\-id)
+\begin{CompactList}\small\item\em Retrieves a list of all available files in the given path. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Functions that make it easier to find a file in a set of search paths. 
+
+\begin{Desc}
+\item[\hyperlink{todo__todo000003}{Todo}]Give this a better description. \end{Desc}
+
+
+\subsection{Function Documentation}
+\hypertarget{group__Ecore__Path__Group_g68a0408334b4a5917cd15f03eed96ba0}{
+\index{Ecore_Path_Group@{Ecore\_\-Path\_\-Group}!ecore_path_group_add@{ecore\_\-path\_\-group\_\-add}}
+\index{ecore_path_group_add@{ecore\_\-path\_\-group\_\-add}!Ecore_Path_Group@{Ecore\_\-Path\_\-Group}}
+\subsubsection[ecore\_\-path\_\-group\_\-add]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-path\_\-group\_\-add (int {\em group\_\-id}, char $\ast$ {\em path})}}
+\label{group__Ecore__Path__Group_g68a0408334b4a5917cd15f03eed96ba0}
+
+
+Adds a directory to be searched for files. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em group\_\-id}]The unique identifier for the group to add the path. \item[{\em path}]The new path to be added to the group. \end{description}
+\end{Desc}
+\hypertarget{group__Ecore__Path__Group_g9f45c0a8e744b56b2b14d1cce60907be}{
+\index{Ecore_Path_Group@{Ecore\_\-Path\_\-Group}!ecore_path_group_available@{ecore\_\-path\_\-group\_\-available}}
+\index{ecore_path_group_available@{ecore\_\-path\_\-group\_\-available}!Ecore_Path_Group@{Ecore\_\-Path\_\-Group}}
+\subsubsection[ecore\_\-path\_\-group\_\-available]{\setlength{\rightskip}{0pt plus 5cm}EAPI Ecore\_\-List$\ast$ ecore\_\-path\_\-group\_\-available (int {\em group\_\-id})}}
+\label{group__Ecore__Path__Group_g9f45c0a8e744b56b2b14d1cce60907be}
+
+
+Retrieves a list of all available files in the given path. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em group\_\-id}]The identifier for the given path. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]A pointer to a newly allocated list of all files found in the paths identified by {\tt group\_\-id}. {\tt NULL} otherwise. \end{Desc}
+\hypertarget{group__Ecore__Path__Group_gab5e4ad6a1bbd4d8f9981428008f8e7d}{
+\index{Ecore_Path_Group@{Ecore\_\-Path\_\-Group}!ecore_path_group_del@{ecore\_\-path\_\-group\_\-del}}
+\index{ecore_path_group_del@{ecore\_\-path\_\-group\_\-del}!Ecore_Path_Group@{Ecore\_\-Path\_\-Group}}
+\subsubsection[ecore\_\-path\_\-group\_\-del]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-path\_\-group\_\-del (int {\em group\_\-id})}}
+\label{group__Ecore__Path__Group_gab5e4ad6a1bbd4d8f9981428008f8e7d}
+
+
+Destroys a previously created path group. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em group\_\-id}]The unique identifier for the group. \end{description}
+\end{Desc}
+\hypertarget{group__Ecore__Path__Group_g12f3c1df8f9ef551561409b36377621d}{
+\index{Ecore_Path_Group@{Ecore\_\-Path\_\-Group}!ecore_path_group_find@{ecore\_\-path\_\-group\_\-find}}
+\index{ecore_path_group_find@{ecore\_\-path\_\-group\_\-find}!Ecore_Path_Group@{Ecore\_\-Path\_\-Group}}
+\subsubsection[ecore\_\-path\_\-group\_\-find]{\setlength{\rightskip}{0pt plus 5cm}EAPI char$\ast$ ecore\_\-path\_\-group\_\-find (int {\em group\_\-id}, char $\ast$ {\em name})}}
+\label{group__Ecore__Path__Group_g12f3c1df8f9ef551561409b36377621d}
+
+
+Finds a file in a group of paths. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em group\_\-id}]The path group id to search. \item[{\em name}]The name of the file to find. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]A pointer to a newly allocated path location of the found file on success. {\tt NULL} on failure. \end{Desc}
+\hypertarget{group__Ecore__Path__Group_g473c0199a5051f156c5f90620379aa5f}{
+\index{Ecore_Path_Group@{Ecore\_\-Path\_\-Group}!ecore_path_group_new@{ecore\_\-path\_\-group\_\-new}}
+\index{ecore_path_group_new@{ecore\_\-path\_\-group\_\-new}!Ecore_Path_Group@{Ecore\_\-Path\_\-Group}}
+\subsubsection[ecore\_\-path\_\-group\_\-new]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-path\_\-group\_\-new (char $\ast$ {\em group\_\-name})}}
+\label{group__Ecore__Path__Group_g473c0199a5051f156c5f90620379aa5f}
+
+
+Creates a new path group. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em group\_\-name}]The name of the new group. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]{\tt 0} on error, the integer id of the new group on success. \end{Desc}
+\hypertarget{group__Ecore__Path__Group_gfeca230cd94ad8a5616170c9d015efdb}{
+\index{Ecore_Path_Group@{Ecore\_\-Path\_\-Group}!ecore_path_group_remove@{ecore\_\-path\_\-group\_\-remove}}
+\index{ecore_path_group_remove@{ecore\_\-path\_\-group\_\-remove}!Ecore_Path_Group@{Ecore\_\-Path\_\-Group}}
+\subsubsection[ecore\_\-path\_\-group\_\-remove]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-path\_\-group\_\-remove (int {\em group\_\-id}, char $\ast$ {\em path})}}
+\label{group__Ecore__Path__Group_gfeca230cd94ad8a5616170c9d015efdb}
+
+
+Removes the given directory from the given group. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em group\_\-id}]The identifier for the given group. \item[{\em path}]The path of the directory to be removed. \end{description}
+\end{Desc}
diff --git a/doc/latex/group__Ecore__Plugin.tex b/doc/latex/group__Ecore__Plugin.tex
new file mode 100644
index 0000000..8fb4361
--- /dev/null
+++ b/doc/latex/group__Ecore__Plugin.tex
@@ -0,0 +1,50 @@
+\hypertarget{group__Ecore__Plugin}{
+\section{Plugin Functions}
+\label{group__Ecore__Plugin}\index{Plugin Functions@{Plugin Functions}}
+}
+Functions that load modules of compiled code into memory.  
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+EAPI Ecore\_\-Plugin $\ast$ \hyperlink{group__Ecore__Plugin_gd18ad5feab33494fe59e666995f5e50d}{ecore\_\-plugin\_\-load} (int group\_\-id, const char $\ast$plugin\_\-name)
+\begin{CompactList}\small\item\em Loads the specified plugin from the specified path group. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__Plugin_gcffe2e8b05e697882026a4ab2a8e6a96}{ecore\_\-plugin\_\-unload} (Ecore\_\-Plugin $\ast$plugin)
+\begin{CompactList}\small\item\em Unloads the given plugin from memory. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Functions that load modules of compiled code into memory. 
+
+
+
+\subsection{Function Documentation}
+\hypertarget{group__Ecore__Plugin_gd18ad5feab33494fe59e666995f5e50d}{
+\index{Ecore_Plugin@{Ecore\_\-Plugin}!ecore_plugin_load@{ecore\_\-plugin\_\-load}}
+\index{ecore_plugin_load@{ecore\_\-plugin\_\-load}!Ecore_Plugin@{Ecore\_\-Plugin}}
+\subsubsection[ecore\_\-plugin\_\-load]{\setlength{\rightskip}{0pt plus 5cm}EAPI Ecore\_\-Plugin$\ast$ ecore\_\-plugin\_\-load (int {\em group\_\-id}, const char $\ast$ {\em plugin\_\-name})}}
+\label{group__Ecore__Plugin_gd18ad5feab33494fe59e666995f5e50d}
+
+
+Loads the specified plugin from the specified path group. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em group\_\-id}]The path group to search for the plugin to load \item[{\em plugin\_\-name}]The name of the plugin to load. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]A pointer to the newly loaded plugin on success, {\tt NULL} on failure. \end{Desc}
+\hypertarget{group__Ecore__Plugin_gcffe2e8b05e697882026a4ab2a8e6a96}{
+\index{Ecore_Plugin@{Ecore\_\-Plugin}!ecore_plugin_unload@{ecore\_\-plugin\_\-unload}}
+\index{ecore_plugin_unload@{ecore\_\-plugin\_\-unload}!Ecore_Plugin@{Ecore\_\-Plugin}}
+\subsubsection[ecore\_\-plugin\_\-unload]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-plugin\_\-unload (Ecore\_\-Plugin $\ast$ {\em plugin})}}
+\label{group__Ecore__Plugin_gcffe2e8b05e697882026a4ab2a8e6a96}
+
+
+Unloads the given plugin from memory. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em plugin}]The given plugin. \end{description}
+\end{Desc}
diff --git a/doc/latex/group__Ecore__Sdl__Library__Group.tex b/doc/latex/group__Ecore__Sdl__Library__Group.tex
new file mode 100644
index 0000000..ab7ee03
--- /dev/null
+++ b/doc/latex/group__Ecore__Sdl__Library__Group.tex
@@ -0,0 +1,5 @@
+\hypertarget{group__Ecore__Sdl__Library__Group}{
+\section{Framebuffer Library Functions}
+\label{group__Ecore__Sdl__Library__Group}\index{Framebuffer Library Functions@{Framebuffer Library Functions}}
+}
+Functions used to set up and shut down the Ecore\_\-Framebuffer functions.  
diff --git a/doc/latex/group__Ecore__String__Group.tex b/doc/latex/group__Ecore__String__Group.tex
new file mode 100644
index 0000000..b9ca399
--- /dev/null
+++ b/doc/latex/group__Ecore__String__Group.tex
@@ -0,0 +1,54 @@
+\hypertarget{group__Ecore__String__Group}{
+\section{String Instance Functions}
+\label{group__Ecore__String__Group}\index{String Instance Functions@{String Instance Functions}}
+}
+These functions allow you to store one copy of a string, and use it throughout your program.  
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+EAPI const char $\ast$ \hyperlink{group__Ecore__String__Group_g30c9f103f58a9d2e9b3e31acc99978d8}{ecore\_\-string\_\-instance} (const char $\ast$string)
+\begin{CompactList}\small\item\em Retrieves an instance of a string for use in an ecore program. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__String__Group_gd551844a4defc87dd4623d0b4ad19588}{ecore\_\-string\_\-release} (const char $\ast$string)
+\begin{CompactList}\small\item\em Notes that the given string has lost an instance. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+These functions allow you to store one copy of a string, and use it throughout your program. 
+
+This is a method to reduce the number of duplicated strings kept in memory. It's pretty common for the same strings to be dynamically allocated repeatedly between applications and libraries, especially in circumstances where you could have multiple copies of a structure that allocates the string. So rather than duplicating and freeing these strings, you request a read-only pointer to an existing string and only incur the overhead of a hash lookup.
+
+It sounds like micro-optimizing, but profiling has shown this can have a significant impact as you scale the number of copies up. It improves string creation/destruction speed, reduces memory use and decreases memory fragmentation, so a win all-around. 
+
+\subsection{Function Documentation}
+\hypertarget{group__Ecore__String__Group_g30c9f103f58a9d2e9b3e31acc99978d8}{
+\index{Ecore_String_Group@{Ecore\_\-String\_\-Group}!ecore_string_instance@{ecore\_\-string\_\-instance}}
+\index{ecore_string_instance@{ecore\_\-string\_\-instance}!Ecore_String_Group@{Ecore\_\-String\_\-Group}}
+\subsubsection[ecore\_\-string\_\-instance]{\setlength{\rightskip}{0pt plus 5cm}EAPI const char$\ast$ ecore\_\-string\_\-instance (const char $\ast$ {\em string})}}
+\label{group__Ecore__String__Group_g30c9f103f58a9d2e9b3e31acc99978d8}
+
+
+Retrieves an instance of a string for use in an ecore program. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em string}]The string to retrieve an instance of. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]A pointer to an instance of the string on success. {\tt NULL} on failure. \end{Desc}
+\hypertarget{group__Ecore__String__Group_gd551844a4defc87dd4623d0b4ad19588}{
+\index{Ecore_String_Group@{Ecore\_\-String\_\-Group}!ecore_string_release@{ecore\_\-string\_\-release}}
+\index{ecore_string_release@{ecore\_\-string\_\-release}!Ecore_String_Group@{Ecore\_\-String\_\-Group}}
+\subsubsection[ecore\_\-string\_\-release]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-string\_\-release (const char $\ast$ {\em string})}}
+\label{group__Ecore__String__Group_gd551844a4defc87dd4623d0b4ad19588}
+
+
+Notes that the given string has lost an instance. 
+
+It will free the string if no other instances are left.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em string}]The given string. \end{description}
+\end{Desc}
diff --git a/doc/latex/group__Ecore__Time__Group.tex b/doc/latex/group__Ecore__Time__Group.tex
new file mode 100644
index 0000000..c51a842
--- /dev/null
+++ b/doc/latex/group__Ecore__Time__Group.tex
@@ -0,0 +1,85 @@
+\hypertarget{group__Ecore__Time__Group}{
+\section{Ecore Time Functions}
+\label{group__Ecore__Time__Group}\index{Ecore Time Functions@{Ecore Time Functions}}
+}
+Functions that deal with time.  
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+EAPI double \hyperlink{group__Ecore__Time__Group_g43846b079394bb4d098abf5c16dfc544}{ecore\_\-time\_\-get} (void)
+\begin{CompactList}\small\item\em Retrieves the current system time as a floating point value in seconds. \item\end{CompactList}\item 
+EAPI \hyperlink{Ecore_8h_92618001317bf801365479da38c6a870}{Ecore\_\-Timer} $\ast$ \hyperlink{group__Ecore__Time__Group_g8b8fb1c64bf42bc5be09d2f05df51813}{ecore\_\-timer\_\-add} (double in, int($\ast$func)(void $\ast$data), const void $\ast$data)
+\begin{CompactList}\small\item\em Creates a timer to call the given function in the given period of time. \item\end{CompactList}\item 
+EAPI void $\ast$ \hyperlink{group__Ecore__Time__Group_gb182e4c0e65b5b7241f7249de1b1039c}{ecore\_\-timer\_\-del} (\hyperlink{Ecore_8h_92618001317bf801365479da38c6a870}{Ecore\_\-Timer} $\ast$timer)
+\begin{CompactList}\small\item\em Delete the specified timer from the timer list. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__Time__Group_g7e3453623b90b1e182df46976c11d1e3}{ecore\_\-timer\_\-interval\_\-set} (\hyperlink{Ecore_8h_92618001317bf801365479da38c6a870}{Ecore\_\-Timer} $\ast$timer, double in)
+\begin{CompactList}\small\item\em Change the interval the timer ticks of. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Functions that deal with time. 
+
+These functions include those that simply retrieve it in a given format, and those that create events based on it. 
+
+\subsection{Function Documentation}
+\hypertarget{group__Ecore__Time__Group_g43846b079394bb4d098abf5c16dfc544}{
+\index{Ecore_Time_Group@{Ecore\_\-Time\_\-Group}!ecore_time_get@{ecore\_\-time\_\-get}}
+\index{ecore_time_get@{ecore\_\-time\_\-get}!Ecore_Time_Group@{Ecore\_\-Time\_\-Group}}
+\subsubsection[ecore\_\-time\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI double ecore\_\-time\_\-get (void)}}
+\label{group__Ecore__Time__Group_g43846b079394bb4d098abf5c16dfc544}
+
+
+Retrieves the current system time as a floating point value in seconds. 
+
+\begin{Desc}
+\item[Returns:]The number of seconds since 12.00AM 1st January 1970. \end{Desc}
+\hypertarget{group__Ecore__Time__Group_g8b8fb1c64bf42bc5be09d2f05df51813}{
+\index{Ecore_Time_Group@{Ecore\_\-Time\_\-Group}!ecore_timer_add@{ecore\_\-timer\_\-add}}
+\index{ecore_timer_add@{ecore\_\-timer\_\-add}!Ecore_Time_Group@{Ecore\_\-Time\_\-Group}}
+\subsubsection[ecore\_\-timer\_\-add]{\setlength{\rightskip}{0pt plus 5cm}EAPI \hyperlink{Ecore_8h_92618001317bf801365479da38c6a870}{Ecore\_\-Timer}$\ast$ ecore\_\-timer\_\-add (double {\em in}, int($\ast$)(void $\ast$data) {\em func}, const void $\ast$ {\em data})}}
+\label{group__Ecore__Time__Group_g8b8fb1c64bf42bc5be09d2f05df51813}
+
+
+Creates a timer to call the given function in the given period of time. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em in}]The interval in seconds. \item[{\em func}]The given function. If {\tt func} returns 1, the timer is rescheduled for the next interval {\tt in}. \item[{\em data}]Data to pass to {\tt func} when it is called. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]A timer object on success. {\tt NULL} on failure.\end{Desc}
+This function adds a timer and returns its handle on success and NULL on failure. The function {\tt func} will be called every @ seconds. The function will be passed the {\tt data} pointer as its parameter.
+
+When the timer {\tt func} is called, it must return a value of either 1 or 0. If it returns 1, it will be called again at the next tick, or if it returns 0 it will be deleted automatically making any references/handles for it invalid. \hypertarget{group__Ecore__Time__Group_gb182e4c0e65b5b7241f7249de1b1039c}{
+\index{Ecore_Time_Group@{Ecore\_\-Time\_\-Group}!ecore_timer_del@{ecore\_\-timer\_\-del}}
+\index{ecore_timer_del@{ecore\_\-timer\_\-del}!Ecore_Time_Group@{Ecore\_\-Time\_\-Group}}
+\subsubsection[ecore\_\-timer\_\-del]{\setlength{\rightskip}{0pt plus 5cm}EAPI void$\ast$ ecore\_\-timer\_\-del (\hyperlink{Ecore_8h_92618001317bf801365479da38c6a870}{Ecore\_\-Timer} $\ast$ {\em timer})}}
+\label{group__Ecore__Time__Group_gb182e4c0e65b5b7241f7249de1b1039c}
+
+
+Delete the specified timer from the timer list. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em timer}]The timer to delete. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The data pointer set for the timer when \hyperlink{group__Ecore__Time__Group_g8b8fb1c64bf42bc5be09d2f05df51813}{ecore\_\-timer\_\-add} was called. {\tt NULL} is returned if the function is unsuccessful.\end{Desc}
+Note: {\tt timer} must be a valid handle. If the timer function has already returned 0, the handle is no longer valid (and does not need to be delete). \hypertarget{group__Ecore__Time__Group_g7e3453623b90b1e182df46976c11d1e3}{
+\index{Ecore_Time_Group@{Ecore\_\-Time\_\-Group}!ecore_timer_interval_set@{ecore\_\-timer\_\-interval\_\-set}}
+\index{ecore_timer_interval_set@{ecore\_\-timer\_\-interval\_\-set}!Ecore_Time_Group@{Ecore\_\-Time\_\-Group}}
+\subsubsection[ecore\_\-timer\_\-interval\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-timer\_\-interval\_\-set (\hyperlink{Ecore_8h_92618001317bf801365479da38c6a870}{Ecore\_\-Timer} $\ast$ {\em timer}, double {\em in})}}
+\label{group__Ecore__Time__Group_g7e3453623b90b1e182df46976c11d1e3}
+
+
+Change the interval the timer ticks of. 
+
+If set during a timer call, this will affect the next interval.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em timer}]The timer to change. \item[{\em in}]The interval in seconds. \end{description}
+\end{Desc}
diff --git a/doc/latex/group__Ecore__Timer__Group.tex b/doc/latex/group__Ecore__Timer__Group.tex
new file mode 100644
index 0000000..3d04feb
--- /dev/null
+++ b/doc/latex/group__Ecore__Timer__Group.tex
@@ -0,0 +1,5 @@
+\hypertarget{group__Ecore__Timer__Group}{
+\section{Ecore Timer}
+\label{group__Ecore__Timer__Group}\index{Ecore Timer@{Ecore Timer}}
+}
+The timer allows callbacks to be called at specific intervals.  
diff --git a/doc/latex/group__Ecore__X__Atom__Group.tex b/doc/latex/group__Ecore__X__Atom__Group.tex
new file mode 100644
index 0000000..39957b3
--- /dev/null
+++ b/doc/latex/group__Ecore__X__Atom__Group.tex
@@ -0,0 +1,57 @@
+\hypertarget{group__Ecore__X__Atom__Group}{
+\section{XCB Atom Functions}
+\label{group__Ecore__X__Atom__Group}\index{XCB Atom Functions@{XCB Atom Functions}}
+}
+Functions that operate on atoms.  
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+EAPI void \hyperlink{group__Ecore__X__Atom__Group_g4c6beeb04b4a0e23895a34c38c615125}{ecore\_\-x\_\-atom\_\-get\_\-prefetch} (const char $\ast$name)
+\begin{CompactList}\small\item\em Sends the Intern\-Atom request. \item\end{CompactList}\item 
+\hypertarget{group__Ecore__X__Atom__Group_g74cd977810f7decf26961d1277544952}{
+EAPI void \hyperlink{group__Ecore__X__Atom__Group_g74cd977810f7decf26961d1277544952}{ecore\_\-x\_\-atom\_\-get\_\-fetch} (void)}
+\label{group__Ecore__X__Atom__Group_g74cd977810f7decf26961d1277544952}
+
+\begin{CompactList}\small\item\em Gets the reply of the Intern\-Atom request sent by \hyperlink{group__Ecore__X__Atom__Group_g4c6beeb04b4a0e23895a34c38c615125}{ecore\_\-x\_\-atom\_\-get\_\-prefetch()}. \item\end{CompactList}\item 
+EAPI Ecore\_\-X\_\-Atom \hyperlink{group__Ecore__X__Atom__Group_g620b716ab9d058022c9070dfc929993f}{ecore\_\-x\_\-atom\_\-get} (const char $\ast$name \_\-\_\-UNUSED\_\-\_\-)
+\begin{CompactList}\small\item\em Retrieves the atom value associated to a name. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Functions that operate on atoms. 
+
+
+
+\subsection{Function Documentation}
+\hypertarget{group__Ecore__X__Atom__Group_g620b716ab9d058022c9070dfc929993f}{
+\index{Ecore_X_Atom_Group@{Ecore\_\-X\_\-Atom\_\-Group}!ecore_x_atom_get@{ecore\_\-x\_\-atom\_\-get}}
+\index{ecore_x_atom_get@{ecore\_\-x\_\-atom\_\-get}!Ecore_X_Atom_Group@{Ecore\_\-X\_\-Atom\_\-Group}}
+\subsubsection[ecore\_\-x\_\-atom\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI Ecore\_\-X\_\-Atom ecore\_\-x\_\-atom\_\-get (const char $\ast$name {\em \_\-\_\-UNUSED\_\-\_\-})}}
+\label{group__Ecore__X__Atom__Group_g620b716ab9d058022c9070dfc929993f}
+
+
+Retrieves the atom value associated to a name. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em name}]Unused. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]Associated atom value.\end{Desc}
+Retrieves the atom value associated to a name. The reply is the returned value of the function ecore\_\-xcb\_\-intern\_\-atom\_\-reply(). If {\tt reply} is {\tt NULL}, the NULL atom is returned. Otherwise, the atom associated to the name is returned.
+
+To use this function, you must call before, and in order, \hyperlink{group__Ecore__X__Atom__Group_g4c6beeb04b4a0e23895a34c38c615125}{ecore\_\-x\_\-atom\_\-get\_\-prefetch()}, which sends the Intern\-Atom request, then \hyperlink{group__Ecore__X__Atom__Group_g74cd977810f7decf26961d1277544952}{ecore\_\-x\_\-atom\_\-get\_\-fetch()}, which gets the reply. \hypertarget{group__Ecore__X__Atom__Group_g4c6beeb04b4a0e23895a34c38c615125}{
+\index{Ecore_X_Atom_Group@{Ecore\_\-X\_\-Atom\_\-Group}!ecore_x_atom_get_prefetch@{ecore\_\-x\_\-atom\_\-get\_\-prefetch}}
+\index{ecore_x_atom_get_prefetch@{ecore\_\-x\_\-atom\_\-get\_\-prefetch}!Ecore_X_Atom_Group@{Ecore\_\-X\_\-Atom\_\-Group}}
+\subsubsection[ecore\_\-x\_\-atom\_\-get\_\-prefetch]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-atom\_\-get\_\-prefetch (const char $\ast$ {\em name})}}
+\label{group__Ecore__X__Atom__Group_g4c6beeb04b4a0e23895a34c38c615125}
+
+
+Sends the Intern\-Atom request. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em name}]Name of the requested atom. \end{description}
+\end{Desc}
diff --git a/doc/latex/group__Ecore__X__DPMS__Group.tex b/doc/latex/group__Ecore__X__DPMS__Group.tex
new file mode 100644
index 0000000..b4fdf94
--- /dev/null
+++ b/doc/latex/group__Ecore__X__DPMS__Group.tex
@@ -0,0 +1,233 @@
+\hypertarget{group__Ecore__X__DPMS__Group}{
+\section{X DPMS Extension Functions}
+\label{group__Ecore__X__DPMS__Group}\index{X DPMS Extension Functions@{X DPMS Extension Functions}}
+}
+Functions related to the X DPMS extension.  
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+EAPI int \hyperlink{group__Ecore__X__DPMS__Group_g032ee4fb13efffefc4f6a472ecd8fdc6}{ecore\_\-x\_\-dpms\_\-query} (void)
+\begin{CompactList}\small\item\em Checks if the DPMS extension is available or not. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__X__DPMS__Group_gcc046dd0ff301db75a220b44165d70d7}{ecore\_\-x\_\-dpms\_\-capable\_\-get} (void)
+\begin{CompactList}\small\item\em Checks if the X server is capable of DPMS. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__X__DPMS__Group_g41784bf96145cddc7a9a3d3b7022bb7a}{ecore\_\-x\_\-dpms\_\-enabled\_\-get} (void)
+\begin{CompactList}\small\item\em Checks the DPMS state of the display. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__DPMS__Group_gbad51cbf45115e47e5b79370cb0262f1}{ecore\_\-x\_\-dpms\_\-enabled\_\-set} (int enabled)
+\begin{CompactList}\small\item\em Sets the DPMS state of the display. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__DPMS__Group_g7b648c34d84859af30563fff3ed1a9f4}{ecore\_\-x\_\-dpms\_\-timeouts\_\-get} (unsigned int $\ast$standby, unsigned int $\ast$suspend, unsigned int $\ast$off)
+\begin{CompactList}\small\item\em Gets the timeouts. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__X__DPMS__Group_gdcb653306d26c1677a7fff274dda5a51}{ecore\_\-x\_\-dpms\_\-timeouts\_\-set} (unsigned int standby, unsigned int suspend, unsigned int off)
+\begin{CompactList}\small\item\em Sets the timeouts. \item\end{CompactList}\item 
+EAPI unsigned int \hyperlink{group__Ecore__X__DPMS__Group_g6e4a68ec1147d2fdc87c6a215aafd9ef}{ecore\_\-x\_\-dpms\_\-timeout\_\-standby\_\-get} ()
+\begin{CompactList}\small\item\em Returns the amount of time of inactivity before standby mode is invoked. \item\end{CompactList}\item 
+EAPI unsigned int \hyperlink{group__Ecore__X__DPMS__Group_g373fc80d403f3226a4ad65690eb8255a}{ecore\_\-x\_\-dpms\_\-timeout\_\-suspend\_\-get} ()
+\begin{CompactList}\small\item\em Returns the amount of time of inactivity before the second level of power saving is invoked. \item\end{CompactList}\item 
+EAPI unsigned int \hyperlink{group__Ecore__X__DPMS__Group_gc8e40bb33ca0a50aacc59c82a68d5a02}{ecore\_\-x\_\-dpms\_\-timeout\_\-off\_\-get} ()
+\begin{CompactList}\small\item\em Returns the amount of time of inactivity before the third and final level of power saving is invoked. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__DPMS__Group_g8137436224fc8e92f24b2eaad590d659}{ecore\_\-x\_\-dpms\_\-timeout\_\-standby\_\-set} (unsigned int new\_\-timeout)
+\begin{CompactList}\small\item\em Sets the standby timeout (in unit of seconds). \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__DPMS__Group_gb9acd7327a664d9a53b766e5c24c935e}{ecore\_\-x\_\-dpms\_\-timeout\_\-suspend\_\-set} (unsigned int new\_\-timeout)
+\begin{CompactList}\small\item\em Sets the suspend timeout (in unit of seconds). \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__DPMS__Group_g937f645a05628761889bf0d3815de851}{ecore\_\-x\_\-dpms\_\-timeout\_\-off\_\-set} (unsigned int new\_\-timeout)
+\begin{CompactList}\small\item\em Sets the off timeout (in unit of seconds). \item\end{CompactList}\item 
+\hypertarget{group__Ecore__X__DPMS__Group_g57c4b53ec3e7398959703e86e08b2edc}{
+EAPI void \hyperlink{group__Ecore__X__DPMS__Group_g57c4b53ec3e7398959703e86e08b2edc}{ecore\_\-x\_\-dpms\_\-capable\_\-get\_\-prefetch} (void)}
+\label{group__Ecore__X__DPMS__Group_g57c4b53ec3e7398959703e86e08b2edc}
+
+\begin{CompactList}\small\item\em Sends the DPMSCapable request. \item\end{CompactList}\item 
+\hypertarget{group__Ecore__X__DPMS__Group_g30d1afa503d86e43aaf1e91452ee5cec}{
+EAPI void \hyperlink{group__Ecore__X__DPMS__Group_g30d1afa503d86e43aaf1e91452ee5cec}{ecore\_\-x\_\-dpms\_\-capable\_\-get\_\-fetch} (void)}
+\label{group__Ecore__X__DPMS__Group_g30d1afa503d86e43aaf1e91452ee5cec}
+
+\begin{CompactList}\small\item\em Gets the reply of the DPMSCapable request sent by \hyperlink{group__Ecore__X__DPMS__Group_g57c4b53ec3e7398959703e86e08b2edc}{ecore\_\-x\_\-dpms\_\-capable\_\-get\_\-prefetch()}. \item\end{CompactList}\item 
+\hypertarget{group__Ecore__X__DPMS__Group_g3acf2e4676f0c4e7d15dd55d895a664f}{
+EAPI void \hyperlink{group__Ecore__X__DPMS__Group_g3acf2e4676f0c4e7d15dd55d895a664f}{ecore\_\-x\_\-dpms\_\-enable\_\-get\_\-prefetch} (void)}
+\label{group__Ecore__X__DPMS__Group_g3acf2e4676f0c4e7d15dd55d895a664f}
+
+\begin{CompactList}\small\item\em Sends the DPMSInfo request. \item\end{CompactList}\item 
+\hypertarget{group__Ecore__X__DPMS__Group_gd135ecdd36d61f718bcde127dda01ae0}{
+EAPI void \hyperlink{group__Ecore__X__DPMS__Group_gd135ecdd36d61f718bcde127dda01ae0}{ecore\_\-x\_\-dpms\_\-enable\_\-get\_\-fetch} (void)}
+\label{group__Ecore__X__DPMS__Group_gd135ecdd36d61f718bcde127dda01ae0}
+
+\begin{CompactList}\small\item\em Gets the reply of the DPMSInfo request sent by \hyperlink{group__Ecore__X__DPMS__Group_g3acf2e4676f0c4e7d15dd55d895a664f}{ecore\_\-x\_\-dpms\_\-enable\_\-get\_\-prefetch()}. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__X__DPMS__Group_g0a009a4d693a661b093e24c45f0fcf47}{ecore\_\-x\_\-dpms\_\-enable\_\-get} (void)
+\begin{CompactList}\small\item\em Checks the DPMS state of the display. \item\end{CompactList}\item 
+\hypertarget{group__Ecore__X__DPMS__Group_g1f7c26484063ed488792590ef83a25af}{
+EAPI void \hyperlink{group__Ecore__X__DPMS__Group_g1f7c26484063ed488792590ef83a25af}{ecore\_\-x\_\-dpms\_\-timeouts\_\-get\_\-prefetch} (void)}
+\label{group__Ecore__X__DPMS__Group_g1f7c26484063ed488792590ef83a25af}
+
+\begin{CompactList}\small\item\em Sends the DPMSGet\-Timeouts request. \item\end{CompactList}\item 
+\hypertarget{group__Ecore__X__DPMS__Group_gb45150258267e7390235b42b9597ddfd}{
+EAPI void \hyperlink{group__Ecore__X__DPMS__Group_gb45150258267e7390235b42b9597ddfd}{ecore\_\-x\_\-dpms\_\-timeouts\_\-get\_\-fetch} (void)}
+\label{group__Ecore__X__DPMS__Group_gb45150258267e7390235b42b9597ddfd}
+
+\begin{CompactList}\small\item\em Gets the reply of the DPMSGet\-Timeouts request sent by \hyperlink{group__Ecore__X__DPMS__Group_g1f7c26484063ed488792590ef83a25af}{ecore\_\-x\_\-dpms\_\-timeouts\_\-get\_\-prefetch()}. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Functions related to the X DPMS extension. 
+
+
+
+\subsection{Function Documentation}
+\hypertarget{group__Ecore__X__DPMS__Group_gcc046dd0ff301db75a220b44165d70d7}{
+\index{Ecore_X_DPMS_Group@{Ecore\_\-X\_\-DPMS\_\-Group}!ecore_x_dpms_capable_get@{ecore\_\-x\_\-dpms\_\-capable\_\-get}}
+\index{ecore_x_dpms_capable_get@{ecore\_\-x\_\-dpms\_\-capable\_\-get}!Ecore_X_DPMS_Group@{Ecore\_\-X\_\-DPMS\_\-Group}}
+\subsubsection[ecore\_\-x\_\-dpms\_\-capable\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-x\_\-dpms\_\-capable\_\-get (void)}}
+\label{group__Ecore__X__DPMS__Group_gcc046dd0ff301db75a220b44165d70d7}
+
+
+Checks if the X server is capable of DPMS. 
+
+\begin{Desc}
+\item[Returns:]{\tt 1} if the X server is capable of DPMS, {\tt 0} otherwise. \end{Desc}
+\hypertarget{group__Ecore__X__DPMS__Group_g0a009a4d693a661b093e24c45f0fcf47}{
+\index{Ecore_X_DPMS_Group@{Ecore\_\-X\_\-DPMS\_\-Group}!ecore_x_dpms_enable_get@{ecore\_\-x\_\-dpms\_\-enable\_\-get}}
+\index{ecore_x_dpms_enable_get@{ecore\_\-x\_\-dpms\_\-enable\_\-get}!Ecore_X_DPMS_Group@{Ecore\_\-X\_\-DPMS\_\-Group}}
+\subsubsection[ecore\_\-x\_\-dpms\_\-enable\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-x\_\-dpms\_\-enable\_\-get (void)}}
+\label{group__Ecore__X__DPMS__Group_g0a009a4d693a661b093e24c45f0fcf47}
+
+
+Checks the DPMS state of the display. 
+
+\begin{Desc}
+\item[Returns:]{\tt 1} if DPMS is enabled, {\tt 0} otherwise.\end{Desc}
+To use this function, you must call before, and in order, ecore\_\-x\_\-dpms\_\-enapable\_\-get\_\-prefetch(), which sends the DPMSInfo request, then ecore\_\-x\_\-dpms\_\-enapable\_\-get\_\-fetch(), which gets the reply. \hypertarget{group__Ecore__X__DPMS__Group_g41784bf96145cddc7a9a3d3b7022bb7a}{
+\index{Ecore_X_DPMS_Group@{Ecore\_\-X\_\-DPMS\_\-Group}!ecore_x_dpms_enabled_get@{ecore\_\-x\_\-dpms\_\-enabled\_\-get}}
+\index{ecore_x_dpms_enabled_get@{ecore\_\-x\_\-dpms\_\-enabled\_\-get}!Ecore_X_DPMS_Group@{Ecore\_\-X\_\-DPMS\_\-Group}}
+\subsubsection[ecore\_\-x\_\-dpms\_\-enabled\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-x\_\-dpms\_\-enabled\_\-get (void)}}
+\label{group__Ecore__X__DPMS__Group_g41784bf96145cddc7a9a3d3b7022bb7a}
+
+
+Checks the DPMS state of the display. 
+
+\begin{Desc}
+\item[Returns:]{\tt 1} if DPMS is enabled, {\tt 0} otherwise. \end{Desc}
+\hypertarget{group__Ecore__X__DPMS__Group_gbad51cbf45115e47e5b79370cb0262f1}{
+\index{Ecore_X_DPMS_Group@{Ecore\_\-X\_\-DPMS\_\-Group}!ecore_x_dpms_enabled_set@{ecore\_\-x\_\-dpms\_\-enabled\_\-set}}
+\index{ecore_x_dpms_enabled_set@{ecore\_\-x\_\-dpms\_\-enabled\_\-set}!Ecore_X_DPMS_Group@{Ecore\_\-X\_\-DPMS\_\-Group}}
+\subsubsection[ecore\_\-x\_\-dpms\_\-enabled\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-dpms\_\-enabled\_\-set (int {\em enabled})}}
+\label{group__Ecore__X__DPMS__Group_gbad51cbf45115e47e5b79370cb0262f1}
+
+
+Sets the DPMS state of the display. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em enabled}]{\tt 0} to disable DPMS characteristics of the server, enable it otherwise. \end{description}
+\end{Desc}
+\hypertarget{group__Ecore__X__DPMS__Group_g032ee4fb13efffefc4f6a472ecd8fdc6}{
+\index{Ecore_X_DPMS_Group@{Ecore\_\-X\_\-DPMS\_\-Group}!ecore_x_dpms_query@{ecore\_\-x\_\-dpms\_\-query}}
+\index{ecore_x_dpms_query@{ecore\_\-x\_\-dpms\_\-query}!Ecore_X_DPMS_Group@{Ecore\_\-X\_\-DPMS\_\-Group}}
+\subsubsection[ecore\_\-x\_\-dpms\_\-query]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-x\_\-dpms\_\-query (void)}}
+\label{group__Ecore__X__DPMS__Group_g032ee4fb13efffefc4f6a472ecd8fdc6}
+
+
+Checks if the DPMS extension is available or not. 
+
+\begin{Desc}
+\item[Returns:]{\tt 1} if the X DPMS extension is available, {\tt 0} otherwise. \end{Desc}
+\hypertarget{group__Ecore__X__DPMS__Group_gc8e40bb33ca0a50aacc59c82a68d5a02}{
+\index{Ecore_X_DPMS_Group@{Ecore\_\-X\_\-DPMS\_\-Group}!ecore_x_dpms_timeout_off_get@{ecore\_\-x\_\-dpms\_\-timeout\_\-off\_\-get}}
+\index{ecore_x_dpms_timeout_off_get@{ecore\_\-x\_\-dpms\_\-timeout\_\-off\_\-get}!Ecore_X_DPMS_Group@{Ecore\_\-X\_\-DPMS\_\-Group}}
+\subsubsection[ecore\_\-x\_\-dpms\_\-timeout\_\-off\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI unsigned int ecore\_\-x\_\-dpms\_\-timeout\_\-off\_\-get (void)}}
+\label{group__Ecore__X__DPMS__Group_gc8e40bb33ca0a50aacc59c82a68d5a02}
+
+
+Returns the amount of time of inactivity before the third and final level of power saving is invoked. 
+
+\begin{Desc}
+\item[Returns:]The off timeout value. \end{Desc}
+\hypertarget{group__Ecore__X__DPMS__Group_g937f645a05628761889bf0d3815de851}{
+\index{Ecore_X_DPMS_Group@{Ecore\_\-X\_\-DPMS\_\-Group}!ecore_x_dpms_timeout_off_set@{ecore\_\-x\_\-dpms\_\-timeout\_\-off\_\-set}}
+\index{ecore_x_dpms_timeout_off_set@{ecore\_\-x\_\-dpms\_\-timeout\_\-off\_\-set}!Ecore_X_DPMS_Group@{Ecore\_\-X\_\-DPMS\_\-Group}}
+\subsubsection[ecore\_\-x\_\-dpms\_\-timeout\_\-off\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-dpms\_\-timeout\_\-off\_\-set (unsigned int {\em new\_\-off})}}
+\label{group__Ecore__X__DPMS__Group_g937f645a05628761889bf0d3815de851}
+
+
+Sets the off timeout (in unit of seconds). 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em off}]Amount of time of inactivity before the monitor is shut off. \end{description}
+\end{Desc}
+\hypertarget{group__Ecore__X__DPMS__Group_g6e4a68ec1147d2fdc87c6a215aafd9ef}{
+\index{Ecore_X_DPMS_Group@{Ecore\_\-X\_\-DPMS\_\-Group}!ecore_x_dpms_timeout_standby_get@{ecore\_\-x\_\-dpms\_\-timeout\_\-standby\_\-get}}
+\index{ecore_x_dpms_timeout_standby_get@{ecore\_\-x\_\-dpms\_\-timeout\_\-standby\_\-get}!Ecore_X_DPMS_Group@{Ecore\_\-X\_\-DPMS\_\-Group}}
+\subsubsection[ecore\_\-x\_\-dpms\_\-timeout\_\-standby\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI unsigned int ecore\_\-x\_\-dpms\_\-timeout\_\-standby\_\-get (void)}}
+\label{group__Ecore__X__DPMS__Group_g6e4a68ec1147d2fdc87c6a215aafd9ef}
+
+
+Returns the amount of time of inactivity before standby mode is invoked. 
+
+\begin{Desc}
+\item[Returns:]The standby timeout value. \end{Desc}
+\hypertarget{group__Ecore__X__DPMS__Group_g8137436224fc8e92f24b2eaad590d659}{
+\index{Ecore_X_DPMS_Group@{Ecore\_\-X\_\-DPMS\_\-Group}!ecore_x_dpms_timeout_standby_set@{ecore\_\-x\_\-dpms\_\-timeout\_\-standby\_\-set}}
+\index{ecore_x_dpms_timeout_standby_set@{ecore\_\-x\_\-dpms\_\-timeout\_\-standby\_\-set}!Ecore_X_DPMS_Group@{Ecore\_\-X\_\-DPMS\_\-Group}}
+\subsubsection[ecore\_\-x\_\-dpms\_\-timeout\_\-standby\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-dpms\_\-timeout\_\-standby\_\-set (unsigned int {\em new\_\-standby})}}
+\label{group__Ecore__X__DPMS__Group_g8137436224fc8e92f24b2eaad590d659}
+
+
+Sets the standby timeout (in unit of seconds). 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em new\_\-standby}]Amount of time of inactivity before standby mode will be invoked. \end{description}
+\end{Desc}
+\hypertarget{group__Ecore__X__DPMS__Group_g373fc80d403f3226a4ad65690eb8255a}{
+\index{Ecore_X_DPMS_Group@{Ecore\_\-X\_\-DPMS\_\-Group}!ecore_x_dpms_timeout_suspend_get@{ecore\_\-x\_\-dpms\_\-timeout\_\-suspend\_\-get}}
+\index{ecore_x_dpms_timeout_suspend_get@{ecore\_\-x\_\-dpms\_\-timeout\_\-suspend\_\-get}!Ecore_X_DPMS_Group@{Ecore\_\-X\_\-DPMS\_\-Group}}
+\subsubsection[ecore\_\-x\_\-dpms\_\-timeout\_\-suspend\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI unsigned int ecore\_\-x\_\-dpms\_\-timeout\_\-suspend\_\-get (void)}}
+\label{group__Ecore__X__DPMS__Group_g373fc80d403f3226a4ad65690eb8255a}
+
+
+Returns the amount of time of inactivity before the second level of power saving is invoked. 
+
+\begin{Desc}
+\item[Returns:]The suspend timeout value. \end{Desc}
+\hypertarget{group__Ecore__X__DPMS__Group_gb9acd7327a664d9a53b766e5c24c935e}{
+\index{Ecore_X_DPMS_Group@{Ecore\_\-X\_\-DPMS\_\-Group}!ecore_x_dpms_timeout_suspend_set@{ecore\_\-x\_\-dpms\_\-timeout\_\-suspend\_\-set}}
+\index{ecore_x_dpms_timeout_suspend_set@{ecore\_\-x\_\-dpms\_\-timeout\_\-suspend\_\-set}!Ecore_X_DPMS_Group@{Ecore\_\-X\_\-DPMS\_\-Group}}
+\subsubsection[ecore\_\-x\_\-dpms\_\-timeout\_\-suspend\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-dpms\_\-timeout\_\-suspend\_\-set (unsigned int {\em new\_\-suspend})}}
+\label{group__Ecore__X__DPMS__Group_gb9acd7327a664d9a53b766e5c24c935e}
+
+
+Sets the suspend timeout (in unit of seconds). 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em suspend}]Amount of time of inactivity before the screen is placed into suspend mode. \end{description}
+\end{Desc}
+\hypertarget{group__Ecore__X__DPMS__Group_g7b648c34d84859af30563fff3ed1a9f4}{
+\index{Ecore_X_DPMS_Group@{Ecore\_\-X\_\-DPMS\_\-Group}!ecore_x_dpms_timeouts_get@{ecore\_\-x\_\-dpms\_\-timeouts\_\-get}}
+\index{ecore_x_dpms_timeouts_get@{ecore\_\-x\_\-dpms\_\-timeouts\_\-get}!Ecore_X_DPMS_Group@{Ecore\_\-X\_\-DPMS\_\-Group}}
+\subsubsection[ecore\_\-x\_\-dpms\_\-timeouts\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-dpms\_\-timeouts\_\-get (unsigned int $\ast$ {\em standby}, unsigned int $\ast$ {\em suspend}, unsigned int $\ast$ {\em off})}}
+\label{group__Ecore__X__DPMS__Group_g7b648c34d84859af30563fff3ed1a9f4}
+
+
+Gets the timeouts. 
+
+The values are in unit of seconds. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em standby}]Amount of time of inactivity before standby mode will be invoked. \item[{\em suspend}]Amount of time of inactivity before the screen is placed into suspend mode. \item[{\em off}]Amount of time of inactivity before the monitor is shut off. \end{description}
+\end{Desc}
+\hypertarget{group__Ecore__X__DPMS__Group_gdcb653306d26c1677a7fff274dda5a51}{
+\index{Ecore_X_DPMS_Group@{Ecore\_\-X\_\-DPMS\_\-Group}!ecore_x_dpms_timeouts_set@{ecore\_\-x\_\-dpms\_\-timeouts\_\-set}}
+\index{ecore_x_dpms_timeouts_set@{ecore\_\-x\_\-dpms\_\-timeouts\_\-set}!Ecore_X_DPMS_Group@{Ecore\_\-X\_\-DPMS\_\-Group}}
+\subsubsection[ecore\_\-x\_\-dpms\_\-timeouts\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-x\_\-dpms\_\-timeouts\_\-set (unsigned int {\em standby}, unsigned int {\em suspend}, unsigned int {\em off})}}
+\label{group__Ecore__X__DPMS__Group_gdcb653306d26c1677a7fff274dda5a51}
+
+
+Sets the timeouts. 
+
+The values are in unit of seconds. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em standby}]Amount of time of inactivity before standby mode will be invoked. \item[{\em suspend}]Amount of time of inactivity before the screen is placed into suspend mode. \item[{\em off}]Amount of time of inactivity before the monitor is shut off. \end{description}
+\end{Desc}
diff --git a/doc/latex/group__Ecore__X__Damage__Group.tex b/doc/latex/group__Ecore__X__Damage__Group.tex
new file mode 100644
index 0000000..b4db26f
--- /dev/null
+++ b/doc/latex/group__Ecore__X__Damage__Group.tex
@@ -0,0 +1,80 @@
+\hypertarget{group__Ecore__X__Damage__Group}{
+\section{X Damage Extension Functions}
+\label{group__Ecore__X__Damage__Group}\index{X Damage Extension Functions@{X Damage Extension Functions}}
+}
+Functions related to the X Damage extension.  
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+EAPI int \hyperlink{group__Ecore__X__Damage__Group_g6bf9f36736d2a3326d7a8c49cdc17815}{ecore\_\-x\_\-damage\_\-query} (void)
+\begin{CompactList}\small\item\em Return whether the Damage Extension is available. \item\end{CompactList}\item 
+EAPI Ecore\_\-X\_\-Damage \hyperlink{group__Ecore__X__Damage__Group_gdc985407bfd0756db858552e478005d5}{ecore\_\-x\_\-damage\_\-new} (Ecore\_\-X\_\-Drawable drawable, Ecore\_\-X\_\-Damage\_\-Report\_\-Level level)
+\begin{CompactList}\small\item\em Creates a damage object. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Damage__Group_g1641eb19e8543a763e2c3c2754e9f285}{ecore\_\-x\_\-damage\_\-del} (Ecore\_\-X\_\-Damage damage)
+\begin{CompactList}\small\item\em Destroys a damage object. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Damage__Group_gede48cd79919238d061c78a28f3d4610}{ecore\_\-x\_\-damage\_\-subtract} (Ecore\_\-X\_\-Damage damage, Ecore\_\-X\_\-Region repair, Ecore\_\-X\_\-Region parts)
+\begin{CompactList}\small\item\em Synchronously modifies the region. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Functions related to the X Damage extension. 
+
+
+
+\subsection{Function Documentation}
+\hypertarget{group__Ecore__X__Damage__Group_g1641eb19e8543a763e2c3c2754e9f285}{
+\index{Ecore_X_Damage_Group@{Ecore\_\-X\_\-Damage\_\-Group}!ecore_x_damage_del@{ecore\_\-x\_\-damage\_\-del}}
+\index{ecore_x_damage_del@{ecore\_\-x\_\-damage\_\-del}!Ecore_X_Damage_Group@{Ecore\_\-X\_\-Damage\_\-Group}}
+\subsubsection[ecore\_\-x\_\-damage\_\-del]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-damage\_\-del (Ecore\_\-X\_\-Damage {\em damage})}}
+\label{group__Ecore__X__Damage__Group_g1641eb19e8543a763e2c3c2754e9f285}
+
+
+Destroys a damage object. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em damage}]The damage object to destroy.\end{description}
+\end{Desc}
+Destroys the damage object {\tt damage}. \hypertarget{group__Ecore__X__Damage__Group_gdc985407bfd0756db858552e478005d5}{
+\index{Ecore_X_Damage_Group@{Ecore\_\-X\_\-Damage\_\-Group}!ecore_x_damage_new@{ecore\_\-x\_\-damage\_\-new}}
+\index{ecore_x_damage_new@{ecore\_\-x\_\-damage\_\-new}!Ecore_X_Damage_Group@{Ecore\_\-X\_\-Damage\_\-Group}}
+\subsubsection[ecore\_\-x\_\-damage\_\-new]{\setlength{\rightskip}{0pt plus 5cm}EAPI Ecore\_\-X\_\-Damage ecore\_\-x\_\-damage\_\-new (Ecore\_\-X\_\-Drawable {\em drawable}, Ecore\_\-X\_\-Damage\_\-Report\_\-Level {\em level})}}
+\label{group__Ecore__X__Damage__Group_gdc985407bfd0756db858552e478005d5}
+
+
+Creates a damage object. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em drawable}]The drawable to monotor. \item[{\em level}]The level of the damage report. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The damage object.\end{Desc}
+Creates a damage object to monitor changes to {\tt drawable}, with the level {\tt level}. \hypertarget{group__Ecore__X__Damage__Group_g6bf9f36736d2a3326d7a8c49cdc17815}{
+\index{Ecore_X_Damage_Group@{Ecore\_\-X\_\-Damage\_\-Group}!ecore_x_damage_query@{ecore\_\-x\_\-damage\_\-query}}
+\index{ecore_x_damage_query@{ecore\_\-x\_\-damage\_\-query}!Ecore_X_Damage_Group@{Ecore\_\-X\_\-Damage\_\-Group}}
+\subsubsection[ecore\_\-x\_\-damage\_\-query]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-x\_\-damage\_\-query (void)}}
+\label{group__Ecore__X__Damage__Group_g6bf9f36736d2a3326d7a8c49cdc17815}
+
+
+Return whether the Damage Extension is available. 
+
+\begin{Desc}
+\item[Returns:]1 if the Damage Extension is available, 0 if not.\end{Desc}
+Return 1 if the X server supports the Damage Extension version 1.0, 0 otherwise. \hypertarget{group__Ecore__X__Damage__Group_gede48cd79919238d061c78a28f3d4610}{
+\index{Ecore_X_Damage_Group@{Ecore\_\-X\_\-Damage\_\-Group}!ecore_x_damage_subtract@{ecore\_\-x\_\-damage\_\-subtract}}
+\index{ecore_x_damage_subtract@{ecore\_\-x\_\-damage\_\-subtract}!Ecore_X_Damage_Group@{Ecore\_\-X\_\-Damage\_\-Group}}
+\subsubsection[ecore\_\-x\_\-damage\_\-subtract]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-damage\_\-subtract (Ecore\_\-X\_\-Damage {\em damage}, Ecore\_\-X\_\-Region {\em repair}, Ecore\_\-X\_\-Region {\em parts})}}
+\label{group__Ecore__X__Damage__Group_gede48cd79919238d061c78a28f3d4610}
+
+
+Synchronously modifies the region. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em damage}]The damage object to destroy. \item[{\em repair}]The repair region. \item[{\em parts}]The parts region.\end{description}
+\end{Desc}
+Synchronously modifies the regions in the following manner: If {\tt repair} is {\tt XCB\_\-NONE:} 1) parts = damage 2) damage = $<$empty$>$ Otherwise: 1) parts = damage INTERSECT repair 2) damage = damage - parts 3) Generate Damage\-Notify for remaining damage areas 
\ No newline at end of file
diff --git a/doc/latex/group__Ecore__X__Display__Attr__Group.tex b/doc/latex/group__Ecore__X__Display__Attr__Group.tex
new file mode 100644
index 0000000..02302dc
--- /dev/null
+++ b/doc/latex/group__Ecore__X__Display__Attr__Group.tex
@@ -0,0 +1,75 @@
+\hypertarget{group__Ecore__X__Display__Attr__Group}{
+\section{X Display Attributes}
+\label{group__Ecore__X__Display__Attr__Group}\index{X Display Attributes@{X Display Attributes}}
+}
+Functions that set and retrieve X display attributes.  
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+EAPI Ecore\_\-X\_\-Display $\ast$ \hyperlink{group__Ecore__X__Display__Attr__Group_g19e90a6e5305432577d984a11e45cb16}{ecore\_\-x\_\-display\_\-get} (void)
+\begin{CompactList}\small\item\em Retrieves the Ecore\_\-X\_\-Display handle used for the current X connection. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__X__Display__Attr__Group_g6d11859fd7a822cbde4236be67a8df24}{ecore\_\-x\_\-fd\_\-get} (void)
+\begin{CompactList}\small\item\em Retrieves the X display file descriptor. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Display__Attr__Group_gfc0ad83fd20e71ffdd8d706323778f67}{ecore\_\-x\_\-double\_\-click\_\-time\_\-set} (double t)
+\begin{CompactList}\small\item\em Sets the timeout for a double and triple clicks to be flagged. \item\end{CompactList}\item 
+EAPI double \hyperlink{group__Ecore__X__Display__Attr__Group_g0595a462bd4ffe0450ba45658624eb7e}{ecore\_\-x\_\-double\_\-click\_\-time\_\-get} (void)
+\begin{CompactList}\small\item\em Retrieves the double and triple click flag timeout. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Functions that set and retrieve X display attributes. 
+
+
+
+\subsection{Function Documentation}
+\hypertarget{group__Ecore__X__Display__Attr__Group_g19e90a6e5305432577d984a11e45cb16}{
+\index{Ecore_X_Display_Attr_Group@{Ecore\_\-X\_\-Display\_\-Attr\_\-Group}!ecore_x_display_get@{ecore\_\-x\_\-display\_\-get}}
+\index{ecore_x_display_get@{ecore\_\-x\_\-display\_\-get}!Ecore_X_Display_Attr_Group@{Ecore\_\-X\_\-Display\_\-Attr\_\-Group}}
+\subsubsection[ecore\_\-x\_\-display\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI Ecore\_\-X\_\-Display$\ast$ ecore\_\-x\_\-display\_\-get (void)}}
+\label{group__Ecore__X__Display__Attr__Group_g19e90a6e5305432577d984a11e45cb16}
+
+
+Retrieves the Ecore\_\-X\_\-Display handle used for the current X connection. 
+
+\begin{Desc}
+\item[Returns:]The current X display. \end{Desc}
+\hypertarget{group__Ecore__X__Display__Attr__Group_g0595a462bd4ffe0450ba45658624eb7e}{
+\index{Ecore_X_Display_Attr_Group@{Ecore\_\-X\_\-Display\_\-Attr\_\-Group}!ecore_x_double_click_time_get@{ecore\_\-x\_\-double\_\-click\_\-time\_\-get}}
+\index{ecore_x_double_click_time_get@{ecore\_\-x\_\-double\_\-click\_\-time\_\-get}!Ecore_X_Display_Attr_Group@{Ecore\_\-X\_\-Display\_\-Attr\_\-Group}}
+\subsubsection[ecore\_\-x\_\-double\_\-click\_\-time\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI double ecore\_\-x\_\-double\_\-click\_\-time\_\-get (void)}}
+\label{group__Ecore__X__Display__Attr__Group_g0595a462bd4ffe0450ba45658624eb7e}
+
+
+Retrieves the double and triple click flag timeout. 
+
+See \hyperlink{group__Ecore__Xcb__Display__Attr__Group_gfc0ad83fd20e71ffdd8d706323778f67}{ecore\_\-x\_\-double\_\-click\_\-time\_\-set} for more information.
+
+\begin{Desc}
+\item[Returns:]The timeout for double clicks in seconds. \end{Desc}
+\hypertarget{group__Ecore__X__Display__Attr__Group_gfc0ad83fd20e71ffdd8d706323778f67}{
+\index{Ecore_X_Display_Attr_Group@{Ecore\_\-X\_\-Display\_\-Attr\_\-Group}!ecore_x_double_click_time_set@{ecore\_\-x\_\-double\_\-click\_\-time\_\-set}}
+\index{ecore_x_double_click_time_set@{ecore\_\-x\_\-double\_\-click\_\-time\_\-set}!Ecore_X_Display_Attr_Group@{Ecore\_\-X\_\-Display\_\-Attr\_\-Group}}
+\subsubsection[ecore\_\-x\_\-double\_\-click\_\-time\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-double\_\-click\_\-time\_\-set (double {\em t})}}
+\label{group__Ecore__X__Display__Attr__Group_gfc0ad83fd20e71ffdd8d706323778f67}
+
+
+Sets the timeout for a double and triple clicks to be flagged. 
+
+This sets the time between clicks before the double\_\-click flag is set in a button down event. If 3 clicks occur within double this time, the triple\_\-click flag is also set.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em t}]The time in seconds \end{description}
+\end{Desc}
+\hypertarget{group__Ecore__X__Display__Attr__Group_g6d11859fd7a822cbde4236be67a8df24}{
+\index{Ecore_X_Display_Attr_Group@{Ecore\_\-X\_\-Display\_\-Attr\_\-Group}!ecore_x_fd_get@{ecore\_\-x\_\-fd\_\-get}}
+\index{ecore_x_fd_get@{ecore\_\-x\_\-fd\_\-get}!Ecore_X_Display_Attr_Group@{Ecore\_\-X\_\-Display\_\-Attr\_\-Group}}
+\subsubsection[ecore\_\-x\_\-fd\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-x\_\-fd\_\-get (void)}}
+\label{group__Ecore__X__Display__Attr__Group_g6d11859fd7a822cbde4236be67a8df24}
+
+
+Retrieves the X display file descriptor. 
+
+\begin{Desc}
+\item[Returns:]The current X display file descriptor. \end{Desc}
diff --git a/doc/latex/group__Ecore__X__Drawable__Group.tex b/doc/latex/group__Ecore__X__Drawable__Group.tex
new file mode 100644
index 0000000..7bde61d
--- /dev/null
+++ b/doc/latex/group__Ecore__X__Drawable__Group.tex
@@ -0,0 +1,141 @@
+\hypertarget{group__Ecore__X__Drawable__Group}{
+\section{X Drawable Functions}
+\label{group__Ecore__X__Drawable__Group}\index{X Drawable Functions@{X Drawable Functions}}
+}
+Functions that operate on drawables.  
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+EAPI void \hyperlink{group__Ecore__X__Drawable__Group_g59de54a283d18070c5f3c0d52b87e2b7}{ecore\_\-x\_\-drawable\_\-geometry\_\-get} (Ecore\_\-X\_\-Drawable d, int $\ast$x, int $\ast$y, int $\ast$w, int $\ast$h)
+\begin{CompactList}\small\item\em Retrieves the geometry of the given drawable. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__X__Drawable__Group_g218285639dcb306d4211544a480bf1ba}{ecore\_\-x\_\-drawable\_\-border\_\-width\_\-get} (Ecore\_\-X\_\-Drawable d)
+\begin{CompactList}\small\item\em Retrieves the width of the border of the given drawable. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__X__Drawable__Group_g1ce2cba70a5a86636cc79c886abc3c55}{ecore\_\-x\_\-drawable\_\-depth\_\-get} (Ecore\_\-X\_\-Drawable d)
+\begin{CompactList}\small\item\em Retrieves the depth of the given drawable. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Drawable__Group_g3fa895ad27d43041247767eeff1e234f}{ecore\_\-x\_\-drawable\_\-geometry\_\-get\_\-prefetch} (Ecore\_\-X\_\-Drawable drawable)
+\begin{CompactList}\small\item\em Sends the Get\-Geometry request. \item\end{CompactList}\item 
+\hypertarget{group__Ecore__X__Drawable__Group_gcd12f290bc7db9241e683da4855c27e4}{
+EAPI void \hyperlink{group__Ecore__X__Drawable__Group_gcd12f290bc7db9241e683da4855c27e4}{ecore\_\-x\_\-drawable\_\-geometry\_\-get\_\-fetch} (void)}
+\label{group__Ecore__X__Drawable__Group_gcd12f290bc7db9241e683da4855c27e4}
+
+\begin{CompactList}\small\item\em Gets the reply of the Get\-Geometry request sent by \hyperlink{group__Ecore__X__Atom__Group_g4c6beeb04b4a0e23895a34c38c615125}{ecore\_\-x\_\-atom\_\-get\_\-prefetch()}. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Drawable__Group_g12f93ad96f567d8fa830d98d704a3c4b}{ecore\_\-x\_\-drawable\_\-geometry\_\-get} (Ecore\_\-X\_\-Drawable drawable \_\-\_\-UNUSED\_\-\_\-, int $\ast$x, int $\ast$y, int $\ast$width, int $\ast$height)
+\begin{CompactList}\small\item\em Retrieves the geometry of the given drawable. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__X__Drawable__Group_ga859aea64efd638ef622bdfbac00f410}{ecore\_\-x\_\-drawable\_\-border\_\-width\_\-get} (Ecore\_\-X\_\-Drawable drawable \_\-\_\-UNUSED\_\-\_\-)
+\begin{CompactList}\small\item\em Retrieves the width of the border of the given drawable. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__X__Drawable__Group_g411dda6bef956063f3874d2feb9f3016}{ecore\_\-x\_\-drawable\_\-depth\_\-get} (Ecore\_\-X\_\-Drawable drawable \_\-\_\-UNUSED\_\-\_\-)
+\begin{CompactList}\small\item\em Retrieves the depth of the given drawable. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Functions that operate on drawables. 
+
+
+
+\subsection{Function Documentation}
+\hypertarget{group__Ecore__X__Drawable__Group_ga859aea64efd638ef622bdfbac00f410}{
+\index{Ecore_X_Drawable_Group@{Ecore\_\-X\_\-Drawable\_\-Group}!ecore_x_drawable_border_width_get@{ecore\_\-x\_\-drawable\_\-border\_\-width\_\-get}}
+\index{ecore_x_drawable_border_width_get@{ecore\_\-x\_\-drawable\_\-border\_\-width\_\-get}!Ecore_X_Drawable_Group@{Ecore\_\-X\_\-Drawable\_\-Group}}
+\subsubsection[ecore\_\-x\_\-drawable\_\-border\_\-width\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-x\_\-drawable\_\-border\_\-width\_\-get (Ecore\_\-X\_\-Drawable drawable {\em \_\-\_\-UNUSED\_\-\_\-})}}
+\label{group__Ecore__X__Drawable__Group_ga859aea64efd638ef622bdfbac00f410}
+
+
+Retrieves the width of the border of the given drawable. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em drawable}]Unused. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The border width of the given drawable.\end{Desc}
+To use this function, you must call before, and in order, \hyperlink{group__Ecore__X__Drawable__Group_g3fa895ad27d43041247767eeff1e234f}{ecore\_\-x\_\-drawable\_\-geometry\_\-get\_\-prefetch()}, which sends the Get\-Geometry request, then \hyperlink{group__Ecore__X__Drawable__Group_gcd12f290bc7db9241e683da4855c27e4}{ecore\_\-x\_\-drawable\_\-geometry\_\-get\_\-fetch()}, which gets the reply. \hypertarget{group__Ecore__X__Drawable__Group_g218285639dcb306d4211544a480bf1ba}{
+\index{Ecore_X_Drawable_Group@{Ecore\_\-X\_\-Drawable\_\-Group}!ecore_x_drawable_border_width_get@{ecore\_\-x\_\-drawable\_\-border\_\-width\_\-get}}
+\index{ecore_x_drawable_border_width_get@{ecore\_\-x\_\-drawable\_\-border\_\-width\_\-get}!Ecore_X_Drawable_Group@{Ecore\_\-X\_\-Drawable\_\-Group}}
+\subsubsection[ecore\_\-x\_\-drawable\_\-border\_\-width\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-x\_\-drawable\_\-border\_\-width\_\-get (Ecore\_\-X\_\-Drawable {\em d})}}
+\label{group__Ecore__X__Drawable__Group_g218285639dcb306d4211544a480bf1ba}
+
+
+Retrieves the width of the border of the given drawable. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em d}]The given drawable. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The border width of the given drawable. \end{Desc}
+\hypertarget{group__Ecore__X__Drawable__Group_g411dda6bef956063f3874d2feb9f3016}{
+\index{Ecore_X_Drawable_Group@{Ecore\_\-X\_\-Drawable\_\-Group}!ecore_x_drawable_depth_get@{ecore\_\-x\_\-drawable\_\-depth\_\-get}}
+\index{ecore_x_drawable_depth_get@{ecore\_\-x\_\-drawable\_\-depth\_\-get}!Ecore_X_Drawable_Group@{Ecore\_\-X\_\-Drawable\_\-Group}}
+\subsubsection[ecore\_\-x\_\-drawable\_\-depth\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-x\_\-drawable\_\-depth\_\-get (Ecore\_\-X\_\-Drawable drawable {\em \_\-\_\-UNUSED\_\-\_\-})}}
+\label{group__Ecore__X__Drawable__Group_g411dda6bef956063f3874d2feb9f3016}
+
+
+Retrieves the depth of the given drawable. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em drawable}]Unused. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The depth of the given drawable.\end{Desc}
+To use this function, you must call before, and in order, \hyperlink{group__Ecore__X__Drawable__Group_g3fa895ad27d43041247767eeff1e234f}{ecore\_\-x\_\-drawable\_\-geometry\_\-get\_\-prefetch()}, which sends the Get\-Geometry request, then \hyperlink{group__Ecore__X__Drawable__Group_gcd12f290bc7db9241e683da4855c27e4}{ecore\_\-x\_\-drawable\_\-geometry\_\-get\_\-fetch()}, which gets the reply. \hypertarget{group__Ecore__X__Drawable__Group_g1ce2cba70a5a86636cc79c886abc3c55}{
+\index{Ecore_X_Drawable_Group@{Ecore\_\-X\_\-Drawable\_\-Group}!ecore_x_drawable_depth_get@{ecore\_\-x\_\-drawable\_\-depth\_\-get}}
+\index{ecore_x_drawable_depth_get@{ecore\_\-x\_\-drawable\_\-depth\_\-get}!Ecore_X_Drawable_Group@{Ecore\_\-X\_\-Drawable\_\-Group}}
+\subsubsection[ecore\_\-x\_\-drawable\_\-depth\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-x\_\-drawable\_\-depth\_\-get (Ecore\_\-X\_\-Drawable {\em d})}}
+\label{group__Ecore__X__Drawable__Group_g1ce2cba70a5a86636cc79c886abc3c55}
+
+
+Retrieves the depth of the given drawable. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em d}]The given drawable. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The depth of the given drawable. \end{Desc}
+\hypertarget{group__Ecore__X__Drawable__Group_g12f93ad96f567d8fa830d98d704a3c4b}{
+\index{Ecore_X_Drawable_Group@{Ecore\_\-X\_\-Drawable\_\-Group}!ecore_x_drawable_geometry_get@{ecore\_\-x\_\-drawable\_\-geometry\_\-get}}
+\index{ecore_x_drawable_geometry_get@{ecore\_\-x\_\-drawable\_\-geometry\_\-get}!Ecore_X_Drawable_Group@{Ecore\_\-X\_\-Drawable\_\-Group}}
+\subsubsection[ecore\_\-x\_\-drawable\_\-geometry\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-drawable\_\-geometry\_\-get (Ecore\_\-X\_\-Drawable drawable {\em \_\-\_\-UNUSED\_\-\_\-}, int $\ast$ {\em x}, int $\ast$ {\em y}, int $\ast$ {\em width}, int $\ast$ {\em height})}}
+\label{group__Ecore__X__Drawable__Group_g12f93ad96f567d8fa830d98d704a3c4b}
+
+
+Retrieves the geometry of the given drawable. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em drawable}]Unused. \item[{\em x}]Pointer to an integer into which the X position is to be stored. \item[{\em y}]Pointer to an integer into which the Y position is to be stored. \item[{\em width}]Pointer to an integer into which the width is to be stored. \item[{\em height}]Pointer to an integer into which the height is to be stored.\end{description}
+\end{Desc}
+To use this function, you must call before, and in order, \hyperlink{group__Ecore__X__Drawable__Group_g3fa895ad27d43041247767eeff1e234f}{ecore\_\-x\_\-drawable\_\-geometry\_\-get\_\-prefetch()}, which sends the Get\-Geometry request, then \hyperlink{group__Ecore__X__Drawable__Group_gcd12f290bc7db9241e683da4855c27e4}{ecore\_\-x\_\-drawable\_\-geometry\_\-get\_\-fetch()}, which gets the reply. \hypertarget{group__Ecore__X__Drawable__Group_g59de54a283d18070c5f3c0d52b87e2b7}{
+\index{Ecore_X_Drawable_Group@{Ecore\_\-X\_\-Drawable\_\-Group}!ecore_x_drawable_geometry_get@{ecore\_\-x\_\-drawable\_\-geometry\_\-get}}
+\index{ecore_x_drawable_geometry_get@{ecore\_\-x\_\-drawable\_\-geometry\_\-get}!Ecore_X_Drawable_Group@{Ecore\_\-X\_\-Drawable\_\-Group}}
+\subsubsection[ecore\_\-x\_\-drawable\_\-geometry\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-drawable\_\-geometry\_\-get (Ecore\_\-X\_\-Drawable {\em d}, int $\ast$ {\em x}, int $\ast$ {\em y}, int $\ast$ {\em w}, int $\ast$ {\em h})}}
+\label{group__Ecore__X__Drawable__Group_g59de54a283d18070c5f3c0d52b87e2b7}
+
+
+Retrieves the geometry of the given drawable. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em d}]The given drawable. \item[{\em x}]Pointer to an integer into which the X position is to be stored. \item[{\em y}]Pointer to an integer into which the Y position is to be stored. \item[{\em w}]Pointer to an integer into which the width is to be stored. \item[{\em h}]Pointer to an integer into which the height is to be stored. \end{description}
+\end{Desc}
+\hypertarget{group__Ecore__X__Drawable__Group_g3fa895ad27d43041247767eeff1e234f}{
+\index{Ecore_X_Drawable_Group@{Ecore\_\-X\_\-Drawable\_\-Group}!ecore_x_drawable_geometry_get_prefetch@{ecore\_\-x\_\-drawable\_\-geometry\_\-get\_\-prefetch}}
+\index{ecore_x_drawable_geometry_get_prefetch@{ecore\_\-x\_\-drawable\_\-geometry\_\-get\_\-prefetch}!Ecore_X_Drawable_Group@{Ecore\_\-X\_\-Drawable\_\-Group}}
+\subsubsection[ecore\_\-x\_\-drawable\_\-geometry\_\-get\_\-prefetch]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-drawable\_\-geometry\_\-get\_\-prefetch (Ecore\_\-X\_\-Drawable {\em drawable})}}
+\label{group__Ecore__X__Drawable__Group_g3fa895ad27d43041247767eeff1e234f}
+
+
+Sends the Get\-Geometry request. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em drawable}]Drawable whose characteristics are sought. \end{description}
+\end{Desc}
diff --git a/doc/latex/group__Ecore__X__Fixes__Group.tex b/doc/latex/group__Ecore__X__Fixes__Group.tex
new file mode 100644
index 0000000..88843a6
--- /dev/null
+++ b/doc/latex/group__Ecore__X__Fixes__Group.tex
@@ -0,0 +1,369 @@
+\hypertarget{group__Ecore__X__Fixes__Group}{
+\section{X Fixes Extension Functions}
+\label{group__Ecore__X__Fixes__Group}\index{X Fixes Extension Functions@{X Fixes Extension Functions}}
+}
+Functions related to the X Fixes extension.  
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+EAPI int \hyperlink{group__Ecore__X__Fixes__Group_g6ac073275cd435c8ecc4c63e621c08aa}{ecore\_\-x\_\-xfixes\_\-query} (void)
+\begin{CompactList}\small\item\em Return whether the X server supports the Fixes Extension. \item\end{CompactList}\item 
+EAPI Ecore\_\-X\_\-Region \hyperlink{group__Ecore__X__Fixes__Group_g6a076823964f40a64c4b0e2c2137c7dd}{ecore\_\-x\_\-region\_\-new} (Ecore\_\-X\_\-Rectangle $\ast$rects, int num)
+\begin{CompactList}\small\item\em Create a region from rectangles. \item\end{CompactList}\item 
+EAPI Ecore\_\-X\_\-Region \hyperlink{group__Ecore__X__Fixes__Group_g2bd12d26d3e8ef4530818e55420cdead}{ecore\_\-x\_\-region\_\-new\_\-from\_\-bitmap} (Ecore\_\-X\_\-Pixmap bitmap)
+\begin{CompactList}\small\item\em Create a region from a pixmap. \item\end{CompactList}\item 
+EAPI Ecore\_\-X\_\-Region \hyperlink{group__Ecore__X__Fixes__Group_gdfb1063da9ff8530bcdb418c58e4a125}{ecore\_\-x\_\-region\_\-new\_\-from\_\-window} (Ecore\_\-X\_\-Window window, Ecore\_\-X\_\-Region\_\-Type type)
+\begin{CompactList}\small\item\em Create a region from a window. \item\end{CompactList}\item 
+EAPI Ecore\_\-X\_\-Region \hyperlink{group__Ecore__X__Fixes__Group_gc1dce8dab49024cad065feedee473383}{ecore\_\-x\_\-region\_\-new\_\-from\_\-gc} (Ecore\_\-X\_\-GC gc)
+\begin{CompactList}\small\item\em Create a region from a graphic context. \item\end{CompactList}\item 
+EAPI Ecore\_\-X\_\-Region \hyperlink{group__Ecore__X__Fixes__Group_ga46367f4d333b9d4ef4d74dcec6635a5}{ecore\_\-x\_\-region\_\-new\_\-from\_\-picture} (Ecore\_\-X\_\-Picture picture)
+\begin{CompactList}\small\item\em Create a region from a picture. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Fixes__Group_g823fca3ac6edf2b3cd19d1454432dbb3}{ecore\_\-x\_\-region\_\-del} (Ecore\_\-X\_\-Region region)
+\begin{CompactList}\small\item\em Destroy a region. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Fixes__Group_g11e45abe4f74c5556e3007f2a477b750}{ecore\_\-x\_\-region\_\-set} (Ecore\_\-X\_\-Region region, Ecore\_\-X\_\-Rectangle $\ast$rects, int num)
+\begin{CompactList}\small\item\em Set the content of a region. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Fixes__Group_g751219ea6491c157b464a06934cb794c}{ecore\_\-x\_\-region\_\-copy} (Ecore\_\-X\_\-Region dest, Ecore\_\-X\_\-Region source)
+\begin{CompactList}\small\item\em Copy the content of a region. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Fixes__Group_g8c11c110bf6f674a30a1e854efd79fc5}{ecore\_\-x\_\-region\_\-combine} (Ecore\_\-X\_\-Region dest, Ecore\_\-X\_\-Region source1, Ecore\_\-X\_\-Region source2)
+\begin{CompactList}\small\item\em Make the union of two regions. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Fixes__Group_gca61e974a3e085dcf875a92228cf37d9}{ecore\_\-x\_\-region\_\-intersect} (Ecore\_\-X\_\-Region dest, Ecore\_\-X\_\-Region source1, Ecore\_\-X\_\-Region source2)
+\begin{CompactList}\small\item\em Make the intersection of two regions. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Fixes__Group_g3a4882c9f8fd172fc411bd6917c948c8}{ecore\_\-x\_\-region\_\-subtract} (Ecore\_\-X\_\-Region dest, Ecore\_\-X\_\-Region source1, Ecore\_\-X\_\-Region source2)
+\begin{CompactList}\small\item\em Make the substraction of two regions. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Fixes__Group_gfb593f8755c960955f82619a4c8d2b46}{ecore\_\-x\_\-region\_\-invert} (Ecore\_\-X\_\-Region dest, Ecore\_\-X\_\-Rectangle $\ast$bounds, Ecore\_\-X\_\-Region source)
+\begin{CompactList}\small\item\em Make the substraction of regions by bounds. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Fixes__Group_g57215689f69b1c76a2ab4f2a6d5266d2}{ecore\_\-x\_\-region\_\-translate} (Ecore\_\-X\_\-Region region, int dx, int dy)
+\begin{CompactList}\small\item\em Translate a region. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Fixes__Group_gec43b244400f78625b5df28892a36354}{ecore\_\-x\_\-region\_\-extents} (Ecore\_\-X\_\-Region dest, Ecore\_\-X\_\-Region source)
+\begin{CompactList}\small\item\em Extent a region. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Fixes__Group_g7f88bc47da4734a82821eaa361bf351d}{ecore\_\-x\_\-region\_\-fetch\_\-prefetch} (Ecore\_\-X\_\-Region region)
+\begin{CompactList}\small\item\em Sends the XFixes\-Fetch\-Region request. \item\end{CompactList}\item 
+\hypertarget{group__Ecore__X__Fixes__Group_gef7d7d47ff0775c9ece020afd59151ea}{
+EAPI void \hyperlink{group__Ecore__X__Fixes__Group_gef7d7d47ff0775c9ece020afd59151ea}{ecore\_\-x\_\-region\_\-fetch\_\-fetch} (void)}
+\label{group__Ecore__X__Fixes__Group_gef7d7d47ff0775c9ece020afd59151ea}
+
+\begin{CompactList}\small\item\em Gets the reply of the XFixes\-Fetch\-Region request sent by ecore\_\-xcb\_\-region\_\-fetch\_\-prefetch(). \item\end{CompactList}\item 
+EAPI Ecore\_\-X\_\-Rectangle $\ast$ \hyperlink{group__Ecore__X__Fixes__Group_g804cb633957daba47eb54b51d3bf9b2d}{ecore\_\-x\_\-region\_\-fetch} (Ecore\_\-X\_\-Region region \_\-\_\-UNUSED\_\-\_\-, int $\ast$num, Ecore\_\-X\_\-Rectangle $\ast$bounds)
+\begin{CompactList}\small\item\em Return the rectangles that compose a region. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Fixes__Group_g46c6d13c8e7a0fdaad6e8729321405fa}{ecore\_\-x\_\-region\_\-expand} (Ecore\_\-X\_\-Region dest, Ecore\_\-X\_\-Region source, unsigned int left, unsigned int right, unsigned int top, unsigned int bottom)
+\begin{CompactList}\small\item\em Expand a region. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Fixes__Group_g30ede720135e613b6425b75ba13f0adc}{ecore\_\-x\_\-region\_\-gc\_\-clip\_\-set} (Ecore\_\-X\_\-Region region, Ecore\_\-X\_\-GC gc, int x\_\-origin, int y\_\-origin)
+\begin{CompactList}\small\item\em Change clip-mask in a graphic context to the specified region. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Fixes__Group_g2d162c226f1168c0f3b1bc9dc3c0a045}{ecore\_\-x\_\-region\_\-window\_\-shape\_\-set} (Ecore\_\-X\_\-Region region, Ecore\_\-X\_\-Window dest, Ecore\_\-X\_\-Shape\_\-Type type, int x\_\-offset, int y\_\-offset)
+\begin{CompactList}\small\item\em Change the shape extension of a window. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Fixes__Group_g713590858dc8851b45acdbd0348e5093}{ecore\_\-x\_\-region\_\-picture\_\-clip\_\-set} (Ecore\_\-X\_\-Region region, Ecore\_\-X\_\-Picture picture, int x\_\-origin, int y\_\-origin)
+\begin{CompactList}\small\item\em Change clip-mask in picture to the specified region. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Functions related to the X Fixes extension. 
+
+
+
+\subsection{Function Documentation}
+\hypertarget{group__Ecore__X__Fixes__Group_g8c11c110bf6f674a30a1e854efd79fc5}{
+\index{Ecore_X_Fixes_Group@{Ecore\_\-X\_\-Fixes\_\-Group}!ecore_x_region_combine@{ecore\_\-x\_\-region\_\-combine}}
+\index{ecore_x_region_combine@{ecore\_\-x\_\-region\_\-combine}!Ecore_X_Fixes_Group@{Ecore\_\-X\_\-Fixes\_\-Group}}
+\subsubsection[ecore\_\-x\_\-region\_\-combine]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-region\_\-combine (Ecore\_\-X\_\-Region {\em dest}, Ecore\_\-X\_\-Region {\em source1}, Ecore\_\-X\_\-Region {\em source2})}}
+\label{group__Ecore__X__Fixes__Group_g8c11c110bf6f674a30a1e854efd79fc5}
+
+
+Make the union of two regions. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em dest}]The destination region. \item[{\em source1}]The first source region. \item[{\em source2}]The second source region.\end{description}
+\end{Desc}
+Replace the contents of {\tt dest} with the union of {\tt source1} and {\tt source2}. \hypertarget{group__Ecore__X__Fixes__Group_g751219ea6491c157b464a06934cb794c}{
+\index{Ecore_X_Fixes_Group@{Ecore\_\-X\_\-Fixes\_\-Group}!ecore_x_region_copy@{ecore\_\-x\_\-region\_\-copy}}
+\index{ecore_x_region_copy@{ecore\_\-x\_\-region\_\-copy}!Ecore_X_Fixes_Group@{Ecore\_\-X\_\-Fixes\_\-Group}}
+\subsubsection[ecore\_\-x\_\-region\_\-copy]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-region\_\-copy (Ecore\_\-X\_\-Region {\em dest}, Ecore\_\-X\_\-Region {\em source})}}
+\label{group__Ecore__X__Fixes__Group_g751219ea6491c157b464a06934cb794c}
+
+
+Copy the content of a region. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em dest}]The destination region. \item[{\em source}]The source region.\end{description}
+\end{Desc}
+Replace the contents of {\tt dest} with the contents of {\tt source}. \hypertarget{group__Ecore__X__Fixes__Group_g823fca3ac6edf2b3cd19d1454432dbb3}{
+\index{Ecore_X_Fixes_Group@{Ecore\_\-X\_\-Fixes\_\-Group}!ecore_x_region_del@{ecore\_\-x\_\-region\_\-del}}
+\index{ecore_x_region_del@{ecore\_\-x\_\-region\_\-del}!Ecore_X_Fixes_Group@{Ecore\_\-X\_\-Fixes\_\-Group}}
+\subsubsection[ecore\_\-x\_\-region\_\-del]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-region\_\-del (Ecore\_\-X\_\-Region {\em region})}}
+\label{group__Ecore__X__Fixes__Group_g823fca3ac6edf2b3cd19d1454432dbb3}
+
+
+Destroy a region. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em region}]The region to destroy.\end{description}
+\end{Desc}
+Destroy the specified {\tt region}. \hypertarget{group__Ecore__X__Fixes__Group_g46c6d13c8e7a0fdaad6e8729321405fa}{
+\index{Ecore_X_Fixes_Group@{Ecore\_\-X\_\-Fixes\_\-Group}!ecore_x_region_expand@{ecore\_\-x\_\-region\_\-expand}}
+\index{ecore_x_region_expand@{ecore\_\-x\_\-region\_\-expand}!Ecore_X_Fixes_Group@{Ecore\_\-X\_\-Fixes\_\-Group}}
+\subsubsection[ecore\_\-x\_\-region\_\-expand]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-region\_\-expand (Ecore\_\-X\_\-Region {\em dest}, Ecore\_\-X\_\-Region {\em source}, unsigned int {\em left}, unsigned int {\em right}, unsigned int {\em top}, unsigned int {\em bottom})}}
+\label{group__Ecore__X__Fixes__Group_g46c6d13c8e7a0fdaad6e8729321405fa}
+
+
+Expand a region. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em dest}]The destination region. \item[{\em source}]The source region. \item[{\em left}]The number of pixels to add on the left. \item[{\em right}]The number of pixels to add on the right. \item[{\em top}]The number of pixels to add at the top. \item[{\em bottom}]The number of pixels to add at the bottom.\end{description}
+\end{Desc}
+Put in {\tt dest} the area specified by expanding each rectangle in the {\tt source} region by the specified number of pixels to the {\tt left}, {\tt right}, {\tt top} and {\tt bottom}. \hypertarget{group__Ecore__X__Fixes__Group_gec43b244400f78625b5df28892a36354}{
+\index{Ecore_X_Fixes_Group@{Ecore\_\-X\_\-Fixes\_\-Group}!ecore_x_region_extents@{ecore\_\-x\_\-region\_\-extents}}
+\index{ecore_x_region_extents@{ecore\_\-x\_\-region\_\-extents}!Ecore_X_Fixes_Group@{Ecore\_\-X\_\-Fixes\_\-Group}}
+\subsubsection[ecore\_\-x\_\-region\_\-extents]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-region\_\-extents (Ecore\_\-X\_\-Region {\em dest}, Ecore\_\-X\_\-Region {\em source})}}
+\label{group__Ecore__X__Fixes__Group_gec43b244400f78625b5df28892a36354}
+
+
+Extent a region. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em dest}]The destination region. \item[{\em source}]The source region.\end{description}
+\end{Desc}
+The extents of the {\tt source} region are placed in {\tt dest}. \hypertarget{group__Ecore__X__Fixes__Group_g804cb633957daba47eb54b51d3bf9b2d}{
+\index{Ecore_X_Fixes_Group@{Ecore\_\-X\_\-Fixes\_\-Group}!ecore_x_region_fetch@{ecore\_\-x\_\-region\_\-fetch}}
+\index{ecore_x_region_fetch@{ecore\_\-x\_\-region\_\-fetch}!Ecore_X_Fixes_Group@{Ecore\_\-X\_\-Fixes\_\-Group}}
+\subsubsection[ecore\_\-x\_\-region\_\-fetch]{\setlength{\rightskip}{0pt plus 5cm}EAPI Ecore\_\-X\_\-Rectangle$\ast$ ecore\_\-x\_\-region\_\-fetch (Ecore\_\-X\_\-Region region {\em \_\-\_\-UNUSED\_\-\_\-}, int $\ast$ {\em num}, Ecore\_\-X\_\-Rectangle $\ast$ {\em bounds})}}
+\label{group__Ecore__X__Fixes__Group_g804cb633957daba47eb54b51d3bf9b2d}
+
+
+Return the rectangles that compose a region. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em region}]The region (Unused). \item[{\em num}]The number of returned rectangles. \item[{\em bounds}]The returned bounds of the region. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The returned rectangles.\end{Desc}
+The {\tt region} passed to ecore\_\-xcb\_\-region\_\-fetch\_\-prefetch() is returned as a list of rectagles in XY-banded order.
+
+To use this function, you must call before, and in order, ecore\_\-xcb\_\-region\_\-fetch\_\-prefetch(), which sends the XFixes\-Fetch\-Region request, then ecore\_\-xcb\_\-region\_\-fetch\_\-fetch(), which gets the reply. \hypertarget{group__Ecore__X__Fixes__Group_g7f88bc47da4734a82821eaa361bf351d}{
+\index{Ecore_X_Fixes_Group@{Ecore\_\-X\_\-Fixes\_\-Group}!ecore_x_region_fetch_prefetch@{ecore\_\-x\_\-region\_\-fetch\_\-prefetch}}
+\index{ecore_x_region_fetch_prefetch@{ecore\_\-x\_\-region\_\-fetch\_\-prefetch}!Ecore_X_Fixes_Group@{Ecore\_\-X\_\-Fixes\_\-Group}}
+\subsubsection[ecore\_\-x\_\-region\_\-fetch\_\-prefetch]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-region\_\-fetch\_\-prefetch (Ecore\_\-X\_\-Region {\em region})}}
+\label{group__Ecore__X__Fixes__Group_g7f88bc47da4734a82821eaa361bf351d}
+
+
+Sends the XFixes\-Fetch\-Region request. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em region}]Requested region. \end{description}
+\end{Desc}
+\hypertarget{group__Ecore__X__Fixes__Group_g30ede720135e613b6425b75ba13f0adc}{
+\index{Ecore_X_Fixes_Group@{Ecore\_\-X\_\-Fixes\_\-Group}!ecore_x_region_gc_clip_set@{ecore\_\-x\_\-region\_\-gc\_\-clip\_\-set}}
+\index{ecore_x_region_gc_clip_set@{ecore\_\-x\_\-region\_\-gc\_\-clip\_\-set}!Ecore_X_Fixes_Group@{Ecore\_\-X\_\-Fixes\_\-Group}}
+\subsubsection[ecore\_\-x\_\-region\_\-gc\_\-clip\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-region\_\-gc\_\-clip\_\-set (Ecore\_\-X\_\-Region {\em region}, Ecore\_\-X\_\-GC {\em gc}, int {\em x\_\-origin}, int {\em y\_\-origin})}}
+\label{group__Ecore__X__Fixes__Group_g30ede720135e613b6425b75ba13f0adc}
+
+
+Change clip-mask in a graphic context to the specified region. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em region}]The region to change. \item[{\em gc}]The clip-mask graphic context. \item[{\em x\_\-origin}]The horizontal translation. \item[{\em y\_\-origin}]The vertical translation.\end{description}
+\end{Desc}
+Changes clip-mask in {\tt gc} to the specified {\tt region} and sets the clip origin with the values of {\tt x\_\-origin} and {\tt y\_\-origin}. Output will be clippped to remain contained within the region. The clip origin is interpreted relative to the origin of whatever destination drawable is specified in a graphics request. The region is interpreted relative to the clip origin. Future changes to region have no effect on the gc clip-mask. \hypertarget{group__Ecore__X__Fixes__Group_gca61e974a3e085dcf875a92228cf37d9}{
+\index{Ecore_X_Fixes_Group@{Ecore\_\-X\_\-Fixes\_\-Group}!ecore_x_region_intersect@{ecore\_\-x\_\-region\_\-intersect}}
+\index{ecore_x_region_intersect@{ecore\_\-x\_\-region\_\-intersect}!Ecore_X_Fixes_Group@{Ecore\_\-X\_\-Fixes\_\-Group}}
+\subsubsection[ecore\_\-x\_\-region\_\-intersect]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-region\_\-intersect (Ecore\_\-X\_\-Region {\em dest}, Ecore\_\-X\_\-Region {\em source1}, Ecore\_\-X\_\-Region {\em source2})}}
+\label{group__Ecore__X__Fixes__Group_gca61e974a3e085dcf875a92228cf37d9}
+
+
+Make the intersection of two regions. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em dest}]The destination region. \item[{\em source1}]The first source region. \item[{\em source2}]The second source region.\end{description}
+\end{Desc}
+Replace the contents of {\tt dest} with the intersection of {\tt source1} and {\tt source2}. \hypertarget{group__Ecore__X__Fixes__Group_gfb593f8755c960955f82619a4c8d2b46}{
+\index{Ecore_X_Fixes_Group@{Ecore\_\-X\_\-Fixes\_\-Group}!ecore_x_region_invert@{ecore\_\-x\_\-region\_\-invert}}
+\index{ecore_x_region_invert@{ecore\_\-x\_\-region\_\-invert}!Ecore_X_Fixes_Group@{Ecore\_\-X\_\-Fixes\_\-Group}}
+\subsubsection[ecore\_\-x\_\-region\_\-invert]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-region\_\-invert (Ecore\_\-X\_\-Region {\em dest}, Ecore\_\-X\_\-Rectangle $\ast$ {\em bounds}, Ecore\_\-X\_\-Region {\em source})}}
+\label{group__Ecore__X__Fixes__Group_gfb593f8755c960955f82619a4c8d2b46}
+
+
+Make the substraction of regions by bounds. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em dest}]The destination region. \item[{\em bounds}]The bounds. \item[{\em source}]The source region.\end{description}
+\end{Desc}
+The {\tt source} region is subtracted from the region specified by {\tt bounds}. The result is placed in {\tt dest}, replacing its contents. \hypertarget{group__Ecore__X__Fixes__Group_g6a076823964f40a64c4b0e2c2137c7dd}{
+\index{Ecore_X_Fixes_Group@{Ecore\_\-X\_\-Fixes\_\-Group}!ecore_x_region_new@{ecore\_\-x\_\-region\_\-new}}
+\index{ecore_x_region_new@{ecore\_\-x\_\-region\_\-new}!Ecore_X_Fixes_Group@{Ecore\_\-X\_\-Fixes\_\-Group}}
+\subsubsection[ecore\_\-x\_\-region\_\-new]{\setlength{\rightskip}{0pt plus 5cm}EAPI Ecore\_\-X\_\-Region ecore\_\-x\_\-region\_\-new (Ecore\_\-X\_\-Rectangle $\ast$ {\em rects}, int {\em num})}}
+\label{group__Ecore__X__Fixes__Group_g6a076823964f40a64c4b0e2c2137c7dd}
+
+
+Create a region from rectangles. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em rects}]The rectangles used to initialize the region. \item[{\em num}]The number of rectangles. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The newly created region.\end{Desc}
+Create a region initialized to the specified list of rectangles {\tt rects}. The rectangles may be specified in any order, their union becomes the region. \hypertarget{group__Ecore__X__Fixes__Group_g2bd12d26d3e8ef4530818e55420cdead}{
+\index{Ecore_X_Fixes_Group@{Ecore\_\-X\_\-Fixes\_\-Group}!ecore_x_region_new_from_bitmap@{ecore\_\-x\_\-region\_\-new\_\-from\_\-bitmap}}
+\index{ecore_x_region_new_from_bitmap@{ecore\_\-x\_\-region\_\-new\_\-from\_\-bitmap}!Ecore_X_Fixes_Group@{Ecore\_\-X\_\-Fixes\_\-Group}}
+\subsubsection[ecore\_\-x\_\-region\_\-new\_\-from\_\-bitmap]{\setlength{\rightskip}{0pt plus 5cm}EAPI Ecore\_\-X\_\-Region ecore\_\-x\_\-region\_\-new\_\-from\_\-bitmap (Ecore\_\-X\_\-Pixmap {\em bitmap})}}
+\label{group__Ecore__X__Fixes__Group_g2bd12d26d3e8ef4530818e55420cdead}
+
+
+Create a region from a pixmap. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em bitmap}]The bitmap used to initialize the region. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The newly created region.\end{Desc}
+Creates a region initialized to the set of 'one' pixels in {\tt bitmap} (which must be of depth 1, else Match error). \hypertarget{group__Ecore__X__Fixes__Group_gc1dce8dab49024cad065feedee473383}{
+\index{Ecore_X_Fixes_Group@{Ecore\_\-X\_\-Fixes\_\-Group}!ecore_x_region_new_from_gc@{ecore\_\-x\_\-region\_\-new\_\-from\_\-gc}}
+\index{ecore_x_region_new_from_gc@{ecore\_\-x\_\-region\_\-new\_\-from\_\-gc}!Ecore_X_Fixes_Group@{Ecore\_\-X\_\-Fixes\_\-Group}}
+\subsubsection[ecore\_\-x\_\-region\_\-new\_\-from\_\-gc]{\setlength{\rightskip}{0pt plus 5cm}EAPI Ecore\_\-X\_\-Region ecore\_\-x\_\-region\_\-new\_\-from\_\-gc (Ecore\_\-X\_\-GC {\em gc})}}
+\label{group__Ecore__X__Fixes__Group_gc1dce8dab49024cad065feedee473383}
+
+
+Create a region from a graphic context. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em gc}]The graphic context used to initialize the region. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The newly created region.\end{Desc}
+Creates a region initialized from the clip list of {\tt gc}. \hypertarget{group__Ecore__X__Fixes__Group_ga46367f4d333b9d4ef4d74dcec6635a5}{
+\index{Ecore_X_Fixes_Group@{Ecore\_\-X\_\-Fixes\_\-Group}!ecore_x_region_new_from_picture@{ecore\_\-x\_\-region\_\-new\_\-from\_\-picture}}
+\index{ecore_x_region_new_from_picture@{ecore\_\-x\_\-region\_\-new\_\-from\_\-picture}!Ecore_X_Fixes_Group@{Ecore\_\-X\_\-Fixes\_\-Group}}
+\subsubsection[ecore\_\-x\_\-region\_\-new\_\-from\_\-picture]{\setlength{\rightskip}{0pt plus 5cm}EAPI Ecore\_\-X\_\-Region ecore\_\-x\_\-region\_\-new\_\-from\_\-picture (Ecore\_\-X\_\-Picture {\em picture})}}
+\label{group__Ecore__X__Fixes__Group_ga46367f4d333b9d4ef4d74dcec6635a5}
+
+
+Create a region from a picture. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em picture}]The picture used to initialize the region. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The newly created region.\end{Desc}
+Creates a region initialized from the clip list of {\tt picture}. \hypertarget{group__Ecore__X__Fixes__Group_gdfb1063da9ff8530bcdb418c58e4a125}{
+\index{Ecore_X_Fixes_Group@{Ecore\_\-X\_\-Fixes\_\-Group}!ecore_x_region_new_from_window@{ecore\_\-x\_\-region\_\-new\_\-from\_\-window}}
+\index{ecore_x_region_new_from_window@{ecore\_\-x\_\-region\_\-new\_\-from\_\-window}!Ecore_X_Fixes_Group@{Ecore\_\-X\_\-Fixes\_\-Group}}
+\subsubsection[ecore\_\-x\_\-region\_\-new\_\-from\_\-window]{\setlength{\rightskip}{0pt plus 5cm}EAPI Ecore\_\-X\_\-Region ecore\_\-x\_\-region\_\-new\_\-from\_\-window (Ecore\_\-X\_\-Window {\em window}, Ecore\_\-X\_\-Region\_\-Type {\em type})}}
+\label{group__Ecore__X__Fixes__Group_gdfb1063da9ff8530bcdb418c58e4a125}
+
+
+Create a region from a window. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window used to initialize the region. \item[{\em type}]The type of the region. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The newly created region.\end{Desc}
+Creates a region initialized to the specified {\tt window} region. See the Shape extension for the definition of Bounding and Clip regions. \hypertarget{group__Ecore__X__Fixes__Group_g713590858dc8851b45acdbd0348e5093}{
+\index{Ecore_X_Fixes_Group@{Ecore\_\-X\_\-Fixes\_\-Group}!ecore_x_region_picture_clip_set@{ecore\_\-x\_\-region\_\-picture\_\-clip\_\-set}}
+\index{ecore_x_region_picture_clip_set@{ecore\_\-x\_\-region\_\-picture\_\-clip\_\-set}!Ecore_X_Fixes_Group@{Ecore\_\-X\_\-Fixes\_\-Group}}
+\subsubsection[ecore\_\-x\_\-region\_\-picture\_\-clip\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-region\_\-picture\_\-clip\_\-set (Ecore\_\-X\_\-Region {\em region}, Ecore\_\-X\_\-Picture {\em picture}, int {\em x\_\-origin}, int {\em y\_\-origin})}}
+\label{group__Ecore__X__Fixes__Group_g713590858dc8851b45acdbd0348e5093}
+
+
+Change clip-mask in picture to the specified region. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em region}]The region. \item[{\em picture}]The picture. \item[{\em x\_\-origin}]The X coordinate of the origin. \item[{\em y\_\-origin}]The Y coordinate of the origin.\end{description}
+\end{Desc}
+Changes clip-mask in picture to the specified {\tt region} and sets the clip origin. Input and output will be clipped to remain contained within the region. The clip origin is interpreted relative to the origin of the drawable associated with {\tt picture}. The region is interpreted relative to the clip origin. Future changes to region have no effect on the picture clip-mask. \hypertarget{group__Ecore__X__Fixes__Group_g11e45abe4f74c5556e3007f2a477b750}{
+\index{Ecore_X_Fixes_Group@{Ecore\_\-X\_\-Fixes\_\-Group}!ecore_x_region_set@{ecore\_\-x\_\-region\_\-set}}
+\index{ecore_x_region_set@{ecore\_\-x\_\-region\_\-set}!Ecore_X_Fixes_Group@{Ecore\_\-X\_\-Fixes\_\-Group}}
+\subsubsection[ecore\_\-x\_\-region\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-region\_\-set (Ecore\_\-X\_\-Region {\em region}, Ecore\_\-X\_\-Rectangle $\ast$ {\em rects}, int {\em num})}}
+\label{group__Ecore__X__Fixes__Group_g11e45abe4f74c5556e3007f2a477b750}
+
+
+Set the content of a region. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em region}]The region to destroy. \item[{\em rects}]The rectangles used to set the region. \item[{\em num}]The number of rectangles.\end{description}
+\end{Desc}
+Replace the current contents of {\tt region} with the region formed by the union of the rectangles {\tt rects}. \hypertarget{group__Ecore__X__Fixes__Group_g3a4882c9f8fd172fc411bd6917c948c8}{
+\index{Ecore_X_Fixes_Group@{Ecore\_\-X\_\-Fixes\_\-Group}!ecore_x_region_subtract@{ecore\_\-x\_\-region\_\-subtract}}
+\index{ecore_x_region_subtract@{ecore\_\-x\_\-region\_\-subtract}!Ecore_X_Fixes_Group@{Ecore\_\-X\_\-Fixes\_\-Group}}
+\subsubsection[ecore\_\-x\_\-region\_\-subtract]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-region\_\-subtract (Ecore\_\-X\_\-Region {\em dest}, Ecore\_\-X\_\-Region {\em source1}, Ecore\_\-X\_\-Region {\em source2})}}
+\label{group__Ecore__X__Fixes__Group_g3a4882c9f8fd172fc411bd6917c948c8}
+
+
+Make the substraction of two regions. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em dest}]The destination region. \item[{\em source1}]The first source region. \item[{\em source2}]The second source region.\end{description}
+\end{Desc}
+Replace the contents of {\tt dest} with the substraction of {\tt source1} by {\tt source2}. \hypertarget{group__Ecore__X__Fixes__Group_g57215689f69b1c76a2ab4f2a6d5266d2}{
+\index{Ecore_X_Fixes_Group@{Ecore\_\-X\_\-Fixes\_\-Group}!ecore_x_region_translate@{ecore\_\-x\_\-region\_\-translate}}
+\index{ecore_x_region_translate@{ecore\_\-x\_\-region\_\-translate}!Ecore_X_Fixes_Group@{Ecore\_\-X\_\-Fixes\_\-Group}}
+\subsubsection[ecore\_\-x\_\-region\_\-translate]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-region\_\-translate (Ecore\_\-X\_\-Region {\em region}, int {\em dx}, int {\em dy})}}
+\label{group__Ecore__X__Fixes__Group_g57215689f69b1c76a2ab4f2a6d5266d2}
+
+
+Translate a region. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em region}]The region to translate. \item[{\em dx}]The horizontal translation. \item[{\em dy}]The vertical translation.\end{description}
+\end{Desc}
+The {\tt region} is translated by {\tt dx} and {\tt dy} in place. \hypertarget{group__Ecore__X__Fixes__Group_g2d162c226f1168c0f3b1bc9dc3c0a045}{
+\index{Ecore_X_Fixes_Group@{Ecore\_\-X\_\-Fixes\_\-Group}!ecore_x_region_window_shape_set@{ecore\_\-x\_\-region\_\-window\_\-shape\_\-set}}
+\index{ecore_x_region_window_shape_set@{ecore\_\-x\_\-region\_\-window\_\-shape\_\-set}!Ecore_X_Fixes_Group@{Ecore\_\-X\_\-Fixes\_\-Group}}
+\subsubsection[ecore\_\-x\_\-region\_\-window\_\-shape\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-region\_\-window\_\-shape\_\-set (Ecore\_\-X\_\-Region {\em region}, Ecore\_\-X\_\-Window {\em dest}, Ecore\_\-X\_\-Shape\_\-Type {\em type}, int {\em x\_\-offset}, int {\em y\_\-offset})}}
+\label{group__Ecore__X__Fixes__Group_g2d162c226f1168c0f3b1bc9dc3c0a045}
+
+
+Change the shape extension of a window. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em region}]The region. \item[{\em dest}]The window whose shape is changed. \item[{\em type}]The kind of shape. \item[{\em x\_\-offset}]The horizontal offset. \item[{\em y\_\-offset}]The vertical offset.\end{description}
+\end{Desc}
+Set the specified Shape extension region of {\tt window} to {\tt region}, offset by {\tt x\_\-offset} and {\tt y\_\-offset}. Future changes to region have no effect on the window shape. \hypertarget{group__Ecore__X__Fixes__Group_g6ac073275cd435c8ecc4c63e621c08aa}{
+\index{Ecore_X_Fixes_Group@{Ecore\_\-X\_\-Fixes\_\-Group}!ecore_x_xfixes_query@{ecore\_\-x\_\-xfixes\_\-query}}
+\index{ecore_x_xfixes_query@{ecore\_\-x\_\-xfixes\_\-query}!Ecore_X_Fixes_Group@{Ecore\_\-X\_\-Fixes\_\-Group}}
+\subsubsection[ecore\_\-x\_\-xfixes\_\-query]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-x\_\-xfixes\_\-query (void)}}
+\label{group__Ecore__X__Fixes__Group_g6ac073275cd435c8ecc4c63e621c08aa}
+
+
+Return whether the X server supports the Fixes Extension. 
+
+\begin{Desc}
+\item[Returns:]1 if the X Fixes Extension is available, 0 otherwise.\end{Desc}
+Return 1 if the X server supports the Fixes Extension version 3.0, 0 otherwise. 
\ No newline at end of file
diff --git a/doc/latex/group__Ecore__X__Flush__Group.tex b/doc/latex/group__Ecore__X__Flush__Group.tex
new file mode 100644
index 0000000..daf03f7
--- /dev/null
+++ b/doc/latex/group__Ecore__X__Flush__Group.tex
@@ -0,0 +1,23 @@
+\hypertarget{group__Ecore__X__Flush__Group}{
+\section{X Synchronization Functions}
+\label{group__Ecore__X__Flush__Group}\index{X Synchronization Functions@{X Synchronization Functions}}
+}
+Functions that ensure that all commands that have been issued by the Ecore X library have been sent to the server.  
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+\hypertarget{group__Ecore__X__Flush__Group_g86a37de4b106942e1b33f88455f5a00f}{
+EAPI void \hyperlink{group__Ecore__X__Flush__Group_g86a37de4b106942e1b33f88455f5a00f}{ecore\_\-x\_\-flush} (void)}
+\label{group__Ecore__X__Flush__Group_g86a37de4b106942e1b33f88455f5a00f}
+
+\begin{CompactList}\small\item\em Sends all X commands in the X Display buffer. \item\end{CompactList}\item 
+\hypertarget{group__Ecore__X__Flush__Group_g515363b1157ae3b2e3d1d9d3eec448af}{
+EAPI void \hyperlink{group__Ecore__X__Flush__Group_g515363b1157ae3b2e3d1d9d3eec448af}{ecore\_\-x\_\-sync} (void)}
+\label{group__Ecore__X__Flush__Group_g515363b1157ae3b2e3d1d9d3eec448af}
+
+\begin{CompactList}\small\item\em Flushes the command buffer and waits until all requests have been processed by the server. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Functions that ensure that all commands that have been issued by the Ecore X library have been sent to the server. 
+
diff --git a/doc/latex/group__Ecore__X__ICCCM__Group.tex b/doc/latex/group__Ecore__X__ICCCM__Group.tex
new file mode 100644
index 0000000..bf31e56
--- /dev/null
+++ b/doc/latex/group__Ecore__X__ICCCM__Group.tex
@@ -0,0 +1,586 @@
+\hypertarget{group__Ecore__X__ICCCM__Group}{
+\section{ICCCM related functions.}
+\label{group__Ecore__X__ICCCM__Group}\index{ICCCM related functions.@{ICCCM related functions.}}
+}
+Functions related to ICCCM.  
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+EAPI void \hyperlink{group__Ecore__X__ICCCM__Group_g0a220ec75c0ae400e86df862dbdb2dc5}{ecore\_\-x\_\-icccm\_\-state\_\-set} (Ecore\_\-X\_\-Window window, Ecore\_\-X\_\-Window\_\-State\_\-Hint state)
+\begin{CompactList}\small\item\em Sets the state of a window. \item\end{CompactList}\item 
+EAPI Ecore\_\-X\_\-Window\_\-State\_\-Hint \hyperlink{group__Ecore__X__ICCCM__Group_g2b532b93957c1a9c3f75563813420e07}{ecore\_\-x\_\-icccm\_\-state\_\-get} (Ecore\_\-X\_\-Window window \_\-\_\-UNUSED\_\-\_\-)
+\begin{CompactList}\small\item\em Gets the state of a window. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__ICCCM__Group_ga67d73e5f8090306f2e06bdc64707647}{ecore\_\-x\_\-icccm\_\-delete\_\-window\_\-send} (Ecore\_\-X\_\-Window window, Ecore\_\-X\_\-Time time)
+\begin{CompactList}\small\item\em Sends the Client\-Message event with the Delete\-Window property. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__ICCCM__Group_gf60b2291525790e80630319143a8b95c}{ecore\_\-x\_\-icccm\_\-take\_\-focus\_\-send} (Ecore\_\-X\_\-Window window, Ecore\_\-X\_\-Time time)
+\begin{CompactList}\small\item\em Sends the Client\-Message event with the Take\-Focus property. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__ICCCM__Group_gb990b493f1ebdace041b374f980b1a13}{ecore\_\-x\_\-icccm\_\-save\_\-yourself\_\-send} (Ecore\_\-X\_\-Window window, Ecore\_\-X\_\-Time time)
+\begin{CompactList}\small\item\em Sends the Client\-Message event with the Save\-Yourself property. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__ICCCM__Group_g23b492239d9aba2058fcbdcf43ae5214}{ecore\_\-x\_\-icccm\_\-move\_\-resize\_\-send} (Ecore\_\-X\_\-Window window, int x, int y, int width, int height)
+\begin{CompactList}\small\item\em Sends the Configure\-Notify event with the Structure\-Notify property. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__ICCCM__Group_g0883a37205de291ac4063c809a9d2756}{ecore\_\-x\_\-icccm\_\-hints\_\-set} (Ecore\_\-X\_\-Window window, int accepts\_\-focus, Ecore\_\-X\_\-Window\_\-State\_\-Hint initial\_\-state, Ecore\_\-X\_\-Pixmap icon\_\-pixmap, Ecore\_\-X\_\-Pixmap icon\_\-mask, Ecore\_\-X\_\-Window icon\_\-window, Ecore\_\-X\_\-Window window\_\-group, int is\_\-urgent)
+\begin{CompactList}\small\item\em Sets the hints of a window. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__X__ICCCM__Group_ga9596be63f47ab56e5527eb4d35a63c4}{ecore\_\-x\_\-icccm\_\-hints\_\-get} (Ecore\_\-X\_\-Window window \_\-\_\-UNUSED\_\-\_\-, int $\ast$accepts\_\-focus, Ecore\_\-X\_\-Window\_\-State\_\-Hint $\ast$initial\_\-state, Ecore\_\-X\_\-Pixmap $\ast$icon\_\-pixmap, Ecore\_\-X\_\-Pixmap $\ast$icon\_\-mask, Ecore\_\-X\_\-Window $\ast$icon\_\-window, Ecore\_\-X\_\-Window $\ast$window\_\-group, int $\ast$is\_\-urgent)
+\begin{CompactList}\small\item\em Gets the hints of a window. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__ICCCM__Group_g4afb7a2cedcc90581cb29bdca6ccf4c2}{ecore\_\-x\_\-icccm\_\-size\_\-pos\_\-hints\_\-set} (Ecore\_\-X\_\-Window window, int request\_\-pos, Ecore\_\-X\_\-Gravity gravity, int min\_\-w, int min\_\-h, int max\_\-w, int max\_\-h, int base\_\-w, int base\_\-h, int step\_\-x, int step\_\-y, double min\_\-aspect, double max\_\-aspect)
+\begin{CompactList}\small\item\em Sets the hints of a window. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__X__ICCCM__Group_g641f88b4bc78b66d8fd22d470cc49399}{ecore\_\-x\_\-icccm\_\-size\_\-pos\_\-hints\_\-get} (Ecore\_\-X\_\-Window window \_\-\_\-UNUSED\_\-\_\-, int $\ast$request\_\-pos, Ecore\_\-X\_\-Gravity $\ast$gravity, int $\ast$min\_\-w, int $\ast$min\_\-h, int $\ast$max\_\-w, int $\ast$max\_\-h, int $\ast$base\_\-w, int $\ast$base\_\-h, int $\ast$step\_\-x, int $\ast$step\_\-y, double $\ast$min\_\-aspect, double $\ast$max\_\-aspect)
+\begin{CompactList}\small\item\em Gets the hints of a window. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__ICCCM__Group_g2f89bf0f24cc88e3f347eb7821b009be}{ecore\_\-x\_\-icccm\_\-title\_\-set} (Ecore\_\-X\_\-Window window, const char $\ast$title)
+\begin{CompactList}\small\item\em Set the title of a window. \item\end{CompactList}\item 
+EAPI char $\ast$ \hyperlink{group__Ecore__X__ICCCM__Group_g3743ea7e0d05085927fd26f50bf76792}{ecore\_\-x\_\-icccm\_\-title\_\-get} (Ecore\_\-X\_\-Window window \_\-\_\-UNUSED\_\-\_\-)
+\begin{CompactList}\small\item\em Gets the title of a window. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__ICCCM__Group_gb01748645049a956dbbf9335c5bf31b7}{ecore\_\-x\_\-icccm\_\-protocol\_\-set} (Ecore\_\-X\_\-Window window, Ecore\_\-X\_\-WM\_\-Protocol protocol, int on)
+\begin{CompactList}\small\item\em Set or unset a wm protocol property. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__X__ICCCM__Group_g9e16372c8451cf246a8348066901120e}{ecore\_\-x\_\-icccm\_\-protocol\_\-isset} (Ecore\_\-X\_\-Window window \_\-\_\-UNUSED\_\-\_\-, Ecore\_\-X\_\-WM\_\-Protocol protocol)
+\begin{CompactList}\small\item\em Determines whether a protocol is set for a window. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__ICCCM__Group_g907ec62bfeb82ff4184850633b505c98}{ecore\_\-x\_\-icccm\_\-name\_\-class\_\-set} (Ecore\_\-X\_\-Window window, const char $\ast$name, const char $\ast$class)
+\begin{CompactList}\small\item\em Set a window name \& class. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__ICCCM__Group_g9e7ed3281186310fc84aa69039eadddf}{ecore\_\-x\_\-icccm\_\-name\_\-class\_\-get} (Ecore\_\-X\_\-Window window \_\-\_\-UNUSED\_\-\_\-, char $\ast$$\ast$name, char $\ast$$\ast$class)
+\begin{CompactList}\small\item\em Get a window name and class. \item\end{CompactList}\item 
+EAPI char $\ast$ \hyperlink{group__Ecore__X__ICCCM__Group_g459aa76f7d59d934feea0eadfb4394db}{ecore\_\-x\_\-icccm\_\-client\_\-machine\_\-get} (Ecore\_\-X\_\-Window window)
+\begin{CompactList}\small\item\em Get a window client machine string. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__ICCCM__Group_g2de04d312f9b06f449291a49f6714756}{ecore\_\-x\_\-icccm\_\-command\_\-set} (Ecore\_\-X\_\-Window window, int argc, char $\ast$$\ast$argv)
+\begin{CompactList}\small\item\em Sets the WM\_\-COMMAND property for {\em win\/}. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__ICCCM__Group_g481c72766319bb5e34ddae89c595a3f1}{ecore\_\-x\_\-icccm\_\-command\_\-get} (Ecore\_\-X\_\-Window window \_\-\_\-UNUSED\_\-\_\-, int $\ast$argc, char $\ast$$\ast$$\ast$argv)
+\begin{CompactList}\small\item\em Get the WM\_\-COMMAND property for a window. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__ICCCM__Group_gb148da036055d0dbd2a2c84db924e24d}{ecore\_\-x\_\-icccm\_\-icon\_\-name\_\-set} (Ecore\_\-X\_\-Window window, const char $\ast$title)
+\begin{CompactList}\small\item\em Set a window icon name. \item\end{CompactList}\item 
+EAPI char $\ast$ \hyperlink{group__Ecore__X__ICCCM__Group_g44f96024f9b026adaca766eeb3be644c}{ecore\_\-x\_\-icccm\_\-icon\_\-name\_\-get} (Ecore\_\-X\_\-Window window \_\-\_\-UNUSED\_\-\_\-)
+\begin{CompactList}\small\item\em Get a window icon name. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__ICCCM__Group_g203a710c05607f9abcd0d3020496585e}{ecore\_\-x\_\-icccm\_\-colormap\_\-window\_\-set} (Ecore\_\-X\_\-Window window, Ecore\_\-X\_\-Window sub\_\-window)
+\begin{CompactList}\small\item\em Add a subwindow to the list of windows that need a different colormap installed. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__ICCCM__Group_g3e47c45b85caf21e88600c7286de3729}{ecore\_\-x\_\-icccm\_\-colormap\_\-window\_\-unset} (Ecore\_\-X\_\-Window window, Ecore\_\-X\_\-Window sub\_\-window)
+\begin{CompactList}\small\item\em Remove a window from the list of colormap windows. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__ICCCM__Group_g170ce1c92e295437cc077d0111364936}{ecore\_\-x\_\-icccm\_\-transient\_\-for\_\-set} (Ecore\_\-X\_\-Window window, Ecore\_\-X\_\-Window forwindow)
+\begin{CompactList}\small\item\em Specify that a window is transient for another top-level window and should be handled accordingly. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__ICCCM__Group_g259feec5f4b85523573f08820ecb358e}{ecore\_\-x\_\-icccm\_\-transient\_\-for\_\-unset} (Ecore\_\-X\_\-Window window)
+\begin{CompactList}\small\item\em Remove the transient\_\-for setting from a window. \item\end{CompactList}\item 
+EAPI Ecore\_\-X\_\-Window \hyperlink{group__Ecore__X__ICCCM__Group_ga4ddc87534e243e3c204f04ec9c236ed}{ecore\_\-x\_\-icccm\_\-transient\_\-for\_\-get} (Ecore\_\-X\_\-Window window \_\-\_\-UNUSED\_\-\_\-)
+\begin{CompactList}\small\item\em Get the window this window is transient for, if any. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__ICCCM__Group_g3dd8959d662584671c3992e2c83dfefc}{ecore\_\-x\_\-icccm\_\-window\_\-role\_\-set} (Ecore\_\-X\_\-Window window, const char $\ast$role)
+\begin{CompactList}\small\item\em Set the window role hint. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__ICCCM__Group_gd4426f1ad8b83e303ed2850ef1c0a7f5}{ecore\_\-x\_\-icccm\_\-window\_\-role\_\-get\_\-prefetch} (Ecore\_\-X\_\-Window window)
+\begin{CompactList}\small\item\em Sends the Get\-Property request. \item\end{CompactList}\item 
+\hypertarget{group__Ecore__X__ICCCM__Group_g77b5e7ec8993970813c321397d21593e}{
+EAPI void \hyperlink{group__Ecore__X__ICCCM__Group_g77b5e7ec8993970813c321397d21593e}{ecore\_\-x\_\-icccm\_\-window\_\-role\_\-get\_\-fetch} (void)}
+\label{group__Ecore__X__ICCCM__Group_g77b5e7ec8993970813c321397d21593e}
+
+\begin{CompactList}\small\item\em Gets the reply of the Get\-Property request sent by \hyperlink{group__Ecore__X__ICCCM__Group_gd4426f1ad8b83e303ed2850ef1c0a7f5}{ecore\_\-x\_\-icccm\_\-window\_\-role\_\-get\_\-prefetch()}. \item\end{CompactList}\item 
+EAPI char $\ast$ \hyperlink{group__Ecore__X__ICCCM__Group_g4b900983ec368b7dc108b6539a3e3657}{ecore\_\-x\_\-icccm\_\-window\_\-role\_\-get} (Ecore\_\-X\_\-Window window)
+\begin{CompactList}\small\item\em Get the window role. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__ICCCM__Group_g9646f43f32aa98a4681d89c0968d39c0}{ecore\_\-x\_\-icccm\_\-client\_\-leader\_\-set} (Ecore\_\-X\_\-Window window, Ecore\_\-X\_\-Window leader)
+\begin{CompactList}\small\item\em Set the window's client leader. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__ICCCM__Group_g831eb9b03ea1e74a89bcda746331140e}{ecore\_\-x\_\-icccm\_\-client\_\-leader\_\-get\_\-prefetch} (Ecore\_\-X\_\-Window window)
+\begin{CompactList}\small\item\em Sends the Get\-Property request. \item\end{CompactList}\item 
+\hypertarget{group__Ecore__X__ICCCM__Group_g66c132763d436be0a0fd4b0add937da9}{
+EAPI void \hyperlink{group__Ecore__X__ICCCM__Group_g66c132763d436be0a0fd4b0add937da9}{ecore\_\-x\_\-icccm\_\-client\_\-leader\_\-get\_\-fetch} (void)}
+\label{group__Ecore__X__ICCCM__Group_g66c132763d436be0a0fd4b0add937da9}
+
+\begin{CompactList}\small\item\em Gets the reply of the Get\-Property request sent by \hyperlink{group__Ecore__X__ICCCM__Group_g831eb9b03ea1e74a89bcda746331140e}{ecore\_\-x\_\-icccm\_\-client\_\-leader\_\-get\_\-prefetch()}. \item\end{CompactList}\item 
+EAPI Ecore\_\-X\_\-Window \hyperlink{group__Ecore__X__ICCCM__Group_gcd1f5d74bb8f1b2f6ca7db1f16b3894b}{ecore\_\-x\_\-icccm\_\-client\_\-leader\_\-get} (Ecore\_\-X\_\-Window window)
+\begin{CompactList}\small\item\em Get the window's client leader. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__ICCCM__Group_g9259a631c19152a9d1b015549a89f71d}{ecore\_\-x\_\-icccm\_\-iconic\_\-request\_\-send} (Ecore\_\-X\_\-Window window, Ecore\_\-X\_\-Window root)
+\begin{CompactList}\small\item\em Send the Client\-Message event with the Change\-State property. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Functions related to ICCCM. 
+
+
+
+\subsection{Function Documentation}
+\hypertarget{group__Ecore__X__ICCCM__Group_gcd1f5d74bb8f1b2f6ca7db1f16b3894b}{
+\index{Ecore_X_ICCCM_Group@{Ecore\_\-X\_\-ICCCM\_\-Group}!ecore_x_icccm_client_leader_get@{ecore\_\-x\_\-icccm\_\-client\_\-leader\_\-get}}
+\index{ecore_x_icccm_client_leader_get@{ecore\_\-x\_\-icccm\_\-client\_\-leader\_\-get}!Ecore_X_ICCCM_Group@{Ecore\_\-X\_\-ICCCM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-icccm\_\-client\_\-leader\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI Ecore\_\-X\_\-Window ecore\_\-x\_\-icccm\_\-client\_\-leader\_\-get (Ecore\_\-X\_\-Window {\em window})}}
+\label{group__Ecore__X__ICCCM__Group_gcd1f5d74bb8f1b2f6ca7db1f16b3894b}
+
+
+Get the window's client leader. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The window's client leader window, or 0 if unset.\end{Desc}
+To use this function, you must call before, and in order, \hyperlink{group__Ecore__X__ICCCM__Group_g831eb9b03ea1e74a89bcda746331140e}{ecore\_\-x\_\-icccm\_\-client\_\-leader\_\-get\_\-prefetch()}, which sends the Get\-Property request, then \hyperlink{group__Ecore__X__ICCCM__Group_g66c132763d436be0a0fd4b0add937da9}{ecore\_\-x\_\-icccm\_\-client\_\-leader\_\-get\_\-fetch()}, which gets the reply. \hypertarget{group__Ecore__X__ICCCM__Group_g831eb9b03ea1e74a89bcda746331140e}{
+\index{Ecore_X_ICCCM_Group@{Ecore\_\-X\_\-ICCCM\_\-Group}!ecore_x_icccm_client_leader_get_prefetch@{ecore\_\-x\_\-icccm\_\-client\_\-leader\_\-get\_\-prefetch}}
+\index{ecore_x_icccm_client_leader_get_prefetch@{ecore\_\-x\_\-icccm\_\-client\_\-leader\_\-get\_\-prefetch}!Ecore_X_ICCCM_Group@{Ecore\_\-X\_\-ICCCM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-icccm\_\-client\_\-leader\_\-get\_\-prefetch]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-icccm\_\-client\_\-leader\_\-get\_\-prefetch (Ecore\_\-X\_\-Window {\em window})}}
+\label{group__Ecore__X__ICCCM__Group_g831eb9b03ea1e74a89bcda746331140e}
+
+
+Sends the Get\-Property request. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]Window whose properties are requested. \end{description}
+\end{Desc}
+\hypertarget{group__Ecore__X__ICCCM__Group_g9646f43f32aa98a4681d89c0968d39c0}{
+\index{Ecore_X_ICCCM_Group@{Ecore\_\-X\_\-ICCCM\_\-Group}!ecore_x_icccm_client_leader_set@{ecore\_\-x\_\-icccm\_\-client\_\-leader\_\-set}}
+\index{ecore_x_icccm_client_leader_set@{ecore\_\-x\_\-icccm\_\-client\_\-leader\_\-set}!Ecore_X_ICCCM_Group@{Ecore\_\-X\_\-ICCCM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-icccm\_\-client\_\-leader\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-icccm\_\-client\_\-leader\_\-set (Ecore\_\-X\_\-Window {\em window}, Ecore\_\-X\_\-Window {\em leader})}}
+\label{group__Ecore__X__ICCCM__Group_g9646f43f32aa98a4681d89c0968d39c0}
+
+
+Set the window's client leader. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window \item[{\em leader}]The client leader window\end{description}
+\end{Desc}
+All non-transient top-level windows created by an app other than the main window must have this property set to the app's main window. \hypertarget{group__Ecore__X__ICCCM__Group_g459aa76f7d59d934feea0eadfb4394db}{
+\index{Ecore_X_ICCCM_Group@{Ecore\_\-X\_\-ICCCM\_\-Group}!ecore_x_icccm_client_machine_get@{ecore\_\-x\_\-icccm\_\-client\_\-machine\_\-get}}
+\index{ecore_x_icccm_client_machine_get@{ecore\_\-x\_\-icccm\_\-client\_\-machine\_\-get}!Ecore_X_ICCCM_Group@{Ecore\_\-X\_\-ICCCM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-icccm\_\-client\_\-machine\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI char$\ast$ ecore\_\-x\_\-icccm\_\-client\_\-machine\_\-get (Ecore\_\-X\_\-Window {\em window})}}
+\label{group__Ecore__X__ICCCM__Group_g459aa76f7d59d934feea0eadfb4394db}
+
+
+Get a window client machine string. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The windows client machine string\end{Desc}
+Return the client machine of a window. String must be free'd when done with.
+
+To use this function, you must call before, and in order, ecore\_\-x\_\-icccm\_\-client\_\-machine\_\-get\_\-prefetch(), which sends the Get\-Property request, then ecore\_\-x\_\-icccm\_\-client\_\-machine\_\-get\_\-fetch(), which gets the reply. \hypertarget{group__Ecore__X__ICCCM__Group_g203a710c05607f9abcd0d3020496585e}{
+\index{Ecore_X_ICCCM_Group@{Ecore\_\-X\_\-ICCCM\_\-Group}!ecore_x_icccm_colormap_window_set@{ecore\_\-x\_\-icccm\_\-colormap\_\-window\_\-set}}
+\index{ecore_x_icccm_colormap_window_set@{ecore\_\-x\_\-icccm\_\-colormap\_\-window\_\-set}!Ecore_X_ICCCM_Group@{Ecore\_\-X\_\-ICCCM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-icccm\_\-colormap\_\-window\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-icccm\_\-colormap\_\-window\_\-set (Ecore\_\-X\_\-Window {\em window}, Ecore\_\-X\_\-Window {\em sub\_\-window})}}
+\label{group__Ecore__X__ICCCM__Group_g203a710c05607f9abcd0d3020496585e}
+
+
+Add a subwindow to the list of windows that need a different colormap installed. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The toplevel window \item[{\em sub\_\-window}]The subwindow to be added to the colormap windows list\end{description}
+\end{Desc}
+Add {\tt sub\_\-window} to the list of windows that need a different colormap installed.
+
+To use this function, you must call before, and in order, ecore\_\-x\_\-icccm\_\-colormap\_\-window\_\-get\_\-prefetch(), which sends the Get\-Property request, then ecore\_\-x\_\-icccm\_\-colormap\_\-window\_\-get\_\-fetch(), which gets the reply. \hypertarget{group__Ecore__X__ICCCM__Group_g3e47c45b85caf21e88600c7286de3729}{
+\index{Ecore_X_ICCCM_Group@{Ecore\_\-X\_\-ICCCM\_\-Group}!ecore_x_icccm_colormap_window_unset@{ecore\_\-x\_\-icccm\_\-colormap\_\-window\_\-unset}}
+\index{ecore_x_icccm_colormap_window_unset@{ecore\_\-x\_\-icccm\_\-colormap\_\-window\_\-unset}!Ecore_X_ICCCM_Group@{Ecore\_\-X\_\-ICCCM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-icccm\_\-colormap\_\-window\_\-unset]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-icccm\_\-colormap\_\-window\_\-unset (Ecore\_\-X\_\-Window {\em window}, Ecore\_\-X\_\-Window {\em sub\_\-window})}}
+\label{group__Ecore__X__ICCCM__Group_g3e47c45b85caf21e88600c7286de3729}
+
+
+Remove a window from the list of colormap windows. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The toplevel window \item[{\em sub\_\-window}]The window to be removed from the colormap window list.\end{description}
+\end{Desc}
+Remove {\tt sub\_\-window} from the list of colormap windows.
+
+To use this function, you must call before, and in order, ecore\_\-x\_\-icccm\_\-colormap\_\-window\_\-get\_\-prefetch(), which sends the Get\-Property request, then ecore\_\-x\_\-icccm\_\-colormap\_\-window\_\-get\_\-fetch(), which gets the reply. \hypertarget{group__Ecore__X__ICCCM__Group_g481c72766319bb5e34ddae89c595a3f1}{
+\index{Ecore_X_ICCCM_Group@{Ecore\_\-X\_\-ICCCM\_\-Group}!ecore_x_icccm_command_get@{ecore\_\-x\_\-icccm\_\-command\_\-get}}
+\index{ecore_x_icccm_command_get@{ecore\_\-x\_\-icccm\_\-command\_\-get}!Ecore_X_ICCCM_Group@{Ecore\_\-X\_\-ICCCM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-icccm\_\-command\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-icccm\_\-command\_\-get (Ecore\_\-X\_\-Window window {\em \_\-\_\-UNUSED\_\-\_\-}, int $\ast$ {\em argc}, char $\ast$$\ast$$\ast$ {\em argv})}}
+\label{group__Ecore__X__ICCCM__Group_g481c72766319bb5e34ddae89c595a3f1}
+
+
+Get the WM\_\-COMMAND property for a window. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em win}]The window. \item[{\em argc}]Number of arguments. \item[{\em argv}]Arguments.\end{description}
+\end{Desc}
+Return the command of {\tt window} and store it in {\tt argv}. {\tt argc} contains the number of arguments. String must be free'd when done with.
+
+To use this function, you must call before, and in order, ecore\_\-x\_\-icccm\_\-command\_\-get\_\-prefetch(), which sends the Get\-Property request, then ecore\_\-x\_\-icccm\_\-command\_\-get\_\-fetch(), which gets the reply. \hypertarget{group__Ecore__X__ICCCM__Group_g2de04d312f9b06f449291a49f6714756}{
+\index{Ecore_X_ICCCM_Group@{Ecore\_\-X\_\-ICCCM\_\-Group}!ecore_x_icccm_command_set@{ecore\_\-x\_\-icccm\_\-command\_\-set}}
+\index{ecore_x_icccm_command_set@{ecore\_\-x\_\-icccm\_\-command\_\-set}!Ecore_X_ICCCM_Group@{Ecore\_\-X\_\-ICCCM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-icccm\_\-command\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-icccm\_\-command\_\-set (Ecore\_\-X\_\-Window {\em window}, int {\em argc}, char $\ast$$\ast$ {\em argv})}}
+\label{group__Ecore__X__ICCCM__Group_g2de04d312f9b06f449291a49f6714756}
+
+
+Sets the WM\_\-COMMAND property for {\em win\/}. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window. \item[{\em argc}]Number of arguments. \item[{\em argv}]Arguments. \end{description}
+\end{Desc}
+\hypertarget{group__Ecore__X__ICCCM__Group_ga67d73e5f8090306f2e06bdc64707647}{
+\index{Ecore_X_ICCCM_Group@{Ecore\_\-X\_\-ICCCM\_\-Group}!ecore_x_icccm_delete_window_send@{ecore\_\-x\_\-icccm\_\-delete\_\-window\_\-send}}
+\index{ecore_x_icccm_delete_window_send@{ecore\_\-x\_\-icccm\_\-delete\_\-window\_\-send}!Ecore_X_ICCCM_Group@{Ecore\_\-X\_\-ICCCM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-icccm\_\-delete\_\-window\_\-send]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-icccm\_\-delete\_\-window\_\-send (Ecore\_\-X\_\-Window {\em window}, Ecore\_\-X\_\-Time {\em time})}}
+\label{group__Ecore__X__ICCCM__Group_ga67d73e5f8090306f2e06bdc64707647}
+
+
+Sends the Client\-Message event with the Delete\-Window property. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window. \item[{\em time}]The time. \end{description}
+\end{Desc}
+\hypertarget{group__Ecore__X__ICCCM__Group_ga9596be63f47ab56e5527eb4d35a63c4}{
+\index{Ecore_X_ICCCM_Group@{Ecore\_\-X\_\-ICCCM\_\-Group}!ecore_x_icccm_hints_get@{ecore\_\-x\_\-icccm\_\-hints\_\-get}}
+\index{ecore_x_icccm_hints_get@{ecore\_\-x\_\-icccm\_\-hints\_\-get}!Ecore_X_ICCCM_Group@{Ecore\_\-X\_\-ICCCM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-icccm\_\-hints\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-x\_\-icccm\_\-hints\_\-get (Ecore\_\-X\_\-Window window {\em \_\-\_\-UNUSED\_\-\_\-}, int $\ast$ {\em accepts\_\-focus}, Ecore\_\-X\_\-Window\_\-State\_\-Hint $\ast$ {\em initial\_\-state}, Ecore\_\-X\_\-Pixmap $\ast$ {\em icon\_\-pixmap}, Ecore\_\-X\_\-Pixmap $\ast$ {\em icon\_\-mask}, Ecore\_\-X\_\-Window $\ast$ {\em icon\_\-window}, Ecore\_\-X\_\-Window $\ast$ {\em window\_\-group}, int $\ast$ {\em is\_\-urgent})}}
+\label{group__Ecore__X__ICCCM__Group_ga9596be63f47ab56e5527eb4d35a63c4}
+
+
+Gets the hints of a window. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window. \item[{\em accepts\_\-focus}]Accept\-Focus hint \item[{\em initial\_\-state}]Initial state flags. \item[{\em icon\_\-pixmap}]Icon pixmap. \item[{\em icon\_\-mask}]Icon mask. \item[{\em icon\_\-window}]Icon window. \item[{\em window\_\-group}]Group window. \item[{\em is\_\-urgent}]Is\-Urgent flag. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]1 on success, 0 otherwise.\end{Desc}
+To use this function, you must call before, and in order, ecore\_\-x\_\-icccm\_\-hints\_\-get\_\-prefetch(), which sends the Get\-Property request, then ecore\_\-x\_\-icccm\_\-hints\_\-get\_\-fetch(), which gets the reply. \hypertarget{group__Ecore__X__ICCCM__Group_g0883a37205de291ac4063c809a9d2756}{
+\index{Ecore_X_ICCCM_Group@{Ecore\_\-X\_\-ICCCM\_\-Group}!ecore_x_icccm_hints_set@{ecore\_\-x\_\-icccm\_\-hints\_\-set}}
+\index{ecore_x_icccm_hints_set@{ecore\_\-x\_\-icccm\_\-hints\_\-set}!Ecore_X_ICCCM_Group@{Ecore\_\-X\_\-ICCCM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-icccm\_\-hints\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-icccm\_\-hints\_\-set (Ecore\_\-X\_\-Window {\em window}, int {\em accepts\_\-focus}, Ecore\_\-X\_\-Window\_\-State\_\-Hint {\em initial\_\-state}, Ecore\_\-X\_\-Pixmap {\em icon\_\-pixmap}, Ecore\_\-X\_\-Pixmap {\em icon\_\-mask}, Ecore\_\-X\_\-Window {\em icon\_\-window}, Ecore\_\-X\_\-Window {\em window\_\-group}, int {\em is\_\-urgent})}}
+\label{group__Ecore__X__ICCCM__Group_g0883a37205de291ac4063c809a9d2756}
+
+
+Sets the hints of a window. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window. \item[{\em accepts\_\-focus}]Accept\-Focus hint \item[{\em initial\_\-state}]Initial state flags. \item[{\em icon\_\-pixmap}]Icon pixmap. \item[{\em icon\_\-mask}]Icon mask. \item[{\em icon\_\-window}]Icon window. \item[{\em window\_\-group}]Group window. \item[{\em is\_\-urgent}]Is\-Urgent flag. \end{description}
+\end{Desc}
+\hypertarget{group__Ecore__X__ICCCM__Group_g44f96024f9b026adaca766eeb3be644c}{
+\index{Ecore_X_ICCCM_Group@{Ecore\_\-X\_\-ICCCM\_\-Group}!ecore_x_icccm_icon_name_get@{ecore\_\-x\_\-icccm\_\-icon\_\-name\_\-get}}
+\index{ecore_x_icccm_icon_name_get@{ecore\_\-x\_\-icccm\_\-icon\_\-name\_\-get}!Ecore_X_ICCCM_Group@{Ecore\_\-X\_\-ICCCM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-icccm\_\-icon\_\-name\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI char$\ast$ ecore\_\-x\_\-icccm\_\-icon\_\-name\_\-get (Ecore\_\-X\_\-Window window {\em \_\-\_\-UNUSED\_\-\_\-})}}
+\label{group__Ecore__X__ICCCM__Group_g44f96024f9b026adaca766eeb3be644c}
+
+
+Get a window icon name. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The windows icon name string.\end{Desc}
+Return the icon name of {\tt window}. String must be free'd when done with.
+
+To use this function, you must call before, and in order, ecore\_\-x\_\-icccm\_\-icon\_\-name\_\-get\_\-prefetch(), which sends the Get\-Property request, then ecore\_\-x\_\-icccm\_\-icon\_\-name\_\-get\_\-fetch(), which gets the reply. \hypertarget{group__Ecore__X__ICCCM__Group_gb148da036055d0dbd2a2c84db924e24d}{
+\index{Ecore_X_ICCCM_Group@{Ecore\_\-X\_\-ICCCM\_\-Group}!ecore_x_icccm_icon_name_set@{ecore\_\-x\_\-icccm\_\-icon\_\-name\_\-set}}
+\index{ecore_x_icccm_icon_name_set@{ecore\_\-x\_\-icccm\_\-icon\_\-name\_\-set}!Ecore_X_ICCCM_Group@{Ecore\_\-X\_\-ICCCM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-icccm\_\-icon\_\-name\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-icccm\_\-icon\_\-name\_\-set (Ecore\_\-X\_\-Window {\em window}, const char $\ast$ {\em title})}}
+\label{group__Ecore__X__ICCCM__Group_gb148da036055d0dbd2a2c84db924e24d}
+
+
+Set a window icon name. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window. \item[{\em title}]The icon name string.\end{description}
+\end{Desc}
+Set {\tt window} icon name. \hypertarget{group__Ecore__X__ICCCM__Group_g9259a631c19152a9d1b015549a89f71d}{
+\index{Ecore_X_ICCCM_Group@{Ecore\_\-X\_\-ICCCM\_\-Group}!ecore_x_icccm_iconic_request_send@{ecore\_\-x\_\-icccm\_\-iconic\_\-request\_\-send}}
+\index{ecore_x_icccm_iconic_request_send@{ecore\_\-x\_\-icccm\_\-iconic\_\-request\_\-send}!Ecore_X_ICCCM_Group@{Ecore\_\-X\_\-ICCCM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-icccm\_\-iconic\_\-request\_\-send]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-icccm\_\-iconic\_\-request\_\-send (Ecore\_\-X\_\-Window {\em window}, Ecore\_\-X\_\-Window {\em root})}}
+\label{group__Ecore__X__ICCCM__Group_g9259a631c19152a9d1b015549a89f71d}
+
+
+Send the Client\-Message event with the Change\-State property. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window. \item[{\em root}]The root window. \end{description}
+\end{Desc}
+\hypertarget{group__Ecore__X__ICCCM__Group_g23b492239d9aba2058fcbdcf43ae5214}{
+\index{Ecore_X_ICCCM_Group@{Ecore\_\-X\_\-ICCCM\_\-Group}!ecore_x_icccm_move_resize_send@{ecore\_\-x\_\-icccm\_\-move\_\-resize\_\-send}}
+\index{ecore_x_icccm_move_resize_send@{ecore\_\-x\_\-icccm\_\-move\_\-resize\_\-send}!Ecore_X_ICCCM_Group@{Ecore\_\-X\_\-ICCCM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-icccm\_\-move\_\-resize\_\-send]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-icccm\_\-move\_\-resize\_\-send (Ecore\_\-X\_\-Window {\em window}, int {\em x}, int {\em y}, int {\em width}, int {\em height})}}
+\label{group__Ecore__X__ICCCM__Group_g23b492239d9aba2058fcbdcf43ae5214}
+
+
+Sends the Configure\-Notify event with the Structure\-Notify property. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window. \item[{\em x}]The X coordinate. \item[{\em y}]The Y coordinate. \item[{\em width}]The width. \item[{\em height}]The height. \end{description}
+\end{Desc}
+\hypertarget{group__Ecore__X__ICCCM__Group_g9e7ed3281186310fc84aa69039eadddf}{
+\index{Ecore_X_ICCCM_Group@{Ecore\_\-X\_\-ICCCM\_\-Group}!ecore_x_icccm_name_class_get@{ecore\_\-x\_\-icccm\_\-name\_\-class\_\-get}}
+\index{ecore_x_icccm_name_class_get@{ecore\_\-x\_\-icccm\_\-name\_\-class\_\-get}!Ecore_X_ICCCM_Group@{Ecore\_\-X\_\-ICCCM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-icccm\_\-name\_\-class\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-icccm\_\-name\_\-class\_\-get (Ecore\_\-X\_\-Window window {\em \_\-\_\-UNUSED\_\-\_\-}, char $\ast$$\ast$ {\em name}, char $\ast$$\ast$ {\em class})}}
+\label{group__Ecore__X__ICCCM__Group_g9e7ed3281186310fc84aa69039eadddf}
+
+
+Get a window name and class. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window (Unused). \item[{\em name}]The name string. \item[{\em class}]The class string.\end{description}
+\end{Desc}
+Store the name and class of {\tt window} into respectively {\tt name} and {\tt class}.
+
+To use this function, you must call before, and in order, ecore\_\-x\_\-icccm\_\-name\_\-class\_\-get\_\-prefetch(), which sends the Get\-Property request, then ecore\_\-x\_\-icccm\_\-name\_\-class\_\-get\_\-fetch(), which gets the reply. \hypertarget{group__Ecore__X__ICCCM__Group_g907ec62bfeb82ff4184850633b505c98}{
+\index{Ecore_X_ICCCM_Group@{Ecore\_\-X\_\-ICCCM\_\-Group}!ecore_x_icccm_name_class_set@{ecore\_\-x\_\-icccm\_\-name\_\-class\_\-set}}
+\index{ecore_x_icccm_name_class_set@{ecore\_\-x\_\-icccm\_\-name\_\-class\_\-set}!Ecore_X_ICCCM_Group@{Ecore\_\-X\_\-ICCCM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-icccm\_\-name\_\-class\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-icccm\_\-name\_\-class\_\-set (Ecore\_\-X\_\-Window {\em window}, const char $\ast$ {\em name}, const char $\ast$ {\em class})}}
+\label{group__Ecore__X__ICCCM__Group_g907ec62bfeb82ff4184850633b505c98}
+
+
+Set a window name \& class. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window \item[{\em name}]The name string \item[{\em class}]The class string\end{description}
+\end{Desc}
+Set the name and class of {\tt window} to respectively {\tt name} and {\tt class}. \hypertarget{group__Ecore__X__ICCCM__Group_g9e16372c8451cf246a8348066901120e}{
+\index{Ecore_X_ICCCM_Group@{Ecore\_\-X\_\-ICCCM\_\-Group}!ecore_x_icccm_protocol_isset@{ecore\_\-x\_\-icccm\_\-protocol\_\-isset}}
+\index{ecore_x_icccm_protocol_isset@{ecore\_\-x\_\-icccm\_\-protocol\_\-isset}!Ecore_X_ICCCM_Group@{Ecore\_\-X\_\-ICCCM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-icccm\_\-protocol\_\-isset]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-x\_\-icccm\_\-protocol\_\-isset (Ecore\_\-X\_\-Window window {\em \_\-\_\-UNUSED\_\-\_\-}, Ecore\_\-X\_\-WM\_\-Protocol {\em protocol})}}
+\label{group__Ecore__X__ICCCM__Group_g9e16372c8451cf246a8348066901120e}
+
+
+Determines whether a protocol is set for a window. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The Window (Unused). \item[{\em protocol}]The protocol to query. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]1 if the protocol is set, else 0.\end{Desc}
+To use this function, you must call before, and in order, ecore\_\-x\_\-icccm\_\-protocol\_\-get\_\-prefetch(), which sends the Get\-Property request, then ecore\_\-x\_\-icccm\_\-protocol\_\-get\_\-fetch(), which gets the reply. \hypertarget{group__Ecore__X__ICCCM__Group_gb01748645049a956dbbf9335c5bf31b7}{
+\index{Ecore_X_ICCCM_Group@{Ecore\_\-X\_\-ICCCM\_\-Group}!ecore_x_icccm_protocol_set@{ecore\_\-x\_\-icccm\_\-protocol\_\-set}}
+\index{ecore_x_icccm_protocol_set@{ecore\_\-x\_\-icccm\_\-protocol\_\-set}!Ecore_X_ICCCM_Group@{Ecore\_\-X\_\-ICCCM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-icccm\_\-protocol\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-icccm\_\-protocol\_\-set (Ecore\_\-X\_\-Window {\em window}, Ecore\_\-X\_\-WM\_\-Protocol {\em protocol}, int {\em on})}}
+\label{group__Ecore__X__ICCCM__Group_gb01748645049a956dbbf9335c5bf31b7}
+
+
+Set or unset a wm protocol property. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The Window \item[{\em protocol}]The protocol to enable/disable \item[{\em on}]On/Off\end{description}
+\end{Desc}
+To use this function, you must call before, and in order, ecore\_\-x\_\-icccm\_\-protocol\_\-get\_\-prefetch(), which sends the Get\-Property request, then ecore\_\-x\_\-icccm\_\-protocol\_\-get\_\-fetch(), which gets the reply. \hypertarget{group__Ecore__X__ICCCM__Group_gb990b493f1ebdace041b374f980b1a13}{
+\index{Ecore_X_ICCCM_Group@{Ecore\_\-X\_\-ICCCM\_\-Group}!ecore_x_icccm_save_yourself_send@{ecore\_\-x\_\-icccm\_\-save\_\-yourself\_\-send}}
+\index{ecore_x_icccm_save_yourself_send@{ecore\_\-x\_\-icccm\_\-save\_\-yourself\_\-send}!Ecore_X_ICCCM_Group@{Ecore\_\-X\_\-ICCCM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-icccm\_\-save\_\-yourself\_\-send]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-icccm\_\-save\_\-yourself\_\-send (Ecore\_\-X\_\-Window {\em window}, Ecore\_\-X\_\-Time {\em time})}}
+\label{group__Ecore__X__ICCCM__Group_gb990b493f1ebdace041b374f980b1a13}
+
+
+Sends the Client\-Message event with the Save\-Yourself property. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window. \item[{\em time}]The time. \end{description}
+\end{Desc}
+\hypertarget{group__Ecore__X__ICCCM__Group_g641f88b4bc78b66d8fd22d470cc49399}{
+\index{Ecore_X_ICCCM_Group@{Ecore\_\-X\_\-ICCCM\_\-Group}!ecore_x_icccm_size_pos_hints_get@{ecore\_\-x\_\-icccm\_\-size\_\-pos\_\-hints\_\-get}}
+\index{ecore_x_icccm_size_pos_hints_get@{ecore\_\-x\_\-icccm\_\-size\_\-pos\_\-hints\_\-get}!Ecore_X_ICCCM_Group@{Ecore\_\-X\_\-ICCCM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-icccm\_\-size\_\-pos\_\-hints\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-x\_\-icccm\_\-size\_\-pos\_\-hints\_\-get (Ecore\_\-X\_\-Window window {\em \_\-\_\-UNUSED\_\-\_\-}, int $\ast$ {\em request\_\-pos}, Ecore\_\-X\_\-Gravity $\ast$ {\em gravity}, int $\ast$ {\em min\_\-w}, int $\ast$ {\em min\_\-h}, int $\ast$ {\em max\_\-w}, int $\ast$ {\em max\_\-h}, int $\ast$ {\em base\_\-w}, int $\ast$ {\em base\_\-h}, int $\ast$ {\em step\_\-x}, int $\ast$ {\em step\_\-y}, double $\ast$ {\em min\_\-aspect}, double $\ast$ {\em max\_\-aspect})}}
+\label{group__Ecore__X__ICCCM__Group_g641f88b4bc78b66d8fd22d470cc49399}
+
+
+Gets the hints of a window. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window. \item[{\em request\_\-pos}]Request position flag. \item[{\em gravity}]Gravity. \item[{\em min\_\-w}]Minimum width. \item[{\em min\_\-h}]Minimum height. \item[{\em max\_\-w}]Maximum width. \item[{\em max\_\-h}]Maximum height. \item[{\em base\_\-w}]Base width \item[{\em base\_\-h}]Base height \item[{\em step\_\-x}]X step coordinate. \item[{\em step\_\-y}]Y step coordinate. \item[{\em min\_\-aspect}]Minimum aspect ratio. \item[{\em max\_\-aspect}]M \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]1 on success, 0 otherwise.\end{Desc}
+To use this function, you must call before, and in order, ecore\_\-x\_\-icccm\_\-size\_\-pos\_\-hints\_\-get\_\-prefetch(), which sends the Get\-Property request, then ecore\_\-x\_\-icccm\_\-size\_\-pos\_\-hints\_\-get\_\-fetch(), which gets the reply. \hypertarget{group__Ecore__X__ICCCM__Group_g4afb7a2cedcc90581cb29bdca6ccf4c2}{
+\index{Ecore_X_ICCCM_Group@{Ecore\_\-X\_\-ICCCM\_\-Group}!ecore_x_icccm_size_pos_hints_set@{ecore\_\-x\_\-icccm\_\-size\_\-pos\_\-hints\_\-set}}
+\index{ecore_x_icccm_size_pos_hints_set@{ecore\_\-x\_\-icccm\_\-size\_\-pos\_\-hints\_\-set}!Ecore_X_ICCCM_Group@{Ecore\_\-X\_\-ICCCM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-icccm\_\-size\_\-pos\_\-hints\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-icccm\_\-size\_\-pos\_\-hints\_\-set (Ecore\_\-X\_\-Window {\em window}, int {\em request\_\-pos}, Ecore\_\-X\_\-Gravity {\em gravity}, int {\em min\_\-w}, int {\em min\_\-h}, int {\em max\_\-w}, int {\em max\_\-h}, int {\em base\_\-w}, int {\em base\_\-h}, int {\em step\_\-x}, int {\em step\_\-y}, double {\em min\_\-aspect}, double {\em max\_\-aspect})}}
+\label{group__Ecore__X__ICCCM__Group_g4afb7a2cedcc90581cb29bdca6ccf4c2}
+
+
+Sets the hints of a window. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window. \item[{\em request\_\-pos}]Request position flag. \item[{\em gravity}]Gravity. \item[{\em min\_\-w}]Minimum width. \item[{\em min\_\-h}]Minimum height. \item[{\em max\_\-w}]Maximum width. \item[{\em max\_\-h}]Maximum height. \item[{\em base\_\-w}]Base width \item[{\em base\_\-h}]Base height \item[{\em step\_\-x}]X step coordinate. \item[{\em step\_\-y}]Y step coordinate. \item[{\em min\_\-aspect}]Minimum aspect ratio. \item[{\em max\_\-aspect}]Maximum aspect ratio.\end{description}
+\end{Desc}
+To use this function, you must call before, and in order, ecore\_\-x\_\-icccm\_\-size\_\-pos\_\-hints\_\-get\_\-prefetch(), which sends the Get\-Property request, then ecore\_\-x\_\-icccm\_\-size\_\-pos\_\-hints\_\-get\_\-fetch(), which gets the reply. \hypertarget{group__Ecore__X__ICCCM__Group_g2b532b93957c1a9c3f75563813420e07}{
+\index{Ecore_X_ICCCM_Group@{Ecore\_\-X\_\-ICCCM\_\-Group}!ecore_x_icccm_state_get@{ecore\_\-x\_\-icccm\_\-state\_\-get}}
+\index{ecore_x_icccm_state_get@{ecore\_\-x\_\-icccm\_\-state\_\-get}!Ecore_X_ICCCM_Group@{Ecore\_\-X\_\-ICCCM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-icccm\_\-state\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI Ecore\_\-X\_\-Window\_\-State\_\-Hint ecore\_\-x\_\-icccm\_\-state\_\-get (Ecore\_\-X\_\-Window window {\em \_\-\_\-UNUSED\_\-\_\-})}}
+\label{group__Ecore__X__ICCCM__Group_g2b532b93957c1a9c3f75563813420e07}
+
+
+Gets the state of a window. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The state of the window\end{Desc}
+To use this function, you must call before, and in order, ecore\_\-x\_\-icccm\_\-state\_\-get\_\-prefetch(), which sends the Get\-Property request, then ecore\_\-x\_\-icccm\_\-state\_\-get\_\-fetch(), which gets the reply. \hypertarget{group__Ecore__X__ICCCM__Group_g0a220ec75c0ae400e86df862dbdb2dc5}{
+\index{Ecore_X_ICCCM_Group@{Ecore\_\-X\_\-ICCCM\_\-Group}!ecore_x_icccm_state_set@{ecore\_\-x\_\-icccm\_\-state\_\-set}}
+\index{ecore_x_icccm_state_set@{ecore\_\-x\_\-icccm\_\-state\_\-set}!Ecore_X_ICCCM_Group@{Ecore\_\-X\_\-ICCCM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-icccm\_\-state\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-icccm\_\-state\_\-set (Ecore\_\-X\_\-Window {\em window}, Ecore\_\-X\_\-Window\_\-State\_\-Hint {\em state})}}
+\label{group__Ecore__X__ICCCM__Group_g0a220ec75c0ae400e86df862dbdb2dc5}
+
+
+Sets the state of a window. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window. \item[{\em state}]The state. \end{description}
+\end{Desc}
+\hypertarget{group__Ecore__X__ICCCM__Group_gf60b2291525790e80630319143a8b95c}{
+\index{Ecore_X_ICCCM_Group@{Ecore\_\-X\_\-ICCCM\_\-Group}!ecore_x_icccm_take_focus_send@{ecore\_\-x\_\-icccm\_\-take\_\-focus\_\-send}}
+\index{ecore_x_icccm_take_focus_send@{ecore\_\-x\_\-icccm\_\-take\_\-focus\_\-send}!Ecore_X_ICCCM_Group@{Ecore\_\-X\_\-ICCCM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-icccm\_\-take\_\-focus\_\-send]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-icccm\_\-take\_\-focus\_\-send (Ecore\_\-X\_\-Window {\em window}, Ecore\_\-X\_\-Time {\em time})}}
+\label{group__Ecore__X__ICCCM__Group_gf60b2291525790e80630319143a8b95c}
+
+
+Sends the Client\-Message event with the Take\-Focus property. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window. \item[{\em time}]The time. \end{description}
+\end{Desc}
+\hypertarget{group__Ecore__X__ICCCM__Group_g3743ea7e0d05085927fd26f50bf76792}{
+\index{Ecore_X_ICCCM_Group@{Ecore\_\-X\_\-ICCCM\_\-Group}!ecore_x_icccm_title_get@{ecore\_\-x\_\-icccm\_\-title\_\-get}}
+\index{ecore_x_icccm_title_get@{ecore\_\-x\_\-icccm\_\-title\_\-get}!Ecore_X_ICCCM_Group@{Ecore\_\-X\_\-ICCCM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-icccm\_\-title\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI char$\ast$ ecore\_\-x\_\-icccm\_\-title\_\-get (Ecore\_\-X\_\-Window window {\em \_\-\_\-UNUSED\_\-\_\-})}}
+\label{group__Ecore__X__ICCCM__Group_g3743ea7e0d05085927fd26f50bf76792}
+
+
+Gets the title of a window. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window (Unused). \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The title of the window\end{Desc}
+To use this function, you must call before, and in order, ecore\_\-x\_\-icccm\_\-title\_\-get\_\-prefetch(), which sends the Get\-Property request, then ecore\_\-x\_\-icccm\_\-title\_\-get\_\-fetch(), which gets the reply. \hypertarget{group__Ecore__X__ICCCM__Group_g2f89bf0f24cc88e3f347eb7821b009be}{
+\index{Ecore_X_ICCCM_Group@{Ecore\_\-X\_\-ICCCM\_\-Group}!ecore_x_icccm_title_set@{ecore\_\-x\_\-icccm\_\-title\_\-set}}
+\index{ecore_x_icccm_title_set@{ecore\_\-x\_\-icccm\_\-title\_\-set}!Ecore_X_ICCCM_Group@{Ecore\_\-X\_\-ICCCM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-icccm\_\-title\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-icccm\_\-title\_\-set (Ecore\_\-X\_\-Window {\em window}, const char $\ast$ {\em title})}}
+\label{group__Ecore__X__ICCCM__Group_g2f89bf0f24cc88e3f347eb7821b009be}
+
+
+Set the title of a window. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window. \item[{\em title}]The title. \end{description}
+\end{Desc}
+\hypertarget{group__Ecore__X__ICCCM__Group_ga4ddc87534e243e3c204f04ec9c236ed}{
+\index{Ecore_X_ICCCM_Group@{Ecore\_\-X\_\-ICCCM\_\-Group}!ecore_x_icccm_transient_for_get@{ecore\_\-x\_\-icccm\_\-transient\_\-for\_\-get}}
+\index{ecore_x_icccm_transient_for_get@{ecore\_\-x\_\-icccm\_\-transient\_\-for\_\-get}!Ecore_X_ICCCM_Group@{Ecore\_\-X\_\-ICCCM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-icccm\_\-transient\_\-for\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI Ecore\_\-X\_\-Window ecore\_\-x\_\-icccm\_\-transient\_\-for\_\-get (Ecore\_\-X\_\-Window window {\em \_\-\_\-UNUSED\_\-\_\-})}}
+\label{group__Ecore__X__ICCCM__Group_ga4ddc87534e243e3c204f04ec9c236ed}
+
+
+Get the window this window is transient for, if any. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window to check (Unused). \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The window ID of the top-level window, or 0 if the property does not exist.\end{Desc}
+To use this function, you must call before, and in order, ecore\_\-x\_\-icccm\_\-transient\_\-for\_\-get\_\-prefetch(), which sends the Get\-Property request, then ecore\_\-x\_\-icccm\_\-transient\_\-for\_\-get\_\-fetch(), which gets the reply. \hypertarget{group__Ecore__X__ICCCM__Group_g170ce1c92e295437cc077d0111364936}{
+\index{Ecore_X_ICCCM_Group@{Ecore\_\-X\_\-ICCCM\_\-Group}!ecore_x_icccm_transient_for_set@{ecore\_\-x\_\-icccm\_\-transient\_\-for\_\-set}}
+\index{ecore_x_icccm_transient_for_set@{ecore\_\-x\_\-icccm\_\-transient\_\-for\_\-set}!Ecore_X_ICCCM_Group@{Ecore\_\-X\_\-ICCCM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-icccm\_\-transient\_\-for\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-icccm\_\-transient\_\-for\_\-set (Ecore\_\-X\_\-Window {\em window}, Ecore\_\-X\_\-Window {\em forwindow})}}
+\label{group__Ecore__X__ICCCM__Group_g170ce1c92e295437cc077d0111364936}
+
+
+Specify that a window is transient for another top-level window and should be handled accordingly. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The transient window \item[{\em forwindow}]The toplevel window \end{description}
+\end{Desc}
+\hypertarget{group__Ecore__X__ICCCM__Group_g259feec5f4b85523573f08820ecb358e}{
+\index{Ecore_X_ICCCM_Group@{Ecore\_\-X\_\-ICCCM\_\-Group}!ecore_x_icccm_transient_for_unset@{ecore\_\-x\_\-icccm\_\-transient\_\-for\_\-unset}}
+\index{ecore_x_icccm_transient_for_unset@{ecore\_\-x\_\-icccm\_\-transient\_\-for\_\-unset}!Ecore_X_ICCCM_Group@{Ecore\_\-X\_\-ICCCM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-icccm\_\-transient\_\-for\_\-unset]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-icccm\_\-transient\_\-for\_\-unset (Ecore\_\-X\_\-Window {\em window})}}
+\label{group__Ecore__X__ICCCM__Group_g259feec5f4b85523573f08820ecb358e}
+
+
+Remove the transient\_\-for setting from a window. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window. \end{description}
+\end{Desc}
+\hypertarget{group__Ecore__X__ICCCM__Group_g4b900983ec368b7dc108b6539a3e3657}{
+\index{Ecore_X_ICCCM_Group@{Ecore\_\-X\_\-ICCCM\_\-Group}!ecore_x_icccm_window_role_get@{ecore\_\-x\_\-icccm\_\-window\_\-role\_\-get}}
+\index{ecore_x_icccm_window_role_get@{ecore\_\-x\_\-icccm\_\-window\_\-role\_\-get}!Ecore_X_ICCCM_Group@{Ecore\_\-X\_\-ICCCM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-icccm\_\-window\_\-role\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI char$\ast$ ecore\_\-x\_\-icccm\_\-window\_\-role\_\-get (Ecore\_\-X\_\-Window {\em window})}}
+\label{group__Ecore__X__ICCCM__Group_g4b900983ec368b7dc108b6539a3e3657}
+
+
+Get the window role. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The window's role string.\end{Desc}
+To use this function, you must call before, and in order, \hyperlink{group__Ecore__X__ICCCM__Group_gd4426f1ad8b83e303ed2850ef1c0a7f5}{ecore\_\-x\_\-icccm\_\-window\_\-role\_\-get\_\-prefetch()}, which sends the Get\-Property request, then \hyperlink{group__Ecore__X__ICCCM__Group_g77b5e7ec8993970813c321397d21593e}{ecore\_\-x\_\-icccm\_\-window\_\-role\_\-get\_\-fetch()}, which gets the reply. \hypertarget{group__Ecore__X__ICCCM__Group_gd4426f1ad8b83e303ed2850ef1c0a7f5}{
+\index{Ecore_X_ICCCM_Group@{Ecore\_\-X\_\-ICCCM\_\-Group}!ecore_x_icccm_window_role_get_prefetch@{ecore\_\-x\_\-icccm\_\-window\_\-role\_\-get\_\-prefetch}}
+\index{ecore_x_icccm_window_role_get_prefetch@{ecore\_\-x\_\-icccm\_\-window\_\-role\_\-get\_\-prefetch}!Ecore_X_ICCCM_Group@{Ecore\_\-X\_\-ICCCM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-icccm\_\-window\_\-role\_\-get\_\-prefetch]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-icccm\_\-window\_\-role\_\-get\_\-prefetch (Ecore\_\-X\_\-Window {\em window})}}
+\label{group__Ecore__X__ICCCM__Group_gd4426f1ad8b83e303ed2850ef1c0a7f5}
+
+
+Sends the Get\-Property request. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]Window whose properties are requested. \end{description}
+\end{Desc}
+\hypertarget{group__Ecore__X__ICCCM__Group_g3dd8959d662584671c3992e2c83dfefc}{
+\index{Ecore_X_ICCCM_Group@{Ecore\_\-X\_\-ICCCM\_\-Group}!ecore_x_icccm_window_role_set@{ecore\_\-x\_\-icccm\_\-window\_\-role\_\-set}}
+\index{ecore_x_icccm_window_role_set@{ecore\_\-x\_\-icccm\_\-window\_\-role\_\-set}!Ecore_X_ICCCM_Group@{Ecore\_\-X\_\-ICCCM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-icccm\_\-window\_\-role\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-icccm\_\-window\_\-role\_\-set (Ecore\_\-X\_\-Window {\em window}, const char $\ast$ {\em role})}}
+\label{group__Ecore__X__ICCCM__Group_g3dd8959d662584671c3992e2c83dfefc}
+
+
+Set the window role hint. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window \item[{\em role}]The role string. \end{description}
+\end{Desc}
diff --git a/doc/latex/group__Ecore__X__Init__Group.tex b/doc/latex/group__Ecore__X__Init__Group.tex
new file mode 100644
index 0000000..0a9b659
--- /dev/null
+++ b/doc/latex/group__Ecore__X__Init__Group.tex
@@ -0,0 +1,60 @@
+\hypertarget{group__Ecore__X__Init__Group}{
+\section{X Library Init and Shutdown Functions}
+\label{group__Ecore__X__Init__Group}\index{X Library Init and Shutdown Functions@{X Library Init and Shutdown Functions}}
+}
+Functions that start and shut down the Ecore X Library.  
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+EAPI int \hyperlink{group__Ecore__X__Init__Group_g92e834eefd48b55101fa30c7386a709e}{ecore\_\-x\_\-init} (const char $\ast$name)
+\begin{CompactList}\small\item\em Initialize the X display connection to the given display. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__X__Init__Group_gebb628e400a8c90696b67935bef84873}{ecore\_\-x\_\-shutdown} (void)
+\begin{CompactList}\small\item\em Shuts down the Ecore X library. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__X__Init__Group_g01158850d3f9632f4bc6c79fb194e09b}{ecore\_\-x\_\-disconnect} (void)
+\begin{CompactList}\small\item\em Shuts down the Ecore X library. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Functions that start and shut down the Ecore X Library. 
+
+
+
+\subsection{Function Documentation}
+\hypertarget{group__Ecore__X__Init__Group_g01158850d3f9632f4bc6c79fb194e09b}{
+\index{Ecore_X_Init_Group@{Ecore\_\-X\_\-Init\_\-Group}!ecore_x_disconnect@{ecore\_\-x\_\-disconnect}}
+\index{ecore_x_disconnect@{ecore\_\-x\_\-disconnect}!Ecore_X_Init_Group@{Ecore\_\-X\_\-Init\_\-Group}}
+\subsubsection[ecore\_\-x\_\-disconnect]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-x\_\-disconnect (void)}}
+\label{group__Ecore__X__Init__Group_g01158850d3f9632f4bc6c79fb194e09b}
+
+
+Shuts down the Ecore X library. 
+
+As ecore\_\-x\_\-shutdown, except do not close Display, only connection. \hypertarget{group__Ecore__X__Init__Group_g92e834eefd48b55101fa30c7386a709e}{
+\index{Ecore_X_Init_Group@{Ecore\_\-X\_\-Init\_\-Group}!ecore_x_init@{ecore\_\-x\_\-init}}
+\index{ecore_x_init@{ecore\_\-x\_\-init}!Ecore_X_Init_Group@{Ecore\_\-X\_\-Init\_\-Group}}
+\subsubsection[ecore\_\-x\_\-init]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-x\_\-init (const char $\ast$ {\em name})}}
+\label{group__Ecore__X__Init__Group_g92e834eefd48b55101fa30c7386a709e}
+
+
+Initialize the X display connection to the given display. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em name}]Display target name. If {\tt NULL}, the default display is assumed. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The number of times the library has been initialized without being shut down. 0 is returned if an error occurs. \end{Desc}
+\hypertarget{group__Ecore__X__Init__Group_gebb628e400a8c90696b67935bef84873}{
+\index{Ecore_X_Init_Group@{Ecore\_\-X\_\-Init\_\-Group}!ecore_x_shutdown@{ecore\_\-x\_\-shutdown}}
+\index{ecore_x_shutdown@{ecore\_\-x\_\-shutdown}!Ecore_X_Init_Group@{Ecore\_\-X\_\-Init\_\-Group}}
+\subsubsection[ecore\_\-x\_\-shutdown]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-x\_\-shutdown (void)}}
+\label{group__Ecore__X__Init__Group_gebb628e400a8c90696b67935bef84873}
+
+
+Shuts down the Ecore X library. 
+
+In shutting down the library, the X display connection is terminated and any event handlers for it are removed.
+
+\begin{Desc}
+\item[Returns:]The number of times the library has been initialized without being shut down. \end{Desc}
diff --git a/doc/latex/group__Ecore__X__MWM__Group.tex b/doc/latex/group__Ecore__X__MWM__Group.tex
new file mode 100644
index 0000000..8f47a8f
--- /dev/null
+++ b/doc/latex/group__Ecore__X__MWM__Group.tex
@@ -0,0 +1,71 @@
+\hypertarget{group__Ecore__X__MWM__Group}{
+\section{MWM related functions.}
+\label{group__Ecore__X__MWM__Group}\index{MWM related functions.@{MWM related functions.}}
+}
+Functions related to MWM.  
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+EAPI void \hyperlink{group__Ecore__X__MWM__Group_g13d600cbcfd9156adb5be99d86151fdb}{ecore\_\-x\_\-mwm\_\-hints\_\-get\_\-prefetch} (Ecore\_\-X\_\-Window window)
+\begin{CompactList}\small\item\em Sends the Get\-Property request. \item\end{CompactList}\item 
+\hypertarget{group__Ecore__X__MWM__Group_gc1839719a738530cc96c6ef316ad3696}{
+EAPI void \hyperlink{group__Ecore__X__MWM__Group_gc1839719a738530cc96c6ef316ad3696}{ecore\_\-x\_\-mwm\_\-hints\_\-get\_\-fetch} (void)}
+\label{group__Ecore__X__MWM__Group_gc1839719a738530cc96c6ef316ad3696}
+
+\begin{CompactList}\small\item\em Gets the reply of the Get\-Property request sent by \hyperlink{group__Ecore__X__MWM__Group_g13d600cbcfd9156adb5be99d86151fdb}{ecore\_\-x\_\-mwm\_\-hints\_\-get\_\-prefetch()}. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__X__MWM__Group_gb11364ecc304187a8e54dba77ee36dbe}{ecore\_\-x\_\-mwm\_\-hints\_\-get} (Ecore\_\-X\_\-Window window \_\-\_\-UNUSED\_\-\_\-, Ecore\_\-X\_\-MWM\_\-Hint\_\-Func $\ast$fhint, Ecore\_\-X\_\-MWM\_\-Hint\_\-Decor $\ast$dhint, Ecore\_\-X\_\-MWM\_\-Hint\_\-Input $\ast$ihint)
+\begin{CompactList}\small\item\em To document. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__MWM__Group_gdd08a6aa95562bc0483d6713159ae196}{ecore\_\-x\_\-mwm\_\-borderless\_\-set} (Ecore\_\-X\_\-Window window, int borderless)
+\begin{CompactList}\small\item\em Sets the borderless flag of a window using MWM. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Functions related to MWM. 
+
+
+
+\subsection{Function Documentation}
+\hypertarget{group__Ecore__X__MWM__Group_gdd08a6aa95562bc0483d6713159ae196}{
+\index{Ecore_X_MWM_Group@{Ecore\_\-X\_\-MWM\_\-Group}!ecore_x_mwm_borderless_set@{ecore\_\-x\_\-mwm\_\-borderless\_\-set}}
+\index{ecore_x_mwm_borderless_set@{ecore\_\-x\_\-mwm\_\-borderless\_\-set}!Ecore_X_MWM_Group@{Ecore\_\-X\_\-MWM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-mwm\_\-borderless\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-mwm\_\-borderless\_\-set (Ecore\_\-X\_\-Window {\em window}, int {\em borderless})}}
+\label{group__Ecore__X__MWM__Group_gdd08a6aa95562bc0483d6713159ae196}
+
+
+Sets the borderless flag of a window using MWM. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window. \item[{\em borderless}]The borderless flag. \end{description}
+\end{Desc}
+\hypertarget{group__Ecore__X__MWM__Group_gb11364ecc304187a8e54dba77ee36dbe}{
+\index{Ecore_X_MWM_Group@{Ecore\_\-X\_\-MWM\_\-Group}!ecore_x_mwm_hints_get@{ecore\_\-x\_\-mwm\_\-hints\_\-get}}
+\index{ecore_x_mwm_hints_get@{ecore\_\-x\_\-mwm\_\-hints\_\-get}!Ecore_X_MWM_Group@{Ecore\_\-X\_\-MWM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-mwm\_\-hints\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-x\_\-mwm\_\-hints\_\-get (Ecore\_\-X\_\-Window window {\em \_\-\_\-UNUSED\_\-\_\-}, Ecore\_\-X\_\-MWM\_\-Hint\_\-Func $\ast$ {\em fhint}, Ecore\_\-X\_\-MWM\_\-Hint\_\-Decor $\ast$ {\em dhint}, Ecore\_\-X\_\-MWM\_\-Hint\_\-Input $\ast$ {\em ihint})}}
+\label{group__Ecore__X__MWM__Group_gb11364ecc304187a8e54dba77ee36dbe}
+
+
+To document. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]Unused. \item[{\em fhint}]To document. \item[{\em dhint}]To document. \item[{\em ihint}]To document. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]1 on success, 0 otherwise.\end{Desc}
+To use this function, you must call before, and in order, \hyperlink{group__Ecore__X__MWM__Group_g13d600cbcfd9156adb5be99d86151fdb}{ecore\_\-x\_\-mwm\_\-hints\_\-get\_\-prefetch()}, which sends the Get\-Property request, then \hyperlink{group__Ecore__X__MWM__Group_gc1839719a738530cc96c6ef316ad3696}{ecore\_\-x\_\-mwm\_\-hints\_\-get\_\-fetch()}, which gets the reply. \hypertarget{group__Ecore__X__MWM__Group_g13d600cbcfd9156adb5be99d86151fdb}{
+\index{Ecore_X_MWM_Group@{Ecore\_\-X\_\-MWM\_\-Group}!ecore_x_mwm_hints_get_prefetch@{ecore\_\-x\_\-mwm\_\-hints\_\-get\_\-prefetch}}
+\index{ecore_x_mwm_hints_get_prefetch@{ecore\_\-x\_\-mwm\_\-hints\_\-get\_\-prefetch}!Ecore_X_MWM_Group@{Ecore\_\-X\_\-MWM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-mwm\_\-hints\_\-get\_\-prefetch]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-mwm\_\-hints\_\-get\_\-prefetch (Ecore\_\-X\_\-Window {\em window})}}
+\label{group__Ecore__X__MWM__Group_g13d600cbcfd9156adb5be99d86151fdb}
+
+
+Sends the Get\-Property request. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]Window whose MWM hints are requested. \end{description}
+\end{Desc}
diff --git a/doc/latex/group__Ecore__X__NetWM__Group.tex b/doc/latex/group__Ecore__X__NetWM__Group.tex
new file mode 100644
index 0000000..62e0857
--- /dev/null
+++ b/doc/latex/group__Ecore__X__NetWM__Group.tex
@@ -0,0 +1,1520 @@
+\hypertarget{group__Ecore__X__NetWM__Group}{
+\section{Extended Window Manager Hint (EWMH) functions}
+\label{group__Ecore__X__NetWM__Group}\index{Extended Window Manager Hint (EWMH) functions@{Extended Window Manager Hint (EWMH) functions}}
+}
+Functions related to the Extended Window Manager Hint (EWMH).  
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g44d807f6153f6f51f097fc56e790a593}{ecore\_\-x\_\-netwm\_\-wm\_\-identify} (Ecore\_\-X\_\-Window root, Ecore\_\-X\_\-Window check, const char $\ast$wm\_\-name)
+\begin{CompactList}\small\item\em Set the \_\-NET\_\-SUPPORTING\_\-WM\_\-CHECK property. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g12031ab17e0eef3c63dd1bf4c7286fa8}{ecore\_\-x\_\-netwm\_\-supported\_\-set} (Ecore\_\-X\_\-Window root, Ecore\_\-X\_\-Atom $\ast$supported, int num)
+\begin{CompactList}\small\item\em Set the \_\-NET\_\-SUPPORTED property. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g2298e64a801fd52fd03d04e753bb9ac5}{ecore\_\-x\_\-netwm\_\-supported\_\-get\_\-prefetch} (Ecore\_\-X\_\-Window root)
+\begin{CompactList}\small\item\em Sends the Get\-Property request. \item\end{CompactList}\item 
+\hypertarget{group__Ecore__X__NetWM__Group_gb45c2c7c71faad4640473b18c941b5b5}{
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_gb45c2c7c71faad4640473b18c941b5b5}{ecore\_\-x\_\-netwm\_\-supported\_\-get\_\-fetch} (void)}
+\label{group__Ecore__X__NetWM__Group_gb45c2c7c71faad4640473b18c941b5b5}
+
+\begin{CompactList}\small\item\em Gets the reply of the Get\-Property request sent by \hyperlink{group__Ecore__X__NetWM__Group_g2298e64a801fd52fd03d04e753bb9ac5}{ecore\_\-x\_\-netwm\_\-supported\_\-get\_\-prefetch()}. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__X__NetWM__Group_gec17f7f26685ce7181bffb1eec35179f}{ecore\_\-x\_\-netwm\_\-supported\_\-get} (Ecore\_\-X\_\-Window root, Ecore\_\-X\_\-Atom $\ast$$\ast$supported, int $\ast$num)
+\begin{CompactList}\small\item\em Get the hints supported by the Window Manager. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g322c07ba72236d918277b06dff0ea4fe}{ecore\_\-x\_\-netwm\_\-desk\_\-count\_\-set} (Ecore\_\-X\_\-Window root, unsigned int n\_\-desks)
+\begin{CompactList}\small\item\em Set the \_\-NET\_\-NUMBER\_\-OF\_\-DESKTOPS property. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g8f8bf74f0c30ed772607f77499084ee5}{ecore\_\-x\_\-netwm\_\-desk\_\-roots\_\-set} (Ecore\_\-X\_\-Window root, Ecore\_\-X\_\-Window $\ast$vroots, unsigned int n\_\-desks)
+\begin{CompactList}\small\item\em Set the \_\-NET\_\-VIRTUAL\_\-ROOTS property. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_gb6e059d70483327b0b3f213ccbfe65d6}{ecore\_\-x\_\-netwm\_\-desk\_\-names\_\-set} (Ecore\_\-X\_\-Window root, const char $\ast$$\ast$names, unsigned int n\_\-desks)
+\begin{CompactList}\small\item\em Set the \_\-NET\_\-DESKTOP\_\-NAMES property. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_gefa6bb9baeb95ac40932ed8982583572}{ecore\_\-x\_\-netwm\_\-desk\_\-size\_\-set} (Ecore\_\-X\_\-Window root, unsigned int width, unsigned int height)
+\begin{CompactList}\small\item\em Set the \_\-NET\_\-DESKTOP\_\-GEOMETRY property. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g4cacddaf13318184e2cbd2f9ab07720d}{ecore\_\-x\_\-netwm\_\-desk\_\-viewports\_\-set} (Ecore\_\-X\_\-Window root, unsigned int $\ast$origins, unsigned int n\_\-desks)
+\begin{CompactList}\small\item\em Set the \_\-NET\_\-DESKTOP\_\-VIEWPORT property. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_gfe24bdee07f814b0e4bf5f3e5cf5d288}{ecore\_\-x\_\-netwm\_\-desk\_\-layout\_\-set} (Ecore\_\-X\_\-Window root, int orientation, int columns, int rows, int starting\_\-corner)
+\begin{CompactList}\small\item\em Set the \_\-NET\_\-DESKTOP\_\-LAYOUT property. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g8ff0ea85a83041848dba543bf17f8e14}{ecore\_\-x\_\-netwm\_\-desk\_\-workareas\_\-set} (Ecore\_\-X\_\-Window root, unsigned int $\ast$areas, unsigned int n\_\-desks)
+\begin{CompactList}\small\item\em Set the \_\-NET\_\-WORKAREA property. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g8492a55dcd3db992e2619a0edf19cf16}{ecore\_\-x\_\-netwm\_\-desk\_\-current\_\-set} (Ecore\_\-X\_\-Window root, unsigned int desk)
+\begin{CompactList}\small\item\em Set the \_\-NET\_\-CURRENT\_\-DESKTOP property. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g52512f8933d06b8ee1fd69cebbe565b0}{ecore\_\-x\_\-netwm\_\-showing\_\-desktop\_\-set} (Ecore\_\-X\_\-Window root, int on)
+\begin{CompactList}\small\item\em Set the \_\-NET\_\-SHOWING\_\-DESKTOP property. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g1b3bdbcab3968db8b72a2ab036a64619}{ecore\_\-x\_\-netwm\_\-client\_\-list\_\-set} (Ecore\_\-X\_\-Window root, Ecore\_\-X\_\-Window $\ast$p\_\-clients, unsigned int n\_\-clients)
+\begin{CompactList}\small\item\em Set the \_\-NET\_\-CLIENT\_\-LIST property. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g42407d3c3f6f4e2c507697fdbe5fe4e2}{ecore\_\-x\_\-netwm\_\-client\_\-list\_\-stacking\_\-set} (Ecore\_\-X\_\-Window root, Ecore\_\-X\_\-Window $\ast$p\_\-clients, unsigned int n\_\-clients)
+\begin{CompactList}\small\item\em Set the \_\-NET\_\-CLIENT\_\-LIST\_\-STACKING property. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_ge07306aeca9d2a8ab864bc986dc617c5}{ecore\_\-x\_\-netwm\_\-client\_\-active\_\-set} (Ecore\_\-X\_\-Window root, Ecore\_\-X\_\-Window window)
+\begin{CompactList}\small\item\em Set the \_\-NET\_\-ACTIVE\_\-WINDOW property. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_ga121d2f05c29129c8281d69403589b7a}{ecore\_\-x\_\-netwm\_\-name\_\-set} (Ecore\_\-X\_\-Window window, const char $\ast$name)
+\begin{CompactList}\small\item\em Set the \_\-NET\_\-WM\_\-NAME property. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_ga6e282dd3aa3d0924b99cb290e7012b9}{ecore\_\-x\_\-netwm\_\-name\_\-get\_\-prefetch} (Ecore\_\-X\_\-Window window)
+\begin{CompactList}\small\item\em Sends the Get\-Property request. \item\end{CompactList}\item 
+\hypertarget{group__Ecore__X__NetWM__Group_g3029e5b4e62456951f3b3858d4f42af1}{
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g3029e5b4e62456951f3b3858d4f42af1}{ecore\_\-x\_\-netwm\_\-name\_\-get\_\-fetch} (void)}
+\label{group__Ecore__X__NetWM__Group_g3029e5b4e62456951f3b3858d4f42af1}
+
+\begin{CompactList}\small\item\em Gets the reply of the Get\-Property request sent by \hyperlink{group__Ecore__X__NetWM__Group_ga6e282dd3aa3d0924b99cb290e7012b9}{ecore\_\-x\_\-netwm\_\-name\_\-get\_\-prefetch()}. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__X__NetWM__Group_g8d99b216ec82ffcb58eef434118e0b53}{ecore\_\-x\_\-netwm\_\-name\_\-get} (Ecore\_\-X\_\-Window window, char $\ast$$\ast$name)
+\begin{CompactList}\small\item\em Get the title of a window. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g19db748363e7cfb68cf8fb6ece03b487}{ecore\_\-x\_\-netwm\_\-startup\_\-id\_\-set} (Ecore\_\-X\_\-Window window, const char $\ast$id)
+\begin{CompactList}\small\item\em Set the \_\-NET\_\-STARTUP\_\-ID property. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g35ec39bf0e6f22417fd8877b76556e93}{ecore\_\-x\_\-netwm\_\-startup\_\-id\_\-get\_\-prefetch} (Ecore\_\-X\_\-Window window)
+\begin{CompactList}\small\item\em Sends the Get\-Property request. \item\end{CompactList}\item 
+\hypertarget{group__Ecore__X__NetWM__Group_g5a097958575bf1708b485ecce9123775}{
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g5a097958575bf1708b485ecce9123775}{ecore\_\-x\_\-netwm\_\-startup\_\-id\_\-get\_\-fetch} (void)}
+\label{group__Ecore__X__NetWM__Group_g5a097958575bf1708b485ecce9123775}
+
+\begin{CompactList}\small\item\em Gets the reply of the Get\-Property request sent by \hyperlink{group__Ecore__X__NetWM__Group_g35ec39bf0e6f22417fd8877b76556e93}{ecore\_\-x\_\-netwm\_\-startup\_\-id\_\-get\_\-prefetch()}. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__X__NetWM__Group_gbca67ffb95ff2c3a71f4ce657384ea21}{ecore\_\-x\_\-netwm\_\-startup\_\-id\_\-get} (Ecore\_\-X\_\-Window window, char $\ast$$\ast$id)
+\begin{CompactList}\small\item\em Get the startup ID name of a window. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g24a8a5d819450c7191f69adda491ff31}{ecore\_\-x\_\-netwm\_\-visible\_\-name\_\-set} (Ecore\_\-X\_\-Window window, const char $\ast$name)
+\begin{CompactList}\small\item\em Set the \_\-NET\_\-WM\_\-VISIBLE\_\-NAME property. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g8053d77e36a5c5bcc67d45cd6b630f2d}{ecore\_\-x\_\-netwm\_\-visible\_\-name\_\-get\_\-prefetch} (Ecore\_\-X\_\-Window window)
+\begin{CompactList}\small\item\em Sends the Get\-Property request. \item\end{CompactList}\item 
+\hypertarget{group__Ecore__X__NetWM__Group_g85c72fa3d53b56b589cc45977c3116d1}{
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g85c72fa3d53b56b589cc45977c3116d1}{ecore\_\-x\_\-netwm\_\-visible\_\-name\_\-get\_\-fetch} (void)}
+\label{group__Ecore__X__NetWM__Group_g85c72fa3d53b56b589cc45977c3116d1}
+
+\begin{CompactList}\small\item\em Gets the reply of the Get\-Property request sent by \hyperlink{group__Ecore__X__NetWM__Group_g8053d77e36a5c5bcc67d45cd6b630f2d}{ecore\_\-x\_\-netwm\_\-visible\_\-name\_\-get\_\-prefetch()}. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__X__NetWM__Group_ga5dfabdd704c5691b2c0ba158e55c1c0}{ecore\_\-x\_\-netwm\_\-visible\_\-name\_\-get} (Ecore\_\-X\_\-Window window, char $\ast$$\ast$name)
+\begin{CompactList}\small\item\em Get the visible title of a window. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g095da6e161bd8ae983dfe586025e47da}{ecore\_\-x\_\-netwm\_\-icon\_\-name\_\-set} (Ecore\_\-X\_\-Window window, const char $\ast$name)
+\begin{CompactList}\small\item\em Set the \_\-NET\_\-WM\_\-ICON\_\-NAME property. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g39f5a089389baa4b8f91fad1e5f6469d}{ecore\_\-x\_\-netwm\_\-icon\_\-name\_\-get\_\-prefetch} (Ecore\_\-X\_\-Window window)
+\begin{CompactList}\small\item\em Sends the Get\-Property request. \item\end{CompactList}\item 
+\hypertarget{group__Ecore__X__NetWM__Group_g91c577b0478be6378a35eeee31fdbf15}{
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g91c577b0478be6378a35eeee31fdbf15}{ecore\_\-x\_\-netwm\_\-icon\_\-name\_\-get\_\-fetch} (void)}
+\label{group__Ecore__X__NetWM__Group_g91c577b0478be6378a35eeee31fdbf15}
+
+\begin{CompactList}\small\item\em Gets the reply of the Get\-Property request sent by \hyperlink{group__Ecore__X__NetWM__Group_g39f5a089389baa4b8f91fad1e5f6469d}{ecore\_\-x\_\-netwm\_\-icon\_\-name\_\-get\_\-prefetch()}. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__X__NetWM__Group_g81a5e7fc189b36887a409a1eda026905}{ecore\_\-x\_\-netwm\_\-icon\_\-name\_\-get} (Ecore\_\-X\_\-Window window, char $\ast$$\ast$name)
+\begin{CompactList}\small\item\em Get the icon name of a window. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_gc2b69cd1230eea36d59fd93c65c96588}{ecore\_\-x\_\-netwm\_\-visible\_\-icon\_\-name\_\-set} (Ecore\_\-X\_\-Window window, const char $\ast$name)
+\begin{CompactList}\small\item\em Set the \_\-NET\_\-WM\_\-VISIBLE\_\-ICON\_\-NAME property. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g5ac2253b2d29710e3a8ecd59b7398f41}{ecore\_\-x\_\-netwm\_\-visible\_\-icon\_\-name\_\-get\_\-prefetch} (Ecore\_\-X\_\-Window window)
+\begin{CompactList}\small\item\em Sends the Get\-Property request. \item\end{CompactList}\item 
+\hypertarget{group__Ecore__X__NetWM__Group_g76267594cda1098b20e56ffbae9b7bd0}{
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g76267594cda1098b20e56ffbae9b7bd0}{ecore\_\-x\_\-netwm\_\-visible\_\-icon\_\-name\_\-get\_\-fetch} (void)}
+\label{group__Ecore__X__NetWM__Group_g76267594cda1098b20e56ffbae9b7bd0}
+
+\begin{CompactList}\small\item\em Gets the reply of the Get\-Property request sent by \hyperlink{group__Ecore__X__NetWM__Group_g5ac2253b2d29710e3a8ecd59b7398f41}{ecore\_\-x\_\-netwm\_\-visible\_\-icon\_\-name\_\-get\_\-prefetch()}. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__X__NetWM__Group_g1aa26ca13404f31badec8c0792794b30}{ecore\_\-x\_\-netwm\_\-visible\_\-icon\_\-name\_\-get} (Ecore\_\-X\_\-Window window, char $\ast$$\ast$name)
+\begin{CompactList}\small\item\em Get the visible icon name of a window. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_gfabc012ab9cfb8e642e14bbca947ed33}{ecore\_\-x\_\-netwm\_\-desktop\_\-set} (Ecore\_\-X\_\-Window window, unsigned int desk)
+\begin{CompactList}\small\item\em Set the \_\-NET\_\-WM\_\-DESKTOP property. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g2f3fc6b45d60750498fa30733bc6d227}{ecore\_\-x\_\-netwm\_\-desktop\_\-get\_\-prefetch} (Ecore\_\-X\_\-Window window)
+\begin{CompactList}\small\item\em Sends the Get\-Property request. \item\end{CompactList}\item 
+\hypertarget{group__Ecore__X__NetWM__Group_g3a4860d6235719bf820867f571582a8b}{
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g3a4860d6235719bf820867f571582a8b}{ecore\_\-x\_\-netwm\_\-desktop\_\-get\_\-fetch} (void)}
+\label{group__Ecore__X__NetWM__Group_g3a4860d6235719bf820867f571582a8b}
+
+\begin{CompactList}\small\item\em Gets the reply of the Get\-Property request sent by \hyperlink{group__Ecore__X__NetWM__Group_g2f3fc6b45d60750498fa30733bc6d227}{ecore\_\-x\_\-netwm\_\-desktop\_\-get\_\-prefetch()}. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__X__NetWM__Group_g46906092a13f8613a8a6fb5cc53e25ee}{ecore\_\-x\_\-netwm\_\-desktop\_\-get} (Ecore\_\-X\_\-Window window, unsigned int $\ast$desk)
+\begin{CompactList}\small\item\em Get the visible icon name of a window. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g4f33da6e5b143351ff2fa3d75ec0c59d}{ecore\_\-x\_\-netwm\_\-strut\_\-set} (Ecore\_\-X\_\-Window window, int left, int right, int top, int bottom)
+\begin{CompactList}\small\item\em Set the \_\-NET\_\-WM\_\-STRUT property. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g5a39840d1cbd5ce185b10b46ffa4e3a5}{ecore\_\-x\_\-netwm\_\-strut\_\-get\_\-prefetch} (Ecore\_\-X\_\-Window window)
+\begin{CompactList}\small\item\em Sends the Get\-Property request. \item\end{CompactList}\item 
+\hypertarget{group__Ecore__X__NetWM__Group_g6576ef3eb6fb134194ea6062379f4ecc}{
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g6576ef3eb6fb134194ea6062379f4ecc}{ecore\_\-x\_\-netwm\_\-strut\_\-get\_\-fetch} (void)}
+\label{group__Ecore__X__NetWM__Group_g6576ef3eb6fb134194ea6062379f4ecc}
+
+\begin{CompactList}\small\item\em Gets the reply of the Get\-Property request sent by ecore\_\-x\_\-strut\_\-get\_\-prefetch(). \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__X__NetWM__Group_g90dfc865f2a978097c1161c3db4fdaa4}{ecore\_\-x\_\-netwm\_\-strut\_\-get} (Ecore\_\-X\_\-Window window, int $\ast$left, int $\ast$right, int $\ast$top, int $\ast$bottom)
+\begin{CompactList}\small\item\em Get the space at the edje of the screen. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_gc305c545e5589069bdb82d8af3d3a446}{ecore\_\-x\_\-netwm\_\-strut\_\-partial\_\-set} (Ecore\_\-X\_\-Window window, int left, int right, int top, int bottom, int left\_\-start\_\-y, int left\_\-end\_\-y, int right\_\-start\_\-y, int right\_\-end\_\-y, int top\_\-start\_\-x, int top\_\-end\_\-x, int bottom\_\-start\_\-x, int bottom\_\-end\_\-x)
+\begin{CompactList}\small\item\em Set the \_\-NET\_\-WM\_\-STRUT\_\-PARTIAL property. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g14c97c9a08537d7437aa69d1f03ec473}{ecore\_\-x\_\-netwm\_\-strut\_\-partial\_\-get\_\-prefetch} (Ecore\_\-X\_\-Window window)
+\begin{CompactList}\small\item\em Sends the Get\-Property request. \item\end{CompactList}\item 
+\hypertarget{group__Ecore__X__NetWM__Group_g8efb784e5af202e2fffc40457b00115a}{
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g8efb784e5af202e2fffc40457b00115a}{ecore\_\-x\_\-netwm\_\-strut\_\-partial\_\-get\_\-fetch} (void)}
+\label{group__Ecore__X__NetWM__Group_g8efb784e5af202e2fffc40457b00115a}
+
+\begin{CompactList}\small\item\em Gets the reply of the Get\-Property request sent by ecore\_\-x\_\-strut\_\-partial\_\-get\_\-prefetch(). \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__X__NetWM__Group_g9151d0e817387bd0c28de180c688b06f}{ecore\_\-x\_\-netwm\_\-strut\_\-partial\_\-get} (Ecore\_\-X\_\-Window window, int $\ast$left, int $\ast$right, int $\ast$top, int $\ast$bottom, int $\ast$left\_\-start\_\-y, int $\ast$left\_\-end\_\-y, int $\ast$right\_\-start\_\-y, int $\ast$right\_\-end\_\-y, int $\ast$top\_\-start\_\-x, int $\ast$top\_\-end\_\-x, int $\ast$bottom\_\-start\_\-x, int $\ast$bottom\_\-end\_\-x)
+\begin{CompactList}\small\item\em Get the space at the edje of the screen of a window. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_gbea0854073f61fc3387d9685ccb0eecf}{ecore\_\-x\_\-netwm\_\-icons\_\-get\_\-prefetch} (Ecore\_\-X\_\-Window window)
+\begin{CompactList}\small\item\em Sends the Get\-Property request. \item\end{CompactList}\item 
+\hypertarget{group__Ecore__X__NetWM__Group_g53300609f0803527f01471bd97b61fe2}{
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g53300609f0803527f01471bd97b61fe2}{ecore\_\-x\_\-netwm\_\-icons\_\-get\_\-fetch} (void)}
+\label{group__Ecore__X__NetWM__Group_g53300609f0803527f01471bd97b61fe2}
+
+\begin{CompactList}\small\item\em Gets the reply of the Get\-Property request sent by ecore\_\-x\_\-icons\_\-get\_\-prefetch(). \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__X__NetWM__Group_g5d0490b2c0543142f56cfc51c11c1fe1}{ecore\_\-x\_\-netwm\_\-icons\_\-get} (Ecore\_\-X\_\-Window window, Ecore\_\-X\_\-Icon $\ast$$\ast$icon, int $\ast$num)
+\begin{CompactList}\small\item\em Retrieve hte possible icons of a window. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g88f5e4ec0da5d2cb64241c38e3589fdf}{ecore\_\-x\_\-netwm\_\-icon\_\-geometry\_\-set} (Ecore\_\-X\_\-Window window, int x, int y, int width, int height)
+\begin{CompactList}\small\item\em Set the \_\-NET\_\-WM\_\-ICON\_\-GEOMETRY property. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_gf03e99e4cd1c59bb20ccc37d93d78733}{ecore\_\-x\_\-netwm\_\-icon\_\-geometry\_\-get\_\-prefetch} (Ecore\_\-X\_\-Window window)
+\begin{CompactList}\small\item\em Sends the Get\-Property request. \item\end{CompactList}\item 
+\hypertarget{group__Ecore__X__NetWM__Group_g01bcd4044b8d94ff7cc56f9ca5831c1d}{
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g01bcd4044b8d94ff7cc56f9ca5831c1d}{ecore\_\-x\_\-netwm\_\-icon\_\-geometry\_\-get\_\-fetch} (void)}
+\label{group__Ecore__X__NetWM__Group_g01bcd4044b8d94ff7cc56f9ca5831c1d}
+
+\begin{CompactList}\small\item\em Gets the reply of the Get\-Property request sent by ecore\_\-x\_\-icon\_\-geometry\_\-get\_\-prefetch(). \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__X__NetWM__Group_g4b7029e67d6e8d8ca72154c2c912113d}{ecore\_\-x\_\-netwm\_\-icon\_\-geometry\_\-get} (Ecore\_\-X\_\-Window window, int $\ast$x, int $\ast$y, int $\ast$width, int $\ast$height)
+\begin{CompactList}\small\item\em Get the geometry of an icon. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g3b7b3076e9ea1b106f36873b258322d4}{ecore\_\-x\_\-netwm\_\-pid\_\-set} (Ecore\_\-X\_\-Window window, int pid)
+\begin{CompactList}\small\item\em Set the \_\-NET\_\-WM\_\-PID property. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_ge77708a72902c28e22af4baaca9aaac2}{ecore\_\-x\_\-netwm\_\-pid\_\-get\_\-prefetch} (Ecore\_\-X\_\-Window window)
+\begin{CompactList}\small\item\em Sends the Get\-Property request. \item\end{CompactList}\item 
+\hypertarget{group__Ecore__X__NetWM__Group_g716dba22ff552654642756b9527c3f29}{
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g716dba22ff552654642756b9527c3f29}{ecore\_\-x\_\-netwm\_\-pid\_\-get\_\-fetch} (void)}
+\label{group__Ecore__X__NetWM__Group_g716dba22ff552654642756b9527c3f29}
+
+\begin{CompactList}\small\item\em Gets the reply of the Get\-Property request sent by ecore\_\-x\_\-pid\_\-get\_\-prefetch(). \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__X__NetWM__Group_gea2442fd0c4d5871e9a92518abb0092d}{ecore\_\-x\_\-netwm\_\-pid\_\-get} (Ecore\_\-X\_\-Window window, int $\ast$pid)
+\begin{CompactList}\small\item\em Get the process ID of a client window. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_gba74ce8c16ea452ae31f30dad3a2d694}{ecore\_\-x\_\-netwm\_\-handled\_\-icons\_\-set} (Ecore\_\-X\_\-Window window)
+\begin{CompactList}\small\item\em Set the \_\-NET\_\-WM\_\-HANDLED\_\-ICONS property. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g432b8b3d09b56e82e7e529ffcfc56afd}{ecore\_\-x\_\-netwm\_\-handled\_\-icons\_\-get\_\-prefetch} (Ecore\_\-X\_\-Window window)
+\begin{CompactList}\small\item\em Sends the Get\-Property request. \item\end{CompactList}\item 
+\hypertarget{group__Ecore__X__NetWM__Group_g131d350d9088e13e55bd88f6f74da4ef}{
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g131d350d9088e13e55bd88f6f74da4ef}{ecore\_\-x\_\-netwm\_\-handled\_\-icons\_\-get\_\-fetch} (void)}
+\label{group__Ecore__X__NetWM__Group_g131d350d9088e13e55bd88f6f74da4ef}
+
+\begin{CompactList}\small\item\em Gets the reply of the Get\-Property request sent by ecore\_\-x\_\-handled\_\-icons\_\-get\_\-prefetch(). \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__X__NetWM__Group_gacca4387980183d6993f980ad42a4869}{ecore\_\-x\_\-netwm\_\-handled\_\-icons\_\-get} (Ecore\_\-X\_\-Window window)
+\begin{CompactList}\small\item\em Return wheter the Client handles icons or not. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_gee0bb29864b98894ec02631236f4e794}{ecore\_\-x\_\-netwm\_\-user\_\-time\_\-set} (Ecore\_\-X\_\-Window window, unsigned int time)
+\begin{CompactList}\small\item\em Set the \_\-NET\_\-WM\_\-USER\_\-TIME property. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g547c35302c92ebfc5e6f54120755593a}{ecore\_\-x\_\-netwm\_\-user\_\-time\_\-get\_\-prefetch} (Ecore\_\-X\_\-Window window)
+\begin{CompactList}\small\item\em Sends the Get\-Property request. \item\end{CompactList}\item 
+\hypertarget{group__Ecore__X__NetWM__Group_g2f0ad96d62d836f07e13def405a1fa96}{
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g2f0ad96d62d836f07e13def405a1fa96}{ecore\_\-x\_\-netwm\_\-user\_\-time\_\-get\_\-fetch} (void)}
+\label{group__Ecore__X__NetWM__Group_g2f0ad96d62d836f07e13def405a1fa96}
+
+\begin{CompactList}\small\item\em Gets the reply of the Get\-Property request sent by \hyperlink{group__Ecore__X__NetWM__Group_g547c35302c92ebfc5e6f54120755593a}{ecore\_\-x\_\-netwm\_\-user\_\-time\_\-get\_\-prefetch()}. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__X__NetWM__Group_gc65c380e26c8efe810d21be5a013578a}{ecore\_\-x\_\-netwm\_\-user\_\-time\_\-get} (Ecore\_\-X\_\-Window window, unsigned int $\ast$time)
+\begin{CompactList}\small\item\em Get the last user activity time in the window. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g48ea0e54441b6ffc81494151a3b4a53f}{ecore\_\-x\_\-netwm\_\-window\_\-state\_\-set} (Ecore\_\-X\_\-Window window, Ecore\_\-X\_\-Window\_\-State $\ast$state, unsigned int num)
+\begin{CompactList}\small\item\em Set the \_\-NET\_\-WM\_\-STATE property. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g325c8c4da075d776a4f91517648cd113}{ecore\_\-x\_\-netwm\_\-window\_\-state\_\-get\_\-prefetch} (Ecore\_\-X\_\-Window window)
+\begin{CompactList}\small\item\em Sends the Get\-Property request. \item\end{CompactList}\item 
+\hypertarget{group__Ecore__X__NetWM__Group_g7db6800a36f20f764cfe63a58004e422}{
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g7db6800a36f20f764cfe63a58004e422}{ecore\_\-x\_\-netwm\_\-window\_\-state\_\-get\_\-fetch} (void)}
+\label{group__Ecore__X__NetWM__Group_g7db6800a36f20f764cfe63a58004e422}
+
+\begin{CompactList}\small\item\em Gets the reply of the Get\-Property request sent by ecore\_\-x\_\-window\_\-state\_\-get\_\-prefetch(). \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__X__NetWM__Group_g00b9620c98d37de04870a48ade2bd1cf}{ecore\_\-x\_\-netwm\_\-window\_\-state\_\-get} (Ecore\_\-X\_\-Window window, Ecore\_\-X\_\-Window\_\-State $\ast$$\ast$state, unsigned int $\ast$num)
+\begin{CompactList}\small\item\em Get the hints describing the window state. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g350b959efbc770f72bcf99fd925c5af7}{ecore\_\-x\_\-netwm\_\-window\_\-type\_\-set} (Ecore\_\-X\_\-Window window, Ecore\_\-X\_\-Window\_\-Type type)
+\begin{CompactList}\small\item\em Set the \_\-NET\_\-WM\_\-WINDOW\_\-TYPE property. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g26ef48c528e62c9fcca0cd0bde5705ac}{ecore\_\-x\_\-netwm\_\-window\_\-type\_\-get\_\-prefetch} (Ecore\_\-X\_\-Window window)
+\begin{CompactList}\small\item\em Sends the Get\-Property request. \item\end{CompactList}\item 
+\hypertarget{group__Ecore__X__NetWM__Group_ge94b43f91956f6043a20eb4c49d6ed43}{
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_ge94b43f91956f6043a20eb4c49d6ed43}{ecore\_\-x\_\-netwm\_\-window\_\-type\_\-get\_\-fetch} (void)}
+\label{group__Ecore__X__NetWM__Group_ge94b43f91956f6043a20eb4c49d6ed43}
+
+\begin{CompactList}\small\item\em Gets the reply of the Get\-Property request sent by ecore\_\-x\_\-window\_\-type\_\-get\_\-prefetch(). \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__X__NetWM__Group_g2c6e85b979a52f7f33d202582e904f15}{ecore\_\-x\_\-netwm\_\-window\_\-type\_\-get} (Ecore\_\-X\_\-Window window, Ecore\_\-X\_\-Window\_\-Type $\ast$type)
+\begin{CompactList}\small\item\em Get the functional type of a window. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g533d21602d8068a40172b2a10199eaa5}{ecore\_\-x\_\-netwm\_\-allowed\_\-action\_\-get\_\-prefetch} (Ecore\_\-X\_\-Window window)
+\begin{CompactList}\small\item\em Sends the Get\-Property request. \item\end{CompactList}\item 
+\hypertarget{group__Ecore__X__NetWM__Group_gb96c5f54e223e873a1922baca7acb2a1}{
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_gb96c5f54e223e873a1922baca7acb2a1}{ecore\_\-x\_\-netwm\_\-allowed\_\-action\_\-get\_\-fetch} (void)}
+\label{group__Ecore__X__NetWM__Group_gb96c5f54e223e873a1922baca7acb2a1}
+
+\begin{CompactList}\small\item\em Gets the reply of the Get\-Property request sent by ecore\_\-x\_\-allowed\_\-action\_\-get\_\-prefetch(). \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__X__NetWM__Group_ga23f72ae825d6dfedf36d0a80e11003e}{ecore\_\-x\_\-netwm\_\-allowed\_\-action\_\-isset} (Ecore\_\-X\_\-Window window, Ecore\_\-X\_\-Action action)
+\begin{CompactList}\small\item\em Check whether an action is supported by a window. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_gd2aff9c983f0c54caec591c69254b486}{ecore\_\-x\_\-netwm\_\-allowed\_\-action\_\-set} (Ecore\_\-X\_\-Window window, Ecore\_\-X\_\-Action $\ast$action, unsigned int num)
+\begin{CompactList}\small\item\em Set the \_\-NET\_\-WM\_\-ALLOWED\_\-ACTIONS property. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__X__NetWM__Group_gf99a4b8847575af7482902d14fac6410}{ecore\_\-x\_\-netwm\_\-allowed\_\-action\_\-get} (Ecore\_\-X\_\-Window window, Ecore\_\-X\_\-Action $\ast$$\ast$action, unsigned int $\ast$num)
+\begin{CompactList}\small\item\em Get the allowed actions supported by a window. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g216585b4c71fe63e2694878792b2cc47}{ecore\_\-x\_\-netwm\_\-opacity\_\-set} (Ecore\_\-X\_\-Window window, unsigned int opacity)
+\begin{CompactList}\small\item\em Set the \_\-NET\_\-WM\_\-WINDOW\_\-OPACITY property. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_gadfb0b4c5d3894bc2c24bad6231ed08b}{ecore\_\-x\_\-netwm\_\-opacity\_\-get\_\-prefetch} (Ecore\_\-X\_\-Window window)
+\begin{CompactList}\small\item\em Sends the Get\-Property request. \item\end{CompactList}\item 
+\hypertarget{group__Ecore__X__NetWM__Group_g746631a94bf98b07b45d4e378786b85b}{
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g746631a94bf98b07b45d4e378786b85b}{ecore\_\-x\_\-netwm\_\-opacity\_\-get\_\-fetch} (void)}
+\label{group__Ecore__X__NetWM__Group_g746631a94bf98b07b45d4e378786b85b}
+
+\begin{CompactList}\small\item\em Gets the reply of the Get\-Property request sent by \hyperlink{group__Ecore__X__NetWM__Group_gadfb0b4c5d3894bc2c24bad6231ed08b}{ecore\_\-x\_\-netwm\_\-opacity\_\-get\_\-prefetch()}. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__X__NetWM__Group_g9a28cefe24d304940b5e2cc86a2154a3}{ecore\_\-x\_\-netwm\_\-opacity\_\-get} (Ecore\_\-X\_\-Window window, unsigned int $\ast$opacity)
+\begin{CompactList}\small\item\em Get the opacity value of a window. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g43c3ae6cd045ef6726bec3f97477fe5d}{ecore\_\-x\_\-netwm\_\-frame\_\-size\_\-set} (Ecore\_\-X\_\-Window window, int fl, int fr, int ft, int fb)
+\begin{CompactList}\small\item\em Set the \_\-NET\_\-FRAME\_\-EXTENTS property. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g89e2f7a4267ffb61387a6463b316ddee}{ecore\_\-x\_\-netwm\_\-frame\_\-size\_\-get\_\-prefetch} (Ecore\_\-X\_\-Window window)
+\begin{CompactList}\small\item\em Sends the Get\-Property request. \item\end{CompactList}\item 
+\hypertarget{group__Ecore__X__NetWM__Group_g784b4a524a5bae008ff3f6c8b7a1f1cc}{
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g784b4a524a5bae008ff3f6c8b7a1f1cc}{ecore\_\-x\_\-netwm\_\-frame\_\-size\_\-get\_\-fetch} (void)}
+\label{group__Ecore__X__NetWM__Group_g784b4a524a5bae008ff3f6c8b7a1f1cc}
+
+\begin{CompactList}\small\item\em Gets the reply of the Get\-Property request sent by \hyperlink{group__Ecore__X__NetWM__Group_g89e2f7a4267ffb61387a6463b316ddee}{ecore\_\-x\_\-netwm\_\-frame\_\-size\_\-get\_\-prefetch()}. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__X__NetWM__Group_gc80dafdb077ef65d18c4eb9e6632efbe}{ecore\_\-x\_\-netwm\_\-frame\_\-size\_\-get} (Ecore\_\-X\_\-Window window, int $\ast$fl, int $\ast$fr, int $\ast$ft, int $\ast$fb)
+\begin{CompactList}\small\item\em Get the frame extent of a window. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g6328ad18c00e8ba89eb137a64223d5a8}{ecore\_\-x\_\-netwm\_\-sync\_\-counter\_\-get\_\-prefetch} (Ecore\_\-X\_\-Window window)
+\begin{CompactList}\small\item\em Sends the Get\-Property request. \item\end{CompactList}\item 
+\hypertarget{group__Ecore__X__NetWM__Group_g8ffd4e73e1a00cad7963207f3812132a}{
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g8ffd4e73e1a00cad7963207f3812132a}{ecore\_\-x\_\-netwm\_\-sync\_\-counter\_\-get\_\-fetch} (void)}
+\label{group__Ecore__X__NetWM__Group_g8ffd4e73e1a00cad7963207f3812132a}
+
+\begin{CompactList}\small\item\em Gets the reply of the Get\-Property request sent by \hyperlink{group__Ecore__X__NetWM__Group_g6328ad18c00e8ba89eb137a64223d5a8}{ecore\_\-x\_\-netwm\_\-sync\_\-counter\_\-get\_\-prefetch()}. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__X__NetWM__Group_g81e23a83ca85e33e46410454e86411b2}{ecore\_\-x\_\-netwm\_\-sync\_\-counter\_\-get} (Ecore\_\-X\_\-Window window, Ecore\_\-X\_\-Sync\_\-Counter $\ast$counter)
+\begin{CompactList}\small\item\em Get the X ID of a X Sync counter. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g598ec951dbe83f40e1a202411dee5940}{ecore\_\-x\_\-netwm\_\-ping\_\-send} (Ecore\_\-X\_\-Window window)
+\begin{CompactList}\small\item\em Send a \_\-NET\_\-WM\_\-PING property event. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g47005260f3688f6f604b4038ab6d13f1}{ecore\_\-x\_\-netwm\_\-sync\_\-request\_\-send} (Ecore\_\-X\_\-Window window, unsigned int serial)
+\begin{CompactList}\small\item\em Send a \_\-NET\_\-WM\_\-SYNC\_\-REQUEST property event. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g8620f15ce29d7f6aaddce6a4d557c678}{ecore\_\-x\_\-netwm\_\-state\_\-request\_\-send} (Ecore\_\-X\_\-Window window, Ecore\_\-X\_\-Window root, Ecore\_\-X\_\-Window\_\-State s1, Ecore\_\-X\_\-Window\_\-State s2, int set)
+\begin{CompactList}\small\item\em Send a \_\-NET\_\-WM\_\-STATE property event. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__NetWM__Group_g100be4f0f4342c5917167f28573f1763}{ecore\_\-x\_\-netwm\_\-desktop\_\-request\_\-send} (Ecore\_\-X\_\-Window window, Ecore\_\-X\_\-Window root, unsigned int desktop)
+\begin{CompactList}\small\item\em Send a \_\-NET\_\-WM\_\-DESKTOP property event. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__X__NetWM__Group_gf50ef199db219e0aac5ae1195d4e85a5}{ecore\_\-x\_\-screen\_\-is\_\-composited} (int screen)
+\begin{CompactList}\small\item\em Check whether a screen is composited or not. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Functions related to the Extended Window Manager Hint (EWMH). 
+
+
+
+\subsection{Function Documentation}
+\hypertarget{group__Ecore__X__NetWM__Group_gf99a4b8847575af7482902d14fac6410}{
+\index{Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}!ecore_x_netwm_allowed_action_get@{ecore\_\-x\_\-netwm\_\-allowed\_\-action\_\-get}}
+\index{ecore_x_netwm_allowed_action_get@{ecore\_\-x\_\-netwm\_\-allowed\_\-action\_\-get}!Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-netwm\_\-allowed\_\-action\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-x\_\-netwm\_\-allowed\_\-action\_\-get (Ecore\_\-X\_\-Window {\em window}, Ecore\_\-X\_\-Action $\ast$$\ast$ {\em action}, unsigned int $\ast$ {\em num})}}
+\label{group__Ecore__X__NetWM__Group_gf99a4b8847575af7482902d14fac6410}
+
+
+Get the allowed actions supported by a window. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window. \item[{\em action}]The returned array of the actions. \item[{\em num}]The number of actions. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]1 on success, 0 otherwise.\end{Desc}
+Retrieve the user operations that the Window Manager supports for {\tt window} and store them in {\tt action}. The number of actions is stored in {\tt num}. This function returns 1 on success, 0 otherwise.
+
+To use this function, you must call before, and in order, \hyperlink{group__Ecore__X__NetWM__Group_g533d21602d8068a40172b2a10199eaa5}{ecore\_\-x\_\-netwm\_\-allowed\_\-action\_\-get\_\-prefetch()}, which sends the Get\-Property request, then \hyperlink{group__Ecore__X__NetWM__Group_gb96c5f54e223e873a1922baca7acb2a1}{ecore\_\-x\_\-netwm\_\-allowed\_\-action\_\-get\_\-fetch()}, which gets the reply. \hypertarget{group__Ecore__X__NetWM__Group_g533d21602d8068a40172b2a10199eaa5}{
+\index{Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}!ecore_x_netwm_allowed_action_get_prefetch@{ecore\_\-x\_\-netwm\_\-allowed\_\-action\_\-get\_\-prefetch}}
+\index{ecore_x_netwm_allowed_action_get_prefetch@{ecore\_\-x\_\-netwm\_\-allowed\_\-action\_\-get\_\-prefetch}!Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-netwm\_\-allowed\_\-action\_\-get\_\-prefetch]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-netwm\_\-allowed\_\-action\_\-get\_\-prefetch (Ecore\_\-X\_\-Window {\em window})}}
+\label{group__Ecore__X__NetWM__Group_g533d21602d8068a40172b2a10199eaa5}
+
+
+Sends the Get\-Property request. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window. \end{description}
+\end{Desc}
+\hypertarget{group__Ecore__X__NetWM__Group_ga23f72ae825d6dfedf36d0a80e11003e}{
+\index{Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}!ecore_x_netwm_allowed_action_isset@{ecore\_\-x\_\-netwm\_\-allowed\_\-action\_\-isset}}
+\index{ecore_x_netwm_allowed_action_isset@{ecore\_\-x\_\-netwm\_\-allowed\_\-action\_\-isset}!Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-netwm\_\-allowed\_\-action\_\-isset]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-x\_\-netwm\_\-allowed\_\-action\_\-isset (Ecore\_\-X\_\-Window {\em window}, Ecore\_\-X\_\-Action {\em action})}}
+\label{group__Ecore__X__NetWM__Group_ga23f72ae825d6dfedf36d0a80e11003e}
+
+
+Check whether an action is supported by a window. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window \item[{\em action}]The action \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]1 if set, 0 otherwise.\end{Desc}
+Return whether the user operation {\tt action} is supported by the Window Manager for {\tt window}.
+
+To use this function, you must call before, and in order, \hyperlink{group__Ecore__X__NetWM__Group_g533d21602d8068a40172b2a10199eaa5}{ecore\_\-x\_\-netwm\_\-allowed\_\-action\_\-get\_\-prefetch()}, which sends the Get\-Property request, then \hyperlink{group__Ecore__X__NetWM__Group_gb96c5f54e223e873a1922baca7acb2a1}{ecore\_\-x\_\-netwm\_\-allowed\_\-action\_\-get\_\-fetch()}, which gets the reply. \hypertarget{group__Ecore__X__NetWM__Group_gd2aff9c983f0c54caec591c69254b486}{
+\index{Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}!ecore_x_netwm_allowed_action_set@{ecore\_\-x\_\-netwm\_\-allowed\_\-action\_\-set}}
+\index{ecore_x_netwm_allowed_action_set@{ecore\_\-x\_\-netwm\_\-allowed\_\-action\_\-set}!Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-netwm\_\-allowed\_\-action\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-netwm\_\-allowed\_\-action\_\-set (Ecore\_\-X\_\-Window {\em window}, Ecore\_\-X\_\-Action $\ast$ {\em action}, unsigned int {\em num})}}
+\label{group__Ecore__X__NetWM__Group_gd2aff9c983f0c54caec591c69254b486}
+
+
+Set the \_\-NET\_\-WM\_\-ALLOWED\_\-ACTIONS property. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window. \item[{\em action}]An array of allowed actions. \item[{\em num}]The number of actions.\end{description}
+\end{Desc}
+Set the user operations that the Window Manager supports for {\tt window} by sending the \_\-NET\_\-WM\_\-ALLOWED\_\-ACTIONS property to {\tt window}. {\tt action} stores {\tt num} actions.
+
+To use this function, you must call before, and in order, \hyperlink{group__Ecore__X__NetWM__Group_g533d21602d8068a40172b2a10199eaa5}{ecore\_\-x\_\-netwm\_\-allowed\_\-action\_\-get\_\-prefetch()}, which sends the Get\-Property request, then \hyperlink{group__Ecore__X__NetWM__Group_gb96c5f54e223e873a1922baca7acb2a1}{ecore\_\-x\_\-netwm\_\-allowed\_\-action\_\-get\_\-fetch()}, which gets the reply. \hypertarget{group__Ecore__X__NetWM__Group_ge07306aeca9d2a8ab864bc986dc617c5}{
+\index{Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}!ecore_x_netwm_client_active_set@{ecore\_\-x\_\-netwm\_\-client\_\-active\_\-set}}
+\index{ecore_x_netwm_client_active_set@{ecore\_\-x\_\-netwm\_\-client\_\-active\_\-set}!Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-netwm\_\-client\_\-active\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-netwm\_\-client\_\-active\_\-set (Ecore\_\-X\_\-Window {\em root}, Ecore\_\-X\_\-Window {\em window})}}
+\label{group__Ecore__X__NetWM__Group_ge07306aeca9d2a8ab864bc986dc617c5}
+
+
+Set the \_\-NET\_\-ACTIVE\_\-WINDOW property. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em root}]The root window. \item[{\em window}]The widow to activate.\end{description}
+\end{Desc}
+Activate {\tt window} by sending the \_\-NET\_\-ACTIVE\_\-WINDOW property to the {\tt root} window.
+
+If a Client wants to activate another window, it MUST call this function. \hypertarget{group__Ecore__X__NetWM__Group_g1b3bdbcab3968db8b72a2ab036a64619}{
+\index{Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}!ecore_x_netwm_client_list_set@{ecore\_\-x\_\-netwm\_\-client\_\-list\_\-set}}
+\index{ecore_x_netwm_client_list_set@{ecore\_\-x\_\-netwm\_\-client\_\-list\_\-set}!Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-netwm\_\-client\_\-list\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-netwm\_\-client\_\-list\_\-set (Ecore\_\-X\_\-Window {\em root}, Ecore\_\-X\_\-Window $\ast$ {\em p\_\-clients}, unsigned int {\em n\_\-clients})}}
+\label{group__Ecore__X__NetWM__Group_g1b3bdbcab3968db8b72a2ab036a64619}
+
+
+Set the \_\-NET\_\-CLIENT\_\-LIST property. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em root}]The root window. \item[{\em p\_\-clients}]An array of windows. \item[{\em n\_\-clients}]The number of windows.\end{description}
+\end{Desc}
+Map all the X windows managed by the window manager from the oldest to the newest by sending the \_\-NET\_\-CLIENT\_\-LIST property to the {\tt root} window. The X windows are stored in {\tt p\_\-clients} and their number in {\tt n\_\-clients}.
+
+This function SHOULD be called by the Window Manager. \hypertarget{group__Ecore__X__NetWM__Group_g42407d3c3f6f4e2c507697fdbe5fe4e2}{
+\index{Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}!ecore_x_netwm_client_list_stacking_set@{ecore\_\-x\_\-netwm\_\-client\_\-list\_\-stacking\_\-set}}
+\index{ecore_x_netwm_client_list_stacking_set@{ecore\_\-x\_\-netwm\_\-client\_\-list\_\-stacking\_\-set}!Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-netwm\_\-client\_\-list\_\-stacking\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-netwm\_\-client\_\-list\_\-stacking\_\-set (Ecore\_\-X\_\-Window {\em root}, Ecore\_\-X\_\-Window $\ast$ {\em p\_\-clients}, unsigned int {\em n\_\-clients})}}
+\label{group__Ecore__X__NetWM__Group_g42407d3c3f6f4e2c507697fdbe5fe4e2}
+
+
+Set the \_\-NET\_\-CLIENT\_\-LIST\_\-STACKING property. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em root}]The root window. \item[{\em p\_\-clients}]An array of windows. \item[{\em n\_\-clients}]The number of windows.\end{description}
+\end{Desc}
+Stack all the X windows managed by the window manager from bottom to top order by sending the \_\-NET\_\-CLIENT\_\-LIST\_\-STACKING property to the {\tt root} window. The X windows are stored in {\tt p\_\-clients} and their number in {\tt n\_\-clients}.
+
+This function SHOULD be called by the Window Manager. \hypertarget{group__Ecore__X__NetWM__Group_g322c07ba72236d918277b06dff0ea4fe}{
+\index{Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}!ecore_x_netwm_desk_count_set@{ecore\_\-x\_\-netwm\_\-desk\_\-count\_\-set}}
+\index{ecore_x_netwm_desk_count_set@{ecore\_\-x\_\-netwm\_\-desk\_\-count\_\-set}!Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-netwm\_\-desk\_\-count\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-netwm\_\-desk\_\-count\_\-set (Ecore\_\-X\_\-Window {\em root}, unsigned int {\em n\_\-desks})}}
+\label{group__Ecore__X__NetWM__Group_g322c07ba72236d918277b06dff0ea4fe}
+
+
+Set the \_\-NET\_\-NUMBER\_\-OF\_\-DESKTOPS property. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em root}]The root window. \item[{\em n\_\-desks}]The number of desktops.\end{description}
+\end{Desc}
+Set the number of desktops {\tt n\_\-desks} of the Window Manager by sending the \_\-NET\_\-NUMBER\_\-OF\_\-DESKTOPS to the {\tt root} window.
+
+The Window Manager SHOULD set and update this property to indicate the number of virtual desktops. A Pager can request a change in the number of desktops by using that function. \hypertarget{group__Ecore__X__NetWM__Group_g8492a55dcd3db992e2619a0edf19cf16}{
+\index{Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}!ecore_x_netwm_desk_current_set@{ecore\_\-x\_\-netwm\_\-desk\_\-current\_\-set}}
+\index{ecore_x_netwm_desk_current_set@{ecore\_\-x\_\-netwm\_\-desk\_\-current\_\-set}!Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-netwm\_\-desk\_\-current\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-netwm\_\-desk\_\-current\_\-set (Ecore\_\-X\_\-Window {\em root}, unsigned int {\em desk})}}
+\label{group__Ecore__X__NetWM__Group_g8492a55dcd3db992e2619a0edf19cf16}
+
+
+Set the \_\-NET\_\-CURRENT\_\-DESKTOP property. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em root}]The root window. \item[{\em desk}]The index of the current desktop.\end{description}
+\end{Desc}
+Set the current desktop by sending the \_\-NET\_\-CURRENT\_\-DESKTOP to the {\tt root} window. {\tt deskmust} be an integer number between 0 and the number of desks (set by \hyperlink{group__Ecore__X__NetWM__Group_g322c07ba72236d918277b06dff0ea4fe}{ecore\_\-x\_\-netwm\_\-desk\_\-count\_\-set()}) -1.
+
+This function MUST be called by the Window Manager. If a Pagerwants to switch to naother desktop, it MUST call that function. \hypertarget{group__Ecore__X__NetWM__Group_gfe24bdee07f814b0e4bf5f3e5cf5d288}{
+\index{Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}!ecore_x_netwm_desk_layout_set@{ecore\_\-x\_\-netwm\_\-desk\_\-layout\_\-set}}
+\index{ecore_x_netwm_desk_layout_set@{ecore\_\-x\_\-netwm\_\-desk\_\-layout\_\-set}!Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-netwm\_\-desk\_\-layout\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-netwm\_\-desk\_\-layout\_\-set (Ecore\_\-X\_\-Window {\em root}, int {\em orientation}, int {\em columns}, int {\em rows}, int {\em starting\_\-corner})}}
+\label{group__Ecore__X__NetWM__Group_gfe24bdee07f814b0e4bf5f3e5cf5d288}
+
+
+Set the \_\-NET\_\-DESKTOP\_\-LAYOUT property. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em root}]The root window. \item[{\em orientation}]\item[{\em columns}]\item[{\em rows}]\item[{\em starting\_\-corner}]Set the layout of virtual desktops relative to each other by sending the \_\-NET\_\-DESKTOP\_\-LAYOUT to the {\tt root} window. {\tt orientation} defines the orientation of the virtual desktop. 0 means horizontal layout, 1 means vertical layout. {\tt columns} is the number of desktops in the X direction and {\tt rows} is the number in the Y direction. {\tt starting\_\-corner} is the corner containing the first desktop. The values for {\tt starting\_\-corner} are 0 (top-left), 1 (top-right), 2 (bottom-right) and 3 (bottom-left).\end{description}
+\end{Desc}
+When the orientation is horizontal the desktops are laid out in rows, with the first desktop in the specified starting corner. So a layout with four columns and three rows starting in the top-left corner looks like this:
+
++--+--+--+--+ $|$ 0$|$ 1$|$ 2$|$ 3$|$ +--+--+--+--+ $|$ 4$|$ 5$|$ 6$|$ 7$|$ +--+--+--+--+ $|$ 8$|$ 9$|$10$|$11$|$ +--+--+--+--+
+
+With {\tt starting\_\-corner} being bottom-right, it looks like this:
+
++--+--+--+--+ $|$11$|$10$|$ 9$|$ 8$|$ +--+--+--+--+ $|$ 7$|$ 6$|$ 5$|$ 4$|$ +--+--+--+--+ $|$ 3$|$ 2$|$ 1$|$ 0$|$ +--+--+--+--+
+
+When the orientation is vertical the layout with four columns and three rows starting in the top-left corner looks like:
+
++--+--+--+--+ $|$ 0$|$ 3$|$ 6$|$ 9$|$ +--+--+--+--+ $|$ 1$|$ 4$|$ 7$|$10$|$ +--+--+--+--+ $|$ 2$|$ 5$|$ 8$|$11$|$ +--+--+--+--+
+
+With {\tt starting\_\-corner} being top-right, it looks like:
+
++--+--+--+--+ $|$ 9$|$ 6$|$ 3$|$ 0$|$ +--+--+--+--+ $|$10$|$ 7$|$ 4$|$ 1$|$ +--+--+--+--+ $|$11$|$ 8$|$ 5$|$ 2$|$ +--+--+--+--+
+
+This function MUST be used by a Pager and NOT by the Window Manager. When using this function, the Pager must own a manager selection. \hypertarget{group__Ecore__X__NetWM__Group_gb6e059d70483327b0b3f213ccbfe65d6}{
+\index{Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}!ecore_x_netwm_desk_names_set@{ecore\_\-x\_\-netwm\_\-desk\_\-names\_\-set}}
+\index{ecore_x_netwm_desk_names_set@{ecore\_\-x\_\-netwm\_\-desk\_\-names\_\-set}!Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-netwm\_\-desk\_\-names\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-netwm\_\-desk\_\-names\_\-set (Ecore\_\-X\_\-Window {\em root}, const char $\ast$$\ast$ {\em names}, unsigned int {\em n\_\-desks})}}
+\label{group__Ecore__X__NetWM__Group_gb6e059d70483327b0b3f213ccbfe65d6}
+
+
+Set the \_\-NET\_\-DESKTOP\_\-NAMES property. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em root}]The root window. \item[{\em names}]The names of the virtual desktops. \item[{\em n\_\-desks}]The number of virtual desktops.\end{description}
+\end{Desc}
+Set the name of each virtual desktop by sending the \_\-NET\_\-DESKTOP\_\-NAMES to the {\tt root} window. {\tt names} are the names of the virtual desktops and {\tt n\_\-desks} is the number of virtual desktops.
+
+A Pager MAY use that function. {\tt n\_\-desks} may be different from the one passed to \hyperlink{group__Ecore__X__NetWM__Group_g322c07ba72236d918277b06dff0ea4fe}{ecore\_\-x\_\-netwm\_\-desk\_\-count\_\-set()}. If it less or equal, then the desktops with high numbers are unnamed. If it is larger, then the excess names are considered to be reserved in case the number of desktops is increased. \hypertarget{group__Ecore__X__NetWM__Group_g8f8bf74f0c30ed772607f77499084ee5}{
+\index{Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}!ecore_x_netwm_desk_roots_set@{ecore\_\-x\_\-netwm\_\-desk\_\-roots\_\-set}}
+\index{ecore_x_netwm_desk_roots_set@{ecore\_\-x\_\-netwm\_\-desk\_\-roots\_\-set}!Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-netwm\_\-desk\_\-roots\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-netwm\_\-desk\_\-roots\_\-set (Ecore\_\-X\_\-Window {\em root}, Ecore\_\-X\_\-Window $\ast$ {\em vroots}, unsigned int {\em n\_\-desks})}}
+\label{group__Ecore__X__NetWM__Group_g8f8bf74f0c30ed772607f77499084ee5}
+
+
+Set the \_\-NET\_\-VIRTUAL\_\-ROOTS property. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em root}]The root window. \item[{\em vroots}]The virtual root windows. \item[{\em n\_\-desks}]The number of desks.\end{description}
+\end{Desc}
+Set the number of virtual desktops by sending the \_\-NET\_\-VIRTUAL\_\-ROOTS property to the {\tt root} window. {\tt vroots} is an array of window and {\tt n\_\-desks} is the number of windows.
+
+A Window Manager that implements virtual desktops by reparent client windows to a child of the root window MUST use that function. \hypertarget{group__Ecore__X__NetWM__Group_gefa6bb9baeb95ac40932ed8982583572}{
+\index{Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}!ecore_x_netwm_desk_size_set@{ecore\_\-x\_\-netwm\_\-desk\_\-size\_\-set}}
+\index{ecore_x_netwm_desk_size_set@{ecore\_\-x\_\-netwm\_\-desk\_\-size\_\-set}!Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-netwm\_\-desk\_\-size\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-netwm\_\-desk\_\-size\_\-set (Ecore\_\-X\_\-Window {\em root}, unsigned int {\em width}, unsigned int {\em height})}}
+\label{group__Ecore__X__NetWM__Group_gefa6bb9baeb95ac40932ed8982583572}
+
+
+Set the \_\-NET\_\-DESKTOP\_\-GEOMETRY property. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em root}]The root window. \item[{\em width}]The width of the desktop. \item[{\em height}]The height of the desktop.\end{description}
+\end{Desc}
+Set the common {\tt width} and {\tt height} of all desktops by sending the \_\-NET\_\-DESKTOP\_\-GEOMETRY to the {\tt root} window.
+
+This size is equal to the screen size if the Window Manager doesn't support large desktops, otherwise it's equal to the virtual size of the desktop. The Window Manager SHOULD set this property. A Pager can request a change in the desktop geometry by using this function. \hypertarget{group__Ecore__X__NetWM__Group_g4cacddaf13318184e2cbd2f9ab07720d}{
+\index{Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}!ecore_x_netwm_desk_viewports_set@{ecore\_\-x\_\-netwm\_\-desk\_\-viewports\_\-set}}
+\index{ecore_x_netwm_desk_viewports_set@{ecore\_\-x\_\-netwm\_\-desk\_\-viewports\_\-set}!Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-netwm\_\-desk\_\-viewports\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-netwm\_\-desk\_\-viewports\_\-set (Ecore\_\-X\_\-Window {\em root}, unsigned int $\ast$ {\em origins}, unsigned int {\em n\_\-desks})}}
+\label{group__Ecore__X__NetWM__Group_g4cacddaf13318184e2cbd2f9ab07720d}
+
+
+Set the \_\-NET\_\-DESKTOP\_\-VIEWPORT property. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em root}]The root window. \item[{\em origins}]An array of paris of coordiantes. \item[{\em n\_\-desks}]The number of virtual desktops.\end{description}
+\end{Desc}
+Set the top left corner of each desktop's viewport by sending the \_\-NET\_\-DESKTOP\_\-VIEWPORT property to the {\tt root} window. {\tt origins} contains each pair of X coordinate and Y coordinate of the top left corner of each desktop's viewport.
+
+If the Window Manager does not support large desktops, the coordinates MUST be (0,0). A Pager can request to change the viewport for the current desktop by using this function. \hypertarget{group__Ecore__X__NetWM__Group_g8ff0ea85a83041848dba543bf17f8e14}{
+\index{Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}!ecore_x_netwm_desk_workareas_set@{ecore\_\-x\_\-netwm\_\-desk\_\-workareas\_\-set}}
+\index{ecore_x_netwm_desk_workareas_set@{ecore\_\-x\_\-netwm\_\-desk\_\-workareas\_\-set}!Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-netwm\_\-desk\_\-workareas\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-netwm\_\-desk\_\-workareas\_\-set (Ecore\_\-X\_\-Window {\em root}, unsigned int $\ast$ {\em areas}, unsigned int {\em n\_\-desks})}}
+\label{group__Ecore__X__NetWM__Group_g8ff0ea85a83041848dba543bf17f8e14}
+
+
+Set the \_\-NET\_\-WORKAREA property. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em root}]The root window. \item[{\em areas}]An array of areas. \item[{\em n\_\-desks}]The number of desks.\end{description}
+\end{Desc}
+Set the work area for each desktop by sending the \_\-NET\_\-WORKAREA property to the {\tt root} window. An area contains the geometry (X and Y coordinates, width and height). These geometries are specified relative to the viewport on each desktop and specify an area that is completely contained within the viewport. {\tt areas} stores these geometries. {\tt n\_\-desks} is the number of geometry to set.
+
+This function MUST be set by the Window Manager. It is used by desktop applications to place desktop icons appropriately. \hypertarget{group__Ecore__X__NetWM__Group_g46906092a13f8613a8a6fb5cc53e25ee}{
+\index{Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}!ecore_x_netwm_desktop_get@{ecore\_\-x\_\-netwm\_\-desktop\_\-get}}
+\index{ecore_x_netwm_desktop_get@{ecore\_\-x\_\-netwm\_\-desktop\_\-get}!Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-netwm\_\-desktop\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-x\_\-netwm\_\-desktop\_\-get (Ecore\_\-X\_\-Window {\em window}, unsigned int $\ast$ {\em desk})}}
+\label{group__Ecore__X__NetWM__Group_g46906092a13f8613a8a6fb5cc53e25ee}
+
+
+Get the visible icon name of a window. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window. \item[{\em desk}]The desktop index. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]1 on success, 0 otherwise.\end{Desc}
+Retrieve the desktop index in which {\tt window} is displayed and store it in {\tt desk}. If {\tt desk} value is 0x\-FFFFFFFF, the window appears on all desktops. The function returns 1 on success, 0 otherwise.
+
+To use this function, you must call before, and in order, \hyperlink{group__Ecore__X__NetWM__Group_g2f3fc6b45d60750498fa30733bc6d227}{ecore\_\-x\_\-netwm\_\-desktop\_\-get\_\-prefetch()}, which sends the Get\-Property request, then \hyperlink{group__Ecore__X__NetWM__Group_g3a4860d6235719bf820867f571582a8b}{ecore\_\-x\_\-netwm\_\-desktop\_\-get\_\-fetch()}, which gets the reply. \hypertarget{group__Ecore__X__NetWM__Group_g2f3fc6b45d60750498fa30733bc6d227}{
+\index{Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}!ecore_x_netwm_desktop_get_prefetch@{ecore\_\-x\_\-netwm\_\-desktop\_\-get\_\-prefetch}}
+\index{ecore_x_netwm_desktop_get_prefetch@{ecore\_\-x\_\-netwm\_\-desktop\_\-get\_\-prefetch}!Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-netwm\_\-desktop\_\-get\_\-prefetch]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-netwm\_\-desktop\_\-get\_\-prefetch (Ecore\_\-X\_\-Window {\em window})}}
+\label{group__Ecore__X__NetWM__Group_g2f3fc6b45d60750498fa30733bc6d227}
+
+
+Sends the Get\-Property request. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window. \end{description}
+\end{Desc}
+\hypertarget{group__Ecore__X__NetWM__Group_g100be4f0f4342c5917167f28573f1763}{
+\index{Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}!ecore_x_netwm_desktop_request_send@{ecore\_\-x\_\-netwm\_\-desktop\_\-request\_\-send}}
+\index{ecore_x_netwm_desktop_request_send@{ecore\_\-x\_\-netwm\_\-desktop\_\-request\_\-send}!Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-netwm\_\-desktop\_\-request\_\-send]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-netwm\_\-desktop\_\-request\_\-send (Ecore\_\-X\_\-Window {\em window}, Ecore\_\-X\_\-Window {\em root}, unsigned int {\em desktop})}}
+\label{group__Ecore__X__NetWM__Group_g100be4f0f4342c5917167f28573f1763}
+
+
+Send a \_\-NET\_\-WM\_\-DESKTOP property event. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window. \item[{\em root}]The root window. \item[{\em desktop}]The new desktop index.\end{description}
+\end{Desc}
+Send a Client\-Message event from {\tt window} to the {\tt root} window with the \_\-NET\_\-WM\_\-DESKTOP property set. This change the state of a non-withdrawn window. {\tt desktop} is the new desktop index to set. \hypertarget{group__Ecore__X__NetWM__Group_gfabc012ab9cfb8e642e14bbca947ed33}{
+\index{Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}!ecore_x_netwm_desktop_set@{ecore\_\-x\_\-netwm\_\-desktop\_\-set}}
+\index{ecore_x_netwm_desktop_set@{ecore\_\-x\_\-netwm\_\-desktop\_\-set}!Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-netwm\_\-desktop\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-netwm\_\-desktop\_\-set (Ecore\_\-X\_\-Window {\em window}, unsigned int {\em desk})}}
+\label{group__Ecore__X__NetWM__Group_gfabc012ab9cfb8e642e14bbca947ed33}
+
+
+Set the \_\-NET\_\-WM\_\-DESKTOP property. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window. \item[{\em desk}]The desktop index.\end{description}
+\end{Desc}
+Set on which desktop the {\tt window} is in by sending the \_\-NET\_\-WM\_\-DESKTOP property to {\tt window}. {\tt desk} is the index of the desktop, starting from 0. To indicate that the window should appear on all desktops, {\tt desk} must be equal to 0x\-FFFFFFFF.
+
+A Client MAY choose not to set this property, in which case the Window Manager SHOULD place it as it wishes.
+
+The Window Manager should honor \_\-NET\_\-WM\_\-DESKTOP whenever a withdrawn window requests to be mapped.
+
+A Client can request a change of desktop for a non-withdrawn window by sending a \_\-NET\_\-WM\_\-DESKTOP client message to the root window. \hypertarget{group__Ecore__X__NetWM__Group_gc80dafdb077ef65d18c4eb9e6632efbe}{
+\index{Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}!ecore_x_netwm_frame_size_get@{ecore\_\-x\_\-netwm\_\-frame\_\-size\_\-get}}
+\index{ecore_x_netwm_frame_size_get@{ecore\_\-x\_\-netwm\_\-frame\_\-size\_\-get}!Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-netwm\_\-frame\_\-size\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-x\_\-netwm\_\-frame\_\-size\_\-get (Ecore\_\-X\_\-Window {\em window}, int $\ast$ {\em fl}, int $\ast$ {\em fr}, int $\ast$ {\em ft}, int $\ast$ {\em fb})}}
+\label{group__Ecore__X__NetWM__Group_gc80dafdb077ef65d18c4eb9e6632efbe}
+
+
+Get the frame extent of a window. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window. \item[{\em fl}]The number of pixels of the left border of the window. \item[{\em fr}]The number of pixels of the right border of the window. \item[{\em ft}]The number of pixels of the top border of the window. \item[{\em fb}]The number of pixels of the bottom border of the window. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]1 on success, 0 otherwise.\end{Desc}
+Retrieve the frame extents of {\tt window}. The number of pixels of the left, right, top and bottom border of {\tt window} are respectively stored in {\tt fl}, {\tt fr}, {\tt ft} anfd {\tt fb}. TYhis function retuirns 1 on success, 0 otherwise.
+
+To use this function, you must call before, and in order, \hyperlink{group__Ecore__X__NetWM__Group_g89e2f7a4267ffb61387a6463b316ddee}{ecore\_\-x\_\-netwm\_\-frame\_\-size\_\-get\_\-prefetch()}, which sends the Get\-Property request, then \hyperlink{group__Ecore__X__NetWM__Group_g784b4a524a5bae008ff3f6c8b7a1f1cc}{ecore\_\-x\_\-netwm\_\-frame\_\-size\_\-get\_\-fetch()}, which gets the reply. \hypertarget{group__Ecore__X__NetWM__Group_g89e2f7a4267ffb61387a6463b316ddee}{
+\index{Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}!ecore_x_netwm_frame_size_get_prefetch@{ecore\_\-x\_\-netwm\_\-frame\_\-size\_\-get\_\-prefetch}}
+\index{ecore_x_netwm_frame_size_get_prefetch@{ecore\_\-x\_\-netwm\_\-frame\_\-size\_\-get\_\-prefetch}!Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-netwm\_\-frame\_\-size\_\-get\_\-prefetch]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-netwm\_\-frame\_\-size\_\-get\_\-prefetch (Ecore\_\-X\_\-Window {\em window})}}
+\label{group__Ecore__X__NetWM__Group_g89e2f7a4267ffb61387a6463b316ddee}
+
+
+Sends the Get\-Property request. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window. \end{description}
+\end{Desc}
+\hypertarget{group__Ecore__X__NetWM__Group_g43c3ae6cd045ef6726bec3f97477fe5d}{
+\index{Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}!ecore_x_netwm_frame_size_set@{ecore\_\-x\_\-netwm\_\-frame\_\-size\_\-set}}
+\index{ecore_x_netwm_frame_size_set@{ecore\_\-x\_\-netwm\_\-frame\_\-size\_\-set}!Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-netwm\_\-frame\_\-size\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-netwm\_\-frame\_\-size\_\-set (Ecore\_\-X\_\-Window {\em window}, int {\em fl}, int {\em fr}, int {\em ft}, int {\em fb})}}
+\label{group__Ecore__X__NetWM__Group_g43c3ae6cd045ef6726bec3f97477fe5d}
+
+
+Set the \_\-NET\_\-FRAME\_\-EXTENTS property. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window. \item[{\em fl}]The number of pixels of the left border of the window. \item[{\em fr}]The number of pixels of the right border of the window. \item[{\em ft}]The number of pixels of the top border of the window. \item[{\em fb}]The number of pixels of the bottom border of the window.\end{description}
+\end{Desc}
+Set the border witdh of {\tt window} by sending the \_\-NET\_\-FRAME\_\-EXTENTS property to {\tt window}. {\tt fl}, {\tt fr}, {\tt ft} and {\tt fb} are respectively the number of pixels of the left, right, top and bottom border of {\tt window}.
+
+The Window Manager MUST set \_\-NET\_\-FRAME\_\-EXTENTS to the extents of the window's frame. \hypertarget{group__Ecore__X__NetWM__Group_gacca4387980183d6993f980ad42a4869}{
+\index{Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}!ecore_x_netwm_handled_icons_get@{ecore\_\-x\_\-netwm\_\-handled\_\-icons\_\-get}}
+\index{ecore_x_netwm_handled_icons_get@{ecore\_\-x\_\-netwm\_\-handled\_\-icons\_\-get}!Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-netwm\_\-handled\_\-icons\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-x\_\-netwm\_\-handled\_\-icons\_\-get (Ecore\_\-X\_\-Window {\em window})}}
+\label{group__Ecore__X__NetWM__Group_gacca4387980183d6993f980ad42a4869}
+
+
+Return wheter the Client handles icons or not. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]1 if icons are handled, 0 otherwise.\end{Desc}
+Return whether the client handles icons or not if {\tt window} is iconified.
+
+To use this function, you must call before, and in order, \hyperlink{group__Ecore__X__NetWM__Group_g432b8b3d09b56e82e7e529ffcfc56afd}{ecore\_\-x\_\-netwm\_\-handled\_\-icons\_\-get\_\-prefetch()}, which sends the Get\-Property request, then \hyperlink{group__Ecore__X__NetWM__Group_g131d350d9088e13e55bd88f6f74da4ef}{ecore\_\-x\_\-netwm\_\-handled\_\-icons\_\-get\_\-fetch()}, which gets the reply. \hypertarget{group__Ecore__X__NetWM__Group_g432b8b3d09b56e82e7e529ffcfc56afd}{
+\index{Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}!ecore_x_netwm_handled_icons_get_prefetch@{ecore\_\-x\_\-netwm\_\-handled\_\-icons\_\-get\_\-prefetch}}
+\index{ecore_x_netwm_handled_icons_get_prefetch@{ecore\_\-x\_\-netwm\_\-handled\_\-icons\_\-get\_\-prefetch}!Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-netwm\_\-handled\_\-icons\_\-get\_\-prefetch]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-netwm\_\-handled\_\-icons\_\-get\_\-prefetch (Ecore\_\-X\_\-Window {\em window})}}
+\label{group__Ecore__X__NetWM__Group_g432b8b3d09b56e82e7e529ffcfc56afd}
+
+
+Sends the Get\-Property request. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window. \end{description}
+\end{Desc}
+\hypertarget{group__Ecore__X__NetWM__Group_gba74ce8c16ea452ae31f30dad3a2d694}{
+\index{Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}!ecore_x_netwm_handled_icons_set@{ecore\_\-x\_\-netwm\_\-handled\_\-icons\_\-set}}
+\index{ecore_x_netwm_handled_icons_set@{ecore\_\-x\_\-netwm\_\-handled\_\-icons\_\-set}!Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-netwm\_\-handled\_\-icons\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-netwm\_\-handled\_\-icons\_\-set (Ecore\_\-X\_\-Window {\em window})}}
+\label{group__Ecore__X__NetWM__Group_gba74ce8c16ea452ae31f30dad3a2d694}
+
+
+Set the \_\-NET\_\-WM\_\-HANDLED\_\-ICONS property. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window.\end{description}
+\end{Desc}
+Indicate to the Window Manager that it does not need to provide icons for the iconified {\tt window} by sending the \_\-NET\_\-WM\_\-HANDLED\_\-ICONS property to {\tt window}.
+
+This function can be used by a Pager on one of its own toplevel windows (for example if the Client is a taskbar and provides buttons for iconified windows). \hypertarget{group__Ecore__X__NetWM__Group_g4b7029e67d6e8d8ca72154c2c912113d}{
+\index{Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}!ecore_x_netwm_icon_geometry_get@{ecore\_\-x\_\-netwm\_\-icon\_\-geometry\_\-get}}
+\index{ecore_x_netwm_icon_geometry_get@{ecore\_\-x\_\-netwm\_\-icon\_\-geometry\_\-get}!Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-netwm\_\-icon\_\-geometry\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-x\_\-netwm\_\-icon\_\-geometry\_\-get (Ecore\_\-X\_\-Window {\em window}, int $\ast$ {\em x}, int $\ast$ {\em y}, int $\ast$ {\em width}, int $\ast$ {\em height})}}
+\label{group__Ecore__X__NetWM__Group_g4b7029e67d6e8d8ca72154c2c912113d}
+
+
+Get the geometry of an icon. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window \item[{\em x}]x \item[{\em x}]The X coordinate of the icon. \item[{\em y}]The Y coordinate of the icon. \item[{\em width}]The width of the icon. \item[{\em height}]The height of the icon. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]1 on success, 0 othrwise.\end{Desc}
+Retrieve the geometry of the icon of {\tt window}. The geometry is stored in {\tt x}, {\tt y}, {\tt width} and {\tt height}. The function returns 1 on success, 0 otherwise.
+
+To use this function, you must call before, and in order, \hyperlink{group__Ecore__X__NetWM__Group_gf03e99e4cd1c59bb20ccc37d93d78733}{ecore\_\-x\_\-netwm\_\-icon\_\-geometry\_\-get\_\-prefetch()}, which sends the Get\-Property request, then \hyperlink{group__Ecore__X__NetWM__Group_g01bcd4044b8d94ff7cc56f9ca5831c1d}{ecore\_\-x\_\-netwm\_\-icon\_\-geometry\_\-get\_\-fetch()}, which gets the reply. \hypertarget{group__Ecore__X__NetWM__Group_gf03e99e4cd1c59bb20ccc37d93d78733}{
+\index{Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}!ecore_x_netwm_icon_geometry_get_prefetch@{ecore\_\-x\_\-netwm\_\-icon\_\-geometry\_\-get\_\-prefetch}}
+\index{ecore_x_netwm_icon_geometry_get_prefetch@{ecore\_\-x\_\-netwm\_\-icon\_\-geometry\_\-get\_\-prefetch}!Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-netwm\_\-icon\_\-geometry\_\-get\_\-prefetch]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-netwm\_\-icon\_\-geometry\_\-get\_\-prefetch (Ecore\_\-X\_\-Window {\em window})}}
+\label{group__Ecore__X__NetWM__Group_gf03e99e4cd1c59bb20ccc37d93d78733}
+
+
+Sends the Get\-Property request. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window. \end{description}
+\end{Desc}
+\hypertarget{group__Ecore__X__NetWM__Group_g88f5e4ec0da5d2cb64241c38e3589fdf}{
+\index{Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}!ecore_x_netwm_icon_geometry_set@{ecore\_\-x\_\-netwm\_\-icon\_\-geometry\_\-set}}
+\index{ecore_x_netwm_icon_geometry_set@{ecore\_\-x\_\-netwm\_\-icon\_\-geometry\_\-set}!Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-netwm\_\-icon\_\-geometry\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-netwm\_\-icon\_\-geometry\_\-set (Ecore\_\-X\_\-Window {\em window}, int {\em x}, int {\em y}, int {\em width}, int {\em height})}}
+\label{group__Ecore__X__NetWM__Group_g88f5e4ec0da5d2cb64241c38e3589fdf}
+
+
+Set the \_\-NET\_\-WM\_\-ICON\_\-GEOMETRY property. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window. \item[{\em x}]The X coordinate of the icon. \item[{\em y}]The Y coordinate of the icon. \item[{\em width}]The width of the icon. \item[{\em height}]The height of the icon.\end{description}
+\end{Desc}
+Set the geometry of the icon of {\tt window} by sending the \_\-NET\_\-WM\_\-ICON\_\-GEOMETRY property to {\tt window}. {\tt x}, {\tt y}, {\tt width} and {\tt height} specify respectively the X coordinate, the Y coordinate, the width and the height of the icon.
+
+Stand alone tools like a taskbar or an iconbox MAY use this function. This functions makes possible for a Window Manager to display a nice animation like morphing the window into its icon. \hypertarget{group__Ecore__X__NetWM__Group_g81a5e7fc189b36887a409a1eda026905}{
+\index{Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}!ecore_x_netwm_icon_name_get@{ecore\_\-x\_\-netwm\_\-icon\_\-name\_\-get}}
+\index{ecore_x_netwm_icon_name_get@{ecore\_\-x\_\-netwm\_\-icon\_\-name\_\-get}!Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-netwm\_\-icon\_\-name\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-x\_\-netwm\_\-icon\_\-name\_\-get (Ecore\_\-X\_\-Window {\em window}, char $\ast$$\ast$ {\em name})}}
+\label{group__Ecore__X__NetWM__Group_g81a5e7fc189b36887a409a1eda026905}
+
+
+Get the icon name of a window. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window. \item[{\em name}]The icon name. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]Returns always 1.\end{Desc}
+Retrieve the icon name of {\tt window} and store it in {\tt name}. The function returns always 1.
+
+To use this function, you must call before, and in order, \hyperlink{group__Ecore__X__NetWM__Group_g39f5a089389baa4b8f91fad1e5f6469d}{ecore\_\-x\_\-netwm\_\-icon\_\-name\_\-get\_\-prefetch()}, which sends the Get\-Property request, then \hyperlink{group__Ecore__X__NetWM__Group_g91c577b0478be6378a35eeee31fdbf15}{ecore\_\-x\_\-netwm\_\-icon\_\-name\_\-get\_\-fetch()}, which gets the reply. \hypertarget{group__Ecore__X__NetWM__Group_g39f5a089389baa4b8f91fad1e5f6469d}{
+\index{Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}!ecore_x_netwm_icon_name_get_prefetch@{ecore\_\-x\_\-netwm\_\-icon\_\-name\_\-get\_\-prefetch}}
+\index{ecore_x_netwm_icon_name_get_prefetch@{ecore\_\-x\_\-netwm\_\-icon\_\-name\_\-get\_\-prefetch}!Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-netwm\_\-icon\_\-name\_\-get\_\-prefetch]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-netwm\_\-icon\_\-name\_\-get\_\-prefetch (Ecore\_\-X\_\-Window {\em window})}}
+\label{group__Ecore__X__NetWM__Group_g39f5a089389baa4b8f91fad1e5f6469d}
+
+
+Sends the Get\-Property request. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window. \end{description}
+\end{Desc}
+\hypertarget{group__Ecore__X__NetWM__Group_g095da6e161bd8ae983dfe586025e47da}{
+\index{Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}!ecore_x_netwm_icon_name_set@{ecore\_\-x\_\-netwm\_\-icon\_\-name\_\-set}}
+\index{ecore_x_netwm_icon_name_set@{ecore\_\-x\_\-netwm\_\-icon\_\-name\_\-set}!Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-netwm\_\-icon\_\-name\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-netwm\_\-icon\_\-name\_\-set (Ecore\_\-X\_\-Window {\em window}, const char $\ast$ {\em name})}}
+\label{group__Ecore__X__NetWM__Group_g095da6e161bd8ae983dfe586025e47da}
+
+
+Set the \_\-NET\_\-WM\_\-ICON\_\-NAME property. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The widow to activate. \item[{\em name}]The icon name of the window.\end{description}
+\end{Desc}
+Set the icon name of {\tt window} to {\tt name} by sending the \_\-NET\_\-WM\_\-ICON\_\-NAME property to {\tt window}.
+
+The Client SHOULD set the title of {\tt window} in UTF-8 encoding. If set, the Window Manager should use this in preference to WM\_\-ICON\_\-NAME. \hypertarget{group__Ecore__X__NetWM__Group_g5d0490b2c0543142f56cfc51c11c1fe1}{
+\index{Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}!ecore_x_netwm_icons_get@{ecore\_\-x\_\-netwm\_\-icons\_\-get}}
+\index{ecore_x_netwm_icons_get@{ecore\_\-x\_\-netwm\_\-icons\_\-get}!Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-netwm\_\-icons\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-x\_\-netwm\_\-icons\_\-get (Ecore\_\-X\_\-Window {\em window}, Ecore\_\-X\_\-Icon $\ast$$\ast$ {\em icon}, int $\ast$ {\em num})}}
+\label{group__Ecore__X__NetWM__Group_g5d0490b2c0543142f56cfc51c11c1fe1}
+
+
+Retrieve hte possible icons of a window. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window \item[{\em icon}]An array of icons. \item[{\em num}]The number of icons. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]1 on success, 0 otherwise.\end{Desc}
+Retrieve an array of possible icons of {\tt window}. The icons are stored in {\tt icon} and their number in {\tt num}.
+
+To use this function, you must call before, and in order, \hyperlink{group__Ecore__X__NetWM__Group_gbea0854073f61fc3387d9685ccb0eecf}{ecore\_\-x\_\-netwm\_\-icons\_\-get\_\-prefetch()}, which sends the Get\-Property request, then \hyperlink{group__Ecore__X__NetWM__Group_g53300609f0803527f01471bd97b61fe2}{ecore\_\-x\_\-netwm\_\-icons\_\-get\_\-fetch()}, which gets the reply. \hypertarget{group__Ecore__X__NetWM__Group_gbea0854073f61fc3387d9685ccb0eecf}{
+\index{Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}!ecore_x_netwm_icons_get_prefetch@{ecore\_\-x\_\-netwm\_\-icons\_\-get\_\-prefetch}}
+\index{ecore_x_netwm_icons_get_prefetch@{ecore\_\-x\_\-netwm\_\-icons\_\-get\_\-prefetch}!Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-netwm\_\-icons\_\-get\_\-prefetch]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-netwm\_\-icons\_\-get\_\-prefetch (Ecore\_\-X\_\-Window {\em window})}}
+\label{group__Ecore__X__NetWM__Group_gbea0854073f61fc3387d9685ccb0eecf}
+
+
+Sends the Get\-Property request. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window. \end{description}
+\end{Desc}
+\hypertarget{group__Ecore__X__NetWM__Group_g8d99b216ec82ffcb58eef434118e0b53}{
+\index{Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}!ecore_x_netwm_name_get@{ecore\_\-x\_\-netwm\_\-name\_\-get}}
+\index{ecore_x_netwm_name_get@{ecore\_\-x\_\-netwm\_\-name\_\-get}!Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-netwm\_\-name\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-x\_\-netwm\_\-name\_\-get (Ecore\_\-X\_\-Window {\em window}, char $\ast$$\ast$ {\em name})}}
+\label{group__Ecore__X__NetWM__Group_g8d99b216ec82ffcb58eef434118e0b53}
+
+
+Get the title of a window. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window. \item[{\em name}]The title name. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]Returns always 1.\end{Desc}
+Retrieve the title name of {\tt window} and store it in {\tt name}. The function returns always 1.
+
+To use this function, you must call before, and in order, \hyperlink{group__Ecore__X__NetWM__Group_ga6e282dd3aa3d0924b99cb290e7012b9}{ecore\_\-x\_\-netwm\_\-name\_\-get\_\-prefetch()}, which sends the Get\-Property request, then \hyperlink{group__Ecore__X__NetWM__Group_g3029e5b4e62456951f3b3858d4f42af1}{ecore\_\-x\_\-netwm\_\-name\_\-get\_\-fetch()}, which gets the reply. \hypertarget{group__Ecore__X__NetWM__Group_ga6e282dd3aa3d0924b99cb290e7012b9}{
+\index{Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}!ecore_x_netwm_name_get_prefetch@{ecore\_\-x\_\-netwm\_\-name\_\-get\_\-prefetch}}
+\index{ecore_x_netwm_name_get_prefetch@{ecore\_\-x\_\-netwm\_\-name\_\-get\_\-prefetch}!Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-netwm\_\-name\_\-get\_\-prefetch]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-netwm\_\-name\_\-get\_\-prefetch (Ecore\_\-X\_\-Window {\em window})}}
+\label{group__Ecore__X__NetWM__Group_ga6e282dd3aa3d0924b99cb290e7012b9}
+
+
+Sends the Get\-Property request. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window. \end{description}
+\end{Desc}
+\hypertarget{group__Ecore__X__NetWM__Group_ga121d2f05c29129c8281d69403589b7a}{
+\index{Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}!ecore_x_netwm_name_set@{ecore\_\-x\_\-netwm\_\-name\_\-set}}
+\index{ecore_x_netwm_name_set@{ecore\_\-x\_\-netwm\_\-name\_\-set}!Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-netwm\_\-name\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-netwm\_\-name\_\-set (Ecore\_\-X\_\-Window {\em window}, const char $\ast$ {\em name})}}
+\label{group__Ecore__X__NetWM__Group_ga121d2f05c29129c8281d69403589b7a}
+
+
+Set the \_\-NET\_\-WM\_\-NAME property. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The widow to activate. \item[{\em name}]The title name of the window.\end{description}
+\end{Desc}
+Set the title name of {\tt window} to {\tt name} by sending the \_\-NET\_\-WM\_\-NAME property to {\tt window}.
+
+The Client SHOULD set the title of {\tt window} in UTF-8 encoding. If set, the Window Manager should use this in preference to WM\_\-NAME. \hypertarget{group__Ecore__X__NetWM__Group_g9a28cefe24d304940b5e2cc86a2154a3}{
+\index{Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}!ecore_x_netwm_opacity_get@{ecore\_\-x\_\-netwm\_\-opacity\_\-get}}
+\index{ecore_x_netwm_opacity_get@{ecore\_\-x\_\-netwm\_\-opacity\_\-get}!Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-netwm\_\-opacity\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-x\_\-netwm\_\-opacity\_\-get (Ecore\_\-X\_\-Window {\em window}, unsigned int $\ast$ {\em opacity})}}
+\label{group__Ecore__X__NetWM__Group_g9a28cefe24d304940b5e2cc86a2154a3}
+
+
+Get the opacity value of a window. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window. \item[{\em opacity}]The returned opacity. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]1 on success, 0 otherwise.\end{Desc}
+Retriee the opacity value of {\tt window} and store it in {\tt opacity}. This function returns 1 on sucess, 0 otherwise.
+
+To use this function, you must call before, and in order, \hyperlink{group__Ecore__X__NetWM__Group_gadfb0b4c5d3894bc2c24bad6231ed08b}{ecore\_\-x\_\-netwm\_\-opacity\_\-get\_\-prefetch()}, which sends the Get\-Property request, then \hyperlink{group__Ecore__X__NetWM__Group_g746631a94bf98b07b45d4e378786b85b}{ecore\_\-x\_\-netwm\_\-opacity\_\-get\_\-fetch()}, which gets the reply. \hypertarget{group__Ecore__X__NetWM__Group_gadfb0b4c5d3894bc2c24bad6231ed08b}{
+\index{Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}!ecore_x_netwm_opacity_get_prefetch@{ecore\_\-x\_\-netwm\_\-opacity\_\-get\_\-prefetch}}
+\index{ecore_x_netwm_opacity_get_prefetch@{ecore\_\-x\_\-netwm\_\-opacity\_\-get\_\-prefetch}!Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-netwm\_\-opacity\_\-get\_\-prefetch]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-netwm\_\-opacity\_\-get\_\-prefetch (Ecore\_\-X\_\-Window {\em window})}}
+\label{group__Ecore__X__NetWM__Group_gadfb0b4c5d3894bc2c24bad6231ed08b}
+
+
+Sends the Get\-Property request. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window. \end{description}
+\end{Desc}
+\hypertarget{group__Ecore__X__NetWM__Group_g216585b4c71fe63e2694878792b2cc47}{
+\index{Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}!ecore_x_netwm_opacity_set@{ecore\_\-x\_\-netwm\_\-opacity\_\-set}}
+\index{ecore_x_netwm_opacity_set@{ecore\_\-x\_\-netwm\_\-opacity\_\-set}!Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-netwm\_\-opacity\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-netwm\_\-opacity\_\-set (Ecore\_\-X\_\-Window {\em window}, unsigned int {\em opacity})}}
+\label{group__Ecore__X__NetWM__Group_g216585b4c71fe63e2694878792b2cc47}
+
+
+Set the \_\-NET\_\-WM\_\-WINDOW\_\-OPACITY property. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window. \item[{\em opacity}]The opacity value.\end{description}
+\end{Desc}
+Set the desired opacity of {\tt window} by sending the \_\-NET\_\-WM\_\-WINDOW\_\-OPACITY property to {\tt window}. {\tt opacity} is 0 for a transparent window and 0xffffffff for an opaque window. {\tt opacity} must be multiplied with the original alpha value of {\tt window} (which is 1 for visuals not including an alpha component) so that {\tt window} content is modulated by the opacity value.
+
+Window Managers acting as compositing managers MAY take this into account when displaying a window. Window Managers MUST forward the value of this property to any enclosing frame window. This property MAY change while the window is mapped and the Window Manager MUST respect changes while the window is mapped. \hypertarget{group__Ecore__X__NetWM__Group_gea2442fd0c4d5871e9a92518abb0092d}{
+\index{Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}!ecore_x_netwm_pid_get@{ecore\_\-x\_\-netwm\_\-pid\_\-get}}
+\index{ecore_x_netwm_pid_get@{ecore\_\-x\_\-netwm\_\-pid\_\-get}!Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-netwm\_\-pid\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-x\_\-netwm\_\-pid\_\-get (Ecore\_\-X\_\-Window {\em window}, int $\ast$ {\em pid})}}
+\label{group__Ecore__X__NetWM__Group_gea2442fd0c4d5871e9a92518abb0092d}
+
+
+Get the process ID of a client window. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window. \item[{\em pid}]The process ID. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]1 on success, 0 otherwise.\end{Desc}
+Retrieve the process ID of {\tt window} and store it in {\tt pid}. This function returns 1 on success, 0 otherwise.
+
+To use this function, you must call before, and in order, \hyperlink{group__Ecore__X__NetWM__Group_ge77708a72902c28e22af4baaca9aaac2}{ecore\_\-x\_\-netwm\_\-pid\_\-get\_\-prefetch()}, which sends the Get\-Property request, then \hyperlink{group__Ecore__X__NetWM__Group_g716dba22ff552654642756b9527c3f29}{ecore\_\-x\_\-netwm\_\-pid\_\-get\_\-fetch()}, which gets the reply. \hypertarget{group__Ecore__X__NetWM__Group_ge77708a72902c28e22af4baaca9aaac2}{
+\index{Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}!ecore_x_netwm_pid_get_prefetch@{ecore\_\-x\_\-netwm\_\-pid\_\-get\_\-prefetch}}
+\index{ecore_x_netwm_pid_get_prefetch@{ecore\_\-x\_\-netwm\_\-pid\_\-get\_\-prefetch}!Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-netwm\_\-pid\_\-get\_\-prefetch]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-netwm\_\-pid\_\-get\_\-prefetch (Ecore\_\-X\_\-Window {\em window})}}
+\label{group__Ecore__X__NetWM__Group_ge77708a72902c28e22af4baaca9aaac2}
+
+
+Sends the Get\-Property request. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window. \end{description}
+\end{Desc}
+\hypertarget{group__Ecore__X__NetWM__Group_g3b7b3076e9ea1b106f36873b258322d4}{
+\index{Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}!ecore_x_netwm_pid_set@{ecore\_\-x\_\-netwm\_\-pid\_\-set}}
+\index{ecore_x_netwm_pid_set@{ecore\_\-x\_\-netwm\_\-pid\_\-set}!Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-netwm\_\-pid\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-netwm\_\-pid\_\-set (Ecore\_\-X\_\-Window {\em window}, int {\em pid})}}
+\label{group__Ecore__X__NetWM__Group_g3b7b3076e9ea1b106f36873b258322d4}
+
+
+Set the \_\-NET\_\-WM\_\-PID property. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window. \item[{\em pid}]The process ID.\end{description}
+\end{Desc}
+Set the process ID of the client owning {\tt window} by sending the \_\-NET\_\-WM\_\-PID property to {\tt window}.
+
+This function MAY be used by the Window Manager to kill windows which do not respond to the \_\-NET\_\-WM\_\-PING protocol.
+
+If \_\-NET\_\-WM\_\-PID is set, the ICCCM-specified property WM\_\-CLIENT\_\-MACHINE MUST also be set. \hypertarget{group__Ecore__X__NetWM__Group_g598ec951dbe83f40e1a202411dee5940}{
+\index{Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}!ecore_x_netwm_ping_send@{ecore\_\-x\_\-netwm\_\-ping\_\-send}}
+\index{ecore_x_netwm_ping_send@{ecore\_\-x\_\-netwm\_\-ping\_\-send}!Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-netwm\_\-ping\_\-send]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-netwm\_\-ping\_\-send (Ecore\_\-X\_\-Window {\em window})}}
+\label{group__Ecore__X__NetWM__Group_g598ec951dbe83f40e1a202411dee5940}
+
+
+Send a \_\-NET\_\-WM\_\-PING property event. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window.\end{description}
+\end{Desc}
+Send a Client\-Message event from {\tt window} with the \_\-NET\_\-WM\_\-PING property set. \hypertarget{group__Ecore__X__NetWM__Group_g52512f8933d06b8ee1fd69cebbe565b0}{
+\index{Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}!ecore_x_netwm_showing_desktop_set@{ecore\_\-x\_\-netwm\_\-showing\_\-desktop\_\-set}}
+\index{ecore_x_netwm_showing_desktop_set@{ecore\_\-x\_\-netwm\_\-showing\_\-desktop\_\-set}!Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-netwm\_\-showing\_\-desktop\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-netwm\_\-showing\_\-desktop\_\-set (Ecore\_\-X\_\-Window {\em root}, int {\em on})}}
+\label{group__Ecore__X__NetWM__Group_g52512f8933d06b8ee1fd69cebbe565b0}
+
+
+Set the \_\-NET\_\-SHOWING\_\-DESKTOP property. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em root}]The root window \item[{\em on}]0 to hide the desktop, non 0 to show it.\end{description}
+\end{Desc}
+Set or unset the desktop in a \char`\"{}showing mode\char`\"{} by sending the \_\-NET\_\-SHOWING\_\-DESKTOP property to the {\tt root} window. If {\tt on} is 0, the windows are hidden and the desktop background is displayed and focused.
+
+If a Pager wants to enter or leave the mode, it MUST use this function. \hypertarget{group__Ecore__X__NetWM__Group_gbca67ffb95ff2c3a71f4ce657384ea21}{
+\index{Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}!ecore_x_netwm_startup_id_get@{ecore\_\-x\_\-netwm\_\-startup\_\-id\_\-get}}
+\index{ecore_x_netwm_startup_id_get@{ecore\_\-x\_\-netwm\_\-startup\_\-id\_\-get}!Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-netwm\_\-startup\_\-id\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-x\_\-netwm\_\-startup\_\-id\_\-get (Ecore\_\-X\_\-Window {\em window}, char $\ast$$\ast$ {\em id})}}
+\label{group__Ecore__X__NetWM__Group_gbca67ffb95ff2c3a71f4ce657384ea21}
+
+
+Get the startup ID name of a window. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window \item[{\em id}]The ID name \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]Return always 1.\end{Desc}
+To use this function, you must call before, and in order, \hyperlink{group__Ecore__X__NetWM__Group_g35ec39bf0e6f22417fd8877b76556e93}{ecore\_\-x\_\-netwm\_\-startup\_\-id\_\-get\_\-prefetch()}, which sends the Get\-Property request, then \hyperlink{group__Ecore__X__NetWM__Group_g5a097958575bf1708b485ecce9123775}{ecore\_\-x\_\-netwm\_\-startup\_\-id\_\-get\_\-fetch()}, which gets the reply. \hypertarget{group__Ecore__X__NetWM__Group_g35ec39bf0e6f22417fd8877b76556e93}{
+\index{Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}!ecore_x_netwm_startup_id_get_prefetch@{ecore\_\-x\_\-netwm\_\-startup\_\-id\_\-get\_\-prefetch}}
+\index{ecore_x_netwm_startup_id_get_prefetch@{ecore\_\-x\_\-netwm\_\-startup\_\-id\_\-get\_\-prefetch}!Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-netwm\_\-startup\_\-id\_\-get\_\-prefetch]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-netwm\_\-startup\_\-id\_\-get\_\-prefetch (Ecore\_\-X\_\-Window {\em window})}}
+\label{group__Ecore__X__NetWM__Group_g35ec39bf0e6f22417fd8877b76556e93}
+
+
+Sends the Get\-Property request. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window. \end{description}
+\end{Desc}
+\hypertarget{group__Ecore__X__NetWM__Group_g19db748363e7cfb68cf8fb6ece03b487}{
+\index{Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}!ecore_x_netwm_startup_id_set@{ecore\_\-x\_\-netwm\_\-startup\_\-id\_\-set}}
+\index{ecore_x_netwm_startup_id_set@{ecore\_\-x\_\-netwm\_\-startup\_\-id\_\-set}!Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-netwm\_\-startup\_\-id\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-netwm\_\-startup\_\-id\_\-set (Ecore\_\-X\_\-Window {\em window}, const char $\ast$ {\em id})}}
+\label{group__Ecore__X__NetWM__Group_g19db748363e7cfb68cf8fb6ece03b487}
+
+
+Set the \_\-NET\_\-STARTUP\_\-ID property. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window. \item[{\em id}]The ID name.\end{description}
+\end{Desc}
+Set the ID {\tt id} used for the startup sequence by sending the property \_\-NET\_\-STARTUP\_\-ID to {\tt window}. The ID name should be encoded in UTF-8.
+
+If a new value for the property is set, the Window Manager should update the window's status accordingly (update its virtual desktop, etc.). \hypertarget{group__Ecore__X__NetWM__Group_g8620f15ce29d7f6aaddce6a4d557c678}{
+\index{Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}!ecore_x_netwm_state_request_send@{ecore\_\-x\_\-netwm\_\-state\_\-request\_\-send}}
+\index{ecore_x_netwm_state_request_send@{ecore\_\-x\_\-netwm\_\-state\_\-request\_\-send}!Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-netwm\_\-state\_\-request\_\-send]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-netwm\_\-state\_\-request\_\-send (Ecore\_\-X\_\-Window {\em window}, Ecore\_\-X\_\-Window {\em root}, Ecore\_\-X\_\-Window\_\-State {\em s1}, Ecore\_\-X\_\-Window\_\-State {\em s2}, int {\em set})}}
+\label{group__Ecore__X__NetWM__Group_g8620f15ce29d7f6aaddce6a4d557c678}
+
+
+Send a \_\-NET\_\-WM\_\-STATE property event. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window. \item[{\em root}]The root window. \item[{\em s1}]The first state to alter. \item[{\em s2}]The second state to alter. \item[{\em set}]0 to unset the property, set it otherwise.\end{description}
+\end{Desc}
+Send a Client\-Message event from {\tt window} to the {\tt root} window with the \_\-NET\_\-WM\_\-STATE property set. This change the state of a mapped window. {\tt s1} is the first state to alter. {\tt s2} is the second state to alter. If {\tt set} value is 0, the property is removed (or unset), otherwise, the property is set. \hypertarget{group__Ecore__X__NetWM__Group_g90dfc865f2a978097c1161c3db4fdaa4}{
+\index{Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}!ecore_x_netwm_strut_get@{ecore\_\-x\_\-netwm\_\-strut\_\-get}}
+\index{ecore_x_netwm_strut_get@{ecore\_\-x\_\-netwm\_\-strut\_\-get}!Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-netwm\_\-strut\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-x\_\-netwm\_\-strut\_\-get (Ecore\_\-X\_\-Window {\em window}, int $\ast$ {\em left}, int $\ast$ {\em right}, int $\ast$ {\em top}, int $\ast$ {\em bottom})}}
+\label{group__Ecore__X__NetWM__Group_g90dfc865f2a978097c1161c3db4fdaa4}
+
+
+Get the space at the edje of the screen. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window \item[{\em left}]The number of pixels at the left of the screen. \item[{\em right}]The number of pixels at the right of the screen. \item[{\em top}]The number of pixels at the top of the screen. \item[{\em bottom}]The number of pixels at the bottom of the screen. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]1 on success, 0 otherwise.\end{Desc}
+Retrieve the space at the edje of the screen if {\tt window} is to reserve such space. The number of pixels at the left, right, top and bottom of the screen are respectively stored in {\tt left}, {\tt right}, {\tt top} and {\tt bottom}. This function returns 1 on success, 0 otherwise.
+
+This property is deprecated. See \hyperlink{group__Ecore__X__NetWM__Group_g4f33da6e5b143351ff2fa3d75ec0c59d}{ecore\_\-x\_\-netwm\_\-strut\_\-set()} for more informations.
+
+To use this function, you must call before, and in order, \hyperlink{group__Ecore__X__NetWM__Group_g5a39840d1cbd5ce185b10b46ffa4e3a5}{ecore\_\-x\_\-netwm\_\-strut\_\-get\_\-prefetch()}, which sends the Get\-Property request, then \hyperlink{group__Ecore__X__NetWM__Group_g6576ef3eb6fb134194ea6062379f4ecc}{ecore\_\-x\_\-netwm\_\-strut\_\-get\_\-fetch()}, which gets the reply. \hypertarget{group__Ecore__X__NetWM__Group_g5a39840d1cbd5ce185b10b46ffa4e3a5}{
+\index{Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}!ecore_x_netwm_strut_get_prefetch@{ecore\_\-x\_\-netwm\_\-strut\_\-get\_\-prefetch}}
+\index{ecore_x_netwm_strut_get_prefetch@{ecore\_\-x\_\-netwm\_\-strut\_\-get\_\-prefetch}!Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-netwm\_\-strut\_\-get\_\-prefetch]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-netwm\_\-strut\_\-get\_\-prefetch (Ecore\_\-X\_\-Window {\em window})}}
+\label{group__Ecore__X__NetWM__Group_g5a39840d1cbd5ce185b10b46ffa4e3a5}
+
+
+Sends the Get\-Property request. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window. \end{description}
+\end{Desc}
+\hypertarget{group__Ecore__X__NetWM__Group_g9151d0e817387bd0c28de180c688b06f}{
+\index{Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}!ecore_x_netwm_strut_partial_get@{ecore\_\-x\_\-netwm\_\-strut\_\-partial\_\-get}}
+\index{ecore_x_netwm_strut_partial_get@{ecore\_\-x\_\-netwm\_\-strut\_\-partial\_\-get}!Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-netwm\_\-strut\_\-partial\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-x\_\-netwm\_\-strut\_\-partial\_\-get (Ecore\_\-X\_\-Window {\em window}, int $\ast$ {\em left}, int $\ast$ {\em right}, int $\ast$ {\em top}, int $\ast$ {\em bottom}, int $\ast$ {\em left\_\-start\_\-y}, int $\ast$ {\em left\_\-end\_\-y}, int $\ast$ {\em right\_\-start\_\-y}, int $\ast$ {\em right\_\-end\_\-y}, int $\ast$ {\em top\_\-start\_\-x}, int $\ast$ {\em top\_\-end\_\-x}, int $\ast$ {\em bottom\_\-start\_\-x}, int $\ast$ {\em bottom\_\-end\_\-x})}}
+\label{group__Ecore__X__NetWM__Group_g9151d0e817387bd0c28de180c688b06f}
+
+
+Get the space at the edje of the screen of a window. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window \item[{\em left}]The number of pixels at the left of the screen. \item[{\em right}]The number of pixels at the right of the screen. \item[{\em top}]The number of pixels at the top of the screen. \item[{\em bottom}]The number of pixels at the bottom of the screen. \item[{\em left\_\-start\_\-y}]The number of pixels. \item[{\em left\_\-end\_\-y}]The number of pixels. \item[{\em right\_\-start\_\-y}]The number of pixels. \item[{\em right\_\-end\_\-y}]The number of pixels. \item[{\em top\_\-start\_\-x}]The number of pixels. \item[{\em top\_\-end\_\-x}]The number of pixels. \item[{\em bottom\_\-start\_\-x}]The number of pixels. \item[{\em bottom\_\-end\_\-x}]The number of pixels.\end{description}
+\end{Desc}
+Retrieve the space at the edje of the screen if {\tt window} is to reserve such space. The number of pixels at the left, right, top and bottom of the screen are respectively stored in {\tt left}, {\tt right}, {\tt top} and {\tt bottom}. This function returns 1 on success, 0 otherwise.
+
+TODO: more description for that function.
+
+To use this function, you must call before, and in order, \hyperlink{group__Ecore__X__NetWM__Group_g14c97c9a08537d7437aa69d1f03ec473}{ecore\_\-x\_\-netwm\_\-strut\_\-partial\_\-get\_\-prefetch()}, which sends the Get\-Property request, then \hyperlink{group__Ecore__X__NetWM__Group_g8efb784e5af202e2fffc40457b00115a}{ecore\_\-x\_\-netwm\_\-strut\_\-partial\_\-get\_\-fetch()}, which gets the reply. \hypertarget{group__Ecore__X__NetWM__Group_g14c97c9a08537d7437aa69d1f03ec473}{
+\index{Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}!ecore_x_netwm_strut_partial_get_prefetch@{ecore\_\-x\_\-netwm\_\-strut\_\-partial\_\-get\_\-prefetch}}
+\index{ecore_x_netwm_strut_partial_get_prefetch@{ecore\_\-x\_\-netwm\_\-strut\_\-partial\_\-get\_\-prefetch}!Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-netwm\_\-strut\_\-partial\_\-get\_\-prefetch]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-netwm\_\-strut\_\-partial\_\-get\_\-prefetch (Ecore\_\-X\_\-Window {\em window})}}
+\label{group__Ecore__X__NetWM__Group_g14c97c9a08537d7437aa69d1f03ec473}
+
+
+Sends the Get\-Property request. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window. \end{description}
+\end{Desc}
+\hypertarget{group__Ecore__X__NetWM__Group_gc305c545e5589069bdb82d8af3d3a446}{
+\index{Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}!ecore_x_netwm_strut_partial_set@{ecore\_\-x\_\-netwm\_\-strut\_\-partial\_\-set}}
+\index{ecore_x_netwm_strut_partial_set@{ecore\_\-x\_\-netwm\_\-strut\_\-partial\_\-set}!Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-netwm\_\-strut\_\-partial\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-netwm\_\-strut\_\-partial\_\-set (Ecore\_\-X\_\-Window {\em window}, int {\em left}, int {\em right}, int {\em top}, int {\em bottom}, int {\em left\_\-start\_\-y}, int {\em left\_\-end\_\-y}, int {\em right\_\-start\_\-y}, int {\em right\_\-end\_\-y}, int {\em top\_\-start\_\-x}, int {\em top\_\-end\_\-x}, int {\em bottom\_\-start\_\-x}, int {\em bottom\_\-end\_\-x})}}
+\label{group__Ecore__X__NetWM__Group_gc305c545e5589069bdb82d8af3d3a446}
+
+
+Set the \_\-NET\_\-WM\_\-STRUT\_\-PARTIAL property. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window \item[{\em left}]The number of pixels at the left of the screen. \item[{\em right}]The number of pixels at the right of the screen. \item[{\em top}]The number of pixels at the top of the screen. \item[{\em bottom}]The number of pixels at the bottom of the screen. \item[{\em left\_\-start\_\-y}]The number of pixels. \item[{\em left\_\-end\_\-y}]The number of pixels. \item[{\em right\_\-start\_\-y}]The number of pixels. \item[{\em right\_\-end\_\-y}]The number of pixels. \item[{\em top\_\-start\_\-x}]The number of pixels. \item[{\em top\_\-end\_\-x}]The number of pixels. \item[{\em bottom\_\-start\_\-x}]The number of pixels. \item[{\em bottom\_\-end\_\-x}]The number of pixels.\end{description}
+\end{Desc}
+Set space at the edje of the screen by sending the \_\-NET\_\-WM\_\-STRUT\_\-PARTIAL property to {\tt window} if {\tt window} is to reserve that space. {\tt left}, {\tt right}, {\tt top} and {\tt bottom} are respectively the number of pixels at the left, right, top and bottom of the screen.
+
+TODO: more description for that function. \hypertarget{group__Ecore__X__NetWM__Group_g4f33da6e5b143351ff2fa3d75ec0c59d}{
+\index{Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}!ecore_x_netwm_strut_set@{ecore\_\-x\_\-netwm\_\-strut\_\-set}}
+\index{ecore_x_netwm_strut_set@{ecore\_\-x\_\-netwm\_\-strut\_\-set}!Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-netwm\_\-strut\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-netwm\_\-strut\_\-set (Ecore\_\-X\_\-Window {\em window}, int {\em left}, int {\em right}, int {\em top}, int {\em bottom})}}
+\label{group__Ecore__X__NetWM__Group_g4f33da6e5b143351ff2fa3d75ec0c59d}
+
+
+Set the \_\-NET\_\-WM\_\-STRUT property. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window \item[{\em left}]The number of pixels at the left of the screen. \item[{\em right}]The number of pixels at the right of the screen. \item[{\em top}]The number of pixels at the top of the screen. \item[{\em bottom}]The number of pixels at the bottom of the screen.\end{description}
+\end{Desc}
+Set space at the edje of the screen by sending the \_\-NET\_\-WM\_\-STRUT property to {\tt window} if {\tt window} is to reserve that space. {\tt left}, {\tt right}, {\tt top} and {\tt bottom} are respectively the number of pixels at the left, right, top and bottom of the screen.
+
+This property is deprecated and \hyperlink{group__Ecore__X__NetWM__Group_gc305c545e5589069bdb82d8af3d3a446}{ecore\_\-x\_\-netwm\_\-strut\_\-partial\_\-set()} should be used instead. However, Clients MAY set this property in addition to \_\-NET\_\-WM\_\-STRUT\_\-PARTIAL to ensure backward compatibility with Window Managers supporting older versions of the Specification. \hypertarget{group__Ecore__X__NetWM__Group_gec17f7f26685ce7181bffb1eec35179f}{
+\index{Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}!ecore_x_netwm_supported_get@{ecore\_\-x\_\-netwm\_\-supported\_\-get}}
+\index{ecore_x_netwm_supported_get@{ecore\_\-x\_\-netwm\_\-supported\_\-get}!Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-netwm\_\-supported\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-x\_\-netwm\_\-supported\_\-get (Ecore\_\-X\_\-Window {\em root}, Ecore\_\-X\_\-Atom $\ast$$\ast$ {\em supported}, int $\ast$ {\em num})}}
+\label{group__Ecore__X__NetWM__Group_gec17f7f26685ce7181bffb1eec35179f}
+
+
+Get the hints supported by the Window Manager. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em root}]The root window. \item[{\em supported}]The supported hints. \item[{\em num}]The number of atoms. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]1 on success, 0 otherwise.\end{Desc}
+Get the hints supported by the Window Manager. {\tt root} is the root window. The hints are stored in {\tt supported}. The number of hints is stored in {\tt num}.
+
+To use this function, you must call before, and in order, \hyperlink{group__Ecore__X__NetWM__Group_g2298e64a801fd52fd03d04e753bb9ac5}{ecore\_\-x\_\-netwm\_\-supported\_\-get\_\-prefetch()}, which sends the Get\-Property request, then \hyperlink{group__Ecore__X__NetWM__Group_gb45c2c7c71faad4640473b18c941b5b5}{ecore\_\-x\_\-netwm\_\-supported\_\-get\_\-fetch()}, which gets the reply. \hypertarget{group__Ecore__X__NetWM__Group_g2298e64a801fd52fd03d04e753bb9ac5}{
+\index{Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}!ecore_x_netwm_supported_get_prefetch@{ecore\_\-x\_\-netwm\_\-supported\_\-get\_\-prefetch}}
+\index{ecore_x_netwm_supported_get_prefetch@{ecore\_\-x\_\-netwm\_\-supported\_\-get\_\-prefetch}!Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-netwm\_\-supported\_\-get\_\-prefetch]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-netwm\_\-supported\_\-get\_\-prefetch (Ecore\_\-X\_\-Window {\em root})}}
+\label{group__Ecore__X__NetWM__Group_g2298e64a801fd52fd03d04e753bb9ac5}
+
+
+Sends the Get\-Property request. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em root}]The root window \end{description}
+\end{Desc}
+\hypertarget{group__Ecore__X__NetWM__Group_g12031ab17e0eef3c63dd1bf4c7286fa8}{
+\index{Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}!ecore_x_netwm_supported_set@{ecore\_\-x\_\-netwm\_\-supported\_\-set}}
+\index{ecore_x_netwm_supported_set@{ecore\_\-x\_\-netwm\_\-supported\_\-set}!Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-netwm\_\-supported\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-netwm\_\-supported\_\-set (Ecore\_\-X\_\-Window {\em root}, Ecore\_\-X\_\-Atom $\ast$ {\em supported}, int {\em num})}}
+\label{group__Ecore__X__NetWM__Group_g12031ab17e0eef3c63dd1bf4c7286fa8}
+
+
+Set the \_\-NET\_\-SUPPORTED property. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em root}]The root window. \item[{\em supported}]The supported hints. \item[{\em num}]The number of hints.\end{description}
+\end{Desc}
+Set the \_\-NET\_\-SUPPORTED property on the {\tt root} window. The hints that the Window Manager supports are stored in {\tt supported}.
+
+The Window Manager MUST set this property to indicate which hints it supports. \hypertarget{group__Ecore__X__NetWM__Group_g81e23a83ca85e33e46410454e86411b2}{
+\index{Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}!ecore_x_netwm_sync_counter_get@{ecore\_\-x\_\-netwm\_\-sync\_\-counter\_\-get}}
+\index{ecore_x_netwm_sync_counter_get@{ecore\_\-x\_\-netwm\_\-sync\_\-counter\_\-get}!Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-netwm\_\-sync\_\-counter\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-x\_\-netwm\_\-sync\_\-counter\_\-get (Ecore\_\-X\_\-Window {\em window}, Ecore\_\-X\_\-Sync\_\-Counter $\ast$ {\em counter})}}
+\label{group__Ecore__X__NetWM__Group_g81e23a83ca85e33e46410454e86411b2}
+
+
+Get the X ID of a X Sync counter. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window. \item[{\em counter}]The X ID of the Sync counter. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]1 on success, 0 otherwise.\end{Desc}
+Retrieve the X ID of the X Sync counter of {\tt window} and store it in {\tt counter}. This function returns 1 on success, 0 otherwise.
+
+To use this function, you must call before, and in order, \hyperlink{group__Ecore__X__NetWM__Group_g89e2f7a4267ffb61387a6463b316ddee}{ecore\_\-x\_\-netwm\_\-frame\_\-size\_\-get\_\-prefetch()}, which sends the Get\-Property request, then \hyperlink{group__Ecore__X__NetWM__Group_g784b4a524a5bae008ff3f6c8b7a1f1cc}{ecore\_\-x\_\-netwm\_\-frame\_\-size\_\-get\_\-fetch()}, which gets the reply. \hypertarget{group__Ecore__X__NetWM__Group_g6328ad18c00e8ba89eb137a64223d5a8}{
+\index{Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}!ecore_x_netwm_sync_counter_get_prefetch@{ecore\_\-x\_\-netwm\_\-sync\_\-counter\_\-get\_\-prefetch}}
+\index{ecore_x_netwm_sync_counter_get_prefetch@{ecore\_\-x\_\-netwm\_\-sync\_\-counter\_\-get\_\-prefetch}!Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-netwm\_\-sync\_\-counter\_\-get\_\-prefetch]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-netwm\_\-sync\_\-counter\_\-get\_\-prefetch (Ecore\_\-X\_\-Window {\em window})}}
+\label{group__Ecore__X__NetWM__Group_g6328ad18c00e8ba89eb137a64223d5a8}
+
+
+Sends the Get\-Property request. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window. \end{description}
+\end{Desc}
+\hypertarget{group__Ecore__X__NetWM__Group_g47005260f3688f6f604b4038ab6d13f1}{
+\index{Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}!ecore_x_netwm_sync_request_send@{ecore\_\-x\_\-netwm\_\-sync\_\-request\_\-send}}
+\index{ecore_x_netwm_sync_request_send@{ecore\_\-x\_\-netwm\_\-sync\_\-request\_\-send}!Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-netwm\_\-sync\_\-request\_\-send]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-netwm\_\-sync\_\-request\_\-send (Ecore\_\-X\_\-Window {\em window}, unsigned int {\em serial})}}
+\label{group__Ecore__X__NetWM__Group_g47005260f3688f6f604b4038ab6d13f1}
+
+
+Send a \_\-NET\_\-WM\_\-SYNC\_\-REQUEST property event. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window. \item[{\em serial}]The update request number.\end{description}
+\end{Desc}
+Send a Client\-Message event from {\tt window} with the \_\-NET\_\-WM\_\-SYNC\_\-REQUEST property set. \hypertarget{group__Ecore__X__NetWM__Group_gc65c380e26c8efe810d21be5a013578a}{
+\index{Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}!ecore_x_netwm_user_time_get@{ecore\_\-x\_\-netwm\_\-user\_\-time\_\-get}}
+\index{ecore_x_netwm_user_time_get@{ecore\_\-x\_\-netwm\_\-user\_\-time\_\-get}!Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-netwm\_\-user\_\-time\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-x\_\-netwm\_\-user\_\-time\_\-get (Ecore\_\-X\_\-Window {\em window}, unsigned int $\ast$ {\em time})}}
+\label{group__Ecore__X__NetWM__Group_gc65c380e26c8efe810d21be5a013578a}
+
+
+Get the last user activity time in the window. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window. \item[{\em time}]The returned time. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]1 on success, 0 otherwise.\end{Desc}
+Return the XServer time at which last user activity in {\tt window} took place. The time is stored in {\tt time}.
+
+To use this function, you must call before, and in order, \hyperlink{group__Ecore__X__NetWM__Group_g547c35302c92ebfc5e6f54120755593a}{ecore\_\-x\_\-netwm\_\-user\_\-time\_\-get\_\-prefetch()}, which sends the Get\-Property request, then \hyperlink{group__Ecore__X__NetWM__Group_g2f0ad96d62d836f07e13def405a1fa96}{ecore\_\-x\_\-netwm\_\-user\_\-time\_\-get\_\-fetch()}, which gets the reply. \hypertarget{group__Ecore__X__NetWM__Group_g547c35302c92ebfc5e6f54120755593a}{
+\index{Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}!ecore_x_netwm_user_time_get_prefetch@{ecore\_\-x\_\-netwm\_\-user\_\-time\_\-get\_\-prefetch}}
+\index{ecore_x_netwm_user_time_get_prefetch@{ecore\_\-x\_\-netwm\_\-user\_\-time\_\-get\_\-prefetch}!Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-netwm\_\-user\_\-time\_\-get\_\-prefetch]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-netwm\_\-user\_\-time\_\-get\_\-prefetch (Ecore\_\-X\_\-Window {\em window})}}
+\label{group__Ecore__X__NetWM__Group_g547c35302c92ebfc5e6f54120755593a}
+
+
+Sends the Get\-Property request. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window. \end{description}
+\end{Desc}
+\hypertarget{group__Ecore__X__NetWM__Group_gee0bb29864b98894ec02631236f4e794}{
+\index{Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}!ecore_x_netwm_user_time_set@{ecore\_\-x\_\-netwm\_\-user\_\-time\_\-set}}
+\index{ecore_x_netwm_user_time_set@{ecore\_\-x\_\-netwm\_\-user\_\-time\_\-set}!Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-netwm\_\-user\_\-time\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-netwm\_\-user\_\-time\_\-set (Ecore\_\-X\_\-Window {\em window}, unsigned int {\em time})}}
+\label{group__Ecore__X__NetWM__Group_gee0bb29864b98894ec02631236f4e794}
+
+
+Set the \_\-NET\_\-WM\_\-USER\_\-TIME property. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window. \item[{\em time}]The last user activity time in the window.\end{description}
+\end{Desc}
+Set the XServer time at which last user activity in {\tt window} took place by sending the \_\-NET\_\-WM\_\-USER\_\-TIME property to {\tt window}. {\tt time} contains that XServer time in seconds.
+
+This function allows a Window Manager to alter the focus, stacking, and/or placement behavior of windows when they are mapped depending on whether the new window was created by a user action or is a \char`\"{}pop-up\char`\"{} window activated by a timer or some other event. \hypertarget{group__Ecore__X__NetWM__Group_g1aa26ca13404f31badec8c0792794b30}{
+\index{Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}!ecore_x_netwm_visible_icon_name_get@{ecore\_\-x\_\-netwm\_\-visible\_\-icon\_\-name\_\-get}}
+\index{ecore_x_netwm_visible_icon_name_get@{ecore\_\-x\_\-netwm\_\-visible\_\-icon\_\-name\_\-get}!Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-netwm\_\-visible\_\-icon\_\-name\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-x\_\-netwm\_\-visible\_\-icon\_\-name\_\-get (Ecore\_\-X\_\-Window {\em window}, char $\ast$$\ast$ {\em name})}}
+\label{group__Ecore__X__NetWM__Group_g1aa26ca13404f31badec8c0792794b30}
+
+
+Get the visible icon name of a window. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window. \item[{\em name}]The icon name. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]Returns always 1.\end{Desc}
+Retrieve the visible icon name of {\tt window} and store it in {\tt name}. The function returns always 1.
+
+To use this function, you must call before, and in order, \hyperlink{group__Ecore__X__NetWM__Group_g5ac2253b2d29710e3a8ecd59b7398f41}{ecore\_\-x\_\-netwm\_\-visible\_\-icon\_\-name\_\-get\_\-prefetch()}, which sends the Get\-Property request, then \hyperlink{group__Ecore__X__NetWM__Group_g76267594cda1098b20e56ffbae9b7bd0}{ecore\_\-x\_\-netwm\_\-visible\_\-icon\_\-name\_\-get\_\-fetch()}, which gets the reply. \hypertarget{group__Ecore__X__NetWM__Group_g5ac2253b2d29710e3a8ecd59b7398f41}{
+\index{Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}!ecore_x_netwm_visible_icon_name_get_prefetch@{ecore\_\-x\_\-netwm\_\-visible\_\-icon\_\-name\_\-get\_\-prefetch}}
+\index{ecore_x_netwm_visible_icon_name_get_prefetch@{ecore\_\-x\_\-netwm\_\-visible\_\-icon\_\-name\_\-get\_\-prefetch}!Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-netwm\_\-visible\_\-icon\_\-name\_\-get\_\-prefetch]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-netwm\_\-visible\_\-icon\_\-name\_\-get\_\-prefetch (Ecore\_\-X\_\-Window {\em window})}}
+\label{group__Ecore__X__NetWM__Group_g5ac2253b2d29710e3a8ecd59b7398f41}
+
+
+Sends the Get\-Property request. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window. \end{description}
+\end{Desc}
+\hypertarget{group__Ecore__X__NetWM__Group_gc2b69cd1230eea36d59fd93c65c96588}{
+\index{Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}!ecore_x_netwm_visible_icon_name_set@{ecore\_\-x\_\-netwm\_\-visible\_\-icon\_\-name\_\-set}}
+\index{ecore_x_netwm_visible_icon_name_set@{ecore\_\-x\_\-netwm\_\-visible\_\-icon\_\-name\_\-set}!Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-netwm\_\-visible\_\-icon\_\-name\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-netwm\_\-visible\_\-icon\_\-name\_\-set (Ecore\_\-X\_\-Window {\em window}, const char $\ast$ {\em name})}}
+\label{group__Ecore__X__NetWM__Group_gc2b69cd1230eea36d59fd93c65c96588}
+
+
+Set the \_\-NET\_\-WM\_\-VISIBLE\_\-ICON\_\-NAME property. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The widow to activate. \item[{\em name}]The title name of the window.\end{description}
+\end{Desc}
+Set the icon name of {\tt window} to {\tt name} by sending the \_\-NET\_\-WM\_\-VISIBLE\_\-ICON\_\-NAME property to {\tt window}, when the Window Manager displays a icon name other than by calling \hyperlink{group__Ecore__X__NetWM__Group_g095da6e161bd8ae983dfe586025e47da}{ecore\_\-x\_\-netwm\_\-icon\_\-name\_\-set()}.
+
+The Client SHOULD set the icon name in UTF-8 encoding. The Window Manager MUST use this function is it display an icon name other than with \hyperlink{group__Ecore__X__NetWM__Group_g095da6e161bd8ae983dfe586025e47da}{ecore\_\-x\_\-netwm\_\-icon\_\-name\_\-set()}. \hypertarget{group__Ecore__X__NetWM__Group_ga5dfabdd704c5691b2c0ba158e55c1c0}{
+\index{Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}!ecore_x_netwm_visible_name_get@{ecore\_\-x\_\-netwm\_\-visible\_\-name\_\-get}}
+\index{ecore_x_netwm_visible_name_get@{ecore\_\-x\_\-netwm\_\-visible\_\-name\_\-get}!Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-netwm\_\-visible\_\-name\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-x\_\-netwm\_\-visible\_\-name\_\-get (Ecore\_\-X\_\-Window {\em window}, char $\ast$$\ast$ {\em name})}}
+\label{group__Ecore__X__NetWM__Group_ga5dfabdd704c5691b2c0ba158e55c1c0}
+
+
+Get the visible title of a window. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window. \item[{\em name}]The title name. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]Returns always 1.\end{Desc}
+Retrieve the visible title name of {\tt window} and store it in {\tt name}. The function returns always 1. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window\end{description}
+\end{Desc}
+To use this function, you must call before, and in order, \hyperlink{group__Ecore__X__NetWM__Group_g8053d77e36a5c5bcc67d45cd6b630f2d}{ecore\_\-x\_\-netwm\_\-visible\_\-name\_\-get\_\-prefetch()}, which sends the Get\-Property request, then \hyperlink{group__Ecore__X__NetWM__Group_g85c72fa3d53b56b589cc45977c3116d1}{ecore\_\-x\_\-netwm\_\-visible\_\-name\_\-get\_\-fetch()}, which gets the reply. \hypertarget{group__Ecore__X__NetWM__Group_g8053d77e36a5c5bcc67d45cd6b630f2d}{
+\index{Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}!ecore_x_netwm_visible_name_get_prefetch@{ecore\_\-x\_\-netwm\_\-visible\_\-name\_\-get\_\-prefetch}}
+\index{ecore_x_netwm_visible_name_get_prefetch@{ecore\_\-x\_\-netwm\_\-visible\_\-name\_\-get\_\-prefetch}!Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-netwm\_\-visible\_\-name\_\-get\_\-prefetch]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-netwm\_\-visible\_\-name\_\-get\_\-prefetch (Ecore\_\-X\_\-Window {\em window})}}
+\label{group__Ecore__X__NetWM__Group_g8053d77e36a5c5bcc67d45cd6b630f2d}
+
+
+Sends the Get\-Property request. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window. \end{description}
+\end{Desc}
+\hypertarget{group__Ecore__X__NetWM__Group_g24a8a5d819450c7191f69adda491ff31}{
+\index{Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}!ecore_x_netwm_visible_name_set@{ecore\_\-x\_\-netwm\_\-visible\_\-name\_\-set}}
+\index{ecore_x_netwm_visible_name_set@{ecore\_\-x\_\-netwm\_\-visible\_\-name\_\-set}!Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-netwm\_\-visible\_\-name\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-netwm\_\-visible\_\-name\_\-set (Ecore\_\-X\_\-Window {\em window}, const char $\ast$ {\em name})}}
+\label{group__Ecore__X__NetWM__Group_g24a8a5d819450c7191f69adda491ff31}
+
+
+Set the \_\-NET\_\-WM\_\-VISIBLE\_\-NAME property. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The widow to activate. \item[{\em name}]The title name of the window.\end{description}
+\end{Desc}
+Set the title name of {\tt window} to {\tt name} by sending the \_\-NET\_\-WM\_\-VISIBLE\_\-NAME property to {\tt window}, when the Window Manager displays a window name other than by calling \hyperlink{group__Ecore__X__NetWM__Group_ga121d2f05c29129c8281d69403589b7a}{ecore\_\-x\_\-netwm\_\-name\_\-set()}.
+
+The Client SHOULD set the title of {\tt window} in UTF-8 encoding. This function is used for displaying title windows like \mbox{[}xterm1\mbox{]}, \mbox{[}xterm2\mbox{]}, ... thereby allowing Pagers to display the same title as the Window Manager. \hypertarget{group__Ecore__X__NetWM__Group_g00b9620c98d37de04870a48ade2bd1cf}{
+\index{Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}!ecore_x_netwm_window_state_get@{ecore\_\-x\_\-netwm\_\-window\_\-state\_\-get}}
+\index{ecore_x_netwm_window_state_get@{ecore\_\-x\_\-netwm\_\-window\_\-state\_\-get}!Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-netwm\_\-window\_\-state\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-x\_\-netwm\_\-window\_\-state\_\-get (Ecore\_\-X\_\-Window {\em window}, Ecore\_\-X\_\-Window\_\-State $\ast$$\ast$ {\em state}, unsigned int $\ast$ {\em num})}}
+\label{group__Ecore__X__NetWM__Group_g00b9620c98d37de04870a48ade2bd1cf}
+
+
+Get the hints describing the window state. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window. \item[{\em state}]The returned hins. \item[{\em num}]The number of hints. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]1 on success, 0 otherwise.\end{Desc}
+Retrieve the hints describing {\tt window} state. The state is returned in {\tt state}. The nummber of hints is stored in {\tt num}. This function returns 1 on success, 0 otherwise.
+
+To use this function, you must call before, and in order, \hyperlink{group__Ecore__X__NetWM__Group_g325c8c4da075d776a4f91517648cd113}{ecore\_\-x\_\-netwm\_\-window\_\-state\_\-get\_\-prefetch()}, which sends the Get\-Property request, then \hyperlink{group__Ecore__X__NetWM__Group_g7db6800a36f20f764cfe63a58004e422}{ecore\_\-x\_\-netwm\_\-window\_\-state\_\-get\_\-fetch()}, which gets the reply. \hypertarget{group__Ecore__X__NetWM__Group_g325c8c4da075d776a4f91517648cd113}{
+\index{Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}!ecore_x_netwm_window_state_get_prefetch@{ecore\_\-x\_\-netwm\_\-window\_\-state\_\-get\_\-prefetch}}
+\index{ecore_x_netwm_window_state_get_prefetch@{ecore\_\-x\_\-netwm\_\-window\_\-state\_\-get\_\-prefetch}!Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-netwm\_\-window\_\-state\_\-get\_\-prefetch]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-netwm\_\-window\_\-state\_\-get\_\-prefetch (Ecore\_\-X\_\-Window {\em window})}}
+\label{group__Ecore__X__NetWM__Group_g325c8c4da075d776a4f91517648cd113}
+
+
+Sends the Get\-Property request. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window. \end{description}
+\end{Desc}
+\hypertarget{group__Ecore__X__NetWM__Group_g48ea0e54441b6ffc81494151a3b4a53f}{
+\index{Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}!ecore_x_netwm_window_state_set@{ecore\_\-x\_\-netwm\_\-window\_\-state\_\-set}}
+\index{ecore_x_netwm_window_state_set@{ecore\_\-x\_\-netwm\_\-window\_\-state\_\-set}!Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-netwm\_\-window\_\-state\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-netwm\_\-window\_\-state\_\-set (Ecore\_\-X\_\-Window {\em window}, Ecore\_\-X\_\-Window\_\-State $\ast$ {\em state}, unsigned int {\em num})}}
+\label{group__Ecore__X__NetWM__Group_g48ea0e54441b6ffc81494151a3b4a53f}
+
+
+Set the \_\-NET\_\-WM\_\-STATE property. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window. \item[{\em state}]An array of window hints. \item[{\em num}]The number of hints.\end{description}
+\end{Desc}
+Set a list of hints describing {\tt window} state by sending the \_\-NET\_\-WM\_\-STATE property to {\tt window}. The hints are stored in the array {\tt state}. {\tt num} must contain the number of hints.
+
+The Window Manager SHOULD honor \_\-NET\_\-WM\_\-STATE whenever a withdrawn window requests to be mapped. A Client wishing to change the state of a window MUST send a \_\-NET\_\-WM\_\-STATE client message to the root window. The Window Manager MUST keep this property updated to reflect the current state of the window. \hypertarget{group__Ecore__X__NetWM__Group_g2c6e85b979a52f7f33d202582e904f15}{
+\index{Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}!ecore_x_netwm_window_type_get@{ecore\_\-x\_\-netwm\_\-window\_\-type\_\-get}}
+\index{ecore_x_netwm_window_type_get@{ecore\_\-x\_\-netwm\_\-window\_\-type\_\-get}!Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-netwm\_\-window\_\-type\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-x\_\-netwm\_\-window\_\-type\_\-get (Ecore\_\-X\_\-Window {\em window}, Ecore\_\-X\_\-Window\_\-Type $\ast$ {\em type})}}
+\label{group__Ecore__X__NetWM__Group_g2c6e85b979a52f7f33d202582e904f15}
+
+
+Get the functional type of a window. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window. \item[{\em type}]The function type of the window. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]1 on success, 0 otherwise.\end{Desc}
+Retrieve the functional type of {\tt window}. The type is stored in {\tt type}. This function returns 1 on success, 0 otherwise.
+
+To use this function, you must call before, and in order, \hyperlink{group__Ecore__X__NetWM__Group_g26ef48c528e62c9fcca0cd0bde5705ac}{ecore\_\-x\_\-netwm\_\-window\_\-type\_\-get\_\-prefetch()}, which sends the Get\-Property request, then \hyperlink{group__Ecore__X__NetWM__Group_ge94b43f91956f6043a20eb4c49d6ed43}{ecore\_\-x\_\-netwm\_\-window\_\-type\_\-get\_\-fetch()}, which gets the reply. \hypertarget{group__Ecore__X__NetWM__Group_g26ef48c528e62c9fcca0cd0bde5705ac}{
+\index{Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}!ecore_x_netwm_window_type_get_prefetch@{ecore\_\-x\_\-netwm\_\-window\_\-type\_\-get\_\-prefetch}}
+\index{ecore_x_netwm_window_type_get_prefetch@{ecore\_\-x\_\-netwm\_\-window\_\-type\_\-get\_\-prefetch}!Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-netwm\_\-window\_\-type\_\-get\_\-prefetch]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-netwm\_\-window\_\-type\_\-get\_\-prefetch (Ecore\_\-X\_\-Window {\em window})}}
+\label{group__Ecore__X__NetWM__Group_g26ef48c528e62c9fcca0cd0bde5705ac}
+
+
+Sends the Get\-Property request. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window. \end{description}
+\end{Desc}
+\hypertarget{group__Ecore__X__NetWM__Group_g350b959efbc770f72bcf99fd925c5af7}{
+\index{Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}!ecore_x_netwm_window_type_set@{ecore\_\-x\_\-netwm\_\-window\_\-type\_\-set}}
+\index{ecore_x_netwm_window_type_set@{ecore\_\-x\_\-netwm\_\-window\_\-type\_\-set}!Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-netwm\_\-window\_\-type\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-netwm\_\-window\_\-type\_\-set (Ecore\_\-X\_\-Window {\em window}, Ecore\_\-X\_\-Window\_\-Type {\em type})}}
+\label{group__Ecore__X__NetWM__Group_g350b959efbc770f72bcf99fd925c5af7}
+
+
+Set the \_\-NET\_\-WM\_\-WINDOW\_\-TYPE property. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window. \item[{\em type}]The functional type of the window.\end{description}
+\end{Desc}
+Set the functional {\tt type} of {\tt window} by sending \_\-NET\_\-WM\_\-WINDOW\_\-TYPE property to {\tt window}.
+
+This property SHOULD be set by the Client before mapping. This property SHOULD be used by the window manager in determining the decoration, stacking position and other behavior of the window. The Client SHOULD specify window types in order of preference (the first being most preferable).
+
+This hint is intended to replace the MOTIF hints. \hypertarget{group__Ecore__X__NetWM__Group_g44d807f6153f6f51f097fc56e790a593}{
+\index{Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}!ecore_x_netwm_wm_identify@{ecore\_\-x\_\-netwm\_\-wm\_\-identify}}
+\index{ecore_x_netwm_wm_identify@{ecore\_\-x\_\-netwm\_\-wm\_\-identify}!Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-netwm\_\-wm\_\-identify]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-netwm\_\-wm\_\-identify (Ecore\_\-X\_\-Window {\em root}, Ecore\_\-X\_\-Window {\em check}, const char $\ast$ {\em wm\_\-name})}}
+\label{group__Ecore__X__NetWM__Group_g44d807f6153f6f51f097fc56e790a593}
+
+
+Set the \_\-NET\_\-SUPPORTING\_\-WM\_\-CHECK property. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em root}]The root window. \item[{\em check}]The child window. \item[{\em wm\_\-name}]The name of the Window Manager.\end{description}
+\end{Desc}
+Set the \_\-NET\_\-SUPPORTING\_\-WM\_\-CHECK property on the {\tt root} window to be the ID of the child window {\tt check} created by the Window Manager. {\tt check} also have the \_\-NET\_\-WM\_\-NAME property set to the name {\tt wm\_\-name} of the Window Manager.
+
+The Window MUST call that function to indicate that a compliant window manager is active. \hypertarget{group__Ecore__X__NetWM__Group_gf50ef199db219e0aac5ae1195d4e85a5}{
+\index{Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}!ecore_x_screen_is_composited@{ecore\_\-x\_\-screen\_\-is\_\-composited}}
+\index{ecore_x_screen_is_composited@{ecore\_\-x\_\-screen\_\-is\_\-composited}!Ecore_X_NetWM_Group@{Ecore\_\-X\_\-Net\-WM\_\-Group}}
+\subsubsection[ecore\_\-x\_\-screen\_\-is\_\-composited]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-x\_\-screen\_\-is\_\-composited (int {\em screen})}}
+\label{group__Ecore__X__NetWM__Group_gf50ef199db219e0aac5ae1195d4e85a5}
+
+
+Check whether a screen is composited or not. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em screen}]The screen index.\end{description}
+\end{Desc}
+Return 1 if {\tt screen} is composited, 0 otherwise. 
\ No newline at end of file
diff --git a/doc/latex/group__Ecore__X__Pixmap__Group.tex b/doc/latex/group__Ecore__X__Pixmap__Group.tex
new file mode 100644
index 0000000..81da0f9
--- /dev/null
+++ b/doc/latex/group__Ecore__X__Pixmap__Group.tex
@@ -0,0 +1,102 @@
+\hypertarget{group__Ecore__X__Pixmap__Group}{
+\section{X Pixmap Functions}
+\label{group__Ecore__X__Pixmap__Group}\index{X Pixmap Functions@{X Pixmap Functions}}
+}
+Functions that operate on pixmaps.  
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+EAPI Ecore\_\-X\_\-Pixmap \hyperlink{group__Ecore__X__Pixmap__Group_g4d02ed7c9ea23b344cf55123e142e9e1}{ecore\_\-x\_\-pixmap\_\-new} (Ecore\_\-X\_\-Window win, int w, int h, int dep)
+\begin{CompactList}\small\item\em Creates a new pixmap. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Pixmap__Group_g190a18a60b6d09ee97b65b278a15d482}{ecore\_\-x\_\-pixmap\_\-del} (Ecore\_\-X\_\-Pixmap pmap)
+\begin{CompactList}\small\item\em Deletes the reference to the given pixmap. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Pixmap__Group_g01f841e4ca0f9584fc8d55e968a2c987}{ecore\_\-x\_\-pixmap\_\-paste} (Ecore\_\-X\_\-Pixmap pmap, Ecore\_\-X\_\-Drawable dest, Ecore\_\-X\_\-GC gc, int sx, int sy, int w, int h, int dx, int dy)
+\begin{CompactList}\small\item\em Pastes a rectangular area of the given pixmap onto the given drawable. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Pixmap__Group_g71572e8cad6af6836ced18c5e39e4648}{ecore\_\-x\_\-pixmap\_\-geometry\_\-get} (Ecore\_\-X\_\-Pixmap pmap, int $\ast$x, int $\ast$y, int $\ast$w, int $\ast$h)
+\begin{CompactList}\small\item\em Retrieves the size of the given pixmap. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__X__Pixmap__Group_gdf1ad96ce96de02991b60386fd6bc535}{ecore\_\-x\_\-pixmap\_\-depth\_\-get} (Ecore\_\-X\_\-Pixmap pmap)
+\begin{CompactList}\small\item\em Retrieves the depth of the given pixmap. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Functions that operate on pixmaps. 
+
+
+
+\subsection{Function Documentation}
+\hypertarget{group__Ecore__X__Pixmap__Group_g190a18a60b6d09ee97b65b278a15d482}{
+\index{Ecore_X_Pixmap_Group@{Ecore\_\-X\_\-Pixmap\_\-Group}!ecore_x_pixmap_del@{ecore\_\-x\_\-pixmap\_\-del}}
+\index{ecore_x_pixmap_del@{ecore\_\-x\_\-pixmap\_\-del}!Ecore_X_Pixmap_Group@{Ecore\_\-X\_\-Pixmap\_\-Group}}
+\subsubsection[ecore\_\-x\_\-pixmap\_\-del]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-pixmap\_\-del (Ecore\_\-X\_\-Pixmap {\em pmap})}}
+\label{group__Ecore__X__Pixmap__Group_g190a18a60b6d09ee97b65b278a15d482}
+
+
+Deletes the reference to the given pixmap. 
+
+If no other clients have a reference to the given pixmap, the server will destroy it.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em pmap}]The given pixmap. \end{description}
+\end{Desc}
+\hypertarget{group__Ecore__X__Pixmap__Group_gdf1ad96ce96de02991b60386fd6bc535}{
+\index{Ecore_X_Pixmap_Group@{Ecore\_\-X\_\-Pixmap\_\-Group}!ecore_x_pixmap_depth_get@{ecore\_\-x\_\-pixmap\_\-depth\_\-get}}
+\index{ecore_x_pixmap_depth_get@{ecore\_\-x\_\-pixmap\_\-depth\_\-get}!Ecore_X_Pixmap_Group@{Ecore\_\-X\_\-Pixmap\_\-Group}}
+\subsubsection[ecore\_\-x\_\-pixmap\_\-depth\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-x\_\-pixmap\_\-depth\_\-get (Ecore\_\-X\_\-Pixmap {\em pmap})}}
+\label{group__Ecore__X__Pixmap__Group_gdf1ad96ce96de02991b60386fd6bc535}
+
+
+Retrieves the depth of the given pixmap. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em pmap}]The given pixmap. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The depth of the pixmap. \end{Desc}
+\hypertarget{group__Ecore__X__Pixmap__Group_g71572e8cad6af6836ced18c5e39e4648}{
+\index{Ecore_X_Pixmap_Group@{Ecore\_\-X\_\-Pixmap\_\-Group}!ecore_x_pixmap_geometry_get@{ecore\_\-x\_\-pixmap\_\-geometry\_\-get}}
+\index{ecore_x_pixmap_geometry_get@{ecore\_\-x\_\-pixmap\_\-geometry\_\-get}!Ecore_X_Pixmap_Group@{Ecore\_\-X\_\-Pixmap\_\-Group}}
+\subsubsection[ecore\_\-x\_\-pixmap\_\-geometry\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-pixmap\_\-geometry\_\-get (Ecore\_\-X\_\-Pixmap {\em pmap}, int $\ast$ {\em x}, int $\ast$ {\em y}, int $\ast$ {\em w}, int $\ast$ {\em h})}}
+\label{group__Ecore__X__Pixmap__Group_g71572e8cad6af6836ced18c5e39e4648}
+
+
+Retrieves the size of the given pixmap. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em pmap}]The given pixmap. \item[{\em x}]Pointer to an integer in which to store the X position. \item[{\em y}]Pointer to an integer in which to store the Y position. \item[{\em w}]Pointer to an integer in which to store the width. \item[{\em h}]Pointer to an integer in which to store the height. \end{description}
+\end{Desc}
+\hypertarget{group__Ecore__X__Pixmap__Group_g4d02ed7c9ea23b344cf55123e142e9e1}{
+\index{Ecore_X_Pixmap_Group@{Ecore\_\-X\_\-Pixmap\_\-Group}!ecore_x_pixmap_new@{ecore\_\-x\_\-pixmap\_\-new}}
+\index{ecore_x_pixmap_new@{ecore\_\-x\_\-pixmap\_\-new}!Ecore_X_Pixmap_Group@{Ecore\_\-X\_\-Pixmap\_\-Group}}
+\subsubsection[ecore\_\-x\_\-pixmap\_\-new]{\setlength{\rightskip}{0pt plus 5cm}EAPI Ecore\_\-X\_\-Pixmap ecore\_\-x\_\-pixmap\_\-new (Ecore\_\-X\_\-Window {\em win}, int {\em w}, int {\em h}, int {\em dep})}}
+\label{group__Ecore__X__Pixmap__Group_g4d02ed7c9ea23b344cf55123e142e9e1}
+
+
+Creates a new pixmap. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em win}]Window used to determine which screen of the display the pixmap should be created on. If 0, the default root window is used. \item[{\em w}]Width of the new pixmap. \item[{\em h}]Height of the new pixmap. \item[{\em dep}]Depth of the pixmap. If 0, the default depth of the default screen is used. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]New pixmap. \end{Desc}
+\hypertarget{group__Ecore__X__Pixmap__Group_g01f841e4ca0f9584fc8d55e968a2c987}{
+\index{Ecore_X_Pixmap_Group@{Ecore\_\-X\_\-Pixmap\_\-Group}!ecore_x_pixmap_paste@{ecore\_\-x\_\-pixmap\_\-paste}}
+\index{ecore_x_pixmap_paste@{ecore\_\-x\_\-pixmap\_\-paste}!Ecore_X_Pixmap_Group@{Ecore\_\-X\_\-Pixmap\_\-Group}}
+\subsubsection[ecore\_\-x\_\-pixmap\_\-paste]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-pixmap\_\-paste (Ecore\_\-X\_\-Pixmap {\em pmap}, Ecore\_\-X\_\-Drawable {\em dest}, Ecore\_\-X\_\-GC {\em gc}, int {\em sx}, int {\em sy}, int {\em w}, int {\em h}, int {\em dx}, int {\em dy})}}
+\label{group__Ecore__X__Pixmap__Group_g01f841e4ca0f9584fc8d55e968a2c987}
+
+
+Pastes a rectangular area of the given pixmap onto the given drawable. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em pmap}]The given pixmap. \item[{\em dest}]The given drawable. \item[{\em gc}]The graphics context which governs which operation will be used to paste the area onto the drawable. \item[{\em sx}]The X position of the area on the pixmap. \item[{\em sy}]The Y position of the area on the pixmap. \item[{\em w}]The width of the area. \item[{\em h}]The height of the area. \item[{\em dx}]The X position at which to paste the area on {\tt dest}. \item[{\em dy}]The Y position at which to paste the area on {\tt dest}. \end{description}
+\end{Desc}
diff --git a/doc/latex/group__Ecore__X__RandR__Group.tex b/doc/latex/group__Ecore__X__RandR__Group.tex
new file mode 100644
index 0000000..3966560
--- /dev/null
+++ b/doc/latex/group__Ecore__X__RandR__Group.tex
@@ -0,0 +1,243 @@
+\hypertarget{group__Ecore__X__RandR__Group}{
+\section{X Rand\-R Extension Functions}
+\label{group__Ecore__X__RandR__Group}\index{X RandR Extension Functions@{X RandR Extension Functions}}
+}
+Functions related to the X Rand\-R extension.  
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+EAPI int \hyperlink{group__Ecore__X__RandR__Group_g20ba1e9db82d9c98adbbd2d833760b0d}{ecore\_\-x\_\-randr\_\-query} (void)
+\begin{CompactList}\small\item\em Return whether the X server supports the Rand\-R Extension. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__X__RandR__Group_g3da36f6608ed12b06dfac42c733c85a8}{ecore\_\-x\_\-randr\_\-events\_\-select} (Ecore\_\-X\_\-Window window, int on)
+\begin{CompactList}\small\item\em Select if the Screen\-Change\-Notify events will be sent. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__RandR__Group_gad888ac7ba23c09f8461b68746b3ed42}{ecore\_\-x\_\-randr\_\-get\_\-screen\_\-info\_\-prefetch} (Ecore\_\-X\_\-Window window)
+\begin{CompactList}\small\item\em Sends the Get\-Screen\-Info request. \item\end{CompactList}\item 
+\hypertarget{group__Ecore__X__RandR__Group_g6bacf7dd7ae77772aaad7ca4190928ce}{
+EAPI void \hyperlink{group__Ecore__X__RandR__Group_g6bacf7dd7ae77772aaad7ca4190928ce}{ecore\_\-x\_\-randr\_\-get\_\-screen\_\-info\_\-fetch} (void)}
+\label{group__Ecore__X__RandR__Group_g6bacf7dd7ae77772aaad7ca4190928ce}
+
+\begin{CompactList}\small\item\em Gets the reply of the Get\-Screen\-Info request sent by \hyperlink{group__Ecore__X__RandR__Group_gad888ac7ba23c09f8461b68746b3ed42}{ecore\_\-x\_\-randr\_\-get\_\-screen\_\-info\_\-prefetch()}. \item\end{CompactList}\item 
+EAPI Ecore\_\-X\_\-Randr\_\-Rotation \hyperlink{group__Ecore__X__RandR__Group_g1eb8fa1940edec151d10accb9a0d949b}{ecore\_\-x\_\-randr\_\-screen\_\-rotations\_\-get} (Ecore\_\-X\_\-Window root \_\-\_\-UNUSED\_\-\_\-)
+\begin{CompactList}\small\item\em Get the set of rotations and reflections. \item\end{CompactList}\item 
+EAPI Ecore\_\-X\_\-Randr\_\-Rotation \hyperlink{group__Ecore__X__RandR__Group_ga3a68841eaebe2e6c824cfb1f216b04e}{ecore\_\-x\_\-randr\_\-screen\_\-rotation\_\-get} (Ecore\_\-X\_\-Window root \_\-\_\-UNUSED\_\-\_\-)
+\begin{CompactList}\small\item\em Get the rotation. \item\end{CompactList}\item 
+EAPI Ecore\_\-X\_\-Screen\_\-Size $\ast$ \hyperlink{group__Ecore__X__RandR__Group_gba0bcb46adcba878b3f86920fe97ac48}{ecore\_\-x\_\-randr\_\-screen\_\-sizes\_\-get} (Ecore\_\-X\_\-Window root \_\-\_\-UNUSED\_\-\_\-, int $\ast$num)
+\begin{CompactList}\small\item\em Get the frame buffer sizes. \item\end{CompactList}\item 
+EAPI Ecore\_\-X\_\-Screen\_\-Size \hyperlink{group__Ecore__X__RandR__Group_g39f6b0042f8639c9e9d8261f9ca0fbbe}{ecore\_\-x\_\-randr\_\-current\_\-screen\_\-size\_\-get} (Ecore\_\-X\_\-Window root \_\-\_\-UNUSED\_\-\_\-)
+\begin{CompactList}\small\item\em Get the current frame buffer size. \item\end{CompactList}\item 
+EAPI Ecore\_\-X\_\-Screen\_\-Refresh\_\-Rate \hyperlink{group__Ecore__X__RandR__Group_geeb60c5ac2c9db16ae0947398ed53207}{ecore\_\-x\_\-randr\_\-current\_\-screen\_\-refresh\_\-rate\_\-get} (Ecore\_\-X\_\-Window root \_\-\_\-UNUSED\_\-\_\-)
+\begin{CompactList}\small\item\em Get the current refresh rate. \item\end{CompactList}\item 
+EAPI Ecore\_\-X\_\-Screen\_\-Refresh\_\-Rate $\ast$ \hyperlink{group__Ecore__X__RandR__Group_g3d4a43b64cd09b6b0423d72fbd56ce46}{ecore\_\-x\_\-randr\_\-screen\_\-refresh\_\-rates\_\-get} (Ecore\_\-X\_\-Window root \_\-\_\-UNUSED\_\-\_\-, int size\_\-id \_\-\_\-UNUSED\_\-\_\-, int $\ast$num)
+\begin{CompactList}\small\item\em Get the refresh rates. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__RandR__Group_gd4368d091b23cb7aa6f165003345ee02}{ecore\_\-x\_\-randr\_\-screen\_\-rotation\_\-set} (Ecore\_\-X\_\-Window root, Ecore\_\-X\_\-Randr\_\-Rotation rot)
+\begin{CompactList}\small\item\em Set the screen rotation. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__X__RandR__Group_g19e6ebee44b2f6783bab826239de5529}{ecore\_\-x\_\-randr\_\-screen\_\-size\_\-set} (Ecore\_\-X\_\-Window root, Ecore\_\-X\_\-Screen\_\-Size size)
+\begin{CompactList}\small\item\em Set the screen size. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__X__RandR__Group_g419196c593bc7fb5737c639a40a2d78c}{ecore\_\-x\_\-randr\_\-screen\_\-refresh\_\-rate\_\-set} (Ecore\_\-X\_\-Window root, Ecore\_\-X\_\-Screen\_\-Size size, Ecore\_\-X\_\-Screen\_\-Refresh\_\-Rate rate)
+\begin{CompactList}\small\item\em Set the screen refresh rate. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Functions related to the X Rand\-R extension. 
+
+
+
+\subsection{Function Documentation}
+\hypertarget{group__Ecore__X__RandR__Group_geeb60c5ac2c9db16ae0947398ed53207}{
+\index{Ecore_X_RandR_Group@{Ecore\_\-X\_\-Rand\-R\_\-Group}!ecore_x_randr_current_screen_refresh_rate_get@{ecore\_\-x\_\-randr\_\-current\_\-screen\_\-refresh\_\-rate\_\-get}}
+\index{ecore_x_randr_current_screen_refresh_rate_get@{ecore\_\-x\_\-randr\_\-current\_\-screen\_\-refresh\_\-rate\_\-get}!Ecore_X_RandR_Group@{Ecore\_\-X\_\-Rand\-R\_\-Group}}
+\subsubsection[ecore\_\-x\_\-randr\_\-current\_\-screen\_\-refresh\_\-rate\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI Ecore\_\-X\_\-Screen\_\-Refresh\_\-Rate ecore\_\-x\_\-randr\_\-current\_\-screen\_\-refresh\_\-rate\_\-get (Ecore\_\-X\_\-Window root {\em \_\-\_\-UNUSED\_\-\_\-})}}
+\label{group__Ecore__X__RandR__Group_geeb60c5ac2c9db16ae0947398ed53207}
+
+
+Get the current refresh rate. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em root}]The window (Unused). \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The current refresh rate.\end{Desc}
+Get the current refresh rate supported by the screen associated to {\tt window} (passed to \hyperlink{group__Ecore__X__RandR__Group_gad888ac7ba23c09f8461b68746b3ed42}{ecore\_\-x\_\-randr\_\-get\_\-screen\_\-info\_\-prefetch()}).
+
+To use this function, you must call before, and in order, \hyperlink{group__Ecore__X__RandR__Group_gad888ac7ba23c09f8461b68746b3ed42}{ecore\_\-x\_\-randr\_\-get\_\-screen\_\-info\_\-prefetch()}, which sends the Get\-Screen\-Info request, then \hyperlink{group__Ecore__X__RandR__Group_g6bacf7dd7ae77772aaad7ca4190928ce}{ecore\_\-x\_\-randr\_\-get\_\-screen\_\-info\_\-fetch()}, which gets the reply. \hypertarget{group__Ecore__X__RandR__Group_g39f6b0042f8639c9e9d8261f9ca0fbbe}{
+\index{Ecore_X_RandR_Group@{Ecore\_\-X\_\-Rand\-R\_\-Group}!ecore_x_randr_current_screen_size_get@{ecore\_\-x\_\-randr\_\-current\_\-screen\_\-size\_\-get}}
+\index{ecore_x_randr_current_screen_size_get@{ecore\_\-x\_\-randr\_\-current\_\-screen\_\-size\_\-get}!Ecore_X_RandR_Group@{Ecore\_\-X\_\-Rand\-R\_\-Group}}
+\subsubsection[ecore\_\-x\_\-randr\_\-current\_\-screen\_\-size\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI Ecore\_\-X\_\-Screen\_\-Size ecore\_\-x\_\-randr\_\-current\_\-screen\_\-size\_\-get (Ecore\_\-X\_\-Window root {\em \_\-\_\-UNUSED\_\-\_\-})}}
+\label{group__Ecore__X__RandR__Group_g39f6b0042f8639c9e9d8261f9ca0fbbe}
+
+
+Get the current frame buffer size. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em root}]The window (Unused). \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The active size.\end{Desc}
+Get the active frame buffer size supported by the screen associated to {\tt window} (passed to \hyperlink{group__Ecore__X__RandR__Group_gad888ac7ba23c09f8461b68746b3ed42}{ecore\_\-x\_\-randr\_\-get\_\-screen\_\-info\_\-prefetch()}).
+
+To use this function, you must call before, and in order, \hyperlink{group__Ecore__X__RandR__Group_gad888ac7ba23c09f8461b68746b3ed42}{ecore\_\-x\_\-randr\_\-get\_\-screen\_\-info\_\-prefetch()}, which sends the Get\-Screen\-Info request, then \hyperlink{group__Ecore__X__RandR__Group_g6bacf7dd7ae77772aaad7ca4190928ce}{ecore\_\-x\_\-randr\_\-get\_\-screen\_\-info\_\-fetch()}, which gets the reply. \hypertarget{group__Ecore__X__RandR__Group_g3da36f6608ed12b06dfac42c733c85a8}{
+\index{Ecore_X_RandR_Group@{Ecore\_\-X\_\-Rand\-R\_\-Group}!ecore_x_randr_events_select@{ecore\_\-x\_\-randr\_\-events\_\-select}}
+\index{ecore_x_randr_events_select@{ecore\_\-x\_\-randr\_\-events\_\-select}!Ecore_X_RandR_Group@{Ecore\_\-X\_\-Rand\-R\_\-Group}}
+\subsubsection[ecore\_\-x\_\-randr\_\-events\_\-select]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-x\_\-randr\_\-events\_\-select (Ecore\_\-X\_\-Window {\em window}, int {\em on})}}
+\label{group__Ecore__X__RandR__Group_g3da36f6608ed12b06dfac42c733c85a8}
+
+
+Select if the Screen\-Change\-Notify events will be sent. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window. \item[{\em on}]1 to enable, 0 to disable. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]1 on success, 0 otherwise.\end{Desc}
+If {\tt on} value is {\tt 1}, Screen\-Change\-Notify events will be sent when the screen configuration changes, either from this protocol extension, or due to detected external screen configuration changes. Screen\-Change\-Notify may also be sent when this request executes if the screen configuration has changed since the client connected, to avoid race conditions. \hypertarget{group__Ecore__X__RandR__Group_gad888ac7ba23c09f8461b68746b3ed42}{
+\index{Ecore_X_RandR_Group@{Ecore\_\-X\_\-Rand\-R\_\-Group}!ecore_x_randr_get_screen_info_prefetch@{ecore\_\-x\_\-randr\_\-get\_\-screen\_\-info\_\-prefetch}}
+\index{ecore_x_randr_get_screen_info_prefetch@{ecore\_\-x\_\-randr\_\-get\_\-screen\_\-info\_\-prefetch}!Ecore_X_RandR_Group@{Ecore\_\-X\_\-Rand\-R\_\-Group}}
+\subsubsection[ecore\_\-x\_\-randr\_\-get\_\-screen\_\-info\_\-prefetch]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-randr\_\-get\_\-screen\_\-info\_\-prefetch (Ecore\_\-X\_\-Window {\em window})}}
+\label{group__Ecore__X__RandR__Group_gad888ac7ba23c09f8461b68746b3ed42}
+
+
+Sends the Get\-Screen\-Info request. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]Window whose properties are requested. \end{description}
+\end{Desc}
+\hypertarget{group__Ecore__X__RandR__Group_g20ba1e9db82d9c98adbbd2d833760b0d}{
+\index{Ecore_X_RandR_Group@{Ecore\_\-X\_\-Rand\-R\_\-Group}!ecore_x_randr_query@{ecore\_\-x\_\-randr\_\-query}}
+\index{ecore_x_randr_query@{ecore\_\-x\_\-randr\_\-query}!Ecore_X_RandR_Group@{Ecore\_\-X\_\-Rand\-R\_\-Group}}
+\subsubsection[ecore\_\-x\_\-randr\_\-query]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-x\_\-randr\_\-query (void)}}
+\label{group__Ecore__X__RandR__Group_g20ba1e9db82d9c98adbbd2d833760b0d}
+
+
+Return whether the X server supports the Rand\-R Extension. 
+
+\begin{Desc}
+\item[Returns:]1 if the X Rand\-R Extension is available, 0 otherwise.\end{Desc}
+Return 1 if the X server supports the Rand\-R Extension version 1.1, 0 otherwise. \hypertarget{group__Ecore__X__RandR__Group_g419196c593bc7fb5737c639a40a2d78c}{
+\index{Ecore_X_RandR_Group@{Ecore\_\-X\_\-Rand\-R\_\-Group}!ecore_x_randr_screen_refresh_rate_set@{ecore\_\-x\_\-randr\_\-screen\_\-refresh\_\-rate\_\-set}}
+\index{ecore_x_randr_screen_refresh_rate_set@{ecore\_\-x\_\-randr\_\-screen\_\-refresh\_\-rate\_\-set}!Ecore_X_RandR_Group@{Ecore\_\-X\_\-Rand\-R\_\-Group}}
+\subsubsection[ecore\_\-x\_\-randr\_\-screen\_\-refresh\_\-rate\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-x\_\-randr\_\-screen\_\-refresh\_\-rate\_\-set (Ecore\_\-X\_\-Window {\em root}, Ecore\_\-X\_\-Screen\_\-Size {\em size}, Ecore\_\-X\_\-Screen\_\-Refresh\_\-Rate {\em rate})}}
+\label{group__Ecore__X__RandR__Group_g419196c593bc7fb5737c639a40a2d78c}
+
+
+Set the screen refresh rate. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em root}]The root window. \item[{\em size}]The size. \item[{\em rate}]The refresh rate.\end{description}
+\end{Desc}
+Set the size and the refresh rate of the screen associated to {\tt root}.
+
+Note that that function is blocking. \hypertarget{group__Ecore__X__RandR__Group_g3d4a43b64cd09b6b0423d72fbd56ce46}{
+\index{Ecore_X_RandR_Group@{Ecore\_\-X\_\-Rand\-R\_\-Group}!ecore_x_randr_screen_refresh_rates_get@{ecore\_\-x\_\-randr\_\-screen\_\-refresh\_\-rates\_\-get}}
+\index{ecore_x_randr_screen_refresh_rates_get@{ecore\_\-x\_\-randr\_\-screen\_\-refresh\_\-rates\_\-get}!Ecore_X_RandR_Group@{Ecore\_\-X\_\-Rand\-R\_\-Group}}
+\subsubsection[ecore\_\-x\_\-randr\_\-screen\_\-refresh\_\-rates\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI Ecore\_\-X\_\-Screen\_\-Refresh\_\-Rate$\ast$ ecore\_\-x\_\-randr\_\-screen\_\-refresh\_\-rates\_\-get (Ecore\_\-X\_\-Window root {\em \_\-\_\-UNUSED\_\-\_\-}, int size\_\-id {\em \_\-\_\-UNUSED\_\-\_\-}, int $\ast$ {\em num})}}
+\label{group__Ecore__X__RandR__Group_g3d4a43b64cd09b6b0423d72fbd56ce46}
+
+
+Get the refresh rates. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em root}]The window (Unused). \item[{\em num}]The number of refresh rates. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The refresh rates.\end{Desc}
+Get the list of refresh rates for each size supported by the screen associated to {\tt window} (passed to \hyperlink{group__Ecore__X__RandR__Group_gad888ac7ba23c09f8461b68746b3ed42}{ecore\_\-x\_\-randr\_\-get\_\-screen\_\-info\_\-prefetch()}). Each element of 'sizes' has a corresponding element in 'refresh'. An empty list indicates no known rates, or a device for which refresh is not relevant.
+
+To use this function, you must call before, and in order, \hyperlink{group__Ecore__X__RandR__Group_gad888ac7ba23c09f8461b68746b3ed42}{ecore\_\-x\_\-randr\_\-get\_\-screen\_\-info\_\-prefetch()}, which sends the Get\-Screen\-Info request, then \hyperlink{group__Ecore__X__RandR__Group_g6bacf7dd7ae77772aaad7ca4190928ce}{ecore\_\-x\_\-randr\_\-get\_\-screen\_\-info\_\-fetch()}, which gets the reply. \hypertarget{group__Ecore__X__RandR__Group_ga3a68841eaebe2e6c824cfb1f216b04e}{
+\index{Ecore_X_RandR_Group@{Ecore\_\-X\_\-Rand\-R\_\-Group}!ecore_x_randr_screen_rotation_get@{ecore\_\-x\_\-randr\_\-screen\_\-rotation\_\-get}}
+\index{ecore_x_randr_screen_rotation_get@{ecore\_\-x\_\-randr\_\-screen\_\-rotation\_\-get}!Ecore_X_RandR_Group@{Ecore\_\-X\_\-Rand\-R\_\-Group}}
+\subsubsection[ecore\_\-x\_\-randr\_\-screen\_\-rotation\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI Ecore\_\-X\_\-Randr\_\-Rotation ecore\_\-x\_\-randr\_\-screen\_\-rotation\_\-get (Ecore\_\-X\_\-Window root {\em \_\-\_\-UNUSED\_\-\_\-})}}
+\label{group__Ecore__X__RandR__Group_ga3a68841eaebe2e6c824cfb1f216b04e}
+
+
+Get the rotation. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em root}]The window (Unused). \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The rotation.\end{Desc}
+Get the rotation supported by the screen associated to {\tt window} (passed to \hyperlink{group__Ecore__X__RandR__Group_gad888ac7ba23c09f8461b68746b3ed42}{ecore\_\-x\_\-randr\_\-get\_\-screen\_\-info\_\-prefetch()}).
+
+To use this function, you must call before, and in order, \hyperlink{group__Ecore__X__RandR__Group_gad888ac7ba23c09f8461b68746b3ed42}{ecore\_\-x\_\-randr\_\-get\_\-screen\_\-info\_\-prefetch()}, which sends the Get\-Screen\-Info request, then \hyperlink{group__Ecore__X__RandR__Group_g6bacf7dd7ae77772aaad7ca4190928ce}{ecore\_\-x\_\-randr\_\-get\_\-screen\_\-info\_\-fetch()}, which gets the reply. \hypertarget{group__Ecore__X__RandR__Group_gd4368d091b23cb7aa6f165003345ee02}{
+\index{Ecore_X_RandR_Group@{Ecore\_\-X\_\-Rand\-R\_\-Group}!ecore_x_randr_screen_rotation_set@{ecore\_\-x\_\-randr\_\-screen\_\-rotation\_\-set}}
+\index{ecore_x_randr_screen_rotation_set@{ecore\_\-x\_\-randr\_\-screen\_\-rotation\_\-set}!Ecore_X_RandR_Group@{Ecore\_\-X\_\-Rand\-R\_\-Group}}
+\subsubsection[ecore\_\-x\_\-randr\_\-screen\_\-rotation\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-randr\_\-screen\_\-rotation\_\-set (Ecore\_\-X\_\-Window {\em root}, Ecore\_\-X\_\-Randr\_\-Rotation {\em rot})}}
+\label{group__Ecore__X__RandR__Group_gd4368d091b23cb7aa6f165003345ee02}
+
+
+Set the screen rotation. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em root}]The root window. \item[{\em rot}]The rotation.\end{description}
+\end{Desc}
+Set the rotation of the screen associated to {\tt root}.
+
+Note that that function is blocking. \hypertarget{group__Ecore__X__RandR__Group_g1eb8fa1940edec151d10accb9a0d949b}{
+\index{Ecore_X_RandR_Group@{Ecore\_\-X\_\-Rand\-R\_\-Group}!ecore_x_randr_screen_rotations_get@{ecore\_\-x\_\-randr\_\-screen\_\-rotations\_\-get}}
+\index{ecore_x_randr_screen_rotations_get@{ecore\_\-x\_\-randr\_\-screen\_\-rotations\_\-get}!Ecore_X_RandR_Group@{Ecore\_\-X\_\-Rand\-R\_\-Group}}
+\subsubsection[ecore\_\-x\_\-randr\_\-screen\_\-rotations\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI Ecore\_\-X\_\-Randr\_\-Rotation ecore\_\-x\_\-randr\_\-screen\_\-rotations\_\-get (Ecore\_\-X\_\-Window root {\em \_\-\_\-UNUSED\_\-\_\-})}}
+\label{group__Ecore__X__RandR__Group_g1eb8fa1940edec151d10accb9a0d949b}
+
+
+Get the set of rotations and reflections. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em root}]The window (Unused). \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The set of rotations and reflections.\end{Desc}
+Get the set of rotations and reflections supported by the screen associated to {\tt window} (passed to \hyperlink{group__Ecore__X__RandR__Group_gad888ac7ba23c09f8461b68746b3ed42}{ecore\_\-x\_\-randr\_\-get\_\-screen\_\-info\_\-prefetch()}).
+
+To use this function, you must call before, and in order, \hyperlink{group__Ecore__X__RandR__Group_gad888ac7ba23c09f8461b68746b3ed42}{ecore\_\-x\_\-randr\_\-get\_\-screen\_\-info\_\-prefetch()}, which sends the Get\-Screen\-Info request, then \hyperlink{group__Ecore__X__RandR__Group_g6bacf7dd7ae77772aaad7ca4190928ce}{ecore\_\-x\_\-randr\_\-get\_\-screen\_\-info\_\-fetch()}, which gets the reply. \hypertarget{group__Ecore__X__RandR__Group_g19e6ebee44b2f6783bab826239de5529}{
+\index{Ecore_X_RandR_Group@{Ecore\_\-X\_\-Rand\-R\_\-Group}!ecore_x_randr_screen_size_set@{ecore\_\-x\_\-randr\_\-screen\_\-size\_\-set}}
+\index{ecore_x_randr_screen_size_set@{ecore\_\-x\_\-randr\_\-screen\_\-size\_\-set}!Ecore_X_RandR_Group@{Ecore\_\-X\_\-Rand\-R\_\-Group}}
+\subsubsection[ecore\_\-x\_\-randr\_\-screen\_\-size\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-x\_\-randr\_\-screen\_\-size\_\-set (Ecore\_\-X\_\-Window {\em root}, Ecore\_\-X\_\-Screen\_\-Size {\em size})}}
+\label{group__Ecore__X__RandR__Group_g19e6ebee44b2f6783bab826239de5529}
+
+
+Set the screen size. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em root}]The root window. \item[{\em size}]The size.\end{description}
+\end{Desc}
+Set the size of the screen associated to {\tt root}.
+
+Note that that function is blocking. \hypertarget{group__Ecore__X__RandR__Group_gba0bcb46adcba878b3f86920fe97ac48}{
+\index{Ecore_X_RandR_Group@{Ecore\_\-X\_\-Rand\-R\_\-Group}!ecore_x_randr_screen_sizes_get@{ecore\_\-x\_\-randr\_\-screen\_\-sizes\_\-get}}
+\index{ecore_x_randr_screen_sizes_get@{ecore\_\-x\_\-randr\_\-screen\_\-sizes\_\-get}!Ecore_X_RandR_Group@{Ecore\_\-X\_\-Rand\-R\_\-Group}}
+\subsubsection[ecore\_\-x\_\-randr\_\-screen\_\-sizes\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI Ecore\_\-X\_\-Screen\_\-Size$\ast$ ecore\_\-x\_\-randr\_\-screen\_\-sizes\_\-get (Ecore\_\-X\_\-Window root {\em \_\-\_\-UNUSED\_\-\_\-}, int $\ast$ {\em num})}}
+\label{group__Ecore__X__RandR__Group_gba0bcb46adcba878b3f86920fe97ac48}
+
+
+Get the frame buffer sizes. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em root}]The window (Unused). \item[{\em num}]The number of sizes. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The sizes.\end{Desc}
+Get the list of possible frame buffer sizes (at the normal orientation supported by the screen associated to {\tt window} (passed to \hyperlink{group__Ecore__X__RandR__Group_gad888ac7ba23c09f8461b68746b3ed42}{ecore\_\-x\_\-randr\_\-get\_\-screen\_\-info\_\-prefetch()}). Each size indicates both the linear physical size of the screen and the pixel size.
+
+To use this function, you must call before, and in order, \hyperlink{group__Ecore__X__RandR__Group_gad888ac7ba23c09f8461b68746b3ed42}{ecore\_\-x\_\-randr\_\-get\_\-screen\_\-info\_\-prefetch()}, which sends the Get\-Screen\-Info request, then \hyperlink{group__Ecore__X__RandR__Group_g6bacf7dd7ae77772aaad7ca4190928ce}{ecore\_\-x\_\-randr\_\-get\_\-screen\_\-info\_\-fetch()}, which gets the reply. 
\ No newline at end of file
diff --git a/doc/latex/group__Ecore__X__ScrenSaver__Group.tex b/doc/latex/group__Ecore__X__ScrenSaver__Group.tex
new file mode 100644
index 0000000..f8d1707
--- /dev/null
+++ b/doc/latex/group__Ecore__X__ScrenSaver__Group.tex
@@ -0,0 +1,229 @@
+\hypertarget{group__Ecore__X__ScrenSaver__Group}{
+\section{X Shape extension}
+\label{group__Ecore__X__ScrenSaver__Group}\index{X Shape extension@{X Shape extension}}
+}
+These functions use the shape extension of the X server to change shape of given windows.  
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+EAPI int \hyperlink{group__Ecore__X__ScrenSaver__Group_gd220f9551715b550a20616858941d3eb}{ecore\_\-x\_\-screensaver\_\-event\_\-available\_\-get} (void)
+\begin{CompactList}\small\item\em Return whether the X server supports the Scren\-Saver Extension. \item\end{CompactList}\item 
+\hypertarget{group__Ecore__X__ScrenSaver__Group_g2f8377d2641c0c99b52ed5a6958b9c6e}{
+EAPI void \hyperlink{group__Ecore__X__ScrenSaver__Group_g2f8377d2641c0c99b52ed5a6958b9c6e}{ecore\_\-x\_\-screensaver\_\-idle\_\-time\_\-prefetch} (void)}
+\label{group__Ecore__X__ScrenSaver__Group_g2f8377d2641c0c99b52ed5a6958b9c6e}
+
+\begin{CompactList}\small\item\em Sends the Query\-Info request. \item\end{CompactList}\item 
+\hypertarget{group__Ecore__X__ScrenSaver__Group_gf571ec8eaf93e1f50ce654cb10b1dbd2}{
+EAPI void \hyperlink{group__Ecore__X__ScrenSaver__Group_gf571ec8eaf93e1f50ce654cb10b1dbd2}{ecore\_\-x\_\-screensaver\_\-idle\_\-time\_\-fetch} (void)}
+\label{group__Ecore__X__ScrenSaver__Group_gf571ec8eaf93e1f50ce654cb10b1dbd2}
+
+\begin{CompactList}\small\item\em Gets the reply of the Query\-Info request sent by \hyperlink{group__Ecore__X__ScrenSaver__Group_gc298f2d96e62f51a4a762356e05fb11f}{ecore\_\-x\_\-get\_\-screensaver\_\-prefetch()}. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__X__ScrenSaver__Group_g53aac0b1f7d8d2faed6c70e39346135e}{ecore\_\-x\_\-screensaver\_\-idle\_\-time\_\-get} (void)
+\begin{CompactList}\small\item\em Get the number of seconds since the last input was received. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__ScrenSaver__Group_g26516d0fd54b856fc6cf195a64c2fdf8}{ecore\_\-x\_\-screensaver\_\-set} (int timeout, int interval, int blank, int expose)
+\begin{CompactList}\small\item\em Set the parameters of the screen saver. \item\end{CompactList}\item 
+\hypertarget{group__Ecore__X__ScrenSaver__Group_gc298f2d96e62f51a4a762356e05fb11f}{
+EAPI void \hyperlink{group__Ecore__X__ScrenSaver__Group_gc298f2d96e62f51a4a762356e05fb11f}{ecore\_\-x\_\-get\_\-screensaver\_\-prefetch} (void)}
+\label{group__Ecore__X__ScrenSaver__Group_gc298f2d96e62f51a4a762356e05fb11f}
+
+\begin{CompactList}\small\item\em Sends the Get\-Screen\-Saver request. \item\end{CompactList}\item 
+\hypertarget{group__Ecore__X__ScrenSaver__Group_g247c7abda70efae971c0dab8c45b92f1}{
+EAPI void \hyperlink{group__Ecore__X__ScrenSaver__Group_g247c7abda70efae971c0dab8c45b92f1}{ecore\_\-x\_\-get\_\-screensaver\_\-fetch} (void)}
+\label{group__Ecore__X__ScrenSaver__Group_g247c7abda70efae971c0dab8c45b92f1}
+
+\begin{CompactList}\small\item\em Gets the reply of the Get\-Screen\-Saver request sent by \hyperlink{group__Ecore__X__ScrenSaver__Group_gc298f2d96e62f51a4a762356e05fb11f}{ecore\_\-x\_\-get\_\-screensaver\_\-prefetch()}. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__ScrenSaver__Group_g85c0f1a7fef1be2706be2ee97f9868be}{ecore\_\-x\_\-screensaver\_\-timeout\_\-set} (double timeout)
+\begin{CompactList}\small\item\em Set the timeout of the screen saver. \item\end{CompactList}\item 
+EAPI double \hyperlink{group__Ecore__X__ScrenSaver__Group_ge423133e98e9e88c698f1efd04a2bc3e}{ecore\_\-x\_\-screensaver\_\-timeout\_\-get} (void)
+\begin{CompactList}\small\item\em Get the timeout of the screen saver. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__ScrenSaver__Group_ga6694e556123a7f3da482467dbdf7599}{ecore\_\-x\_\-screensaver\_\-interval\_\-set} (double interval)
+\begin{CompactList}\small\item\em Set the interval of the screen saver. \item\end{CompactList}\item 
+EAPI double \hyperlink{group__Ecore__X__ScrenSaver__Group_g171f13bf7c875af83589c0449deb3408}{ecore\_\-x\_\-screensaver\_\-interval\_\-get} (void)
+\begin{CompactList}\small\item\em Get the interval of the screen saver. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__ScrenSaver__Group_gc573fddc225070334883d002729c218f}{ecore\_\-x\_\-screensaver\_\-blank\_\-set} (double blank)
+\begin{CompactList}\small\item\em Set the screen blanking. \item\end{CompactList}\item 
+EAPI double \hyperlink{group__Ecore__X__ScrenSaver__Group_g7cb707960e49130bd5c5940c69b0ad76}{ecore\_\-x\_\-screensaver\_\-blank\_\-get} (void)
+\begin{CompactList}\small\item\em Get the screen blanking. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__ScrenSaver__Group_g96e1872d15f7098dee168b43303dc52c}{ecore\_\-x\_\-screensaver\_\-expose\_\-set} (double expose)
+\begin{CompactList}\small\item\em Set the screen save control values. \item\end{CompactList}\item 
+EAPI double \hyperlink{group__Ecore__X__ScrenSaver__Group_gb9dd23c31d29f0dc818845f4b9ad21fd}{ecore\_\-x\_\-screensaver\_\-expose\_\-get} (void)
+\begin{CompactList}\small\item\em Get the screen save control values. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__ScrenSaver__Group_ga567c33796d05f2b6a8dd3aae6af14fd}{ecore\_\-x\_\-screensaver\_\-event\_\-listen\_\-set} (int on)
+\begin{CompactList}\small\item\em Specifies if the Screen Saver Notify\-Mask event should be generated. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+These functions use the shape extension of the X server to change shape of given windows. 
+
+
+
+\subsection{Function Documentation}
+\hypertarget{group__Ecore__X__ScrenSaver__Group_g7cb707960e49130bd5c5940c69b0ad76}{
+\index{Ecore_X_ScrenSaver_Group@{Ecore\_\-X\_\-Scren\-Saver\_\-Group}!ecore_x_screensaver_blank_get@{ecore\_\-x\_\-screensaver\_\-blank\_\-get}}
+\index{ecore_x_screensaver_blank_get@{ecore\_\-x\_\-screensaver\_\-blank\_\-get}!Ecore_X_ScrenSaver_Group@{Ecore\_\-X\_\-Scren\-Saver\_\-Group}}
+\subsubsection[ecore\_\-x\_\-screensaver\_\-blank\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI double ecore\_\-x\_\-screensaver\_\-blank\_\-get (void)}}
+\label{group__Ecore__X__ScrenSaver__Group_g7cb707960e49130bd5c5940c69b0ad76}
+
+
+Get the screen blanking. 
+
+\begin{Desc}
+\item[Returns:]The blanking.\end{Desc}
+Get the screen blanking.
+
+To use this function, you must call before, and in order, \hyperlink{group__Ecore__X__ScrenSaver__Group_gc298f2d96e62f51a4a762356e05fb11f}{ecore\_\-x\_\-get\_\-screensaver\_\-prefetch()}, which sends the Get\-Screen\-Saver request, then \hyperlink{group__Ecore__X__ScrenSaver__Group_g247c7abda70efae971c0dab8c45b92f1}{ecore\_\-x\_\-get\_\-screensaver\_\-fetch()}, which gets the reply. \hypertarget{group__Ecore__X__ScrenSaver__Group_gc573fddc225070334883d002729c218f}{
+\index{Ecore_X_ScrenSaver_Group@{Ecore\_\-X\_\-Scren\-Saver\_\-Group}!ecore_x_screensaver_blank_set@{ecore\_\-x\_\-screensaver\_\-blank\_\-set}}
+\index{ecore_x_screensaver_blank_set@{ecore\_\-x\_\-screensaver\_\-blank\_\-set}!Ecore_X_ScrenSaver_Group@{Ecore\_\-X\_\-Scren\-Saver\_\-Group}}
+\subsubsection[ecore\_\-x\_\-screensaver\_\-blank\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-screensaver\_\-blank\_\-set (double {\em blank})}}
+\label{group__Ecore__X__ScrenSaver__Group_gc573fddc225070334883d002729c218f}
+
+
+Set the screen blanking. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em blank}]The blank to set.\end{description}
+\end{Desc}
+{\tt blank} specifies how to enable screen blanking.
+
+To use this function, you must call before, and in order, \hyperlink{group__Ecore__X__ScrenSaver__Group_gc298f2d96e62f51a4a762356e05fb11f}{ecore\_\-x\_\-get\_\-screensaver\_\-prefetch()}, which sends the Get\-Screen\-Saver request, then \hyperlink{group__Ecore__X__ScrenSaver__Group_g247c7abda70efae971c0dab8c45b92f1}{ecore\_\-x\_\-get\_\-screensaver\_\-fetch()}, which gets the reply. \hypertarget{group__Ecore__X__ScrenSaver__Group_gd220f9551715b550a20616858941d3eb}{
+\index{Ecore_X_ScrenSaver_Group@{Ecore\_\-X\_\-Scren\-Saver\_\-Group}!ecore_x_screensaver_event_available_get@{ecore\_\-x\_\-screensaver\_\-event\_\-available\_\-get}}
+\index{ecore_x_screensaver_event_available_get@{ecore\_\-x\_\-screensaver\_\-event\_\-available\_\-get}!Ecore_X_ScrenSaver_Group@{Ecore\_\-X\_\-Scren\-Saver\_\-Group}}
+\subsubsection[ecore\_\-x\_\-screensaver\_\-event\_\-available\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-x\_\-screensaver\_\-event\_\-available\_\-get (void)}}
+\label{group__Ecore__X__ScrenSaver__Group_gd220f9551715b550a20616858941d3eb}
+
+
+Return whether the X server supports the Scren\-Saver Extension. 
+
+\begin{Desc}
+\item[Returns:]1 if the X Scren\-Saver Extension is available, 0 otherwise.\end{Desc}
+Return 1 if the X server supports the Scren\-Saver Extension version 1.0, 0 otherwise. \hypertarget{group__Ecore__X__ScrenSaver__Group_ga567c33796d05f2b6a8dd3aae6af14fd}{
+\index{Ecore_X_ScrenSaver_Group@{Ecore\_\-X\_\-Scren\-Saver\_\-Group}!ecore_x_screensaver_event_listen_set@{ecore\_\-x\_\-screensaver\_\-event\_\-listen\_\-set}}
+\index{ecore_x_screensaver_event_listen_set@{ecore\_\-x\_\-screensaver\_\-event\_\-listen\_\-set}!Ecore_X_ScrenSaver_Group@{Ecore\_\-X\_\-Scren\-Saver\_\-Group}}
+\subsubsection[ecore\_\-x\_\-screensaver\_\-event\_\-listen\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-screensaver\_\-event\_\-listen\_\-set (int {\em on})}}
+\label{group__Ecore__X__ScrenSaver__Group_ga567c33796d05f2b6a8dd3aae6af14fd}
+
+
+Specifies if the Screen Saver Notify\-Mask event should be generated. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em on}]0 to disable the generation of the event, otherwise enable it.\end{description}
+\end{Desc}
+Specifies if the Screen Saver Notify\-Mask event on the screen associated with drawable should be generated for this client. If {\tt on} is set to {\tt 0}, the generation is disabled, otherwise, it is enabled. \hypertarget{group__Ecore__X__ScrenSaver__Group_gb9dd23c31d29f0dc818845f4b9ad21fd}{
+\index{Ecore_X_ScrenSaver_Group@{Ecore\_\-X\_\-Scren\-Saver\_\-Group}!ecore_x_screensaver_expose_get@{ecore\_\-x\_\-screensaver\_\-expose\_\-get}}
+\index{ecore_x_screensaver_expose_get@{ecore\_\-x\_\-screensaver\_\-expose\_\-get}!Ecore_X_ScrenSaver_Group@{Ecore\_\-X\_\-Scren\-Saver\_\-Group}}
+\subsubsection[ecore\_\-x\_\-screensaver\_\-expose\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI double ecore\_\-x\_\-screensaver\_\-expose\_\-get (void)}}
+\label{group__Ecore__X__ScrenSaver__Group_gb9dd23c31d29f0dc818845f4b9ad21fd}
+
+
+Get the screen save control values. 
+
+\begin{Desc}
+\item[Returns:]The expose.\end{Desc}
+Get the screen save control values.
+
+To use this function, you must call before, and in order, \hyperlink{group__Ecore__X__ScrenSaver__Group_gc298f2d96e62f51a4a762356e05fb11f}{ecore\_\-x\_\-get\_\-screensaver\_\-prefetch()}, which sends the Get\-Screen\-Saver request, then \hyperlink{group__Ecore__X__ScrenSaver__Group_g247c7abda70efae971c0dab8c45b92f1}{ecore\_\-x\_\-get\_\-screensaver\_\-fetch()}, which gets the reply. \hypertarget{group__Ecore__X__ScrenSaver__Group_g96e1872d15f7098dee168b43303dc52c}{
+\index{Ecore_X_ScrenSaver_Group@{Ecore\_\-X\_\-Scren\-Saver\_\-Group}!ecore_x_screensaver_expose_set@{ecore\_\-x\_\-screensaver\_\-expose\_\-set}}
+\index{ecore_x_screensaver_expose_set@{ecore\_\-x\_\-screensaver\_\-expose\_\-set}!Ecore_X_ScrenSaver_Group@{Ecore\_\-X\_\-Scren\-Saver\_\-Group}}
+\subsubsection[ecore\_\-x\_\-screensaver\_\-expose\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-screensaver\_\-expose\_\-set (double {\em expose})}}
+\label{group__Ecore__X__ScrenSaver__Group_g96e1872d15f7098dee168b43303dc52c}
+
+
+Set the screen save control values. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em expose}]The expose to set.\end{description}
+\end{Desc}
+Set the screen save control values.
+
+To use this function, you must call before, and in order, \hyperlink{group__Ecore__X__ScrenSaver__Group_gc298f2d96e62f51a4a762356e05fb11f}{ecore\_\-x\_\-get\_\-screensaver\_\-prefetch()}, which sends the Get\-Screen\-Saver request, then \hyperlink{group__Ecore__X__ScrenSaver__Group_g247c7abda70efae971c0dab8c45b92f1}{ecore\_\-x\_\-get\_\-screensaver\_\-fetch()}, which gets the reply. \hypertarget{group__Ecore__X__ScrenSaver__Group_g53aac0b1f7d8d2faed6c70e39346135e}{
+\index{Ecore_X_ScrenSaver_Group@{Ecore\_\-X\_\-Scren\-Saver\_\-Group}!ecore_x_screensaver_idle_time_get@{ecore\_\-x\_\-screensaver\_\-idle\_\-time\_\-get}}
+\index{ecore_x_screensaver_idle_time_get@{ecore\_\-x\_\-screensaver\_\-idle\_\-time\_\-get}!Ecore_X_ScrenSaver_Group@{Ecore\_\-X\_\-Scren\-Saver\_\-Group}}
+\subsubsection[ecore\_\-x\_\-screensaver\_\-idle\_\-time\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-x\_\-screensaver\_\-idle\_\-time\_\-get (void)}}
+\label{group__Ecore__X__ScrenSaver__Group_g53aac0b1f7d8d2faed6c70e39346135e}
+
+
+Get the number of seconds since the last input was received. 
+
+\begin{Desc}
+\item[Returns:]The number of seconds.\end{Desc}
+Get the number of milliseconds since the last input was received from the user on any of the input devices.
+
+To use this function, you must call before, and in order, \hyperlink{group__Ecore__X__ScrenSaver__Group_gc298f2d96e62f51a4a762356e05fb11f}{ecore\_\-x\_\-get\_\-screensaver\_\-prefetch()}, which sends the Get\-Screen\-Saver request, then \hyperlink{group__Ecore__X__ScrenSaver__Group_g247c7abda70efae971c0dab8c45b92f1}{ecore\_\-x\_\-get\_\-screensaver\_\-fetch()}, which gets the reply. \hypertarget{group__Ecore__X__ScrenSaver__Group_g171f13bf7c875af83589c0449deb3408}{
+\index{Ecore_X_ScrenSaver_Group@{Ecore\_\-X\_\-Scren\-Saver\_\-Group}!ecore_x_screensaver_interval_get@{ecore\_\-x\_\-screensaver\_\-interval\_\-get}}
+\index{ecore_x_screensaver_interval_get@{ecore\_\-x\_\-screensaver\_\-interval\_\-get}!Ecore_X_ScrenSaver_Group@{Ecore\_\-X\_\-Scren\-Saver\_\-Group}}
+\subsubsection[ecore\_\-x\_\-screensaver\_\-interval\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI double ecore\_\-x\_\-screensaver\_\-interval\_\-get (void)}}
+\label{group__Ecore__X__ScrenSaver__Group_g171f13bf7c875af83589c0449deb3408}
+
+
+Get the interval of the screen saver. 
+
+\begin{Desc}
+\item[Returns:]The interval.\end{Desc}
+Get the {\tt interval}, in seconds, between screen saver alterations.
+
+To use this function, you must call before, and in order, \hyperlink{group__Ecore__X__ScrenSaver__Group_gc298f2d96e62f51a4a762356e05fb11f}{ecore\_\-x\_\-get\_\-screensaver\_\-prefetch()}, which sends the Get\-Screen\-Saver request, then \hyperlink{group__Ecore__X__ScrenSaver__Group_g247c7abda70efae971c0dab8c45b92f1}{ecore\_\-x\_\-get\_\-screensaver\_\-fetch()}, which gets the reply. \hypertarget{group__Ecore__X__ScrenSaver__Group_ga6694e556123a7f3da482467dbdf7599}{
+\index{Ecore_X_ScrenSaver_Group@{Ecore\_\-X\_\-Scren\-Saver\_\-Group}!ecore_x_screensaver_interval_set@{ecore\_\-x\_\-screensaver\_\-interval\_\-set}}
+\index{ecore_x_screensaver_interval_set@{ecore\_\-x\_\-screensaver\_\-interval\_\-set}!Ecore_X_ScrenSaver_Group@{Ecore\_\-X\_\-Scren\-Saver\_\-Group}}
+\subsubsection[ecore\_\-x\_\-screensaver\_\-interval\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-screensaver\_\-interval\_\-set (double {\em interval})}}
+\label{group__Ecore__X__ScrenSaver__Group_ga6694e556123a7f3da482467dbdf7599}
+
+
+Set the interval of the screen saver. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em interval}]The interval to set.\end{description}
+\end{Desc}
+Set the {\tt interval}, in seconds, between screen saver alterations.
+
+To use this function, you must call before, and in order, \hyperlink{group__Ecore__X__ScrenSaver__Group_gc298f2d96e62f51a4a762356e05fb11f}{ecore\_\-x\_\-get\_\-screensaver\_\-prefetch()}, which sends the Get\-Screen\-Saver request, then \hyperlink{group__Ecore__X__ScrenSaver__Group_g247c7abda70efae971c0dab8c45b92f1}{ecore\_\-x\_\-get\_\-screensaver\_\-fetch()}, which gets the reply. \hypertarget{group__Ecore__X__ScrenSaver__Group_g26516d0fd54b856fc6cf195a64c2fdf8}{
+\index{Ecore_X_ScrenSaver_Group@{Ecore\_\-X\_\-Scren\-Saver\_\-Group}!ecore_x_screensaver_set@{ecore\_\-x\_\-screensaver\_\-set}}
+\index{ecore_x_screensaver_set@{ecore\_\-x\_\-screensaver\_\-set}!Ecore_X_ScrenSaver_Group@{Ecore\_\-X\_\-Scren\-Saver\_\-Group}}
+\subsubsection[ecore\_\-x\_\-screensaver\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-screensaver\_\-set (int {\em timeout}, int {\em interval}, int {\em blank}, int {\em expose})}}
+\label{group__Ecore__X__ScrenSaver__Group_g26516d0fd54b856fc6cf195a64c2fdf8}
+
+
+Set the parameters of the screen saver. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em timeout}]The timeout, in second. \item[{\em interval}]The interval, in seconds. \item[{\em blank}]0 to disable screen blanking, otherwise enable it. \item[{\em expose}]Allow Expose generation event or not.\end{description}
+\end{Desc}
+Set the parameters of the screen saver. {\tt timeout} is the timeout, in seconds, until the screen saver turns on. {\tt interval} is the interval, in seconds, between screen saver alterations. {\tt blank} specifies how to enable screen blanking. {\tt expose} specifies the screen save control values. \hypertarget{group__Ecore__X__ScrenSaver__Group_ge423133e98e9e88c698f1efd04a2bc3e}{
+\index{Ecore_X_ScrenSaver_Group@{Ecore\_\-X\_\-Scren\-Saver\_\-Group}!ecore_x_screensaver_timeout_get@{ecore\_\-x\_\-screensaver\_\-timeout\_\-get}}
+\index{ecore_x_screensaver_timeout_get@{ecore\_\-x\_\-screensaver\_\-timeout\_\-get}!Ecore_X_ScrenSaver_Group@{Ecore\_\-X\_\-Scren\-Saver\_\-Group}}
+\subsubsection[ecore\_\-x\_\-screensaver\_\-timeout\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI double ecore\_\-x\_\-screensaver\_\-timeout\_\-get (void)}}
+\label{group__Ecore__X__ScrenSaver__Group_ge423133e98e9e88c698f1efd04a2bc3e}
+
+
+Get the timeout of the screen saver. 
+
+\begin{Desc}
+\item[Returns:]The timeout.\end{Desc}
+Get the {\tt timeout}, in seconds, until the screen saver turns on.
+
+To use this function, you must call before, and in order, \hyperlink{group__Ecore__X__ScrenSaver__Group_gc298f2d96e62f51a4a762356e05fb11f}{ecore\_\-x\_\-get\_\-screensaver\_\-prefetch()}, which sends the Get\-Screen\-Saver request, then \hyperlink{group__Ecore__X__ScrenSaver__Group_g247c7abda70efae971c0dab8c45b92f1}{ecore\_\-x\_\-get\_\-screensaver\_\-fetch()}, which gets the reply. \hypertarget{group__Ecore__X__ScrenSaver__Group_g85c0f1a7fef1be2706be2ee97f9868be}{
+\index{Ecore_X_ScrenSaver_Group@{Ecore\_\-X\_\-Scren\-Saver\_\-Group}!ecore_x_screensaver_timeout_set@{ecore\_\-x\_\-screensaver\_\-timeout\_\-set}}
+\index{ecore_x_screensaver_timeout_set@{ecore\_\-x\_\-screensaver\_\-timeout\_\-set}!Ecore_X_ScrenSaver_Group@{Ecore\_\-X\_\-Scren\-Saver\_\-Group}}
+\subsubsection[ecore\_\-x\_\-screensaver\_\-timeout\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-screensaver\_\-timeout\_\-set (double {\em timeout})}}
+\label{group__Ecore__X__ScrenSaver__Group_g85c0f1a7fef1be2706be2ee97f9868be}
+
+
+Set the timeout of the screen saver. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em timeout}]The timeout to set.\end{description}
+\end{Desc}
+Set the {\tt timeout}, in seconds, until the screen saver turns on.
+
+To use this function, you must call before, and in order, \hyperlink{group__Ecore__X__ScrenSaver__Group_gc298f2d96e62f51a4a762356e05fb11f}{ecore\_\-x\_\-get\_\-screensaver\_\-prefetch()}, which sends the Get\-Screen\-Saver request, then \hyperlink{group__Ecore__X__ScrenSaver__Group_g247c7abda70efae971c0dab8c45b92f1}{ecore\_\-x\_\-get\_\-screensaver\_\-fetch()}, which gets the reply. 
\ No newline at end of file
diff --git a/doc/latex/group__Ecore__X__Shape__Group.tex b/doc/latex/group__Ecore__X__Shape__Group.tex
new file mode 100644
index 0000000..07b7c24
--- /dev/null
+++ b/doc/latex/group__Ecore__X__Shape__Group.tex
@@ -0,0 +1,87 @@
+\hypertarget{group__Ecore__X__Shape__Group}{
+\section{X Shape extension}
+\label{group__Ecore__X__Shape__Group}\index{X Shape extension@{X Shape extension}}
+}
+Functions that use the shape extension of the X server to change shape of given windows.  
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+EAPI void \hyperlink{group__Ecore__X__Shape__Group_gea95067057a3486da393698b636317d9}{ecore\_\-x\_\-window\_\-shape\_\-mask\_\-set} (Ecore\_\-X\_\-Window dest\_\-win, Ecore\_\-X\_\-Pixmap source\_\-mask)
+\begin{CompactList}\small\item\em Sets the shape of the given window to that given by the pixmap {\tt mask}. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Shape__Group_gbb308c760ce2764ad4c8baa513203fc1}{ecore\_\-x\_\-window\_\-shape\_\-rectangle\_\-set} (Ecore\_\-X\_\-Window dest\_\-win, int x, int y, int width, int height)
+\begin{CompactList}\small\item\em Sets the shape of the given window to a rectangle. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Shape__Group_g74946b8f12f5159e4a682512933a3d18}{ecore\_\-x\_\-window\_\-shape\_\-rectangles\_\-get\_\-prefetch} (Ecore\_\-X\_\-Window window)
+\begin{CompactList}\small\item\em Sends the Shape\-Get\-Rectangles request. \item\end{CompactList}\item 
+\hypertarget{group__Ecore__X__Shape__Group_gb9cf8440f79e4242eb07e65227117404}{
+EAPI void \hyperlink{group__Ecore__X__Shape__Group_gb9cf8440f79e4242eb07e65227117404}{ecore\_\-x\_\-window\_\-shape\_\-rectangles\_\-get\_\-fetch} (void)}
+\label{group__Ecore__X__Shape__Group_gb9cf8440f79e4242eb07e65227117404}
+
+\begin{CompactList}\small\item\em Gets the reply of the Shape\-Get\-Rectangles request sent by \hyperlink{group__Ecore__X__Shape__Group_g74946b8f12f5159e4a682512933a3d18}{ecore\_\-x\_\-window\_\-shape\_\-rectangles\_\-get\_\-prefetch()}. \item\end{CompactList}\item 
+EAPI Ecore\_\-X\_\-Rectangle $\ast$ \hyperlink{group__Ecore__X__Shape__Group_g3c8761f16e5732d395797bc02d289052}{ecore\_\-x\_\-window\_\-shape\_\-rectangles\_\-get} (Ecore\_\-X\_\-Window window \_\-\_\-UNUSED\_\-\_\-, int $\ast$num\_\-ret)
+\begin{CompactList}\small\item\em To document. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Functions that use the shape extension of the X server to change shape of given windows. 
+
+
+
+\subsection{Function Documentation}
+\hypertarget{group__Ecore__X__Shape__Group_gea95067057a3486da393698b636317d9}{
+\index{Ecore_X_Shape_Group@{Ecore\_\-X\_\-Shape\_\-Group}!ecore_x_window_shape_mask_set@{ecore\_\-x\_\-window\_\-shape\_\-mask\_\-set}}
+\index{ecore_x_window_shape_mask_set@{ecore\_\-x\_\-window\_\-shape\_\-mask\_\-set}!Ecore_X_Shape_Group@{Ecore\_\-X\_\-Shape\_\-Group}}
+\subsubsection[ecore\_\-x\_\-window\_\-shape\_\-mask\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-window\_\-shape\_\-mask\_\-set (Ecore\_\-X\_\-Window {\em dest\_\-win}, Ecore\_\-X\_\-Pixmap {\em source\_\-mask})}}
+\label{group__Ecore__X__Shape__Group_gea95067057a3486da393698b636317d9}
+
+
+Sets the shape of the given window to that given by the pixmap {\tt mask}. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em dest\_\-win}]The given window. \item[{\em source\_\-mask}]A 2-bit depth pixmap that provides the new shape of the window.\end{description}
+\end{Desc}
+Sets the shape of the window {\tt dest\_\-win} to the pixmap {\tt source\_\-mask}. \hypertarget{group__Ecore__X__Shape__Group_gbb308c760ce2764ad4c8baa513203fc1}{
+\index{Ecore_X_Shape_Group@{Ecore\_\-X\_\-Shape\_\-Group}!ecore_x_window_shape_rectangle_set@{ecore\_\-x\_\-window\_\-shape\_\-rectangle\_\-set}}
+\index{ecore_x_window_shape_rectangle_set@{ecore\_\-x\_\-window\_\-shape\_\-rectangle\_\-set}!Ecore_X_Shape_Group@{Ecore\_\-X\_\-Shape\_\-Group}}
+\subsubsection[ecore\_\-x\_\-window\_\-shape\_\-rectangle\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-window\_\-shape\_\-rectangle\_\-set (Ecore\_\-X\_\-Window {\em dest\_\-win}, int {\em x}, int {\em y}, int {\em width}, int {\em height})}}
+\label{group__Ecore__X__Shape__Group_gbb308c760ce2764ad4c8baa513203fc1}
+
+
+Sets the shape of the given window to a rectangle. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em dest\_\-win}]The given window. \item[{\em x}]The X coordinate of the top left corner of the rectangle. \item[{\em y}]The Y coordinate of the top left corner of the rectangle. \item[{\em width}]The width of the rectangle. \item[{\em height}]The height of the rectangle.\end{description}
+\end{Desc}
+Sets the shape of the window {\tt dest\_\-win} to a rectangle defined by {\tt x}, {\tt y}, {\tt width} and {\tt height}. \hypertarget{group__Ecore__X__Shape__Group_g3c8761f16e5732d395797bc02d289052}{
+\index{Ecore_X_Shape_Group@{Ecore\_\-X\_\-Shape\_\-Group}!ecore_x_window_shape_rectangles_get@{ecore\_\-x\_\-window\_\-shape\_\-rectangles\_\-get}}
+\index{ecore_x_window_shape_rectangles_get@{ecore\_\-x\_\-window\_\-shape\_\-rectangles\_\-get}!Ecore_X_Shape_Group@{Ecore\_\-X\_\-Shape\_\-Group}}
+\subsubsection[ecore\_\-x\_\-window\_\-shape\_\-rectangles\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI Ecore\_\-X\_\-Rectangle$\ast$ ecore\_\-x\_\-window\_\-shape\_\-rectangles\_\-get (Ecore\_\-X\_\-Window window {\em \_\-\_\-UNUSED\_\-\_\-}, int $\ast$ {\em num\_\-ret})}}
+\label{group__Ecore__X__Shape__Group_g3c8761f16e5732d395797bc02d289052}
+
+
+To document. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]Unused. \item[{\em num\_\-ret}]To document. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]To document.\end{Desc}
+To use this function, you must call before, and in order, \hyperlink{group__Ecore__X__Shape__Group_g74946b8f12f5159e4a682512933a3d18}{ecore\_\-x\_\-window\_\-shape\_\-rectangles\_\-get\_\-prefetch()}, which sends the Shape\-Get\-Rectangles request, then \hyperlink{group__Ecore__X__Shape__Group_gb9cf8440f79e4242eb07e65227117404}{ecore\_\-x\_\-window\_\-shape\_\-rectangles\_\-get\_\-fetch()}, which gets the reply. \hypertarget{group__Ecore__X__Shape__Group_g74946b8f12f5159e4a682512933a3d18}{
+\index{Ecore_X_Shape_Group@{Ecore\_\-X\_\-Shape\_\-Group}!ecore_x_window_shape_rectangles_get_prefetch@{ecore\_\-x\_\-window\_\-shape\_\-rectangles\_\-get\_\-prefetch}}
+\index{ecore_x_window_shape_rectangles_get_prefetch@{ecore\_\-x\_\-window\_\-shape\_\-rectangles\_\-get\_\-prefetch}!Ecore_X_Shape_Group@{Ecore\_\-X\_\-Shape\_\-Group}}
+\subsubsection[ecore\_\-x\_\-window\_\-shape\_\-rectangles\_\-get\_\-prefetch]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-window\_\-shape\_\-rectangles\_\-get\_\-prefetch (Ecore\_\-X\_\-Window {\em window})}}
+\label{group__Ecore__X__Shape__Group_g74946b8f12f5159e4a682512933a3d18}
+
+
+Sends the Shape\-Get\-Rectangles request. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]Requested window. \end{description}
+\end{Desc}
diff --git a/doc/latex/group__Ecore__X__Sync__Group.tex b/doc/latex/group__Ecore__X__Sync__Group.tex
new file mode 100644
index 0000000..254f341
--- /dev/null
+++ b/doc/latex/group__Ecore__X__Sync__Group.tex
@@ -0,0 +1,66 @@
+\hypertarget{group__Ecore__X__Sync__Group}{
+\section{X Sync Extension Functions}
+\label{group__Ecore__X__Sync__Group}\index{X Sync Extension Functions@{X Sync Extension Functions}}
+}
+Functions related to the X Sync extension.  
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+EAPI int \hyperlink{group__Ecore__X__Sync__Group_g2512adda40a8a37a2afdb17cad48254a}{ecore\_\-x\_\-sync\_\-query} (void)
+\begin{CompactList}\small\item\em Return whether the X server supports the Sync Extension. \item\end{CompactList}\item 
+EAPI Ecore\_\-X\_\-Sync\_\-Alarm \hyperlink{group__Ecore__X__Sync__Group_g4297e9415311e99d2d57119792340831}{ecore\_\-x\_\-sync\_\-alarm\_\-new} (Ecore\_\-X\_\-Sync\_\-Counter counter)
+\begin{CompactList}\small\item\em Create a new alarm. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__X__Sync__Group_gf6c393e632c451bb1dfa9e478b545993}{ecore\_\-x\_\-sync\_\-alarm\_\-free} (Ecore\_\-X\_\-Sync\_\-Alarm alarm)
+\begin{CompactList}\small\item\em Delete an alarm. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Functions related to the X Sync extension. 
+
+
+
+\subsection{Function Documentation}
+\hypertarget{group__Ecore__X__Sync__Group_gf6c393e632c451bb1dfa9e478b545993}{
+\index{Ecore_X_Sync_Group@{Ecore\_\-X\_\-Sync\_\-Group}!ecore_x_sync_alarm_free@{ecore\_\-x\_\-sync\_\-alarm\_\-free}}
+\index{ecore_x_sync_alarm_free@{ecore\_\-x\_\-sync\_\-alarm\_\-free}!Ecore_X_Sync_Group@{Ecore\_\-X\_\-Sync\_\-Group}}
+\subsubsection[ecore\_\-x\_\-sync\_\-alarm\_\-free]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-x\_\-sync\_\-alarm\_\-free (Ecore\_\-X\_\-Sync\_\-Alarm {\em alarm})}}
+\label{group__Ecore__X__Sync__Group_gf6c393e632c451bb1dfa9e478b545993}
+
+
+Delete an alarm. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em alarm}]The alarm to delete. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]1 on success, 0 otherwise.\end{Desc}
+Delete the {\tt alarm}. Returns 1 on success, 0 otherwise. \hypertarget{group__Ecore__X__Sync__Group_g4297e9415311e99d2d57119792340831}{
+\index{Ecore_X_Sync_Group@{Ecore\_\-X\_\-Sync\_\-Group}!ecore_x_sync_alarm_new@{ecore\_\-x\_\-sync\_\-alarm\_\-new}}
+\index{ecore_x_sync_alarm_new@{ecore\_\-x\_\-sync\_\-alarm\_\-new}!Ecore_X_Sync_Group@{Ecore\_\-X\_\-Sync\_\-Group}}
+\subsubsection[ecore\_\-x\_\-sync\_\-alarm\_\-new]{\setlength{\rightskip}{0pt plus 5cm}EAPI Ecore\_\-X\_\-Sync\_\-Alarm ecore\_\-x\_\-sync\_\-alarm\_\-new (Ecore\_\-X\_\-Sync\_\-Counter {\em counter})}}
+\label{group__Ecore__X__Sync__Group_g4297e9415311e99d2d57119792340831}
+
+
+Create a new alarm. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em counter}]A counter. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]A newly created alarm.\end{Desc}
+Create a new alarm. \hypertarget{group__Ecore__X__Sync__Group_g2512adda40a8a37a2afdb17cad48254a}{
+\index{Ecore_X_Sync_Group@{Ecore\_\-X\_\-Sync\_\-Group}!ecore_x_sync_query@{ecore\_\-x\_\-sync\_\-query}}
+\index{ecore_x_sync_query@{ecore\_\-x\_\-sync\_\-query}!Ecore_X_Sync_Group@{Ecore\_\-X\_\-Sync\_\-Group}}
+\subsubsection[ecore\_\-x\_\-sync\_\-query]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-x\_\-sync\_\-query (void)}}
+\label{group__Ecore__X__Sync__Group_g2512adda40a8a37a2afdb17cad48254a}
+
+
+Return whether the X server supports the Sync Extension. 
+
+\begin{Desc}
+\item[Returns:]1 if the X Sync Extension is available, 0 otherwise.\end{Desc}
+Return 1 if the X server supports the Sync Extension version 3.0, 0 otherwise. 
\ No newline at end of file
diff --git a/doc/latex/group__Ecore__X__Window__Change__Attributes__Group.tex b/doc/latex/group__Ecore__X__Window__Change__Attributes__Group.tex
new file mode 100644
index 0000000..e85c849
--- /dev/null
+++ b/doc/latex/group__Ecore__X__Window__Change__Attributes__Group.tex
@@ -0,0 +1,192 @@
+\hypertarget{group__Ecore__X__Window__Change__Attributes__Group}{
+\section{X Window Change Attributes Functions}
+\label{group__Ecore__X__Window__Change__Attributes__Group}\index{X Window Change Attributes Functions@{X Window Change Attributes Functions}}
+}
+Functions that change the attributes of a window.  
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+EAPI void \hyperlink{group__Ecore__X__Window__Change__Attributes__Group_g5f507d1c02daa5b964dfa433cad1091f}{ecore\_\-x\_\-window\_\-pixmap\_\-set} (Ecore\_\-X\_\-Window window, Ecore\_\-X\_\-Pixmap pixmap)
+\begin{CompactList}\small\item\em Sets the background pixmap of the given window. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Window__Change__Attributes__Group_ge48a95e4025b151a56574d00339e7b59}{ecore\_\-x\_\-window\_\-background\_\-color\_\-set} (Ecore\_\-X\_\-Window window, unsigned short red, unsigned short green, unsigned short blue)
+\begin{CompactList}\small\item\em Sets the background color of the given window. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Window__Change__Attributes__Group_gbaa528f9e018cf0424f88c4ef3ccda4a}{ecore\_\-x\_\-window\_\-pixel\_\-gravity\_\-set} (Ecore\_\-X\_\-Window window, Ecore\_\-X\_\-Gravity gravity)
+\begin{CompactList}\small\item\em Sets the bit gravity of the given window. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Window__Change__Attributes__Group_gc276991a3bf84c7454dd850524202917}{ecore\_\-x\_\-window\_\-gravity\_\-set} (Ecore\_\-X\_\-Window window, Ecore\_\-X\_\-Gravity gravity)
+\begin{CompactList}\small\item\em Sets the gravity of the given window. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Window__Change__Attributes__Group_g41fe2703d159f924661fd4c7004d3153}{ecore\_\-x\_\-window\_\-override\_\-set} (Ecore\_\-X\_\-Window window, int override\_\-redirect)
+\begin{CompactList}\small\item\em Sets the override attribute of the given window. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Window__Change__Attributes__Group_gfb4d1c1ec8842f10e26ebc38a04e306a}{ecore\_\-x\_\-window\_\-cursor\_\-show} (Ecore\_\-X\_\-Window window, int show)
+\begin{CompactList}\small\item\em To be documented. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Window__Change__Attributes__Group_gfde2213805afdbabda8657f98490218e}{ecore\_\-x\_\-window\_\-cursor\_\-set} (Ecore\_\-X\_\-Window window, Ecore\_\-X\_\-Cursor cursor)
+\begin{CompactList}\small\item\em Sets the cursor of the given window. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Window__Change__Attributes__Group_g2e636d8d0e55a4ae4ef06738a2f1beab}{ecore\_\-x\_\-window\_\-container\_\-manage} (Ecore\_\-X\_\-Window window)
+\begin{CompactList}\small\item\em Todo. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Window__Change__Attributes__Group_gdbfc9e398582f595ffafeb2f58462b6e}{ecore\_\-x\_\-window\_\-client\_\-manage} (Ecore\_\-X\_\-Window window)
+\begin{CompactList}\small\item\em Todo. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Window__Change__Attributes__Group_g1530c55771e253f3dcfbfac003e91d04}{ecore\_\-x\_\-window\_\-sniff} (Ecore\_\-X\_\-Window window)
+\begin{CompactList}\small\item\em Todo. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Window__Change__Attributes__Group_g8d1b65f42c5a2e96477cd1c7ff91f7bc}{ecore\_\-x\_\-window\_\-client\_\-sniff} (Ecore\_\-X\_\-Window window)
+\begin{CompactList}\small\item\em Todo. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Functions that change the attributes of a window. 
+
+
+
+\subsection{Function Documentation}
+\hypertarget{group__Ecore__X__Window__Change__Attributes__Group_ge48a95e4025b151a56574d00339e7b59}{
+\index{Ecore_X_Window_Change_Attributes_Group@{Ecore\_\-X\_\-Window\_\-Change\_\-Attributes\_\-Group}!ecore_x_window_background_color_set@{ecore\_\-x\_\-window\_\-background\_\-color\_\-set}}
+\index{ecore_x_window_background_color_set@{ecore\_\-x\_\-window\_\-background\_\-color\_\-set}!Ecore_X_Window_Change_Attributes_Group@{Ecore\_\-X\_\-Window\_\-Change\_\-Attributes\_\-Group}}
+\subsubsection[ecore\_\-x\_\-window\_\-background\_\-color\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-window\_\-background\_\-color\_\-set (Ecore\_\-X\_\-Window {\em window}, unsigned short {\em red}, unsigned short {\em green}, unsigned short {\em blue})}}
+\label{group__Ecore__X__Window__Change__Attributes__Group_ge48a95e4025b151a56574d00339e7b59}
+
+
+Sets the background color of the given window. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The given window. \item[{\em red}]The red component of the color to set to. \item[{\em green}]The green component of the color to set to. \item[{\em blue}]The blue component of the color to set to. \end{description}
+\end{Desc}
+\hypertarget{group__Ecore__X__Window__Change__Attributes__Group_gdbfc9e398582f595ffafeb2f58462b6e}{
+\index{Ecore_X_Window_Change_Attributes_Group@{Ecore\_\-X\_\-Window\_\-Change\_\-Attributes\_\-Group}!ecore_x_window_client_manage@{ecore\_\-x\_\-window\_\-client\_\-manage}}
+\index{ecore_x_window_client_manage@{ecore\_\-x\_\-window\_\-client\_\-manage}!Ecore_X_Window_Change_Attributes_Group@{Ecore\_\-X\_\-Window\_\-Change\_\-Attributes\_\-Group}}
+\subsubsection[ecore\_\-x\_\-window\_\-client\_\-manage]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-window\_\-client\_\-manage (Ecore\_\-X\_\-Window {\em window})}}
+\label{group__Ecore__X__Window__Change__Attributes__Group_gdbfc9e398582f595ffafeb2f58462b6e}
+
+
+Todo. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The given window. \end{description}
+\end{Desc}
+\hypertarget{group__Ecore__X__Window__Change__Attributes__Group_g8d1b65f42c5a2e96477cd1c7ff91f7bc}{
+\index{Ecore_X_Window_Change_Attributes_Group@{Ecore\_\-X\_\-Window\_\-Change\_\-Attributes\_\-Group}!ecore_x_window_client_sniff@{ecore\_\-x\_\-window\_\-client\_\-sniff}}
+\index{ecore_x_window_client_sniff@{ecore\_\-x\_\-window\_\-client\_\-sniff}!Ecore_X_Window_Change_Attributes_Group@{Ecore\_\-X\_\-Window\_\-Change\_\-Attributes\_\-Group}}
+\subsubsection[ecore\_\-x\_\-window\_\-client\_\-sniff]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-window\_\-client\_\-sniff (Ecore\_\-X\_\-Window {\em window})}}
+\label{group__Ecore__X__Window__Change__Attributes__Group_g8d1b65f42c5a2e96477cd1c7ff91f7bc}
+
+
+Todo. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The given window. \end{description}
+\end{Desc}
+\hypertarget{group__Ecore__X__Window__Change__Attributes__Group_g2e636d8d0e55a4ae4ef06738a2f1beab}{
+\index{Ecore_X_Window_Change_Attributes_Group@{Ecore\_\-X\_\-Window\_\-Change\_\-Attributes\_\-Group}!ecore_x_window_container_manage@{ecore\_\-x\_\-window\_\-container\_\-manage}}
+\index{ecore_x_window_container_manage@{ecore\_\-x\_\-window\_\-container\_\-manage}!Ecore_X_Window_Change_Attributes_Group@{Ecore\_\-X\_\-Window\_\-Change\_\-Attributes\_\-Group}}
+\subsubsection[ecore\_\-x\_\-window\_\-container\_\-manage]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-window\_\-container\_\-manage (Ecore\_\-X\_\-Window {\em window})}}
+\label{group__Ecore__X__Window__Change__Attributes__Group_g2e636d8d0e55a4ae4ef06738a2f1beab}
+
+
+Todo. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The given window. \end{description}
+\end{Desc}
+\hypertarget{group__Ecore__X__Window__Change__Attributes__Group_gfde2213805afdbabda8657f98490218e}{
+\index{Ecore_X_Window_Change_Attributes_Group@{Ecore\_\-X\_\-Window\_\-Change\_\-Attributes\_\-Group}!ecore_x_window_cursor_set@{ecore\_\-x\_\-window\_\-cursor\_\-set}}
+\index{ecore_x_window_cursor_set@{ecore\_\-x\_\-window\_\-cursor\_\-set}!Ecore_X_Window_Change_Attributes_Group@{Ecore\_\-X\_\-Window\_\-Change\_\-Attributes\_\-Group}}
+\subsubsection[ecore\_\-x\_\-window\_\-cursor\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-window\_\-cursor\_\-set (Ecore\_\-X\_\-Window {\em window}, Ecore\_\-X\_\-Cursor {\em cursor})}}
+\label{group__Ecore__X__Window__Change__Attributes__Group_gfde2213805afdbabda8657f98490218e}
+
+
+Sets the cursor of the given window. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The given window. \item[{\em cursor}]The given cursor. \end{description}
+\end{Desc}
+\hypertarget{group__Ecore__X__Window__Change__Attributes__Group_gfb4d1c1ec8842f10e26ebc38a04e306a}{
+\index{Ecore_X_Window_Change_Attributes_Group@{Ecore\_\-X\_\-Window\_\-Change\_\-Attributes\_\-Group}!ecore_x_window_cursor_show@{ecore\_\-x\_\-window\_\-cursor\_\-show}}
+\index{ecore_x_window_cursor_show@{ecore\_\-x\_\-window\_\-cursor\_\-show}!Ecore_X_Window_Change_Attributes_Group@{Ecore\_\-X\_\-Window\_\-Change\_\-Attributes\_\-Group}}
+\subsubsection[ecore\_\-x\_\-window\_\-cursor\_\-show]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-window\_\-cursor\_\-show (Ecore\_\-X\_\-Window {\em window}, int {\em show})}}
+\label{group__Ecore__X__Window__Change__Attributes__Group_gfb4d1c1ec8842f10e26ebc38a04e306a}
+
+
+To be documented. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The given window. \item[{\em show}]If set to {\tt 0}, hide the cursor. Show it otherwise. \end{description}
+\end{Desc}
+\hypertarget{group__Ecore__X__Window__Change__Attributes__Group_gc276991a3bf84c7454dd850524202917}{
+\index{Ecore_X_Window_Change_Attributes_Group@{Ecore\_\-X\_\-Window\_\-Change\_\-Attributes\_\-Group}!ecore_x_window_gravity_set@{ecore\_\-x\_\-window\_\-gravity\_\-set}}
+\index{ecore_x_window_gravity_set@{ecore\_\-x\_\-window\_\-gravity\_\-set}!Ecore_X_Window_Change_Attributes_Group@{Ecore\_\-X\_\-Window\_\-Change\_\-Attributes\_\-Group}}
+\subsubsection[ecore\_\-x\_\-window\_\-gravity\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-window\_\-gravity\_\-set (Ecore\_\-X\_\-Window {\em window}, Ecore\_\-X\_\-Gravity {\em gravity})}}
+\label{group__Ecore__X__Window__Change__Attributes__Group_gc276991a3bf84c7454dd850524202917}
+
+
+Sets the gravity of the given window. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The given window. \item[{\em gravity}]The gravity. \end{description}
+\end{Desc}
+\hypertarget{group__Ecore__X__Window__Change__Attributes__Group_g41fe2703d159f924661fd4c7004d3153}{
+\index{Ecore_X_Window_Change_Attributes_Group@{Ecore\_\-X\_\-Window\_\-Change\_\-Attributes\_\-Group}!ecore_x_window_override_set@{ecore\_\-x\_\-window\_\-override\_\-set}}
+\index{ecore_x_window_override_set@{ecore\_\-x\_\-window\_\-override\_\-set}!Ecore_X_Window_Change_Attributes_Group@{Ecore\_\-X\_\-Window\_\-Change\_\-Attributes\_\-Group}}
+\subsubsection[ecore\_\-x\_\-window\_\-override\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-window\_\-override\_\-set (Ecore\_\-X\_\-Window {\em window}, int {\em override\_\-redirect})}}
+\label{group__Ecore__X__Window__Change__Attributes__Group_g41fe2703d159f924661fd4c7004d3153}
+
+
+Sets the override attribute of the given window. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The given window. \item[{\em override\_\-redirect}]The override\_\-redirect boolean. \end{description}
+\end{Desc}
+\hypertarget{group__Ecore__X__Window__Change__Attributes__Group_gbaa528f9e018cf0424f88c4ef3ccda4a}{
+\index{Ecore_X_Window_Change_Attributes_Group@{Ecore\_\-X\_\-Window\_\-Change\_\-Attributes\_\-Group}!ecore_x_window_pixel_gravity_set@{ecore\_\-x\_\-window\_\-pixel\_\-gravity\_\-set}}
+\index{ecore_x_window_pixel_gravity_set@{ecore\_\-x\_\-window\_\-pixel\_\-gravity\_\-set}!Ecore_X_Window_Change_Attributes_Group@{Ecore\_\-X\_\-Window\_\-Change\_\-Attributes\_\-Group}}
+\subsubsection[ecore\_\-x\_\-window\_\-pixel\_\-gravity\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-window\_\-pixel\_\-gravity\_\-set (Ecore\_\-X\_\-Window {\em window}, Ecore\_\-X\_\-Gravity {\em gravity})}}
+\label{group__Ecore__X__Window__Change__Attributes__Group_gbaa528f9e018cf0424f88c4ef3ccda4a}
+
+
+Sets the bit gravity of the given window. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The given window. \item[{\em gravity}]The gravity. \end{description}
+\end{Desc}
+\hypertarget{group__Ecore__X__Window__Change__Attributes__Group_g5f507d1c02daa5b964dfa433cad1091f}{
+\index{Ecore_X_Window_Change_Attributes_Group@{Ecore\_\-X\_\-Window\_\-Change\_\-Attributes\_\-Group}!ecore_x_window_pixmap_set@{ecore\_\-x\_\-window\_\-pixmap\_\-set}}
+\index{ecore_x_window_pixmap_set@{ecore\_\-x\_\-window\_\-pixmap\_\-set}!Ecore_X_Window_Change_Attributes_Group@{Ecore\_\-X\_\-Window\_\-Change\_\-Attributes\_\-Group}}
+\subsubsection[ecore\_\-x\_\-window\_\-pixmap\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-window\_\-pixmap\_\-set (Ecore\_\-X\_\-Window {\em window}, Ecore\_\-X\_\-Pixmap {\em pixmap})}}
+\label{group__Ecore__X__Window__Change__Attributes__Group_g5f507d1c02daa5b964dfa433cad1091f}
+
+
+Sets the background pixmap of the given window. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The given window. \item[{\em pixmap}]The pixmap to set to. \end{description}
+\end{Desc}
+\hypertarget{group__Ecore__X__Window__Change__Attributes__Group_g1530c55771e253f3dcfbfac003e91d04}{
+\index{Ecore_X_Window_Change_Attributes_Group@{Ecore\_\-X\_\-Window\_\-Change\_\-Attributes\_\-Group}!ecore_x_window_sniff@{ecore\_\-x\_\-window\_\-sniff}}
+\index{ecore_x_window_sniff@{ecore\_\-x\_\-window\_\-sniff}!Ecore_X_Window_Change_Attributes_Group@{Ecore\_\-X\_\-Window\_\-Change\_\-Attributes\_\-Group}}
+\subsubsection[ecore\_\-x\_\-window\_\-sniff]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-window\_\-sniff (Ecore\_\-X\_\-Window {\em window})}}
+\label{group__Ecore__X__Window__Change__Attributes__Group_g1530c55771e253f3dcfbfac003e91d04}
+
+
+Todo. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The given window. \end{description}
+\end{Desc}
diff --git a/doc/latex/group__Ecore__X__Window__Configure__Group.tex b/doc/latex/group__Ecore__X__Window__Configure__Group.tex
new file mode 100644
index 0000000..28c5385
--- /dev/null
+++ b/doc/latex/group__Ecore__X__Window__Configure__Group.tex
@@ -0,0 +1,130 @@
+\hypertarget{group__Ecore__X__Window__Configure__Group}{
+\section{X Window Configure Functions}
+\label{group__Ecore__X__Window__Configure__Group}\index{X Window Configure Functions@{X Window Configure Functions}}
+}
+Functions to configure X windows.  
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+EAPI void \hyperlink{group__Ecore__X__Window__Configure__Group_g99f9caef1455f9f7e3f1d133b0f9342f}{ecore\_\-x\_\-window\_\-configure} (Ecore\_\-X\_\-Window window, Ecore\_\-X\_\-Window\_\-Configure\_\-Mask mask, int x, int y, int width, int height, int border\_\-width, Ecore\_\-X\_\-Window sibling, int stack\_\-mode)
+\begin{CompactList}\small\item\em Configures the given window with the given mask. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Window__Configure__Group_gb34b984e4d1d75fb91a327a4638537d6}{ecore\_\-x\_\-window\_\-move} (Ecore\_\-X\_\-Window window, int x, int y)
+\begin{CompactList}\small\item\em Moves a window to the position {\tt x}, {\tt y}. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Window__Configure__Group_gddf289b0b6cd5fed71573739d3d1d7ba}{ecore\_\-x\_\-window\_\-resize} (Ecore\_\-X\_\-Window window, int width, int height)
+\begin{CompactList}\small\item\em Resizes a window. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Window__Configure__Group_g785faabc62a3a2f79430b50ce270b40b}{ecore\_\-x\_\-window\_\-move\_\-resize} (Ecore\_\-X\_\-Window window, int x, int y, int width, int height)
+\begin{CompactList}\small\item\em Moves and resizes a window. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Window__Configure__Group_gf26b3ada58e026d0fcf89e8f3f4b9827}{ecore\_\-x\_\-window\_\-border\_\-width\_\-set} (Ecore\_\-X\_\-Window window, int border\_\-width)
+\begin{CompactList}\small\item\em Sets the width of the border of the given window. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Window__Configure__Group_g8c5d03dbbe01f7bd8751a654c81d5bdb}{ecore\_\-x\_\-window\_\-raise} (Ecore\_\-X\_\-Window window)
+\begin{CompactList}\small\item\em Raises the given window. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Window__Configure__Group_gbe74b714ccd20014567446f991e2d6e8}{ecore\_\-x\_\-window\_\-lower} (Ecore\_\-X\_\-Window window)
+\begin{CompactList}\small\item\em Lowers the given window. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Functions to configure X windows. 
+
+
+
+\subsection{Function Documentation}
+\hypertarget{group__Ecore__X__Window__Configure__Group_gf26b3ada58e026d0fcf89e8f3f4b9827}{
+\index{Ecore_X_Window_Configure_Group@{Ecore\_\-X\_\-Window\_\-Configure\_\-Group}!ecore_x_window_border_width_set@{ecore\_\-x\_\-window\_\-border\_\-width\_\-set}}
+\index{ecore_x_window_border_width_set@{ecore\_\-x\_\-window\_\-border\_\-width\_\-set}!Ecore_X_Window_Configure_Group@{Ecore\_\-X\_\-Window\_\-Configure\_\-Group}}
+\subsubsection[ecore\_\-x\_\-window\_\-border\_\-width\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-window\_\-border\_\-width\_\-set (Ecore\_\-X\_\-Window {\em window}, int {\em border\_\-width})}}
+\label{group__Ecore__X__Window__Configure__Group_gf26b3ada58e026d0fcf89e8f3f4b9827}
+
+
+Sets the width of the border of the given window. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The given window. \item[{\em border\_\-width}]The new border width. \end{description}
+\end{Desc}
+\hypertarget{group__Ecore__X__Window__Configure__Group_g99f9caef1455f9f7e3f1d133b0f9342f}{
+\index{Ecore_X_Window_Configure_Group@{Ecore\_\-X\_\-Window\_\-Configure\_\-Group}!ecore_x_window_configure@{ecore\_\-x\_\-window\_\-configure}}
+\index{ecore_x_window_configure@{ecore\_\-x\_\-window\_\-configure}!Ecore_X_Window_Configure_Group@{Ecore\_\-X\_\-Window\_\-Configure\_\-Group}}
+\subsubsection[ecore\_\-x\_\-window\_\-configure]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-window\_\-configure (Ecore\_\-X\_\-Window {\em window}, Ecore\_\-X\_\-Window\_\-Configure\_\-Mask {\em mask}, int {\em x}, int {\em y}, int {\em width}, int {\em height}, int {\em border\_\-width}, Ecore\_\-X\_\-Window {\em sibling}, int {\em stack\_\-mode})}}
+\label{group__Ecore__X__Window__Configure__Group_g99f9caef1455f9f7e3f1d133b0f9342f}
+
+
+Configures the given window with the given mask. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The given window. \item[{\em mask}]The given mask. \item[{\em x}]The X coordinate of the window. \item[{\em y}]The Y coordinate of the window. \item[{\em width}]The width of the window. \item[{\em height}]The height of the window. \item[{\em border\_\-width}]The border width of the window. \item[{\em sibling}]The sibling window of the window. \item[{\em stack\_\-mode}]The stack mode of the window. \end{description}
+\end{Desc}
+\hypertarget{group__Ecore__X__Window__Configure__Group_gbe74b714ccd20014567446f991e2d6e8}{
+\index{Ecore_X_Window_Configure_Group@{Ecore\_\-X\_\-Window\_\-Configure\_\-Group}!ecore_x_window_lower@{ecore\_\-x\_\-window\_\-lower}}
+\index{ecore_x_window_lower@{ecore\_\-x\_\-window\_\-lower}!Ecore_X_Window_Configure_Group@{Ecore\_\-X\_\-Window\_\-Configure\_\-Group}}
+\subsubsection[ecore\_\-x\_\-window\_\-lower]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-window\_\-lower (Ecore\_\-X\_\-Window {\em window})}}
+\label{group__Ecore__X__Window__Configure__Group_gbe74b714ccd20014567446f991e2d6e8}
+
+
+Lowers the given window. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window to lower. \end{description}
+\end{Desc}
+\hypertarget{group__Ecore__X__Window__Configure__Group_gb34b984e4d1d75fb91a327a4638537d6}{
+\index{Ecore_X_Window_Configure_Group@{Ecore\_\-X\_\-Window\_\-Configure\_\-Group}!ecore_x_window_move@{ecore\_\-x\_\-window\_\-move}}
+\index{ecore_x_window_move@{ecore\_\-x\_\-window\_\-move}!Ecore_X_Window_Configure_Group@{Ecore\_\-X\_\-Window\_\-Configure\_\-Group}}
+\subsubsection[ecore\_\-x\_\-window\_\-move]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-window\_\-move (Ecore\_\-X\_\-Window {\em window}, int {\em x}, int {\em y})}}
+\label{group__Ecore__X__Window__Configure__Group_gb34b984e4d1d75fb91a327a4638537d6}
+
+
+Moves a window to the position {\tt x}, {\tt y}. 
+
+The position is relative to the upper left hand corner of the parent window.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window to move. \item[{\em x}]X position. \item[{\em y}]Y position. \end{description}
+\end{Desc}
+\hypertarget{group__Ecore__X__Window__Configure__Group_g785faabc62a3a2f79430b50ce270b40b}{
+\index{Ecore_X_Window_Configure_Group@{Ecore\_\-X\_\-Window\_\-Configure\_\-Group}!ecore_x_window_move_resize@{ecore\_\-x\_\-window\_\-move\_\-resize}}
+\index{ecore_x_window_move_resize@{ecore\_\-x\_\-window\_\-move\_\-resize}!Ecore_X_Window_Configure_Group@{Ecore\_\-X\_\-Window\_\-Configure\_\-Group}}
+\subsubsection[ecore\_\-x\_\-window\_\-move\_\-resize]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-window\_\-move\_\-resize (Ecore\_\-X\_\-Window {\em window}, int {\em x}, int {\em y}, int {\em width}, int {\em height})}}
+\label{group__Ecore__X__Window__Configure__Group_g785faabc62a3a2f79430b50ce270b40b}
+
+
+Moves and resizes a window. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window to move and resize. \item[{\em x}]New X position of the window. \item[{\em y}]New Y position of the window. \item[{\em width}]New width of the window. \item[{\em height}]New height of the window. \end{description}
+\end{Desc}
+\hypertarget{group__Ecore__X__Window__Configure__Group_g8c5d03dbbe01f7bd8751a654c81d5bdb}{
+\index{Ecore_X_Window_Configure_Group@{Ecore\_\-X\_\-Window\_\-Configure\_\-Group}!ecore_x_window_raise@{ecore\_\-x\_\-window\_\-raise}}
+\index{ecore_x_window_raise@{ecore\_\-x\_\-window\_\-raise}!Ecore_X_Window_Configure_Group@{Ecore\_\-X\_\-Window\_\-Configure\_\-Group}}
+\subsubsection[ecore\_\-x\_\-window\_\-raise]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-window\_\-raise (Ecore\_\-X\_\-Window {\em window})}}
+\label{group__Ecore__X__Window__Configure__Group_g8c5d03dbbe01f7bd8751a654c81d5bdb}
+
+
+Raises the given window. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window to raise. \end{description}
+\end{Desc}
+\hypertarget{group__Ecore__X__Window__Configure__Group_gddf289b0b6cd5fed71573739d3d1d7ba}{
+\index{Ecore_X_Window_Configure_Group@{Ecore\_\-X\_\-Window\_\-Configure\_\-Group}!ecore_x_window_resize@{ecore\_\-x\_\-window\_\-resize}}
+\index{ecore_x_window_resize@{ecore\_\-x\_\-window\_\-resize}!Ecore_X_Window_Configure_Group@{Ecore\_\-X\_\-Window\_\-Configure\_\-Group}}
+\subsubsection[ecore\_\-x\_\-window\_\-resize]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-window\_\-resize (Ecore\_\-X\_\-Window {\em window}, int {\em width}, int {\em height})}}
+\label{group__Ecore__X__Window__Configure__Group_gddf289b0b6cd5fed71573739d3d1d7ba}
+
+
+Resizes a window. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window to resize. \item[{\em width}]New width of the window. \item[{\em height}]New height of the window. \end{description}
+\end{Desc}
diff --git a/doc/latex/group__Ecore__X__Window__Create__Group.tex b/doc/latex/group__Ecore__X__Window__Create__Group.tex
new file mode 100644
index 0000000..0f6c96c
--- /dev/null
+++ b/doc/latex/group__Ecore__X__Window__Create__Group.tex
@@ -0,0 +1,124 @@
+\hypertarget{group__Ecore__X__Window__Create__Group}{
+\section{X Window Creation Functions}
+\label{group__Ecore__X__Window__Create__Group}\index{X Window Creation Functions@{X Window Creation Functions}}
+}
+Functions that can be used to create an X window.  
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+EAPI Ecore\_\-X\_\-Window \hyperlink{group__Ecore__X__Window__Create__Group_g9a56a8e5531b753b0e70d9214d6609e0}{ecore\_\-x\_\-window\_\-new} (Ecore\_\-X\_\-Window parent, int x, int y, int w, int h)
+\begin{CompactList}\small\item\em Creates a new window. \item\end{CompactList}\item 
+EAPI Ecore\_\-X\_\-Window \hyperlink{group__Ecore__X__Window__Create__Group_g053877418501298a7b304588ef7c1379}{ecore\_\-x\_\-window\_\-override\_\-new} (Ecore\_\-X\_\-Window parent, int x, int y, int w, int h)
+\begin{CompactList}\small\item\em Creates a window with the override redirect attribute set to {\tt True}. \item\end{CompactList}\item 
+EAPI Ecore\_\-X\_\-Window \hyperlink{group__Ecore__X__Window__Create__Group_g479af5fe79e7f75add0d566f4269fb21}{ecore\_\-x\_\-window\_\-input\_\-new} (Ecore\_\-X\_\-Window parent, int x, int y, int w, int h)
+\begin{CompactList}\small\item\em Creates a new input window. \item\end{CompactList}\item 
+EAPI Ecore\_\-X\_\-Window \hyperlink{group__Ecore__X__Window__Create__Group_g65c727950377bd73882a2515b0c5f33d}{ecore\_\-x\_\-window\_\-manager\_\-argb\_\-new} (Ecore\_\-X\_\-Window parent, int x, int y, int w, int h)
+\begin{CompactList}\small\item\em Creates a new window. \item\end{CompactList}\item 
+EAPI Ecore\_\-X\_\-Window \hyperlink{group__Ecore__X__Window__Create__Group_gb12cbb8a6230d8e37fa24562869fc71d}{ecore\_\-x\_\-window\_\-argb\_\-new} (Ecore\_\-X\_\-Window parent, int x, int y, int w, int h)
+\begin{CompactList}\small\item\em Creates a new window. \item\end{CompactList}\item 
+EAPI Ecore\_\-X\_\-Window \hyperlink{group__Ecore__X__Window__Create__Group_ga9ef0bf8015e77e20579bcb268debd0d}{ecore\_\-x\_\-window\_\-override\_\-argb\_\-new} (Ecore\_\-X\_\-Window parent, int x, int y, int w, int h)
+\begin{CompactList}\small\item\em Creates a window with the override redirect attribute set to {\tt True}. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Functions that can be used to create an X window. 
+
+
+
+\subsection{Function Documentation}
+\hypertarget{group__Ecore__X__Window__Create__Group_gb12cbb8a6230d8e37fa24562869fc71d}{
+\index{Ecore_X_Window_Create_Group@{Ecore\_\-X\_\-Window\_\-Create\_\-Group}!ecore_x_window_argb_new@{ecore\_\-x\_\-window\_\-argb\_\-new}}
+\index{ecore_x_window_argb_new@{ecore\_\-x\_\-window\_\-argb\_\-new}!Ecore_X_Window_Create_Group@{Ecore\_\-X\_\-Window\_\-Create\_\-Group}}
+\subsubsection[ecore\_\-x\_\-window\_\-argb\_\-new]{\setlength{\rightskip}{0pt plus 5cm}EAPI Ecore\_\-X\_\-Window ecore\_\-x\_\-window\_\-argb\_\-new (Ecore\_\-X\_\-Window {\em parent}, int {\em x}, int {\em y}, int {\em width}, int {\em height})}}
+\label{group__Ecore__X__Window__Create__Group_gb12cbb8a6230d8e37fa24562869fc71d}
+
+
+Creates a new window. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em parent}]The parent window to use. If {\tt parent} is {\tt 0}, the root window of the default display is used. \item[{\em x}]X position. \item[{\em y}]Y position. \item[{\em w}]Width. \item[{\em h}]Height. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The new window handle. \end{Desc}
+\hypertarget{group__Ecore__X__Window__Create__Group_g479af5fe79e7f75add0d566f4269fb21}{
+\index{Ecore_X_Window_Create_Group@{Ecore\_\-X\_\-Window\_\-Create\_\-Group}!ecore_x_window_input_new@{ecore\_\-x\_\-window\_\-input\_\-new}}
+\index{ecore_x_window_input_new@{ecore\_\-x\_\-window\_\-input\_\-new}!Ecore_X_Window_Create_Group@{Ecore\_\-X\_\-Window\_\-Create\_\-Group}}
+\subsubsection[ecore\_\-x\_\-window\_\-input\_\-new]{\setlength{\rightskip}{0pt plus 5cm}EAPI Ecore\_\-X\_\-Window ecore\_\-x\_\-window\_\-input\_\-new (Ecore\_\-X\_\-Window {\em parent}, int {\em x}, int {\em y}, int {\em width}, int {\em height})}}
+\label{group__Ecore__X__Window__Create__Group_g479af5fe79e7f75add0d566f4269fb21}
+
+
+Creates a new input window. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em parent}]The parent window to use. If {\tt parent} is {\tt 0}, the root window of the default display is used. \item[{\em x}]X position. \item[{\em y}]Y position. \item[{\em w}]Width. \item[{\em h}]Height. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The new window. \end{Desc}
+\hypertarget{group__Ecore__X__Window__Create__Group_g65c727950377bd73882a2515b0c5f33d}{
+\index{Ecore_X_Window_Create_Group@{Ecore\_\-X\_\-Window\_\-Create\_\-Group}!ecore_x_window_manager_argb_new@{ecore\_\-x\_\-window\_\-manager\_\-argb\_\-new}}
+\index{ecore_x_window_manager_argb_new@{ecore\_\-x\_\-window\_\-manager\_\-argb\_\-new}!Ecore_X_Window_Create_Group@{Ecore\_\-X\_\-Window\_\-Create\_\-Group}}
+\subsubsection[ecore\_\-x\_\-window\_\-manager\_\-argb\_\-new]{\setlength{\rightskip}{0pt plus 5cm}EAPI Ecore\_\-X\_\-Window ecore\_\-x\_\-window\_\-manager\_\-argb\_\-new (Ecore\_\-X\_\-Window {\em parent}, int {\em x}, int {\em y}, int {\em width}, int {\em height})}}
+\label{group__Ecore__X__Window__Create__Group_g65c727950377bd73882a2515b0c5f33d}
+
+
+Creates a new window. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em parent}]The parent window to use. If {\tt parent} is {\tt 0}, the root window of the default display is used. \item[{\em x}]X position. \item[{\em y}]Y position. \item[{\em w}]Width. \item[{\em h}]Height. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The new window handle. \end{Desc}
+\hypertarget{group__Ecore__X__Window__Create__Group_g9a56a8e5531b753b0e70d9214d6609e0}{
+\index{Ecore_X_Window_Create_Group@{Ecore\_\-X\_\-Window\_\-Create\_\-Group}!ecore_x_window_new@{ecore\_\-x\_\-window\_\-new}}
+\index{ecore_x_window_new@{ecore\_\-x\_\-window\_\-new}!Ecore_X_Window_Create_Group@{Ecore\_\-X\_\-Window\_\-Create\_\-Group}}
+\subsubsection[ecore\_\-x\_\-window\_\-new]{\setlength{\rightskip}{0pt plus 5cm}EAPI Ecore\_\-X\_\-Window ecore\_\-x\_\-window\_\-new (Ecore\_\-X\_\-Window {\em parent}, int {\em x}, int {\em y}, int {\em width}, int {\em height})}}
+\label{group__Ecore__X__Window__Create__Group_g9a56a8e5531b753b0e70d9214d6609e0}
+
+
+Creates a new window. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em parent}]The parent window to use. If {\tt parent} is {\tt 0}, the root window of the default display is used. \item[{\em x}]X position. \item[{\em y}]Y position. \item[{\em w}]Width. \item[{\em h}]Height. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The new window handle. \end{Desc}
+\hypertarget{group__Ecore__X__Window__Create__Group_ga9ef0bf8015e77e20579bcb268debd0d}{
+\index{Ecore_X_Window_Create_Group@{Ecore\_\-X\_\-Window\_\-Create\_\-Group}!ecore_x_window_override_argb_new@{ecore\_\-x\_\-window\_\-override\_\-argb\_\-new}}
+\index{ecore_x_window_override_argb_new@{ecore\_\-x\_\-window\_\-override\_\-argb\_\-new}!Ecore_X_Window_Create_Group@{Ecore\_\-X\_\-Window\_\-Create\_\-Group}}
+\subsubsection[ecore\_\-x\_\-window\_\-override\_\-argb\_\-new]{\setlength{\rightskip}{0pt plus 5cm}EAPI Ecore\_\-X\_\-Window ecore\_\-x\_\-window\_\-override\_\-argb\_\-new (Ecore\_\-X\_\-Window {\em parent}, int {\em x}, int {\em y}, int {\em width}, int {\em height})}}
+\label{group__Ecore__X__Window__Create__Group_ga9ef0bf8015e77e20579bcb268debd0d}
+
+
+Creates a window with the override redirect attribute set to {\tt True}. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em parent}]The parent window to use. If {\tt parent} is {\tt 0}, the root window of the default display is used. \item[{\em x}]X position. \item[{\em y}]Y position. \item[{\em w}]Width. \item[{\em h}]Height. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The new window handle. \end{Desc}
+\hypertarget{group__Ecore__X__Window__Create__Group_g053877418501298a7b304588ef7c1379}{
+\index{Ecore_X_Window_Create_Group@{Ecore\_\-X\_\-Window\_\-Create\_\-Group}!ecore_x_window_override_new@{ecore\_\-x\_\-window\_\-override\_\-new}}
+\index{ecore_x_window_override_new@{ecore\_\-x\_\-window\_\-override\_\-new}!Ecore_X_Window_Create_Group@{Ecore\_\-X\_\-Window\_\-Create\_\-Group}}
+\subsubsection[ecore\_\-x\_\-window\_\-override\_\-new]{\setlength{\rightskip}{0pt plus 5cm}EAPI Ecore\_\-X\_\-Window ecore\_\-x\_\-window\_\-override\_\-new (Ecore\_\-X\_\-Window {\em parent}, int {\em x}, int {\em y}, int {\em width}, int {\em height})}}
+\label{group__Ecore__X__Window__Create__Group_g053877418501298a7b304588ef7c1379}
+
+
+Creates a window with the override redirect attribute set to {\tt True}. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em parent}]The parent window to use. If {\tt parent} is {\tt 0}, the root window of the default display is used. \item[{\em x}]X position. \item[{\em y}]Y position. \item[{\em w}]Width. \item[{\em h}]Height. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The new window handle. \end{Desc}
diff --git a/doc/latex/group__Ecore__X__Window__Destroy__Group.tex b/doc/latex/group__Ecore__X__Window__Destroy__Group.tex
new file mode 100644
index 0000000..e72c630
--- /dev/null
+++ b/doc/latex/group__Ecore__X__Window__Destroy__Group.tex
@@ -0,0 +1,48 @@
+\hypertarget{group__Ecore__X__Window__Destroy__Group}{
+\section{X Window Destroy Functions}
+\label{group__Ecore__X__Window__Destroy__Group}\index{X Window Destroy Functions@{X Window Destroy Functions}}
+}
+Functions to destroy X windows.  
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+EAPI void \hyperlink{group__Ecore__X__Window__Destroy__Group_g6bc0b74c6b1db3a0f4c1ed71999e95ef}{ecore\_\-x\_\-window\_\-del} (Ecore\_\-X\_\-Window window)
+\begin{CompactList}\small\item\em Deletes the given window. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Window__Destroy__Group_gb2c687673e764dc77f3ba93e4b8992af}{ecore\_\-x\_\-window\_\-delete\_\-request\_\-send} (Ecore\_\-X\_\-Window window)
+\begin{CompactList}\small\item\em Sends a delete request to the given window. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Functions to destroy X windows. 
+
+
+
+\subsection{Function Documentation}
+\hypertarget{group__Ecore__X__Window__Destroy__Group_g6bc0b74c6b1db3a0f4c1ed71999e95ef}{
+\index{Ecore_X_Window_Destroy_Group@{Ecore\_\-X\_\-Window\_\-Destroy\_\-Group}!ecore_x_window_del@{ecore\_\-x\_\-window\_\-del}}
+\index{ecore_x_window_del@{ecore\_\-x\_\-window\_\-del}!Ecore_X_Window_Destroy_Group@{Ecore\_\-X\_\-Window\_\-Destroy\_\-Group}}
+\subsubsection[ecore\_\-x\_\-window\_\-del]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-window\_\-del (Ecore\_\-X\_\-Window {\em window})}}
+\label{group__Ecore__X__Window__Destroy__Group_g6bc0b74c6b1db3a0f4c1ed71999e95ef}
+
+
+Deletes the given window. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The given window. \end{description}
+\end{Desc}
+\hypertarget{group__Ecore__X__Window__Destroy__Group_gb2c687673e764dc77f3ba93e4b8992af}{
+\index{Ecore_X_Window_Destroy_Group@{Ecore\_\-X\_\-Window\_\-Destroy\_\-Group}!ecore_x_window_delete_request_send@{ecore\_\-x\_\-window\_\-delete\_\-request\_\-send}}
+\index{ecore_x_window_delete_request_send@{ecore\_\-x\_\-window\_\-delete\_\-request\_\-send}!Ecore_X_Window_Destroy_Group@{Ecore\_\-X\_\-Window\_\-Destroy\_\-Group}}
+\subsubsection[ecore\_\-x\_\-window\_\-delete\_\-request\_\-send]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-window\_\-delete\_\-request\_\-send (Ecore\_\-X\_\-Window {\em window})}}
+\label{group__Ecore__X__Window__Destroy__Group_gb2c687673e764dc77f3ba93e4b8992af}
+
+
+Sends a delete request to the given window. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The given window. \end{description}
+\end{Desc}
diff --git a/doc/latex/group__Ecore__X__Window__Focus__Functions.tex b/doc/latex/group__Ecore__X__Window__Focus__Functions.tex
new file mode 100644
index 0000000..4668ae9
--- /dev/null
+++ b/doc/latex/group__Ecore__X__Window__Focus__Functions.tex
@@ -0,0 +1,61 @@
+\hypertarget{group__Ecore__X__Window__Focus__Functions}{
+\section{X Window Focus Functions}
+\label{group__Ecore__X__Window__Focus__Functions}\index{X Window Focus Functions@{X Window Focus Functions}}
+}
+Functions that give the focus to an X Window.  
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+EAPI void \hyperlink{group__Ecore__X__Window__Focus__Functions_g250b9a13f41bfc6adbd395dd150ec873}{ecore\_\-x\_\-window\_\-focus} (Ecore\_\-X\_\-Window win)
+\begin{CompactList}\small\item\em Sets the focus to the window {\tt win}. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Window__Focus__Functions_gc1b23ac2d0f466955e7dfb82fd406264}{ecore\_\-x\_\-window\_\-focus\_\-at\_\-time} (Ecore\_\-X\_\-Window win, Ecore\_\-X\_\-Time t)
+\begin{CompactList}\small\item\em Sets the focus to the given window at a specific time. \item\end{CompactList}\item 
+EAPI Ecore\_\-X\_\-Window \hyperlink{group__Ecore__X__Window__Focus__Functions_g0c673d99b2baea6d1e627fda19ebbc77}{ecore\_\-x\_\-window\_\-focus\_\-get} (void)
+\begin{CompactList}\small\item\em gets the focus to the window {\tt win}. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Functions that give the focus to an X Window. 
+
+
+
+\subsection{Function Documentation}
+\hypertarget{group__Ecore__X__Window__Focus__Functions_g250b9a13f41bfc6adbd395dd150ec873}{
+\index{Ecore_X_Window_Focus_Functions@{Ecore\_\-X\_\-Window\_\-Focus\_\-Functions}!ecore_x_window_focus@{ecore\_\-x\_\-window\_\-focus}}
+\index{ecore_x_window_focus@{ecore\_\-x\_\-window\_\-focus}!Ecore_X_Window_Focus_Functions@{Ecore\_\-X\_\-Window\_\-Focus\_\-Functions}}
+\subsubsection[ecore\_\-x\_\-window\_\-focus]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-window\_\-focus (Ecore\_\-X\_\-Window {\em win})}}
+\label{group__Ecore__X__Window__Focus__Functions_g250b9a13f41bfc6adbd395dd150ec873}
+
+
+Sets the focus to the window {\tt win}. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em win}]The window to focus. \end{description}
+\end{Desc}
+\hypertarget{group__Ecore__X__Window__Focus__Functions_gc1b23ac2d0f466955e7dfb82fd406264}{
+\index{Ecore_X_Window_Focus_Functions@{Ecore\_\-X\_\-Window\_\-Focus\_\-Functions}!ecore_x_window_focus_at_time@{ecore\_\-x\_\-window\_\-focus\_\-at\_\-time}}
+\index{ecore_x_window_focus_at_time@{ecore\_\-x\_\-window\_\-focus\_\-at\_\-time}!Ecore_X_Window_Focus_Functions@{Ecore\_\-X\_\-Window\_\-Focus\_\-Functions}}
+\subsubsection[ecore\_\-x\_\-window\_\-focus\_\-at\_\-time]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-window\_\-focus\_\-at\_\-time (Ecore\_\-X\_\-Window {\em win}, Ecore\_\-X\_\-Time {\em t})}}
+\label{group__Ecore__X__Window__Focus__Functions_gc1b23ac2d0f466955e7dfb82fd406264}
+
+
+Sets the focus to the given window at a specific time. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em win}]The window to focus. \item[{\em t}]When to set the focus to the window. \end{description}
+\end{Desc}
+\hypertarget{group__Ecore__X__Window__Focus__Functions_g0c673d99b2baea6d1e627fda19ebbc77}{
+\index{Ecore_X_Window_Focus_Functions@{Ecore\_\-X\_\-Window\_\-Focus\_\-Functions}!ecore_x_window_focus_get@{ecore\_\-x\_\-window\_\-focus\_\-get}}
+\index{ecore_x_window_focus_get@{ecore\_\-x\_\-window\_\-focus\_\-get}!Ecore_X_Window_Focus_Functions@{Ecore\_\-X\_\-Window\_\-Focus\_\-Functions}}
+\subsubsection[ecore\_\-x\_\-window\_\-focus\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI Ecore\_\-X\_\-Window ecore\_\-x\_\-window\_\-focus\_\-get (void)}}
+\label{group__Ecore__X__Window__Focus__Functions_g0c673d99b2baea6d1e627fda19ebbc77}
+
+
+gets the focus to the window {\tt win}. 
+
+\begin{Desc}
+\item[Returns:]The window that has focus. \end{Desc}
diff --git a/doc/latex/group__Ecore__X__Window__Geometry__Group.tex b/doc/latex/group__Ecore__X__Window__Geometry__Group.tex
new file mode 100644
index 0000000..9d6f400
--- /dev/null
+++ b/doc/latex/group__Ecore__X__Window__Geometry__Group.tex
@@ -0,0 +1,186 @@
+\hypertarget{group__Ecore__X__Window__Geometry__Group}{
+\section{X Window Geometry Functions}
+\label{group__Ecore__X__Window__Geometry__Group}\index{X Window Geometry Functions@{X Window Geometry Functions}}
+}
+Functions that change or retrieve the geometry of X windows.  
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+EAPI void \hyperlink{group__Ecore__X__Window__Geometry__Group_g4874b3c09244eac3828cd332bafd7978}{ecore\_\-x\_\-window\_\-move} (Ecore\_\-X\_\-Window win, int x, int y)
+\begin{CompactList}\small\item\em Moves a window to the position {\tt x}, {\tt y}. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Window__Geometry__Group_gccb702ac5a14183e4e125c6ca98d75bb}{ecore\_\-x\_\-window\_\-resize} (Ecore\_\-X\_\-Window win, int w, int h)
+\begin{CompactList}\small\item\em Resizes a window. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Window__Geometry__Group_g4bdf5178a61b983cac7c102fe06d400d}{ecore\_\-x\_\-window\_\-move\_\-resize} (Ecore\_\-X\_\-Window win, int x, int y, int w, int h)
+\begin{CompactList}\small\item\em Moves and resizes a window. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Window__Geometry__Group_g2c9878a9ce787bbed9475f48c8a712ae}{ecore\_\-x\_\-window\_\-size\_\-get} (Ecore\_\-X\_\-Window win, int $\ast$w, int $\ast$h)
+\begin{CompactList}\small\item\em Retrieves the size of the given window. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Window__Geometry__Group_g7587437d291e1150060bbe6a10cd2a1f}{ecore\_\-x\_\-window\_\-geometry\_\-get} (Ecore\_\-X\_\-Window win, int $\ast$x, int $\ast$y, int $\ast$w, int $\ast$h)
+\begin{CompactList}\small\item\em Retrieves the geometry of the given window. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__X__Window__Geometry__Group_geb5ad9b694963652e5d8b3036d2b9744}{ecore\_\-x\_\-window\_\-border\_\-width\_\-get} (Ecore\_\-X\_\-Window win)
+\begin{CompactList}\small\item\em Retrieves the width of the border of the given window. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Window__Geometry__Group_g51031b34c63636b837982795f940e856}{ecore\_\-x\_\-window\_\-border\_\-width\_\-set} (Ecore\_\-X\_\-Window win, int width)
+\begin{CompactList}\small\item\em Sets the width of the border of the given window. \item\end{CompactList}\item 
+EAPI Ecore\_\-X\_\-Window \hyperlink{group__Ecore__X__Window__Geometry__Group_g6776554aa4ade68003e6e8a98e481df2}{ecore\_\-x\_\-window\_\-at\_\-xy\_\-get} (int x, int y)
+\begin{CompactList}\small\item\em Retrieves the top, visible window at the given location. \item\end{CompactList}\item 
+EAPI Ecore\_\-X\_\-Window \hyperlink{group__Ecore__X__Window__Geometry__Group_g671777ac9b390611aaec0cdecc86658a}{ecore\_\-x\_\-window\_\-at\_\-xy\_\-with\_\-skip\_\-get} (int x, int y, Ecore\_\-X\_\-Window $\ast$skip, int skip\_\-num)
+\begin{CompactList}\small\item\em Retrieves the top, visible window at the given location, but skips the windows in the list. \item\end{CompactList}\item 
+EAPI Ecore\_\-X\_\-Window \hyperlink{group__Ecore__X__Window__Geometry__Group_gfff24861ed257264c9d9119fd0509c08}{ecore\_\-x\_\-window\_\-at\_\-xy\_\-begin\_\-get} (Ecore\_\-X\_\-Window begin, int x, int y)
+\begin{CompactList}\small\item\em Retrieves the top, visible window at the given location, but begins at the {\tt begin} window instead of the root one. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Functions that change or retrieve the geometry of X windows. 
+
+
+
+\subsection{Function Documentation}
+\hypertarget{group__Ecore__X__Window__Geometry__Group_gfff24861ed257264c9d9119fd0509c08}{
+\index{Ecore_X_Window_Geometry_Group@{Ecore\_\-X\_\-Window\_\-Geometry\_\-Group}!ecore_x_window_at_xy_begin_get@{ecore\_\-x\_\-window\_\-at\_\-xy\_\-begin\_\-get}}
+\index{ecore_x_window_at_xy_begin_get@{ecore\_\-x\_\-window\_\-at\_\-xy\_\-begin\_\-get}!Ecore_X_Window_Geometry_Group@{Ecore\_\-X\_\-Window\_\-Geometry\_\-Group}}
+\subsubsection[ecore\_\-x\_\-window\_\-at\_\-xy\_\-begin\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI Ecore\_\-X\_\-Window ecore\_\-x\_\-window\_\-at\_\-xy\_\-begin\_\-get (Ecore\_\-X\_\-Window {\em begin}, int {\em x}, int {\em y})}}
+\label{group__Ecore__X__Window__Geometry__Group_gfff24861ed257264c9d9119fd0509c08}
+
+
+Retrieves the top, visible window at the given location, but begins at the {\tt begin} window instead of the root one. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em begin}]The window from which we begin. \item[{\em x}]The given X position. \item[{\em y}]The given Y position. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The window at that position. \end{Desc}
+\hypertarget{group__Ecore__X__Window__Geometry__Group_g6776554aa4ade68003e6e8a98e481df2}{
+\index{Ecore_X_Window_Geometry_Group@{Ecore\_\-X\_\-Window\_\-Geometry\_\-Group}!ecore_x_window_at_xy_get@{ecore\_\-x\_\-window\_\-at\_\-xy\_\-get}}
+\index{ecore_x_window_at_xy_get@{ecore\_\-x\_\-window\_\-at\_\-xy\_\-get}!Ecore_X_Window_Geometry_Group@{Ecore\_\-X\_\-Window\_\-Geometry\_\-Group}}
+\subsubsection[ecore\_\-x\_\-window\_\-at\_\-xy\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI Ecore\_\-X\_\-Window ecore\_\-x\_\-window\_\-at\_\-xy\_\-get (int {\em x}, int {\em y})}}
+\label{group__Ecore__X__Window__Geometry__Group_g6776554aa4ade68003e6e8a98e481df2}
+
+
+Retrieves the top, visible window at the given location. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em x}]The given X position. \item[{\em y}]The given Y position. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The window at that position. \end{Desc}
+\hypertarget{group__Ecore__X__Window__Geometry__Group_g671777ac9b390611aaec0cdecc86658a}{
+\index{Ecore_X_Window_Geometry_Group@{Ecore\_\-X\_\-Window\_\-Geometry\_\-Group}!ecore_x_window_at_xy_with_skip_get@{ecore\_\-x\_\-window\_\-at\_\-xy\_\-with\_\-skip\_\-get}}
+\index{ecore_x_window_at_xy_with_skip_get@{ecore\_\-x\_\-window\_\-at\_\-xy\_\-with\_\-skip\_\-get}!Ecore_X_Window_Geometry_Group@{Ecore\_\-X\_\-Window\_\-Geometry\_\-Group}}
+\subsubsection[ecore\_\-x\_\-window\_\-at\_\-xy\_\-with\_\-skip\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI Ecore\_\-X\_\-Window ecore\_\-x\_\-window\_\-at\_\-xy\_\-with\_\-skip\_\-get (int {\em x}, int {\em y}, Ecore\_\-X\_\-Window $\ast$ {\em skip}, int {\em skip\_\-num})}}
+\label{group__Ecore__X__Window__Geometry__Group_g671777ac9b390611aaec0cdecc86658a}
+
+
+Retrieves the top, visible window at the given location, but skips the windows in the list. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em x}]The given X position. \item[{\em y}]The given Y position. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The window at that position. \end{Desc}
+\hypertarget{group__Ecore__X__Window__Geometry__Group_geb5ad9b694963652e5d8b3036d2b9744}{
+\index{Ecore_X_Window_Geometry_Group@{Ecore\_\-X\_\-Window\_\-Geometry\_\-Group}!ecore_x_window_border_width_get@{ecore\_\-x\_\-window\_\-border\_\-width\_\-get}}
+\index{ecore_x_window_border_width_get@{ecore\_\-x\_\-window\_\-border\_\-width\_\-get}!Ecore_X_Window_Geometry_Group@{Ecore\_\-X\_\-Window\_\-Geometry\_\-Group}}
+\subsubsection[ecore\_\-x\_\-window\_\-border\_\-width\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-x\_\-window\_\-border\_\-width\_\-get (Ecore\_\-X\_\-Window {\em win})}}
+\label{group__Ecore__X__Window__Geometry__Group_geb5ad9b694963652e5d8b3036d2b9744}
+
+
+Retrieves the width of the border of the given window. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em win}]The given window. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]Width of the border of {\tt win}. \end{Desc}
+\hypertarget{group__Ecore__X__Window__Geometry__Group_g51031b34c63636b837982795f940e856}{
+\index{Ecore_X_Window_Geometry_Group@{Ecore\_\-X\_\-Window\_\-Geometry\_\-Group}!ecore_x_window_border_width_set@{ecore\_\-x\_\-window\_\-border\_\-width\_\-set}}
+\index{ecore_x_window_border_width_set@{ecore\_\-x\_\-window\_\-border\_\-width\_\-set}!Ecore_X_Window_Geometry_Group@{Ecore\_\-X\_\-Window\_\-Geometry\_\-Group}}
+\subsubsection[ecore\_\-x\_\-window\_\-border\_\-width\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-window\_\-border\_\-width\_\-set (Ecore\_\-X\_\-Window {\em win}, int {\em width})}}
+\label{group__Ecore__X__Window__Geometry__Group_g51031b34c63636b837982795f940e856}
+
+
+Sets the width of the border of the given window. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em win}]The given window. \item[{\em width}]The new border width. \end{description}
+\end{Desc}
+\hypertarget{group__Ecore__X__Window__Geometry__Group_g7587437d291e1150060bbe6a10cd2a1f}{
+\index{Ecore_X_Window_Geometry_Group@{Ecore\_\-X\_\-Window\_\-Geometry\_\-Group}!ecore_x_window_geometry_get@{ecore\_\-x\_\-window\_\-geometry\_\-get}}
+\index{ecore_x_window_geometry_get@{ecore\_\-x\_\-window\_\-geometry\_\-get}!Ecore_X_Window_Geometry_Group@{Ecore\_\-X\_\-Window\_\-Geometry\_\-Group}}
+\subsubsection[ecore\_\-x\_\-window\_\-geometry\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-window\_\-geometry\_\-get (Ecore\_\-X\_\-Window {\em window}, int $\ast$ {\em x}, int $\ast$ {\em y}, int $\ast$ {\em width}, int $\ast$ {\em height})}}
+\label{group__Ecore__X__Window__Geometry__Group_g7587437d291e1150060bbe6a10cd2a1f}
+
+
+Retrieves the geometry of the given window. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em win}]The given window. \item[{\em x}]Pointer to an integer in which the X position is to be stored. \item[{\em y}]Pointer to an integer in which the Y position is to be stored. \item[{\em w}]Pointer to an integer in which the width is to be stored. \item[{\em h}]Pointer to an integer in which the height is to be stored. \end{description}
+\end{Desc}
+\hypertarget{group__Ecore__X__Window__Geometry__Group_g4874b3c09244eac3828cd332bafd7978}{
+\index{Ecore_X_Window_Geometry_Group@{Ecore\_\-X\_\-Window\_\-Geometry\_\-Group}!ecore_x_window_move@{ecore\_\-x\_\-window\_\-move}}
+\index{ecore_x_window_move@{ecore\_\-x\_\-window\_\-move}!Ecore_X_Window_Geometry_Group@{Ecore\_\-X\_\-Window\_\-Geometry\_\-Group}}
+\subsubsection[ecore\_\-x\_\-window\_\-move]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-window\_\-move (Ecore\_\-X\_\-Window {\em win}, int {\em x}, int {\em y})}}
+\label{group__Ecore__X__Window__Geometry__Group_g4874b3c09244eac3828cd332bafd7978}
+
+
+Moves a window to the position {\tt x}, {\tt y}. 
+
+The position is relative to the upper left hand corner of the parent window.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em win}]The window to move. \item[{\em x}]X position. \item[{\em y}]Y position. \end{description}
+\end{Desc}
+\hypertarget{group__Ecore__X__Window__Geometry__Group_g4bdf5178a61b983cac7c102fe06d400d}{
+\index{Ecore_X_Window_Geometry_Group@{Ecore\_\-X\_\-Window\_\-Geometry\_\-Group}!ecore_x_window_move_resize@{ecore\_\-x\_\-window\_\-move\_\-resize}}
+\index{ecore_x_window_move_resize@{ecore\_\-x\_\-window\_\-move\_\-resize}!Ecore_X_Window_Geometry_Group@{Ecore\_\-X\_\-Window\_\-Geometry\_\-Group}}
+\subsubsection[ecore\_\-x\_\-window\_\-move\_\-resize]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-window\_\-move\_\-resize (Ecore\_\-X\_\-Window {\em win}, int {\em x}, int {\em y}, int {\em w}, int {\em h})}}
+\label{group__Ecore__X__Window__Geometry__Group_g4bdf5178a61b983cac7c102fe06d400d}
+
+
+Moves and resizes a window. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em win}]The window to move and resize. \item[{\em x}]New X position of the window. \item[{\em y}]New Y position of the window. \item[{\em w}]New width of the window. \item[{\em h}]New height of the window. \end{description}
+\end{Desc}
+\hypertarget{group__Ecore__X__Window__Geometry__Group_gccb702ac5a14183e4e125c6ca98d75bb}{
+\index{Ecore_X_Window_Geometry_Group@{Ecore\_\-X\_\-Window\_\-Geometry\_\-Group}!ecore_x_window_resize@{ecore\_\-x\_\-window\_\-resize}}
+\index{ecore_x_window_resize@{ecore\_\-x\_\-window\_\-resize}!Ecore_X_Window_Geometry_Group@{Ecore\_\-X\_\-Window\_\-Geometry\_\-Group}}
+\subsubsection[ecore\_\-x\_\-window\_\-resize]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-window\_\-resize (Ecore\_\-X\_\-Window {\em win}, int {\em w}, int {\em h})}}
+\label{group__Ecore__X__Window__Geometry__Group_gccb702ac5a14183e4e125c6ca98d75bb}
+
+
+Resizes a window. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em win}]The window to resize. \item[{\em w}]New width of the window. \item[{\em h}]New height of the window. \end{description}
+\end{Desc}
+\hypertarget{group__Ecore__X__Window__Geometry__Group_g2c9878a9ce787bbed9475f48c8a712ae}{
+\index{Ecore_X_Window_Geometry_Group@{Ecore\_\-X\_\-Window\_\-Geometry\_\-Group}!ecore_x_window_size_get@{ecore\_\-x\_\-window\_\-size\_\-get}}
+\index{ecore_x_window_size_get@{ecore\_\-x\_\-window\_\-size\_\-get}!Ecore_X_Window_Geometry_Group@{Ecore\_\-X\_\-Window\_\-Geometry\_\-Group}}
+\subsubsection[ecore\_\-x\_\-window\_\-size\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-window\_\-size\_\-get (Ecore\_\-X\_\-Window {\em window}, int $\ast$ {\em width}, int $\ast$ {\em height})}}
+\label{group__Ecore__X__Window__Geometry__Group_g2c9878a9ce787bbed9475f48c8a712ae}
+
+
+Retrieves the size of the given window. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em win}]The given window. \item[{\em w}]Pointer to an integer into which the width is to be stored. \item[{\em h}]Pointer to an integer into which the height is to be stored. \end{description}
+\end{Desc}
diff --git a/doc/latex/group__Ecore__X__Window__Get__Attributes__Group.tex b/doc/latex/group__Ecore__X__Window__Get__Attributes__Group.tex
new file mode 100644
index 0000000..9743566
--- /dev/null
+++ b/doc/latex/group__Ecore__X__Window__Get__Attributes__Group.tex
@@ -0,0 +1,65 @@
+\hypertarget{group__Ecore__X__Window__Get__Attributes__Group}{
+\section{X Window Get Attributes Functions}
+\label{group__Ecore__X__Window__Get__Attributes__Group}\index{X Window Get Attributes Functions@{X Window Get Attributes Functions}}
+}
+Functions that get the attributes of a window.  
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+\hypertarget{group__Ecore__X__Window__Get__Attributes__Group_gfae6084f4ae1bb0bc1f9a5417e27ad20}{
+EAPI void \hyperlink{group__Ecore__X__Window__Get__Attributes__Group_gfae6084f4ae1bb0bc1f9a5417e27ad20}{ecore\_\-x\_\-get\_\-window\_\-attributes\_\-prefetch} (Ecore\_\-X\_\-Window window)}
+\label{group__Ecore__X__Window__Get__Attributes__Group_gfae6084f4ae1bb0bc1f9a5417e27ad20}
+
+\begin{CompactList}\small\item\em Sends the Get\-Window\-Attributes request. \item\end{CompactList}\item 
+\hypertarget{group__Ecore__X__Window__Get__Attributes__Group_g70eb3d81772e48b216f523b14cdf5dd0}{
+EAPI void \hyperlink{group__Ecore__X__Window__Get__Attributes__Group_g70eb3d81772e48b216f523b14cdf5dd0}{ecore\_\-x\_\-get\_\-window\_\-attributes\_\-fetch} (void)}
+\label{group__Ecore__X__Window__Get__Attributes__Group_g70eb3d81772e48b216f523b14cdf5dd0}
+
+\begin{CompactList}\small\item\em Gets the reply of the Get\-Window\-Attributes request sent by \hyperlink{group__Ecore__X__Window__Get__Attributes__Group_gfae6084f4ae1bb0bc1f9a5417e27ad20}{ecore\_\-x\_\-get\_\-window\_\-attributes\_\-prefetch()}. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__X__Window__Get__Attributes__Group_g18abd6d9a67e20a80d9b02b17f61991e}{ecore\_\-x\_\-window\_\-attributes\_\-get} (Ecore\_\-X\_\-Window window \_\-\_\-UNUSED\_\-\_\-, Ecore\_\-X\_\-Window\_\-Attributes $\ast$att\_\-ret)
+\begin{CompactList}\small\item\em Retrieves the attributes of a window. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__X__Window__Get__Attributes__Group_ge08b8e16751ce4b12f97f9b114d0d59c}{ecore\_\-x\_\-window\_\-visible\_\-get} (Ecore\_\-X\_\-Window window \_\-\_\-UNUSED\_\-\_\-)
+\begin{CompactList}\small\item\em Finds out whether the given window is currently visible. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Functions that get the attributes of a window. 
+
+
+
+\subsection{Function Documentation}
+\hypertarget{group__Ecore__X__Window__Get__Attributes__Group_g18abd6d9a67e20a80d9b02b17f61991e}{
+\index{Ecore_X_Window_Get_Attributes_Group@{Ecore\_\-X\_\-Window\_\-Get\_\-Attributes\_\-Group}!ecore_x_window_attributes_get@{ecore\_\-x\_\-window\_\-attributes\_\-get}}
+\index{ecore_x_window_attributes_get@{ecore\_\-x\_\-window\_\-attributes\_\-get}!Ecore_X_Window_Get_Attributes_Group@{Ecore\_\-X\_\-Window\_\-Get\_\-Attributes\_\-Group}}
+\subsubsection[ecore\_\-x\_\-window\_\-attributes\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-x\_\-window\_\-attributes\_\-get (Ecore\_\-X\_\-Window window {\em \_\-\_\-UNUSED\_\-\_\-}, Ecore\_\-X\_\-Window\_\-Attributes $\ast$ {\em att\_\-ret})}}
+\label{group__Ecore__X__Window__Get__Attributes__Group_g18abd6d9a67e20a80d9b02b17f61991e}
+
+
+Retrieves the attributes of a window. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em windows}]Unused. \item[{\em att\_\-ret}]Pointer to an Ecore\_\-X\_\-Window\_\-Attributes structure in which the attributes of a window are to be stored.\end{description}
+\end{Desc}
+Retrieves the attributes of a window. If {\tt att\_\-ret} is {\tt NULL}, the function does nothing. If an error occurred, {\tt att\_\-ret} is set to 0. Otherwise, the {\tt att\_\-ret} structure is filled with the attributes os the requested window.
+
+To use this function, you must call before, and in order, \hyperlink{group__Ecore__X__Window__Get__Attributes__Group_gfae6084f4ae1bb0bc1f9a5417e27ad20}{ecore\_\-x\_\-get\_\-window\_\-attributes\_\-prefetch()}, which sends the Get\-Window\-Attributes request, then \hyperlink{group__Ecore__X__Window__Get__Attributes__Group_g70eb3d81772e48b216f523b14cdf5dd0}{ecore\_\-x\_\-get\_\-window\_\-attributes\_\-fetch()}, which gets the reply. \hypertarget{group__Ecore__X__Window__Get__Attributes__Group_ge08b8e16751ce4b12f97f9b114d0d59c}{
+\index{Ecore_X_Window_Get_Attributes_Group@{Ecore\_\-X\_\-Window\_\-Get\_\-Attributes\_\-Group}!ecore_x_window_visible_get@{ecore\_\-x\_\-window\_\-visible\_\-get}}
+\index{ecore_x_window_visible_get@{ecore\_\-x\_\-window\_\-visible\_\-get}!Ecore_X_Window_Get_Attributes_Group@{Ecore\_\-X\_\-Window\_\-Get\_\-Attributes\_\-Group}}
+\subsubsection[ecore\_\-x\_\-window\_\-visible\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-x\_\-window\_\-visible\_\-get (Ecore\_\-X\_\-Window window {\em \_\-\_\-UNUSED\_\-\_\-})}}
+\label{group__Ecore__X__Window__Get__Attributes__Group_ge08b8e16751ce4b12f97f9b114d0d59c}
+
+
+Finds out whether the given window is currently visible. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]Unused. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]1 if the window is visible, otherwise 0.\end{Desc}
+Finds out whether the given window is currently visible. If an error occurred, or if the window is not visible, 0 is returned. Otherwise 1 is returned.
+
+To use this function, you must call before, and in order, \hyperlink{group__Ecore__X__Window__Get__Attributes__Group_gfae6084f4ae1bb0bc1f9a5417e27ad20}{ecore\_\-x\_\-get\_\-window\_\-attributes\_\-prefetch()}, which sends the Get\-Window\-Attributes request, then \hyperlink{group__Ecore__X__Window__Get__Attributes__Group_g70eb3d81772e48b216f523b14cdf5dd0}{ecore\_\-x\_\-get\_\-window\_\-attributes\_\-fetch()}, which gets the reply. 
\ No newline at end of file
diff --git a/doc/latex/group__Ecore__X__Window__Input__Focus__Group.tex b/doc/latex/group__Ecore__X__Window__Input__Focus__Group.tex
new file mode 100644
index 0000000..9355d6c
--- /dev/null
+++ b/doc/latex/group__Ecore__X__Window__Input__Focus__Group.tex
@@ -0,0 +1,74 @@
+\hypertarget{group__Ecore__X__Window__Input__Focus__Group}{
+\section{X Window Input Focus Functions}
+\label{group__Ecore__X__Window__Input__Focus__Group}\index{X Window Input Focus Functions@{X Window Input Focus Functions}}
+}
+Functions that manage the focus of an X Window.  
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+EAPI void \hyperlink{group__Ecore__X__Window__Input__Focus__Group_g5d4b98a81a8508a18bc2f6a77970e773}{ecore\_\-x\_\-window\_\-focus} (Ecore\_\-X\_\-Window window)
+\begin{CompactList}\small\item\em Sets the focus to the window {\tt win}. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Window__Input__Focus__Group_gbf347c1dcd62715f578901f8b73e60f7}{ecore\_\-x\_\-window\_\-focus\_\-at\_\-time} (Ecore\_\-X\_\-Window window, Ecore\_\-X\_\-Time time)
+\begin{CompactList}\small\item\em Sets the focus to the given window at a specific time. \item\end{CompactList}\item 
+\hypertarget{group__Ecore__X__Window__Input__Focus__Group_ga92860262b8d5e516d183a21b181fe0e}{
+EAPI void \hyperlink{group__Ecore__X__Window__Input__Focus__Group_ga92860262b8d5e516d183a21b181fe0e}{ecore\_\-x\_\-get\_\-input\_\-focus\_\-prefetch} (void)}
+\label{group__Ecore__X__Window__Input__Focus__Group_ga92860262b8d5e516d183a21b181fe0e}
+
+\begin{CompactList}\small\item\em Sends the Get\-Input\-Focus request. \item\end{CompactList}\item 
+\hypertarget{group__Ecore__X__Window__Input__Focus__Group_g02ae3f361154035adc34417f2ba97825}{
+EAPI void \hyperlink{group__Ecore__X__Window__Input__Focus__Group_g02ae3f361154035adc34417f2ba97825}{ecore\_\-x\_\-get\_\-input\_\-focus\_\-fetch} (void)}
+\label{group__Ecore__X__Window__Input__Focus__Group_g02ae3f361154035adc34417f2ba97825}
+
+\begin{CompactList}\small\item\em Gets the reply of the Get\-Input\-Focus request sent by \hyperlink{group__Ecore__X__Window__Input__Focus__Group_ga92860262b8d5e516d183a21b181fe0e}{ecore\_\-x\_\-get\_\-input\_\-focus\_\-prefetch()}. \item\end{CompactList}\item 
+EAPI Ecore\_\-X\_\-Window \hyperlink{group__Ecore__X__Window__Input__Focus__Group_g0c673d99b2baea6d1e627fda19ebbc77}{ecore\_\-x\_\-window\_\-focus\_\-get} (void)
+\begin{CompactList}\small\item\em gets the focus to the window {\tt win}. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Functions that manage the focus of an X Window. 
+
+
+
+\subsection{Function Documentation}
+\hypertarget{group__Ecore__X__Window__Input__Focus__Group_g5d4b98a81a8508a18bc2f6a77970e773}{
+\index{Ecore_X_Window_Input_Focus_Group@{Ecore\_\-X\_\-Window\_\-Input\_\-Focus\_\-Group}!ecore_x_window_focus@{ecore\_\-x\_\-window\_\-focus}}
+\index{ecore_x_window_focus@{ecore\_\-x\_\-window\_\-focus}!Ecore_X_Window_Input_Focus_Group@{Ecore\_\-X\_\-Window\_\-Input\_\-Focus\_\-Group}}
+\subsubsection[ecore\_\-x\_\-window\_\-focus]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-window\_\-focus (Ecore\_\-X\_\-Window {\em window})}}
+\label{group__Ecore__X__Window__Input__Focus__Group_g5d4b98a81a8508a18bc2f6a77970e773}
+
+
+Sets the focus to the window {\tt win}. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window to focus. \end{description}
+\end{Desc}
+\hypertarget{group__Ecore__X__Window__Input__Focus__Group_gbf347c1dcd62715f578901f8b73e60f7}{
+\index{Ecore_X_Window_Input_Focus_Group@{Ecore\_\-X\_\-Window\_\-Input\_\-Focus\_\-Group}!ecore_x_window_focus_at_time@{ecore\_\-x\_\-window\_\-focus\_\-at\_\-time}}
+\index{ecore_x_window_focus_at_time@{ecore\_\-x\_\-window\_\-focus\_\-at\_\-time}!Ecore_X_Window_Input_Focus_Group@{Ecore\_\-X\_\-Window\_\-Input\_\-Focus\_\-Group}}
+\subsubsection[ecore\_\-x\_\-window\_\-focus\_\-at\_\-time]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-window\_\-focus\_\-at\_\-time (Ecore\_\-X\_\-Window {\em window}, Ecore\_\-X\_\-Time {\em time})}}
+\label{group__Ecore__X__Window__Input__Focus__Group_gbf347c1dcd62715f578901f8b73e60f7}
+
+
+Sets the focus to the given window at a specific time. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window to focus. \item[{\em time}]When to set the focus to the window. \end{description}
+\end{Desc}
+\hypertarget{group__Ecore__X__Window__Input__Focus__Group_g0c673d99b2baea6d1e627fda19ebbc77}{
+\index{Ecore_X_Window_Input_Focus_Group@{Ecore\_\-X\_\-Window\_\-Input\_\-Focus\_\-Group}!ecore_x_window_focus_get@{ecore\_\-x\_\-window\_\-focus\_\-get}}
+\index{ecore_x_window_focus_get@{ecore\_\-x\_\-window\_\-focus\_\-get}!Ecore_X_Window_Input_Focus_Group@{Ecore\_\-X\_\-Window\_\-Input\_\-Focus\_\-Group}}
+\subsubsection[ecore\_\-x\_\-window\_\-focus\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI Ecore\_\-X\_\-Window ecore\_\-x\_\-window\_\-focus\_\-get (void)}}
+\label{group__Ecore__X__Window__Input__Focus__Group_g0c673d99b2baea6d1e627fda19ebbc77}
+
+
+gets the focus to the window {\tt win}. 
+
+\begin{Desc}
+\item[Returns:]The window that has focus.\end{Desc}
+Returns the window that has the focus. If an error aoocured, {\tt 0} is returned, otherwise the function returns the window that has focus.
+
+To use this function, you must call before, and in order, \hyperlink{group__Ecore__X__Window__Input__Focus__Group_ga92860262b8d5e516d183a21b181fe0e}{ecore\_\-x\_\-get\_\-input\_\-focus\_\-prefetch()}, which sends the Get\-Input\-Focus request, then \hyperlink{group__Ecore__X__Window__Input__Focus__Group_g02ae3f361154035adc34417f2ba97825}{ecore\_\-x\_\-get\_\-input\_\-focus\_\-fetch()}, which gets the reply. 
\ No newline at end of file
diff --git a/doc/latex/group__Ecore__X__Window__Parent__Group.tex b/doc/latex/group__Ecore__X__Window__Parent__Group.tex
new file mode 100644
index 0000000..93455b2
--- /dev/null
+++ b/doc/latex/group__Ecore__X__Window__Parent__Group.tex
@@ -0,0 +1,128 @@
+\hypertarget{group__Ecore__X__Window__Parent__Group}{
+\section{X Window Parent Functions}
+\label{group__Ecore__X__Window__Parent__Group}\index{X Window Parent Functions@{X Window Parent Functions}}
+}
+Functions that retrieve or changes the parent window of a window.  
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+EAPI void \hyperlink{group__Ecore__X__Window__Parent__Group_gc8bb341a5e9300b5de4df3678c33cf85}{ecore\_\-x\_\-window\_\-reparent} (Ecore\_\-X\_\-Window win, Ecore\_\-X\_\-Window new\_\-parent, int x, int y)
+\begin{CompactList}\small\item\em Moves a window to within another window at a given position. \item\end{CompactList}\item 
+EAPI Ecore\_\-X\_\-Window \hyperlink{group__Ecore__X__Window__Parent__Group_gee7cb845063281b2582036a5fe4b75e0}{ecore\_\-x\_\-window\_\-parent\_\-get} (Ecore\_\-X\_\-Window win)
+\begin{CompactList}\small\item\em Retrieves the parent window of the given window. \item\end{CompactList}\item 
+\hypertarget{group__Ecore__X__Window__Parent__Group_gc156ab3f1feb10bbdb2e529777692fcc}{
+EAPI void \hyperlink{group__Ecore__X__Window__Parent__Group_gc156ab3f1feb10bbdb2e529777692fcc}{ecore\_\-x\_\-pointer\_\-xy\_\-get\_\-prefetch} (Ecore\_\-X\_\-Window window)}
+\label{group__Ecore__X__Window__Parent__Group_gc156ab3f1feb10bbdb2e529777692fcc}
+
+\begin{CompactList}\small\item\em Sends the Query\-Pointer request. \item\end{CompactList}\item 
+\hypertarget{group__Ecore__X__Window__Parent__Group_gd342433ee1430ee2ba4e2afe11dd9c7e}{
+EAPI void \hyperlink{group__Ecore__X__Window__Parent__Group_gd342433ee1430ee2ba4e2afe11dd9c7e}{ecore\_\-x\_\-pointer\_\-xy\_\-get\_\-fetch} (void)}
+\label{group__Ecore__X__Window__Parent__Group_gd342433ee1430ee2ba4e2afe11dd9c7e}
+
+\begin{CompactList}\small\item\em Gets the reply of the Query\-Pointer request sent by ecore\_\-x\_\-query\_\-pointer\_\-prefetch(). \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Window__Parent__Group_g7120e845266abbe33b17035b89c0fb00}{ecore\_\-x\_\-pointer\_\-xy\_\-get} (Ecore\_\-X\_\-Window window \_\-\_\-UNUSED\_\-\_\-, int $\ast$x, int $\ast$y)
+\begin{CompactList}\small\item\em Retrieves the coordinates of the pointer. \item\end{CompactList}\item 
+\hypertarget{group__Ecore__X__Window__Parent__Group_g18e6147f1724e8b47b677a5bdd257732}{
+EAPI void \hyperlink{group__Ecore__X__Window__Parent__Group_g18e6147f1724e8b47b677a5bdd257732}{ecore\_\-x\_\-query\_\-tree\_\-prefetch} (Ecore\_\-X\_\-Window window)}
+\label{group__Ecore__X__Window__Parent__Group_g18e6147f1724e8b47b677a5bdd257732}
+
+\begin{CompactList}\small\item\em Sends the Query\-Tree request. \item\end{CompactList}\item 
+\hypertarget{group__Ecore__X__Window__Parent__Group_g14910fd00fc8bef59141074dd7c815b9}{
+EAPI void \hyperlink{group__Ecore__X__Window__Parent__Group_g14910fd00fc8bef59141074dd7c815b9}{ecore\_\-x\_\-query\_\-tree\_\-fetch} (void)}
+\label{group__Ecore__X__Window__Parent__Group_g14910fd00fc8bef59141074dd7c815b9}
+
+\begin{CompactList}\small\item\em Gets the reply of the Query\-Tree request sent by \hyperlink{group__Ecore__X__Window__Parent__Group_g18e6147f1724e8b47b677a5bdd257732}{ecore\_\-x\_\-query\_\-tree\_\-prefetch()}. \item\end{CompactList}\item 
+EAPI Ecore\_\-X\_\-Window \hyperlink{group__Ecore__X__Window__Parent__Group_g8d48e20cbced9bed5239d4395cc41877}{ecore\_\-x\_\-window\_\-parent\_\-get} (Ecore\_\-X\_\-Window window \_\-\_\-UNUSED\_\-\_\-)
+\begin{CompactList}\small\item\em Retrieves the parent window of the given window. \item\end{CompactList}\item 
+EAPI Ecore\_\-X\_\-Window $\ast$ \hyperlink{group__Ecore__X__Window__Parent__Group_g2ff089ea3679f9f81a9a6db5d23d478d}{ecore\_\-x\_\-window\_\-children\_\-get} (Ecore\_\-X\_\-Window window \_\-\_\-UNUSED\_\-\_\-, int $\ast$num)
+\begin{CompactList}\small\item\em Retrieves the children windows of the given window. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Functions that retrieve or changes the parent window of a window. 
+
+
+
+\subsection{Function Documentation}
+\hypertarget{group__Ecore__X__Window__Parent__Group_g7120e845266abbe33b17035b89c0fb00}{
+\index{Ecore_X_Window_Parent_Group@{Ecore\_\-X\_\-Window\_\-Parent\_\-Group}!ecore_x_pointer_xy_get@{ecore\_\-x\_\-pointer\_\-xy\_\-get}}
+\index{ecore_x_pointer_xy_get@{ecore\_\-x\_\-pointer\_\-xy\_\-get}!Ecore_X_Window_Parent_Group@{Ecore\_\-X\_\-Window\_\-Parent\_\-Group}}
+\subsubsection[ecore\_\-x\_\-pointer\_\-xy\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-pointer\_\-xy\_\-get (Ecore\_\-X\_\-Window window {\em \_\-\_\-UNUSED\_\-\_\-}, int $\ast$ {\em x}, int $\ast$ {\em y})}}
+\label{group__Ecore__X__Window__Parent__Group_g7120e845266abbe33b17035b89c0fb00}
+
+
+Retrieves the coordinates of the pointer. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]Unused. \item[{\em x}]The X coordinate of the pointer. \item[{\em y}]The Y coordinate of the pointer.\end{description}
+\end{Desc}
+Retrieves the coordinates of the pointer. If the window used in ecore\_\-x\_\-query\_\-pointer\_\-prefetch() is not on the same screen than the root window or if an error occured, {\tt x} and {\tt y} are set to 0. Otherwise, they are respectively set to the X and Y coordinates of the pointer.
+
+To use this function, you must call before, and in order, ecore\_\-x\_\-query\_\-pointer\_\-prefetch(), which sends the Query\-Pointer request, then ecore\_\-x\_\-query\_\-pointer\_\-fetch(), which gets the reply. \hypertarget{group__Ecore__X__Window__Parent__Group_g2ff089ea3679f9f81a9a6db5d23d478d}{
+\index{Ecore_X_Window_Parent_Group@{Ecore\_\-X\_\-Window\_\-Parent\_\-Group}!ecore_x_window_children_get@{ecore\_\-x\_\-window\_\-children\_\-get}}
+\index{ecore_x_window_children_get@{ecore\_\-x\_\-window\_\-children\_\-get}!Ecore_X_Window_Parent_Group@{Ecore\_\-X\_\-Window\_\-Parent\_\-Group}}
+\subsubsection[ecore\_\-x\_\-window\_\-children\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI Ecore\_\-X\_\-Window$\ast$ ecore\_\-x\_\-window\_\-children\_\-get (Ecore\_\-X\_\-Window window {\em \_\-\_\-UNUSED\_\-\_\-}, int $\ast$ {\em num})}}
+\label{group__Ecore__X__Window__Parent__Group_g2ff089ea3679f9f81a9a6db5d23d478d}
+
+
+Retrieves the children windows of the given window. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]Unused. \item[{\em num}]children windows count. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The children windows.\end{Desc}
+Retrieves the children windows of the given window. If an error occured, {\tt 0} is returned.
+
+To use this function, you must call before, and in order, \hyperlink{group__Ecore__X__Window__Parent__Group_g18e6147f1724e8b47b677a5bdd257732}{ecore\_\-x\_\-query\_\-tree\_\-prefetch()}, which sends the Query\-Tree request, then \hyperlink{group__Ecore__X__Window__Parent__Group_g14910fd00fc8bef59141074dd7c815b9}{ecore\_\-x\_\-query\_\-tree\_\-fetch()}, which gets the reply. \hypertarget{group__Ecore__X__Window__Parent__Group_g8d48e20cbced9bed5239d4395cc41877}{
+\index{Ecore_X_Window_Parent_Group@{Ecore\_\-X\_\-Window\_\-Parent\_\-Group}!ecore_x_window_parent_get@{ecore\_\-x\_\-window\_\-parent\_\-get}}
+\index{ecore_x_window_parent_get@{ecore\_\-x\_\-window\_\-parent\_\-get}!Ecore_X_Window_Parent_Group@{Ecore\_\-X\_\-Window\_\-Parent\_\-Group}}
+\subsubsection[ecore\_\-x\_\-window\_\-parent\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI Ecore\_\-X\_\-Window ecore\_\-x\_\-window\_\-parent\_\-get (Ecore\_\-X\_\-Window window {\em \_\-\_\-UNUSED\_\-\_\-})}}
+\label{group__Ecore__X__Window__Parent__Group_g8d48e20cbced9bed5239d4395cc41877}
+
+
+Retrieves the parent window of the given window. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]Unused. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The parent window of {\tt window}.\end{Desc}
+Retrieves the parent window of the given window. If an error occured, {\tt 0} is returned.
+
+To use this function, you must call before, and in order, \hyperlink{group__Ecore__X__Window__Parent__Group_g18e6147f1724e8b47b677a5bdd257732}{ecore\_\-x\_\-query\_\-tree\_\-prefetch()}, which sends the Query\-Tree request, then \hyperlink{group__Ecore__X__Window__Parent__Group_g14910fd00fc8bef59141074dd7c815b9}{ecore\_\-x\_\-query\_\-tree\_\-fetch()}, which gets the reply. \hypertarget{group__Ecore__X__Window__Parent__Group_gee7cb845063281b2582036a5fe4b75e0}{
+\index{Ecore_X_Window_Parent_Group@{Ecore\_\-X\_\-Window\_\-Parent\_\-Group}!ecore_x_window_parent_get@{ecore\_\-x\_\-window\_\-parent\_\-get}}
+\index{ecore_x_window_parent_get@{ecore\_\-x\_\-window\_\-parent\_\-get}!Ecore_X_Window_Parent_Group@{Ecore\_\-X\_\-Window\_\-Parent\_\-Group}}
+\subsubsection[ecore\_\-x\_\-window\_\-parent\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI Ecore\_\-X\_\-Window ecore\_\-x\_\-window\_\-parent\_\-get (Ecore\_\-X\_\-Window {\em win})}}
+\label{group__Ecore__X__Window__Parent__Group_gee7cb845063281b2582036a5fe4b75e0}
+
+
+Retrieves the parent window of the given window. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em win}]The given window. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The parent window of {\tt win}. \end{Desc}
+\hypertarget{group__Ecore__X__Window__Parent__Group_gc8bb341a5e9300b5de4df3678c33cf85}{
+\index{Ecore_X_Window_Parent_Group@{Ecore\_\-X\_\-Window\_\-Parent\_\-Group}!ecore_x_window_reparent@{ecore\_\-x\_\-window\_\-reparent}}
+\index{ecore_x_window_reparent@{ecore\_\-x\_\-window\_\-reparent}!Ecore_X_Window_Parent_Group@{Ecore\_\-X\_\-Window\_\-Parent\_\-Group}}
+\subsubsection[ecore\_\-x\_\-window\_\-reparent]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-window\_\-reparent (Ecore\_\-X\_\-Window {\em win}, Ecore\_\-X\_\-Window {\em new\_\-parent}, int {\em x}, int {\em y})}}
+\label{group__Ecore__X__Window__Parent__Group_gc8bb341a5e9300b5de4df3678c33cf85}
+
+
+Moves a window to within another window at a given position. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em win}]The window to reparent. \item[{\em new\_\-parent}]The new parent window. \item[{\em x}]X position within new parent window. \item[{\em y}]Y position within new parent window. \end{description}
+\end{Desc}
diff --git a/doc/latex/group__Ecore__X__Window__Reparent__Group.tex b/doc/latex/group__Ecore__X__Window__Reparent__Group.tex
new file mode 100644
index 0000000..c07f9eb
--- /dev/null
+++ b/doc/latex/group__Ecore__X__Window__Reparent__Group.tex
@@ -0,0 +1,32 @@
+\hypertarget{group__Ecore__X__Window__Reparent__Group}{
+\section{X Window Reparent Functions}
+\label{group__Ecore__X__Window__Reparent__Group}\index{X Window Reparent Functions@{X Window Reparent Functions}}
+}
+Functions that retrieve or changes the parent window of a window.  
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+EAPI void \hyperlink{group__Ecore__X__Window__Reparent__Group_g36b9dda4c0ce4ef9ca6e3cf339773c29}{ecore\_\-x\_\-window\_\-reparent} (Ecore\_\-X\_\-Window window, Ecore\_\-X\_\-Window new\_\-parent, int x, int y)
+\begin{CompactList}\small\item\em Moves a window to within another window at a given position. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Functions that retrieve or changes the parent window of a window. 
+
+
+
+\subsection{Function Documentation}
+\hypertarget{group__Ecore__X__Window__Reparent__Group_g36b9dda4c0ce4ef9ca6e3cf339773c29}{
+\index{Ecore_X_Window_Reparent_Group@{Ecore\_\-X\_\-Window\_\-Reparent\_\-Group}!ecore_x_window_reparent@{ecore\_\-x\_\-window\_\-reparent}}
+\index{ecore_x_window_reparent@{ecore\_\-x\_\-window\_\-reparent}!Ecore_X_Window_Reparent_Group@{Ecore\_\-X\_\-Window\_\-Reparent\_\-Group}}
+\subsubsection[ecore\_\-x\_\-window\_\-reparent]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-window\_\-reparent (Ecore\_\-X\_\-Window {\em window}, Ecore\_\-X\_\-Window {\em new\_\-parent}, int {\em x}, int {\em y})}}
+\label{group__Ecore__X__Window__Reparent__Group_g36b9dda4c0ce4ef9ca6e3cf339773c29}
+
+
+Moves a window to within another window at a given position. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window to reparent. \item[{\em new\_\-parent}]The new parent window. \item[{\em x}]X position within new parent window. \item[{\em y}]Y position within new parent window. \end{description}
+\end{Desc}
diff --git a/doc/latex/group__Ecore__X__Window__Save__Set__Group.tex b/doc/latex/group__Ecore__X__Window__Save__Set__Group.tex
new file mode 100644
index 0000000..ab978fc
--- /dev/null
+++ b/doc/latex/group__Ecore__X__Window__Save__Set__Group.tex
@@ -0,0 +1,48 @@
+\hypertarget{group__Ecore__X__Window__Save__Set__Group}{
+\section{X Window Change Save Set Functions}
+\label{group__Ecore__X__Window__Save__Set__Group}\index{X Window Change Save Set Functions@{X Window Change Save Set Functions}}
+}
+Functions that either inserts or deletes the specified window from the client's save-set.  
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+EAPI void \hyperlink{group__Ecore__X__Window__Save__Set__Group_g5292ea88a67a9d6ddef99a9f70d2a27a}{ecore\_\-x\_\-window\_\-save\_\-set\_\-add} (Ecore\_\-X\_\-Window window)
+\begin{CompactList}\small\item\em Inserts the window in the client's save-set. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Window__Save__Set__Group_g59d6be42f3a1f5791ff3f367e336562f}{ecore\_\-x\_\-window\_\-save\_\-set\_\-del} (Ecore\_\-X\_\-Window window)
+\begin{CompactList}\small\item\em Deletes the window from the client's save-set. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Functions that either inserts or deletes the specified window from the client's save-set. 
+
+
+
+\subsection{Function Documentation}
+\hypertarget{group__Ecore__X__Window__Save__Set__Group_g5292ea88a67a9d6ddef99a9f70d2a27a}{
+\index{Ecore_X_Window_Save_Set_Group@{Ecore\_\-X\_\-Window\_\-Save\_\-Set\_\-Group}!ecore_x_window_save_set_add@{ecore\_\-x\_\-window\_\-save\_\-set\_\-add}}
+\index{ecore_x_window_save_set_add@{ecore\_\-x\_\-window\_\-save\_\-set\_\-add}!Ecore_X_Window_Save_Set_Group@{Ecore\_\-X\_\-Window\_\-Save\_\-Set\_\-Group}}
+\subsubsection[ecore\_\-x\_\-window\_\-save\_\-set\_\-add]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-window\_\-save\_\-set\_\-add (Ecore\_\-X\_\-Window {\em window})}}
+\label{group__Ecore__X__Window__Save__Set__Group_g5292ea88a67a9d6ddef99a9f70d2a27a}
+
+
+Inserts the window in the client's save-set. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window to insert in the client's save-set. \end{description}
+\end{Desc}
+\hypertarget{group__Ecore__X__Window__Save__Set__Group_g59d6be42f3a1f5791ff3f367e336562f}{
+\index{Ecore_X_Window_Save_Set_Group@{Ecore\_\-X\_\-Window\_\-Save\_\-Set\_\-Group}!ecore_x_window_save_set_del@{ecore\_\-x\_\-window\_\-save\_\-set\_\-del}}
+\index{ecore_x_window_save_set_del@{ecore\_\-x\_\-window\_\-save\_\-set\_\-del}!Ecore_X_Window_Save_Set_Group@{Ecore\_\-X\_\-Window\_\-Save\_\-Set\_\-Group}}
+\subsubsection[ecore\_\-x\_\-window\_\-save\_\-set\_\-del]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-window\_\-save\_\-set\_\-del (Ecore\_\-X\_\-Window {\em window})}}
+\label{group__Ecore__X__Window__Save__Set__Group_g59d6be42f3a1f5791ff3f367e336562f}
+
+
+Deletes the window from the client's save-set. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window to delete from the client's save-set. \end{description}
+\end{Desc}
diff --git a/doc/latex/group__Ecore__X__Window__Shape.tex b/doc/latex/group__Ecore__X__Window__Shape.tex
new file mode 100644
index 0000000..8935a4c
--- /dev/null
+++ b/doc/latex/group__Ecore__X__Window__Shape.tex
@@ -0,0 +1,32 @@
+\hypertarget{group__Ecore__X__Window__Shape}{
+\section{X Window Shape Functions}
+\label{group__Ecore__X__Window__Shape}\index{X Window Shape Functions@{X Window Shape Functions}}
+}
+These functions use the shape extension of the X server to change shape of given windows.  
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+EAPI void \hyperlink{group__Ecore__X__Window__Shape_g3717cee0507fb41cffad1094fa0a0fc9}{ecore\_\-x\_\-window\_\-shape\_\-mask\_\-set} (Ecore\_\-X\_\-Window win, Ecore\_\-X\_\-Pixmap mask)
+\begin{CompactList}\small\item\em Sets the shape of the given window to that given by the pixmap {\tt mask}. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+These functions use the shape extension of the X server to change shape of given windows. 
+
+
+
+\subsection{Function Documentation}
+\hypertarget{group__Ecore__X__Window__Shape_g3717cee0507fb41cffad1094fa0a0fc9}{
+\index{Ecore_X_Window_Shape@{Ecore\_\-X\_\-Window\_\-Shape}!ecore_x_window_shape_mask_set@{ecore\_\-x\_\-window\_\-shape\_\-mask\_\-set}}
+\index{ecore_x_window_shape_mask_set@{ecore\_\-x\_\-window\_\-shape\_\-mask\_\-set}!Ecore_X_Window_Shape@{Ecore\_\-X\_\-Window\_\-Shape}}
+\subsubsection[ecore\_\-x\_\-window\_\-shape\_\-mask\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-window\_\-shape\_\-mask\_\-set (Ecore\_\-X\_\-Window {\em win}, Ecore\_\-X\_\-Pixmap {\em mask})}}
+\label{group__Ecore__X__Window__Shape_g3717cee0507fb41cffad1094fa0a0fc9}
+
+
+Sets the shape of the given window to that given by the pixmap {\tt mask}. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em win}]The given window. \item[{\em mask}]A 2-bit depth pixmap that provides the new shape of the window. \end{description}
+\end{Desc}
diff --git a/doc/latex/group__Ecore__X__Window__Visibility__Group.tex b/doc/latex/group__Ecore__X__Window__Visibility__Group.tex
new file mode 100644
index 0000000..caad304
--- /dev/null
+++ b/doc/latex/group__Ecore__X__Window__Visibility__Group.tex
@@ -0,0 +1,70 @@
+\hypertarget{group__Ecore__X__Window__Visibility__Group}{
+\section{X Window Visibility Functions}
+\label{group__Ecore__X__Window__Visibility__Group}\index{X Window Visibility Functions@{X Window Visibility Functions}}
+}
+Functions to change the visibility of X windows.  
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+EAPI int \hyperlink{group__Ecore__X__Window__Visibility__Group_gbe025bc290912668119afdf049f744e0}{ecore\_\-x\_\-window\_\-visible\_\-get} (Ecore\_\-X\_\-Window win)
+\begin{CompactList}\small\item\em Finds out whether the given window is currently visible. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Window__Visibility__Group_gb789c28ff2b22655b13c927095817e6c}{ecore\_\-x\_\-window\_\-show} (Ecore\_\-X\_\-Window window)
+\begin{CompactList}\small\item\em Shows a window. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Window__Visibility__Group_g637ec4e3fe033b94de0b28788bdcae7e}{ecore\_\-x\_\-window\_\-hide} (Ecore\_\-X\_\-Window window)
+\begin{CompactList}\small\item\em Hides a window. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Functions to change the visibility of X windows. 
+
+
+
+\subsection{Function Documentation}
+\hypertarget{group__Ecore__X__Window__Visibility__Group_g637ec4e3fe033b94de0b28788bdcae7e}{
+\index{Ecore_X_Window_Visibility_Group@{Ecore\_\-X\_\-Window\_\-Visibility\_\-Group}!ecore_x_window_hide@{ecore\_\-x\_\-window\_\-hide}}
+\index{ecore_x_window_hide@{ecore\_\-x\_\-window\_\-hide}!Ecore_X_Window_Visibility_Group@{Ecore\_\-X\_\-Window\_\-Visibility\_\-Group}}
+\subsubsection[ecore\_\-x\_\-window\_\-hide]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-window\_\-hide (Ecore\_\-X\_\-Window {\em window})}}
+\label{group__Ecore__X__Window__Visibility__Group_g637ec4e3fe033b94de0b28788bdcae7e}
+
+
+Hides a window. 
+
+Synonymous to \char`\"{}unmapping\char`\"{} a window in X Window System terminology.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window to hide. \end{description}
+\end{Desc}
+\hypertarget{group__Ecore__X__Window__Visibility__Group_gb789c28ff2b22655b13c927095817e6c}{
+\index{Ecore_X_Window_Visibility_Group@{Ecore\_\-X\_\-Window\_\-Visibility\_\-Group}!ecore_x_window_show@{ecore\_\-x\_\-window\_\-show}}
+\index{ecore_x_window_show@{ecore\_\-x\_\-window\_\-show}!Ecore_X_Window_Visibility_Group@{Ecore\_\-X\_\-Window\_\-Visibility\_\-Group}}
+\subsubsection[ecore\_\-x\_\-window\_\-show]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-window\_\-show (Ecore\_\-X\_\-Window {\em window})}}
+\label{group__Ecore__X__Window__Visibility__Group_gb789c28ff2b22655b13c927095817e6c}
+
+
+Shows a window. 
+
+Synonymous to \char`\"{}mapping\char`\"{} a window in X Window System terminology.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em window}]The window to show. \end{description}
+\end{Desc}
+\hypertarget{group__Ecore__X__Window__Visibility__Group_gbe025bc290912668119afdf049f744e0}{
+\index{Ecore_X_Window_Visibility_Group@{Ecore\_\-X\_\-Window\_\-Visibility\_\-Group}!ecore_x_window_visible_get@{ecore\_\-x\_\-window\_\-visible\_\-get}}
+\index{ecore_x_window_visible_get@{ecore\_\-x\_\-window\_\-visible\_\-get}!Ecore_X_Window_Visibility_Group@{Ecore\_\-X\_\-Window\_\-Visibility\_\-Group}}
+\subsubsection[ecore\_\-x\_\-window\_\-visible\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-x\_\-window\_\-visible\_\-get (Ecore\_\-X\_\-Window {\em win})}}
+\label{group__Ecore__X__Window__Visibility__Group_gbe025bc290912668119afdf049f744e0}
+
+
+Finds out whether the given window is currently visible. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em win}]The given window. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]1 if the window is visible, otherwise 0. \end{Desc}
diff --git a/doc/latex/group__Ecore__X__Window__Z__Order__Group.tex b/doc/latex/group__Ecore__X__Window__Z__Order__Group.tex
new file mode 100644
index 0000000..dc1e880
--- /dev/null
+++ b/doc/latex/group__Ecore__X__Window__Z__Order__Group.tex
@@ -0,0 +1,48 @@
+\hypertarget{group__Ecore__X__Window__Z__Order__Group}{
+\section{X Window Z Order Functions}
+\label{group__Ecore__X__Window__Z__Order__Group}\index{X Window Z Order Functions@{X Window Z Order Functions}}
+}
+Functions that change the Z order of X windows.  
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+EAPI void \hyperlink{group__Ecore__X__Window__Z__Order__Group_gb248ec846ab3fd167840d39f611c555c}{ecore\_\-x\_\-window\_\-raise} (Ecore\_\-X\_\-Window win)
+\begin{CompactList}\small\item\em Raises the given window. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__X__Window__Z__Order__Group_gb9b9b7496dbcc88f4957dacad38b19f3}{ecore\_\-x\_\-window\_\-lower} (Ecore\_\-X\_\-Window win)
+\begin{CompactList}\small\item\em Lowers the given window. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Functions that change the Z order of X windows. 
+
+
+
+\subsection{Function Documentation}
+\hypertarget{group__Ecore__X__Window__Z__Order__Group_gb9b9b7496dbcc88f4957dacad38b19f3}{
+\index{Ecore_X_Window_Z_Order_Group@{Ecore\_\-X\_\-Window\_\-Z\_\-Order\_\-Group}!ecore_x_window_lower@{ecore\_\-x\_\-window\_\-lower}}
+\index{ecore_x_window_lower@{ecore\_\-x\_\-window\_\-lower}!Ecore_X_Window_Z_Order_Group@{Ecore\_\-X\_\-Window\_\-Z\_\-Order\_\-Group}}
+\subsubsection[ecore\_\-x\_\-window\_\-lower]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-window\_\-lower (Ecore\_\-X\_\-Window {\em win})}}
+\label{group__Ecore__X__Window__Z__Order__Group_gb9b9b7496dbcc88f4957dacad38b19f3}
+
+
+Lowers the given window. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em win}]The window to lower. \end{description}
+\end{Desc}
+\hypertarget{group__Ecore__X__Window__Z__Order__Group_gb248ec846ab3fd167840d39f611c555c}{
+\index{Ecore_X_Window_Z_Order_Group@{Ecore\_\-X\_\-Window\_\-Z\_\-Order\_\-Group}!ecore_x_window_raise@{ecore\_\-x\_\-window\_\-raise}}
+\index{ecore_x_window_raise@{ecore\_\-x\_\-window\_\-raise}!Ecore_X_Window_Z_Order_Group@{Ecore\_\-X\_\-Window\_\-Z\_\-Order\_\-Group}}
+\subsubsection[ecore\_\-x\_\-window\_\-raise]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-window\_\-raise (Ecore\_\-X\_\-Window {\em win})}}
+\label{group__Ecore__X__Window__Z__Order__Group_gb248ec846ab3fd167840d39f611c555c}
+
+
+Raises the given window. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em win}]The window to raise. \end{description}
+\end{Desc}
diff --git a/doc/latex/group__Ecore__X__Xinerama__Group.tex b/doc/latex/group__Ecore__X__Xinerama__Group.tex
new file mode 100644
index 0000000..7e344d4
--- /dev/null
+++ b/doc/latex/group__Ecore__X__Xinerama__Group.tex
@@ -0,0 +1,75 @@
+\hypertarget{group__Ecore__X__Xinerama__Group}{
+\section{X Xinerama Extension Functions}
+\label{group__Ecore__X__Xinerama__Group}\index{X Xinerama Extension Functions@{X Xinerama Extension Functions}}
+}
+Functions related to the X Xinerama extension.  
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+EAPI int \hyperlink{group__Ecore__X__Xinerama__Group_ga07b9b7427c98172ad8b5232758366b8}{ecore\_\-x\_\-xinerama\_\-query} (void)
+\begin{CompactList}\small\item\em Return whether the X server supports the Xinerama Extension. \item\end{CompactList}\item 
+\hypertarget{group__Ecore__X__Xinerama__Group_gc4dab50cf69473eab4e4c85442cd832f}{
+EAPI void \hyperlink{group__Ecore__X__Xinerama__Group_gc4dab50cf69473eab4e4c85442cd832f}{ecore\_\-x\_\-xinerama\_\-query\_\-screens\_\-prefetch} (void)}
+\label{group__Ecore__X__Xinerama__Group_gc4dab50cf69473eab4e4c85442cd832f}
+
+\begin{CompactList}\small\item\em Sends the Xinerama\-Query\-Screens request. \item\end{CompactList}\item 
+\hypertarget{group__Ecore__X__Xinerama__Group_g752dd7086f48c9cacf55258717d033c0}{
+EAPI void \hyperlink{group__Ecore__X__Xinerama__Group_g752dd7086f48c9cacf55258717d033c0}{ecore\_\-x\_\-xinerama\_\-query\_\-screens\_\-fetch} (void)}
+\label{group__Ecore__X__Xinerama__Group_g752dd7086f48c9cacf55258717d033c0}
+
+\begin{CompactList}\small\item\em Gets the reply of the Xinerama\-Query\-Screens request sent by \hyperlink{group__Ecore__X__Xinerama__Group_gc4dab50cf69473eab4e4c85442cd832f}{ecore\_\-x\_\-xinerama\_\-query\_\-screens\_\-prefetch()}. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__X__Xinerama__Group_g4b09e4659ca212f567c8877048d01675}{ecore\_\-x\_\-xinerama\_\-screen\_\-count\_\-get} (void)
+\begin{CompactList}\small\item\em Return the number of screens. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__X__Xinerama__Group_g2ac0a2da385246918b865907e22fd99c}{ecore\_\-x\_\-xinerama\_\-screen\_\-geometry\_\-get} (int screen, int $\ast$x, int $\ast$y, int $\ast$width, int $\ast$height)
+\begin{CompactList}\small\item\em Get the geometry of the screen. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Functions related to the X Xinerama extension. 
+
+
+
+\subsection{Function Documentation}
+\hypertarget{group__Ecore__X__Xinerama__Group_ga07b9b7427c98172ad8b5232758366b8}{
+\index{Ecore_X_Xinerama_Group@{Ecore\_\-X\_\-Xinerama\_\-Group}!ecore_x_xinerama_query@{ecore\_\-x\_\-xinerama\_\-query}}
+\index{ecore_x_xinerama_query@{ecore\_\-x\_\-xinerama\_\-query}!Ecore_X_Xinerama_Group@{Ecore\_\-X\_\-Xinerama\_\-Group}}
+\subsubsection[ecore\_\-x\_\-xinerama\_\-query]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-x\_\-xinerama\_\-query (void)}}
+\label{group__Ecore__X__Xinerama__Group_ga07b9b7427c98172ad8b5232758366b8}
+
+
+Return whether the X server supports the Xinerama Extension. 
+
+\begin{Desc}
+\item[Returns:]1 if the X Xinerama Extension is available, 0 otherwise.\end{Desc}
+Return 1 if the X server supports the Fixes Xinerama version 1.1, 0 otherwise. \hypertarget{group__Ecore__X__Xinerama__Group_g4b09e4659ca212f567c8877048d01675}{
+\index{Ecore_X_Xinerama_Group@{Ecore\_\-X\_\-Xinerama\_\-Group}!ecore_x_xinerama_screen_count_get@{ecore\_\-x\_\-xinerama\_\-screen\_\-count\_\-get}}
+\index{ecore_x_xinerama_screen_count_get@{ecore\_\-x\_\-xinerama\_\-screen\_\-count\_\-get}!Ecore_X_Xinerama_Group@{Ecore\_\-X\_\-Xinerama\_\-Group}}
+\subsubsection[ecore\_\-x\_\-xinerama\_\-screen\_\-count\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-x\_\-xinerama\_\-screen\_\-count\_\-get (void)}}
+\label{group__Ecore__X__Xinerama__Group_g4b09e4659ca212f567c8877048d01675}
+
+
+Return the number of screens. 
+
+\begin{Desc}
+\item[Returns:]The screen count.\end{Desc}
+Return the number of screens.
+
+To use this function, you must call before, and in order, \hyperlink{group__Ecore__X__Xinerama__Group_gc4dab50cf69473eab4e4c85442cd832f}{ecore\_\-x\_\-xinerama\_\-query\_\-screens\_\-prefetch()}, which sends the Xinerama\-Query\-Screens request, then \hyperlink{group__Ecore__X__Xinerama__Group_g752dd7086f48c9cacf55258717d033c0}{ecore\_\-x\_\-xinerama\_\-query\_\-screens\_\-fetch()}, which gets the reply. \hypertarget{group__Ecore__X__Xinerama__Group_g2ac0a2da385246918b865907e22fd99c}{
+\index{Ecore_X_Xinerama_Group@{Ecore\_\-X\_\-Xinerama\_\-Group}!ecore_x_xinerama_screen_geometry_get@{ecore\_\-x\_\-xinerama\_\-screen\_\-geometry\_\-get}}
+\index{ecore_x_xinerama_screen_geometry_get@{ecore\_\-x\_\-xinerama\_\-screen\_\-geometry\_\-get}!Ecore_X_Xinerama_Group@{Ecore\_\-X\_\-Xinerama\_\-Group}}
+\subsubsection[ecore\_\-x\_\-xinerama\_\-screen\_\-geometry\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-x\_\-xinerama\_\-screen\_\-geometry\_\-get (int {\em screen}, int $\ast$ {\em x}, int $\ast$ {\em y}, int $\ast$ {\em width}, int $\ast$ {\em height})}}
+\label{group__Ecore__X__Xinerama__Group_g2ac0a2da385246918b865907e22fd99c}
+
+
+Get the geometry of the screen. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em screen}]The screen (Unused). \item[{\em x}]The X coordinate of the screen. \item[{\em y}]The Y coordinate of the screen \item[{\em width}]The width of the screen \item[{\em height}]The height of the screen \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]1 on success, 0 otherwise.\end{Desc}
+Get the geometry of the screen whose number is {\tt screen}. The returned values are stored in {\tt x}, {\tt y}, {\tt width} and {\tt height}.
+
+To use this function, you must call before, and in order, \hyperlink{group__Ecore__X__Xinerama__Group_gc4dab50cf69473eab4e4c85442cd832f}{ecore\_\-x\_\-xinerama\_\-query\_\-screens\_\-prefetch()}, which sends the Xinerama\-Query\-Screens request, then \hyperlink{group__Ecore__X__Xinerama__Group_g752dd7086f48c9cacf55258717d033c0}{ecore\_\-x\_\-xinerama\_\-query\_\-screens\_\-fetch()}, which gets the reply. 
\ No newline at end of file
diff --git a/doc/latex/group__Ecore__Xcb__Display__Attr__Group.tex b/doc/latex/group__Ecore__Xcb__Display__Attr__Group.tex
new file mode 100644
index 0000000..7118731
--- /dev/null
+++ b/doc/latex/group__Ecore__Xcb__Display__Attr__Group.tex
@@ -0,0 +1,88 @@
+\hypertarget{group__Ecore__Xcb__Display__Attr__Group}{
+\section{X Display Attributes}
+\label{group__Ecore__Xcb__Display__Attr__Group}\index{X Display Attributes@{X Display Attributes}}
+}
+Functions that set and retrieve X display attributes.  
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+EAPI Ecore\_\-X\_\-Connection $\ast$ \hyperlink{group__Ecore__Xcb__Display__Attr__Group_g436bfb6485312c845f8561ba1493f812}{ecore\_\-x\_\-connection\_\-get} (void)
+\begin{CompactList}\small\item\em Retrieves the Ecore\_\-X\_\-Connection handle used for the current X connection. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Xcb__Display__Attr__Group_g6d11859fd7a822cbde4236be67a8df24}{ecore\_\-x\_\-fd\_\-get} (void)
+\begin{CompactList}\small\item\em Retrieves the X display file descriptor. \item\end{CompactList}\item 
+EAPI Ecore\_\-X\_\-Screen $\ast$ \hyperlink{group__Ecore__Xcb__Display__Attr__Group_g43f13301cc5279862898873cb87ba461}{ecore\_\-x\_\-default\_\-screen\_\-get} (void)
+\begin{CompactList}\small\item\em Retrieves the Ecore\_\-X\_\-Screen handle used for the current X connection. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Ecore__Xcb__Display__Attr__Group_gfc0ad83fd20e71ffdd8d706323778f67}{ecore\_\-x\_\-double\_\-click\_\-time\_\-set} (double t)
+\begin{CompactList}\small\item\em Sets the timeout for a double and triple clicks to be flagged. \item\end{CompactList}\item 
+EAPI double \hyperlink{group__Ecore__Xcb__Display__Attr__Group_g0595a462bd4ffe0450ba45658624eb7e}{ecore\_\-x\_\-double\_\-click\_\-time\_\-get} (void)
+\begin{CompactList}\small\item\em Retrieves the double and triple click flag timeout. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Functions that set and retrieve X display attributes. 
+
+
+
+\subsection{Function Documentation}
+\hypertarget{group__Ecore__Xcb__Display__Attr__Group_g436bfb6485312c845f8561ba1493f812}{
+\index{Ecore_Xcb_Display_Attr_Group@{Ecore\_\-Xcb\_\-Display\_\-Attr\_\-Group}!ecore_x_connection_get@{ecore\_\-x\_\-connection\_\-get}}
+\index{ecore_x_connection_get@{ecore\_\-x\_\-connection\_\-get}!Ecore_Xcb_Display_Attr_Group@{Ecore\_\-Xcb\_\-Display\_\-Attr\_\-Group}}
+\subsubsection[ecore\_\-x\_\-connection\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI Ecore\_\-X\_\-Connection$\ast$ ecore\_\-x\_\-connection\_\-get (void)}}
+\label{group__Ecore__Xcb__Display__Attr__Group_g436bfb6485312c845f8561ba1493f812}
+
+
+Retrieves the Ecore\_\-X\_\-Connection handle used for the current X connection. 
+
+\begin{Desc}
+\item[Returns:]The current X connection. \end{Desc}
+\hypertarget{group__Ecore__Xcb__Display__Attr__Group_g43f13301cc5279862898873cb87ba461}{
+\index{Ecore_Xcb_Display_Attr_Group@{Ecore\_\-Xcb\_\-Display\_\-Attr\_\-Group}!ecore_x_default_screen_get@{ecore\_\-x\_\-default\_\-screen\_\-get}}
+\index{ecore_x_default_screen_get@{ecore\_\-x\_\-default\_\-screen\_\-get}!Ecore_Xcb_Display_Attr_Group@{Ecore\_\-Xcb\_\-Display\_\-Attr\_\-Group}}
+\subsubsection[ecore\_\-x\_\-default\_\-screen\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI Ecore\_\-X\_\-Screen$\ast$ ecore\_\-x\_\-default\_\-screen\_\-get (void)}}
+\label{group__Ecore__Xcb__Display__Attr__Group_g43f13301cc5279862898873cb87ba461}
+
+
+Retrieves the Ecore\_\-X\_\-Screen handle used for the current X connection. 
+
+\begin{Desc}
+\item[Returns:]The current default screen. \end{Desc}
+\hypertarget{group__Ecore__Xcb__Display__Attr__Group_g0595a462bd4ffe0450ba45658624eb7e}{
+\index{Ecore_Xcb_Display_Attr_Group@{Ecore\_\-Xcb\_\-Display\_\-Attr\_\-Group}!ecore_x_double_click_time_get@{ecore\_\-x\_\-double\_\-click\_\-time\_\-get}}
+\index{ecore_x_double_click_time_get@{ecore\_\-x\_\-double\_\-click\_\-time\_\-get}!Ecore_Xcb_Display_Attr_Group@{Ecore\_\-Xcb\_\-Display\_\-Attr\_\-Group}}
+\subsubsection[ecore\_\-x\_\-double\_\-click\_\-time\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI double ecore\_\-x\_\-double\_\-click\_\-time\_\-get (void)}}
+\label{group__Ecore__Xcb__Display__Attr__Group_g0595a462bd4ffe0450ba45658624eb7e}
+
+
+Retrieves the double and triple click flag timeout. 
+
+See ecore\_\-xcb\_\-double\_\-click\_\-time\_\-set for more information.
+
+\begin{Desc}
+\item[Returns:]The timeout for double clicks in seconds. \end{Desc}
+\hypertarget{group__Ecore__Xcb__Display__Attr__Group_gfc0ad83fd20e71ffdd8d706323778f67}{
+\index{Ecore_Xcb_Display_Attr_Group@{Ecore\_\-Xcb\_\-Display\_\-Attr\_\-Group}!ecore_x_double_click_time_set@{ecore\_\-x\_\-double\_\-click\_\-time\_\-set}}
+\index{ecore_x_double_click_time_set@{ecore\_\-x\_\-double\_\-click\_\-time\_\-set}!Ecore_Xcb_Display_Attr_Group@{Ecore\_\-Xcb\_\-Display\_\-Attr\_\-Group}}
+\subsubsection[ecore\_\-x\_\-double\_\-click\_\-time\_\-set]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-double\_\-click\_\-time\_\-set (double {\em t})}}
+\label{group__Ecore__Xcb__Display__Attr__Group_gfc0ad83fd20e71ffdd8d706323778f67}
+
+
+Sets the timeout for a double and triple clicks to be flagged. 
+
+This sets the time between clicks before the double\_\-click flag is set in a button down event. If 3 clicks occur within double this time, the triple\_\-click flag is also set.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em t}]The time in seconds \end{description}
+\end{Desc}
+\hypertarget{group__Ecore__Xcb__Display__Attr__Group_g6d11859fd7a822cbde4236be67a8df24}{
+\index{Ecore_Xcb_Display_Attr_Group@{Ecore\_\-Xcb\_\-Display\_\-Attr\_\-Group}!ecore_x_fd_get@{ecore\_\-x\_\-fd\_\-get}}
+\index{ecore_x_fd_get@{ecore\_\-x\_\-fd\_\-get}!Ecore_Xcb_Display_Attr_Group@{Ecore\_\-Xcb\_\-Display\_\-Attr\_\-Group}}
+\subsubsection[ecore\_\-x\_\-fd\_\-get]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-x\_\-fd\_\-get (void)}}
+\label{group__Ecore__Xcb__Display__Attr__Group_g6d11859fd7a822cbde4236be67a8df24}
+
+
+Retrieves the X display file descriptor. 
+
+\begin{Desc}
+\item[Returns:]The current X display file descriptor. \end{Desc}
diff --git a/doc/latex/group__Ecore__Xcb__Flush__Group.tex b/doc/latex/group__Ecore__Xcb__Flush__Group.tex
new file mode 100644
index 0000000..0b8e7c3
--- /dev/null
+++ b/doc/latex/group__Ecore__Xcb__Flush__Group.tex
@@ -0,0 +1,23 @@
+\hypertarget{group__Ecore__Xcb__Flush__Group}{
+\section{X Synchronization Functions}
+\label{group__Ecore__Xcb__Flush__Group}\index{X Synchronization Functions@{X Synchronization Functions}}
+}
+Functions that ensure that all commands that have been issued by the Ecore X library have been sent to the server.  
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+\hypertarget{group__Ecore__Xcb__Flush__Group_g86a37de4b106942e1b33f88455f5a00f}{
+EAPI void \hyperlink{group__Ecore__Xcb__Flush__Group_g86a37de4b106942e1b33f88455f5a00f}{ecore\_\-x\_\-flush} (void)}
+\label{group__Ecore__Xcb__Flush__Group_g86a37de4b106942e1b33f88455f5a00f}
+
+\begin{CompactList}\small\item\em Sends all X commands in the X Display buffer. \item\end{CompactList}\item 
+\hypertarget{group__Ecore__Xcb__Flush__Group_g515363b1157ae3b2e3d1d9d3eec448af}{
+EAPI void \hyperlink{group__Ecore__Xcb__Flush__Group_g515363b1157ae3b2e3d1d9d3eec448af}{ecore\_\-x\_\-sync} (void)}
+\label{group__Ecore__Xcb__Flush__Group_g515363b1157ae3b2e3d1d9d3eec448af}
+
+\begin{CompactList}\small\item\em Flushes the command buffer and waits until all requests have been processed by the server. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Functions that ensure that all commands that have been issued by the Ecore X library have been sent to the server. 
+
diff --git a/doc/latex/group__Ecore__Xcb__Init__Group.tex b/doc/latex/group__Ecore__Xcb__Init__Group.tex
new file mode 100644
index 0000000..3c132ad
--- /dev/null
+++ b/doc/latex/group__Ecore__Xcb__Init__Group.tex
@@ -0,0 +1,60 @@
+\hypertarget{group__Ecore__Xcb__Init__Group}{
+\section{X Library Init and Shutdown Functions}
+\label{group__Ecore__Xcb__Init__Group}\index{X Library Init and Shutdown Functions@{X Library Init and Shutdown Functions}}
+}
+Functions that start and shut down the Ecore X Library.  
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+EAPI int \hyperlink{group__Ecore__Xcb__Init__Group_g92e834eefd48b55101fa30c7386a709e}{ecore\_\-x\_\-init} (const char $\ast$name)
+\begin{CompactList}\small\item\em Initialize the X display connection to the given display. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Xcb__Init__Group_gebb628e400a8c90696b67935bef84873}{ecore\_\-x\_\-shutdown} (void)
+\begin{CompactList}\small\item\em Shuts down the Ecore X library. \item\end{CompactList}\item 
+EAPI int \hyperlink{group__Ecore__Xcb__Init__Group_g01158850d3f9632f4bc6c79fb194e09b}{ecore\_\-x\_\-disconnect} (void)
+\begin{CompactList}\small\item\em Shuts down the Ecore X library. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Functions that start and shut down the Ecore X Library. 
+
+
+
+\subsection{Function Documentation}
+\hypertarget{group__Ecore__Xcb__Init__Group_g01158850d3f9632f4bc6c79fb194e09b}{
+\index{Ecore_Xcb_Init_Group@{Ecore\_\-Xcb\_\-Init\_\-Group}!ecore_x_disconnect@{ecore\_\-x\_\-disconnect}}
+\index{ecore_x_disconnect@{ecore\_\-x\_\-disconnect}!Ecore_Xcb_Init_Group@{Ecore\_\-Xcb\_\-Init\_\-Group}}
+\subsubsection[ecore\_\-x\_\-disconnect]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-x\_\-disconnect (void)}}
+\label{group__Ecore__Xcb__Init__Group_g01158850d3f9632f4bc6c79fb194e09b}
+
+
+Shuts down the Ecore X library. 
+
+As ecore\_\-xcb\_\-shutdown, except do not close Display, only connection. \hypertarget{group__Ecore__Xcb__Init__Group_g92e834eefd48b55101fa30c7386a709e}{
+\index{Ecore_Xcb_Init_Group@{Ecore\_\-Xcb\_\-Init\_\-Group}!ecore_x_init@{ecore\_\-x\_\-init}}
+\index{ecore_x_init@{ecore\_\-x\_\-init}!Ecore_Xcb_Init_Group@{Ecore\_\-Xcb\_\-Init\_\-Group}}
+\subsubsection[ecore\_\-x\_\-init]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-x\_\-init (const char $\ast$ {\em name})}}
+\label{group__Ecore__Xcb__Init__Group_g92e834eefd48b55101fa30c7386a709e}
+
+
+Initialize the X display connection to the given display. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em name}]Display target name. If {\tt NULL}, the default display is assumed. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The number of times the library has been initialized without being shut down. 0 is returned if an error occurs. \end{Desc}
+\hypertarget{group__Ecore__Xcb__Init__Group_gebb628e400a8c90696b67935bef84873}{
+\index{Ecore_Xcb_Init_Group@{Ecore\_\-Xcb\_\-Init\_\-Group}!ecore_x_shutdown@{ecore\_\-x\_\-shutdown}}
+\index{ecore_x_shutdown@{ecore\_\-x\_\-shutdown}!Ecore_Xcb_Init_Group@{Ecore\_\-Xcb\_\-Init\_\-Group}}
+\subsubsection[ecore\_\-x\_\-shutdown]{\setlength{\rightskip}{0pt plus 5cm}EAPI int ecore\_\-x\_\-shutdown (void)}}
+\label{group__Ecore__Xcb__Init__Group_gebb628e400a8c90696b67935bef84873}
+
+
+Shuts down the Ecore X library. 
+
+In shutting down the library, the X display connection is terminated and any event handlers for it are removed.
+
+\begin{Desc}
+\item[Returns:]The number of times the library has been initialized without being shut down. \end{Desc}
diff --git a/doc/latex/group__Evas__X__Window__Change__Properties__Group.tex b/doc/latex/group__Evas__X__Window__Change__Properties__Group.tex
new file mode 100644
index 0000000..1b368d0
--- /dev/null
+++ b/doc/latex/group__Evas__X__Window__Change__Properties__Group.tex
@@ -0,0 +1,5 @@
+\hypertarget{group__Evas__X__Window__Change__Properties__Group}{
+\section{X Window Change Property Functions}
+\label{group__Evas__X__Window__Change__Properties__Group}\index{X Window Change Property Functions@{X Window Change Property Functions}}
+}
+Functions that change window properties.  
diff --git a/doc/latex/group__Evas__X__Window__Destroy__Group.tex b/doc/latex/group__Evas__X__Window__Destroy__Group.tex
new file mode 100644
index 0000000..0169b26
--- /dev/null
+++ b/doc/latex/group__Evas__X__Window__Destroy__Group.tex
@@ -0,0 +1,48 @@
+\hypertarget{group__Evas__X__Window__Destroy__Group}{
+\section{X Window Destroy Functions}
+\label{group__Evas__X__Window__Destroy__Group}\index{X Window Destroy Functions@{X Window Destroy Functions}}
+}
+Functions to destroy X windows.  
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+EAPI void \hyperlink{group__Evas__X__Window__Destroy__Group_ga1d786fac4e47618d76ac67896be4a21}{ecore\_\-x\_\-window\_\-del} (Ecore\_\-X\_\-Window win)
+\begin{CompactList}\small\item\em Deletes the given window. \item\end{CompactList}\item 
+EAPI void \hyperlink{group__Evas__X__Window__Destroy__Group_gca23caf9887a2751f57fdf463dcf5667}{ecore\_\-x\_\-window\_\-delete\_\-request\_\-send} (Ecore\_\-X\_\-Window win)
+\begin{CompactList}\small\item\em Sends a delete request to the given window. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Functions to destroy X windows. 
+
+
+
+\subsection{Function Documentation}
+\hypertarget{group__Evas__X__Window__Destroy__Group_ga1d786fac4e47618d76ac67896be4a21}{
+\index{Evas_X_Window_Destroy_Group@{Evas\_\-X\_\-Window\_\-Destroy\_\-Group}!ecore_x_window_del@{ecore\_\-x\_\-window\_\-del}}
+\index{ecore_x_window_del@{ecore\_\-x\_\-window\_\-del}!Evas_X_Window_Destroy_Group@{Evas\_\-X\_\-Window\_\-Destroy\_\-Group}}
+\subsubsection[ecore\_\-x\_\-window\_\-del]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-window\_\-del (Ecore\_\-X\_\-Window {\em win})}}
+\label{group__Evas__X__Window__Destroy__Group_ga1d786fac4e47618d76ac67896be4a21}
+
+
+Deletes the given window. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em win}]The given window. \end{description}
+\end{Desc}
+\hypertarget{group__Evas__X__Window__Destroy__Group_gca23caf9887a2751f57fdf463dcf5667}{
+\index{Evas_X_Window_Destroy_Group@{Evas\_\-X\_\-Window\_\-Destroy\_\-Group}!ecore_x_window_delete_request_send@{ecore\_\-x\_\-window\_\-delete\_\-request\_\-send}}
+\index{ecore_x_window_delete_request_send@{ecore\_\-x\_\-window\_\-delete\_\-request\_\-send}!Evas_X_Window_Destroy_Group@{Evas\_\-X\_\-Window\_\-Destroy\_\-Group}}
+\subsubsection[ecore\_\-x\_\-window\_\-delete\_\-request\_\-send]{\setlength{\rightskip}{0pt plus 5cm}EAPI void ecore\_\-x\_\-window\_\-delete\_\-request\_\-send (Ecore\_\-X\_\-Window {\em win})}}
+\label{group__Evas__X__Window__Destroy__Group_gca23caf9887a2751f57fdf463dcf5667}
+
+
+Sends a delete request to the given window. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em win}]The given window. \end{description}
+\end{Desc}
diff --git a/doc/latex/group__Evas__X__Window__Properties__Group.tex b/doc/latex/group__Evas__X__Window__Properties__Group.tex
new file mode 100644
index 0000000..43dfa00
--- /dev/null
+++ b/doc/latex/group__Evas__X__Window__Properties__Group.tex
@@ -0,0 +1,5 @@
+\hypertarget{group__Evas__X__Window__Properties__Group}{
+\section{X Window Property Functions}
+\label{group__Evas__X__Window__Properties__Group}\index{X Window Property Functions@{X Window Property Functions}}
+}
+Functions that set window properties.  
diff --git a/doc/latex/group__Evas__X__Window__Visibility__Group.tex b/doc/latex/group__Evas__X__Window__Visibility__Group.tex
new file mode 100644
index 0000000..060019c
--- /dev/null
+++ b/doc/latex/group__Evas__X__Window__Visibility__Group.tex
@@ -0,0 +1,5 @@
+\hypertarget{group__Evas__X__Window__Visibility__Group}{
+\section{X Window Visibility Functions}
+\label{group__Evas__X__Window__Visibility__Group}\index{X Window Visibility Functions@{X Window Visibility Functions}}
+}
+Functions to access and change the visibility of X windows.  
diff --git a/doc/latex/group__Idle__Group.tex b/doc/latex/group__Idle__Group.tex
new file mode 100644
index 0000000..9f89173
--- /dev/null
+++ b/doc/latex/group__Idle__Group.tex
@@ -0,0 +1,134 @@
+\hypertarget{group__Idle__Group}{
+\section{Idle Handlers}
+\label{group__Idle__Group}\index{Idle Handlers@{Idle Handlers}}
+}
+Callbacks that are called when the program enters or exits an idle state.  
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+EAPI \hyperlink{Ecore_8h_6e0b6433dfefa8b89758a98863f38581}{Ecore\_\-Idle\_\-Enterer} $\ast$ \hyperlink{group__Idle__Group_gb6c0951fcf365487f9d5da6d448bcedf}{ecore\_\-idle\_\-enterer\_\-add} (int($\ast$func)(void $\ast$data), const void $\ast$data)
+\begin{CompactList}\small\item\em Add an idle enterer handler. \item\end{CompactList}\item 
+EAPI void $\ast$ \hyperlink{group__Idle__Group_g27c437b6e8838785aff5df4861ae7649}{ecore\_\-idle\_\-enterer\_\-del} (\hyperlink{Ecore_8h_6e0b6433dfefa8b89758a98863f38581}{Ecore\_\-Idle\_\-Enterer} $\ast$idle\_\-enterer)
+\begin{CompactList}\small\item\em Delete an idle enterer callback. \item\end{CompactList}\item 
+EAPI \hyperlink{Ecore_8h_c76a20c78002c2cf5249a7e1c86e8095}{Ecore\_\-Idle\_\-Exiter} $\ast$ \hyperlink{group__Idle__Group_g340847383518405a92b5f1a619edc72b}{ecore\_\-idle\_\-exiter\_\-add} (int($\ast$func)(void $\ast$data), const void $\ast$data)
+\begin{CompactList}\small\item\em Add an idle exiter handler. \item\end{CompactList}\item 
+EAPI void $\ast$ \hyperlink{group__Idle__Group_gee428c5d4cfe03779cb19e44acb11823}{ecore\_\-idle\_\-exiter\_\-del} (\hyperlink{Ecore_8h_c76a20c78002c2cf5249a7e1c86e8095}{Ecore\_\-Idle\_\-Exiter} $\ast$idle\_\-exiter)
+\begin{CompactList}\small\item\em Delete an idle exiter handler from the list to be run on exiting idle state. \item\end{CompactList}\item 
+EAPI \hyperlink{Ecore_8h_2ebd4a41bdad5b1b99cf01a03bbfbf5d}{Ecore\_\-Idler} $\ast$ \hyperlink{group__Idle__Group_gf8f5b98c20b770bdca63a4e1c05baa5d}{ecore\_\-idler\_\-add} (int($\ast$func)(void $\ast$data), const void $\ast$data)
+\begin{CompactList}\small\item\em Add an idler handler. \item\end{CompactList}\item 
+EAPI void $\ast$ \hyperlink{group__Idle__Group_g280c1e88b0af4e829b4c543d51d14d7b}{ecore\_\-idler\_\-del} (\hyperlink{Ecore_8h_2ebd4a41bdad5b1b99cf01a03bbfbf5d}{Ecore\_\-Idler} $\ast$idler)
+\begin{CompactList}\small\item\em Delete an idler callback from the list to be executed. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Callbacks that are called when the program enters or exits an idle state. 
+
+The ecore main loop enters an idle state when it is waiting for timers to time out, data to come in on a file descriptor or any other event to occur. You can set callbacks to be called when the main loop enters an idle state, during an idle state or just after the program wakes up.
+
+Enterer callbacks are good for updating your program's state, if it has a state engine. Once all of the enterer handlers are called, the program will enter a \char`\"{}sleeping\char`\"{} state.
+
+Idler callbacks are called when the main loop has called all enterer handlers. They are useful for interfaces that require polling and timers would be too slow to use.
+
+If no idler callbacks are specified, then the process literally goes to sleep. Otherwise, the idler callbacks are called continuously while the loop is \char`\"{}idle\char`\"{}, using as much CPU as is available to the process.
+
+Exiter callbacks are called when the main loop wakes up from an idle state. 
+
+\subsection{Function Documentation}
+\hypertarget{group__Idle__Group_gb6c0951fcf365487f9d5da6d448bcedf}{
+\index{Idle_Group@{Idle\_\-Group}!ecore_idle_enterer_add@{ecore\_\-idle\_\-enterer\_\-add}}
+\index{ecore_idle_enterer_add@{ecore\_\-idle\_\-enterer\_\-add}!Idle_Group@{Idle\_\-Group}}
+\subsubsection[ecore\_\-idle\_\-enterer\_\-add]{\setlength{\rightskip}{0pt plus 5cm}EAPI \hyperlink{Ecore_8h_6e0b6433dfefa8b89758a98863f38581}{Ecore\_\-Idle\_\-Enterer}$\ast$ ecore\_\-idle\_\-enterer\_\-add (int($\ast$)(void $\ast$data) {\em func}, const void $\ast$ {\em data})}}
+\label{group__Idle__Group_gb6c0951fcf365487f9d5da6d448bcedf}
+
+
+Add an idle enterer handler. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em func}]The function to call when entering an idle state. \item[{\em data}]The data to be passed to the {\tt func} call \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]A handle to the idle enterer callback if successful. Otherwise, NULL is returned. \end{Desc}
+\hypertarget{group__Idle__Group_g27c437b6e8838785aff5df4861ae7649}{
+\index{Idle_Group@{Idle\_\-Group}!ecore_idle_enterer_del@{ecore\_\-idle\_\-enterer\_\-del}}
+\index{ecore_idle_enterer_del@{ecore\_\-idle\_\-enterer\_\-del}!Idle_Group@{Idle\_\-Group}}
+\subsubsection[ecore\_\-idle\_\-enterer\_\-del]{\setlength{\rightskip}{0pt plus 5cm}EAPI void$\ast$ ecore\_\-idle\_\-enterer\_\-del (\hyperlink{Ecore_8h_6e0b6433dfefa8b89758a98863f38581}{Ecore\_\-Idle\_\-Enterer} $\ast$ {\em idle\_\-enterer})}}
+\label{group__Idle__Group_g27c437b6e8838785aff5df4861ae7649}
+
+
+Delete an idle enterer callback. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em idle\_\-enterer}]The idle enterer to delete \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The data pointer passed to the idler enterer callback on success. NULL otherwise. \end{Desc}
+\hypertarget{group__Idle__Group_g340847383518405a92b5f1a619edc72b}{
+\index{Idle_Group@{Idle\_\-Group}!ecore_idle_exiter_add@{ecore\_\-idle\_\-exiter\_\-add}}
+\index{ecore_idle_exiter_add@{ecore\_\-idle\_\-exiter\_\-add}!Idle_Group@{Idle\_\-Group}}
+\subsubsection[ecore\_\-idle\_\-exiter\_\-add]{\setlength{\rightskip}{0pt plus 5cm}EAPI \hyperlink{Ecore_8h_c76a20c78002c2cf5249a7e1c86e8095}{Ecore\_\-Idle\_\-Exiter}$\ast$ ecore\_\-idle\_\-exiter\_\-add (int($\ast$)(void $\ast$data) {\em func}, const void $\ast$ {\em data})}}
+\label{group__Idle__Group_g340847383518405a92b5f1a619edc72b}
+
+
+Add an idle exiter handler. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em func}]The function to call when exiting an idle state. \item[{\em data}]The data to be passed to the {\tt func} call \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]A handle to the idle exiter callback on success. NULL otherwise. \end{Desc}
+\hypertarget{group__Idle__Group_gee428c5d4cfe03779cb19e44acb11823}{
+\index{Idle_Group@{Idle\_\-Group}!ecore_idle_exiter_del@{ecore\_\-idle\_\-exiter\_\-del}}
+\index{ecore_idle_exiter_del@{ecore\_\-idle\_\-exiter\_\-del}!Idle_Group@{Idle\_\-Group}}
+\subsubsection[ecore\_\-idle\_\-exiter\_\-del]{\setlength{\rightskip}{0pt plus 5cm}EAPI void$\ast$ ecore\_\-idle\_\-exiter\_\-del (\hyperlink{Ecore_8h_c76a20c78002c2cf5249a7e1c86e8095}{Ecore\_\-Idle\_\-Exiter} $\ast$ {\em idle\_\-exiter})}}
+\label{group__Idle__Group_gee428c5d4cfe03779cb19e44acb11823}
+
+
+Delete an idle exiter handler from the list to be run on exiting idle state. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em idle\_\-exiter}]The idle exiter to delete \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The data pointer that was being being passed to the handler if successful. NULL otherwise. \end{Desc}
+\hypertarget{group__Idle__Group_gf8f5b98c20b770bdca63a4e1c05baa5d}{
+\index{Idle_Group@{Idle\_\-Group}!ecore_idler_add@{ecore\_\-idler\_\-add}}
+\index{ecore_idler_add@{ecore\_\-idler\_\-add}!Idle_Group@{Idle\_\-Group}}
+\subsubsection[ecore\_\-idler\_\-add]{\setlength{\rightskip}{0pt plus 5cm}EAPI \hyperlink{Ecore_8h_2ebd4a41bdad5b1b99cf01a03bbfbf5d}{Ecore\_\-Idler}$\ast$ ecore\_\-idler\_\-add (int($\ast$)(void $\ast$data) {\em func}, const void $\ast$ {\em data})}}
+\label{group__Idle__Group_gf8f5b98c20b770bdca63a4e1c05baa5d}
+
+
+Add an idler handler. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em func}]The function to call when idling. \item[{\em data}]The data to be passed to this {\tt func} call. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]A idler handle if successfully added. NULL otherwise.\end{Desc}
+Add an idler handle to the event loop, returning a handle on success and NULL otherwise. The function {\tt func} will be called repeatedly while no other events are ready to be processed, as long as it returns 1. A return of 0 deletes the idler.
+
+Idlers are useful for progressively prossessing data without blocking. \hypertarget{group__Idle__Group_g280c1e88b0af4e829b4c543d51d14d7b}{
+\index{Idle_Group@{Idle\_\-Group}!ecore_idler_del@{ecore\_\-idler\_\-del}}
+\index{ecore_idler_del@{ecore\_\-idler\_\-del}!Idle_Group@{Idle\_\-Group}}
+\subsubsection[ecore\_\-idler\_\-del]{\setlength{\rightskip}{0pt plus 5cm}EAPI void$\ast$ ecore\_\-idler\_\-del (\hyperlink{Ecore_8h_2ebd4a41bdad5b1b99cf01a03bbfbf5d}{Ecore\_\-Idler} $\ast$ {\em idler})}}
+\label{group__Idle__Group_g280c1e88b0af4e829b4c543d51d14d7b}
+
+
+Delete an idler callback from the list to be executed. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em idler}]The handle of the idler callback to delete \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]The data pointer passed to the idler callback on success. NULL otherwise. \end{Desc}
diff --git a/doc/latex/index.tex b/doc/latex/index.tex
new file mode 100644
index 0000000..d6b50a1
--- /dev/null
+++ b/doc/latex/index.tex
@@ -0,0 +1,68 @@
+\begin{Image}
+\begin{center}
+\includegraphics{ecore_big}\caption{width=5cm}
+\end{center}
+\end{Image}
+ 
+
+\begin{Desc}
+\item[Version:]1.0.0 \end{Desc}
+\begin{Desc}
+\item[Author:]Carsten Haitzler $<$raster at rasterman.com$>$ 
+
+Tom Gilbert $<$tom at linuxbrit.co.uk$>$ 
+
+Burra $<$burra at colorado.edu$>$ 
+
+Chris Ross $<$chris at darkrock.co.uk$>$ 
+
+Term $<$term at twistedpath.org$>$ 
+
+Tilman Sauerbeck $<$tilman at code-monkey.de$>$ 
+
+Nathan Ingersoll $<$rbdpngn at users.sourceforge.net$>$ \end{Desc}
+\begin{Desc}
+\item[Date:]2000-2004\end{Desc}
+\hypertarget{Ecore_Main_Loop_Page_intro}{}\section{What is Ecore?}\label{Ecore_Main_Loop_Page_intro}
+Ecore is a library of convenience functions.
+
+The Ecore library provides the following modules: \begin{itemize}
+\item \hyperlink{Ecore_8h}{Ecore - Main Loop Functions. } \item \hyperlink{Ecore__Con_8h}{Ecore\_\-Con - Connection functions. } \item \hyperlink{Ecore__Config_8h}{Ecore\_\-Config - Configuration functions. } \item \hyperlink{Ecore__Evas_8h}{Ecore\_\-Evas - Evas convenience functions. } \item \hyperlink{Ecore__Fb_8h}{Ecore\_\-FB - Frame buffer convenience functions. } \item \hyperlink{Ecore__Ipc_8h}{Ecore\_\-IPC - Inter Process Communication functions. } \item \hyperlink{Ecore__Job_8h}{Ecore\_\-Job - Job functions, to be used in the Ecore main loop. } \item \hyperlink{Ecore__Txt_8h}{Ecore\_\-Txt - Text encoding conversion. } \item \hyperlink{Ecore__X_8h}{Ecore\_\-X - X Windows System wrapper. }\end{itemize}
+\hypertarget{/home/raster/C/e/e17/libs/ecore/ecore.c.in_compiling}{}\section{How to compile using Ecore?}\label{/home/raster/C/e/e17/libs/ecore/ecore.c.in_compiling}
+This section has to be documented. Below is just a quick line to handle all Ecore modules at once.
+
+
+
+\footnotesize\begin{verbatim}
+gcc *.c \
+-I/usr/local/include -I/usr/X11R6/include \
+-L/usr/local/lib -L/usr/X11R6/lib \
+-lecore -lecore_evas -lecore_x -lecore_fb -lecore_job \
+`evas-config --cflags --libs`
+\end{verbatim}
+\normalsize
+\hypertarget{/home/raster/C/e/e17/libs/ecore/ecore.c.in_install}{}\section{How is it installed?}\label{/home/raster/C/e/e17/libs/ecore/ecore.c.in_install}
+Suggested configure options for evas for a Linux desktop X display:
+
+
+
+\footnotesize\begin{verbatim}
+./configure \
+--enable-ecore-x \
+--enable-ecore-fb \
+--enable-ecore-evas \
+--enable-ecore-evas-gl \
+--enable-ecore-job \
+--enable-ecore-con \
+--enable-ecore-ipc \
+--enable-ecore-txt
+make CFLAGS="-O9 -mpentiumpro -march=pentiumpro -mcpu=pentiumpro"
+\end{verbatim}
+\normalsize
+
+
+\begin{Desc}
+\item[\hyperlink{todo__todo000001}{Todo}](1.0) Document API\end{Desc}
+$\ast$/
+
+/$\ast$ 
\ No newline at end of file
diff --git a/doc/latex/list__destroy__example_8c-example.tex b/doc/latex/list__destroy__example_8c-example.tex
new file mode 100644
index 0000000..707fbd8
--- /dev/null
+++ b/doc/latex/list__destroy__example_8c-example.tex
@@ -0,0 +1,10 @@
+\hypertarget{list__destroy__example_8c-example}{
+\section{list\_\-destroy\_\-example.c}
+}
+Shows how to set and use a destructor for an Ecore\_\-List.
+
+
+
+\begin{DocInclude}\begin{verbatim}\end{verbatim}
+\end{DocInclude}
+ 
\ No newline at end of file
diff --git a/doc/latex/list__example_8c-example.tex b/doc/latex/list__example_8c-example.tex
new file mode 100644
index 0000000..8bc7bc7
--- /dev/null
+++ b/doc/latex/list__example_8c-example.tex
@@ -0,0 +1,10 @@
+\hypertarget{list__example_8c-example}{
+\section{list\_\-example.c}
+}
+Provides a basic example of how to append to and traverse a list.
+
+
+
+\begin{DocInclude}\begin{verbatim}\end{verbatim}
+\end{DocInclude}
+ 
\ No newline at end of file
diff --git a/doc/latex/modules.tex b/doc/latex/modules.tex
new file mode 100644
index 0000000..3e44129
--- /dev/null
+++ b/doc/latex/modules.tex
@@ -0,0 +1,90 @@
+\section{Ecore Modules}
+Here is a list of all modules:\begin{CompactList}
+\item \contentsline{section}{Ecore Timer}{\pageref{group__Ecore__Timer__Group}}{}
+\item \contentsline{section}{Ecore Jobs}{\pageref{group__Ecore__Job__Group}}{}
+\item \contentsline{section}{Idle Handlers}{\pageref{group__Idle__Group}}{}
+\item \contentsline{section}{Ecore Config Create Functions}{\pageref{group__Ecore__Config__Create__Group}}{}
+\item \contentsline{section}{Ecore Config File Functions}{\pageref{group__Ecore__Config__File__Group}}{}
+\item \contentsline{section}{Process Spawning Functions}{\pageref{group__Ecore__Exe__Basic__Group}}{}
+\item \contentsline{section}{Spawned Process Signal Functions}{\pageref{group__Ecore__Exe__Signal__Group}}{}
+\item \contentsline{section}{Hash Creation Functions}{\pageref{group__Ecore__Data__Hash__ADT__Creation__Group}}{}
+\item \contentsline{section}{Hash Destruction Functions}{\pageref{group__Ecore__Data__Hash__ADT__Destruction__Group}}{}
+\item \contentsline{section}{Hash Data Functions}{\pageref{group__Ecore__Data__Hash__ADT__Data__Group}}{}
+\item \contentsline{section}{Hash Traverse Functions}{\pageref{group__Ecore__Data__Hash__ADT__Traverse__Group}}{}
+\item \contentsline{section}{List Creation/Destruction Functions}{\pageref{group__Ecore__Data__List__Creation__Group}}{}
+\item \contentsline{section}{List Item Adding Functions}{\pageref{group__Ecore__Data__List__Add__Item__Group}}{}
+\item \contentsline{section}{List Item Removing Functions}{\pageref{group__Ecore__Data__List__Remove__Item__Group}}{}
+\item \contentsline{section}{List Traversal Functions}{\pageref{group__Ecore__Data__List__Traverse__Group}}{}
+\item \contentsline{section}{List Node Functions}{\pageref{group__Ecore__Data__List__Node__Group}}{}
+\item \contentsline{section}{Doubly Linked List Creation/Destruction Functions}{\pageref{group__Ecore__Data__DList__Creation__Group}}{}
+\item \contentsline{section}{Doubly Linked List Adding Functions}{\pageref{group__Ecore__Data__DList__Add__Item__Group}}{}
+\item \contentsline{section}{Doubly Linked List Removing Functions}{\pageref{group__Ecore__Data__DList__Remove__Item__Group}}{}
+\item \contentsline{section}{Main Loop Functions}{\pageref{group__Ecore__Main__Loop__Group}}{}
+\item \contentsline{section}{File Event Handling Functions}{\pageref{group__Ecore__FD__Handler__Group}}{}
+\item \contentsline{section}{Path Group Functions}{\pageref{group__Ecore__Path__Group}}{}
+\item \contentsline{section}{Plugin Functions}{\pageref{group__Ecore__Plugin}}{}
+\item \contentsline{section}{String Instance Functions}{\pageref{group__Ecore__String__Group}}{}
+\item \contentsline{section}{Ecore Time Functions}{\pageref{group__Ecore__Time__Group}}{}
+\item \contentsline{section}{Ecore Connection Library Functions}{\pageref{group__Ecore__Con__Lib__Group}}{}
+\item \contentsline{section}{Ecore Connection Server Functions}{\pageref{group__Ecore__Con__Server__Group}}{}
+\item \contentsline{section}{Ecore Connection Client Functions}{\pageref{group__Ecore__Con__Client__Group}}{}
+\item \contentsline{section}{Ecore Config Property Functions}{\pageref{group__Ecore__Config__Property__Group}}{}
+\item \contentsline{section}{Configuration Retrieve Functions}{\pageref{group__Ecore__Config__Get__Group}}{}
+\item \contentsline{section}{Ecore Config Setters}{\pageref{group__Ecore__Config__Set__Group}}{}
+\item \contentsline{section}{Ecore Config Defaults}{\pageref{group__Ecore__Config__Default__Group}}{}
+\item \contentsline{section}{Ecore Config Structures}{\pageref{group__Ecore__Config__Struct__Group}}{}
+\item \contentsline{section}{Ecore Config Listeners}{\pageref{group__Ecore__Config__Listeners__Group}}{}
+\item \contentsline{section}{Ecore Config App Library Functions}{\pageref{group__Ecore__Config__App__Lib__Group}}{}
+\item \contentsline{section}{Ecore Config Library Functions}{\pageref{group__Ecore__Config__Lib__Lib__Group}}{}
+\item \contentsline{section}{.desktop file Functions}{\pageref{group__Ecore__Desktop__Main__Group}}{}
+\item \contentsline{section}{icon theme Functions}{\pageref{group__Ecore__Desktop__Icon__Group}}{}
+\item \contentsline{section}{menu Functions}{\pageref{group__Ecore__Desktop__Menu__Group}}{}
+\item \contentsline{section}{Framebuffer Library Functions}{\pageref{group__Ecore__FB__Library__Group}}{}
+\item \contentsline{section}{Framebuffer Double Click Functions}{\pageref{group__Ecore__FB__Click__Group}}{}
+\item \contentsline{section}{Framebuffer Calibration Functions}{\pageref{group__Ecore__FB__Calibrate__Group}}{}
+\item \contentsline{section}{Framebuffer Backlight Functions}{\pageref{group__Ecore__FB__Backlight__Group}}{}
+\item \contentsline{section}{Framebuffer LED Functions}{\pageref{group__Ecore__FB__LED__Group}}{}
+\item \contentsline{section}{Framebuffer Contrast Functions}{\pageref{group__Ecore__FB__Contrast__Group}}{}
+\item \contentsline{section}{IPC Library Functions}{\pageref{group__Ecore__IPC__Library__Group}}{}
+\item \contentsline{section}{IPC Server Functions}{\pageref{group__Ecore__IPC__Server__Group}}{}
+\item \contentsline{section}{IPC Client Functions}{\pageref{group__Ecore__IPC__Client__Group}}{}
+\item \contentsline{section}{Framebuffer Library Functions}{\pageref{group__Ecore__Sdl__Library__Group}}{}
+\item \contentsline{section}{X Library Init and Shutdown Functions}{\pageref{group__Ecore__X__Init__Group}}{}
+\item \contentsline{section}{X Display Attributes}{\pageref{group__Ecore__X__Display__Attr__Group}}{}
+\item \contentsline{section}{X Synchronization Functions}{\pageref{group__Ecore__X__Flush__Group}}{}
+\item \contentsline{section}{X DPMS Extension Functions}{\pageref{group__Ecore__X__DPMS__Group}}{}
+\item \contentsline{section}{X Drawable Functions}{\pageref{group__Ecore__X__Drawable__Group}}{}
+\item \contentsline{section}{X Pixmap Functions}{\pageref{group__Ecore__X__Pixmap__Group}}{}
+\item \contentsline{section}{X Window Creation Functions}{\pageref{group__Ecore__X__Window__Create__Group}}{}
+\item \contentsline{section}{X Window Property Functions}{\pageref{group__Evas__X__Window__Properties__Group}}{}
+\item \contentsline{section}{X Window Destroy Functions}{\pageref{group__Evas__X__Window__Destroy__Group}}{}
+\item \contentsline{section}{X Window Visibility Functions}{\pageref{group__Evas__X__Window__Visibility__Group}}{}
+\item \contentsline{section}{X Window Geometry Functions}{\pageref{group__Ecore__X__Window__Geometry__Group}}{}
+\item \contentsline{section}{X Window Focus Functions}{\pageref{group__Ecore__X__Window__Focus__Functions}}{}
+\item \contentsline{section}{X Window Z Order Functions}{\pageref{group__Ecore__X__Window__Z__Order__Group}}{}
+\item \contentsline{section}{X Window Parent Functions}{\pageref{group__Ecore__X__Window__Parent__Group}}{}
+\item \contentsline{section}{X Window Shape Functions}{\pageref{group__Ecore__X__Window__Shape}}{}
+\item \contentsline{section}{X Library Init and Shutdown Functions}{\pageref{group__Ecore__Xcb__Init__Group}}{}
+\item \contentsline{section}{X Display Attributes}{\pageref{group__Ecore__Xcb__Display__Attr__Group}}{}
+\item \contentsline{section}{X Synchronization Functions}{\pageref{group__Ecore__Xcb__Flush__Group}}{}
+\item \contentsline{section}{XCB Atom Functions}{\pageref{group__Ecore__X__Atom__Group}}{}
+\item \contentsline{section}{X Damage Extension Functions}{\pageref{group__Ecore__X__Damage__Group}}{}
+\item \contentsline{section}{X Fixes Extension Functions}{\pageref{group__Ecore__X__Fixes__Group}}{}
+\item \contentsline{section}{ICCCM related functions.}{\pageref{group__Ecore__X__ICCCM__Group}}{}
+\item \contentsline{section}{MWM related functions.}{\pageref{group__Ecore__X__MWM__Group}}{}
+\item \contentsline{section}{Extended Window Manager Hint (EWMH) functions}{\pageref{group__Ecore__X__NetWM__Group}}{}
+\item \contentsline{section}{X Rand\-R Extension Functions}{\pageref{group__Ecore__X__RandR__Group}}{}
+\item \contentsline{section}{X Shape extension}{\pageref{group__Ecore__X__ScrenSaver__Group}}{}
+\item \contentsline{section}{X Shape extension}{\pageref{group__Ecore__X__Shape__Group}}{}
+\item \contentsline{section}{X Sync Extension Functions}{\pageref{group__Ecore__X__Sync__Group}}{}
+\item \contentsline{section}{X Window Destroy Functions}{\pageref{group__Ecore__X__Window__Destroy__Group}}{}
+\item \contentsline{section}{X Window Configure Functions}{\pageref{group__Ecore__X__Window__Configure__Group}}{}
+\item \contentsline{section}{X Window Change Property Functions}{\pageref{group__Evas__X__Window__Change__Properties__Group}}{}
+\item \contentsline{section}{X Window Visibility Functions}{\pageref{group__Ecore__X__Window__Visibility__Group}}{}
+\item \contentsline{section}{X Window Input Focus Functions}{\pageref{group__Ecore__X__Window__Input__Focus__Group}}{}
+\item \contentsline{section}{X Window Reparent Functions}{\pageref{group__Ecore__X__Window__Reparent__Group}}{}
+\item \contentsline{section}{X Window Change Attributes Functions}{\pageref{group__Ecore__X__Window__Change__Attributes__Group}}{}
+\item \contentsline{section}{X Window Change Save Set Functions}{\pageref{group__Ecore__X__Window__Save__Set__Group}}{}
+\item \contentsline{section}{X Window Get Attributes Functions}{\pageref{group__Ecore__X__Window__Get__Attributes__Group}}{}
+\item \contentsline{section}{X Xinerama Extension Functions}{\pageref{group__Ecore__X__Xinerama__Group}}{}
+\end{CompactList}
diff --git a/doc/latex/pages.tex b/doc/latex/pages.tex
new file mode 100644
index 0000000..e00420c
--- /dev/null
+++ b/doc/latex/pages.tex
@@ -0,0 +1,13 @@
+\section{Ecore Related Pages}
+Here is a list of all related documentation pages:\begin{CompactList}
+\item \contentsline{section}{Todo List}{\pageref{todo}}{}
+
+\item \contentsline{section}{The Ecore Main Loop}{\pageref{Ecore_Main_Loop_Page}}{}
+
+\item \contentsline{section}{The Enlightened Property Library}{\pageref{Ecore_Config_Page}}{}
+
+\item \contentsline{section}{Ecore Abstract Data Types}{\pageref{Ecore_ADT_Page}}{}
+
+\item \contentsline{section}{X Window System}{\pageref{X_Window_System_Page}}{}
+
+\end{CompactList}
diff --git a/doc/latex/refman.tex b/doc/latex/refman.tex
new file mode 100644
index 0000000..a8a5bd0
--- /dev/null
+++ b/doc/latex/refman.tex
@@ -0,0 +1,203 @@
+\documentclass[a4paper]{book}
+\usepackage{a4wide}
+\usepackage{makeidx}
+\usepackage{fancyhdr}
+\usepackage{graphicx}
+\usepackage{multicol}
+\usepackage{float}
+\usepackage{textcomp}
+\usepackage{alltt}
+\usepackage{ifpdf}
+\ifpdf
+\usepackage[pdftex,
+            pagebackref=true,
+            colorlinks=true,
+            linkcolor=blue
+           ]{hyperref}
+\else
+\usepackage[ps2pdf,
+            pagebackref=true,
+            colorlinks=true,
+            linkcolor=blue
+           ]{hyperref}
+\usepackage{pspicture}
+\fi
+\usepackage{doxygen}
+\makeindex
+\setcounter{tocdepth}{1}
+\renewcommand{\footrulewidth}{0.4pt}
+\begin{document}
+\begin{titlepage}
+\vspace*{7cm}
+\begin{center}
+{\Large Ecore Reference Manual}\\
+\vspace*{1cm}
+{\large Generated by Doxygen 1.5.1}\\
+\vspace*{0.5cm}
+{\small Sun Aug 26 22:41:53 2007}\\
+\end{center}
+\end{titlepage}
+\clearemptydoublepage
+\pagenumbering{roman}
+\tableofcontents
+\clearemptydoublepage
+\pagenumbering{arabic}
+\chapter{Ecore }
+\label{index}\hypertarget{index}{}\input{index}
+\chapter{Ecore Module Index}
+\input{modules}
+\chapter{Ecore Data Structure Index}
+\input{annotated}
+\chapter{Ecore File Index}
+\input{files}
+\chapter{Ecore Page Index}
+\input{pages}
+\chapter{Ecore Module Documentation}
+\input{group__Ecore__Timer__Group}
+\include{group__Ecore__Job__Group}
+\include{group__Idle__Group}
+\include{group__Ecore__Config__Create__Group}
+\include{group__Ecore__Config__File__Group}
+\include{group__Ecore__Exe__Basic__Group}
+\include{group__Ecore__Exe__Signal__Group}
+\include{group__Ecore__Data__Hash__ADT__Creation__Group}
+\include{group__Ecore__Data__Hash__ADT__Destruction__Group}
+\include{group__Ecore__Data__Hash__ADT__Data__Group}
+\include{group__Ecore__Data__Hash__ADT__Traverse__Group}
+\include{group__Ecore__Data__List__Creation__Group}
+\include{group__Ecore__Data__List__Add__Item__Group}
+\include{group__Ecore__Data__List__Remove__Item__Group}
+\include{group__Ecore__Data__List__Traverse__Group}
+\include{group__Ecore__Data__List__Node__Group}
+\include{group__Ecore__Data__DList__Creation__Group}
+\include{group__Ecore__Data__DList__Add__Item__Group}
+\include{group__Ecore__Data__DList__Remove__Item__Group}
+\include{group__Ecore__Main__Loop__Group}
+\include{group__Ecore__FD__Handler__Group}
+\include{group__Ecore__Path__Group}
+\include{group__Ecore__Plugin}
+\include{group__Ecore__String__Group}
+\include{group__Ecore__Time__Group}
+\include{group__Ecore__Con__Lib__Group}
+\include{group__Ecore__Con__Server__Group}
+\include{group__Ecore__Con__Client__Group}
+\include{group__Ecore__Config__Property__Group}
+\include{group__Ecore__Config__Get__Group}
+\include{group__Ecore__Config__Set__Group}
+\include{group__Ecore__Config__Default__Group}
+\include{group__Ecore__Config__Struct__Group}
+\include{group__Ecore__Config__Listeners__Group}
+\include{group__Ecore__Config__App__Lib__Group}
+\include{group__Ecore__Config__Lib__Lib__Group}
+\include{group__Ecore__Desktop__Main__Group}
+\include{group__Ecore__Desktop__Icon__Group}
+\include{group__Ecore__Desktop__Menu__Group}
+\include{group__Ecore__FB__Library__Group}
+\include{group__Ecore__FB__Click__Group}
+\include{group__Ecore__FB__Calibrate__Group}
+\include{group__Ecore__FB__Backlight__Group}
+\include{group__Ecore__FB__LED__Group}
+\include{group__Ecore__FB__Contrast__Group}
+\include{group__Ecore__IPC__Library__Group}
+\include{group__Ecore__IPC__Server__Group}
+\include{group__Ecore__IPC__Client__Group}
+\include{group__Ecore__Sdl__Library__Group}
+\include{group__Ecore__X__Init__Group}
+\include{group__Ecore__X__Display__Attr__Group}
+\include{group__Ecore__X__Flush__Group}
+\include{group__Ecore__X__DPMS__Group}
+\include{group__Ecore__X__Drawable__Group}
+\include{group__Ecore__X__Pixmap__Group}
+\include{group__Ecore__X__Window__Create__Group}
+\include{group__Evas__X__Window__Properties__Group}
+\include{group__Evas__X__Window__Destroy__Group}
+\include{group__Evas__X__Window__Visibility__Group}
+\include{group__Ecore__X__Window__Geometry__Group}
+\include{group__Ecore__X__Window__Focus__Functions}
+\include{group__Ecore__X__Window__Z__Order__Group}
+\include{group__Ecore__X__Window__Parent__Group}
+\include{group__Ecore__X__Window__Shape}
+\include{group__Ecore__Xcb__Init__Group}
+\include{group__Ecore__Xcb__Display__Attr__Group}
+\include{group__Ecore__Xcb__Flush__Group}
+\include{group__Ecore__X__Atom__Group}
+\include{group__Ecore__X__Damage__Group}
+\include{group__Ecore__X__Fixes__Group}
+\include{group__Ecore__X__ICCCM__Group}
+\include{group__Ecore__X__MWM__Group}
+\include{group__Ecore__X__NetWM__Group}
+\include{group__Ecore__X__RandR__Group}
+\include{group__Ecore__X__ScrenSaver__Group}
+\include{group__Ecore__X__Shape__Group}
+\include{group__Ecore__X__Sync__Group}
+\include{group__Ecore__X__Window__Destroy__Group}
+\include{group__Ecore__X__Window__Configure__Group}
+\include{group__Evas__X__Window__Change__Properties__Group}
+\include{group__Ecore__X__Window__Visibility__Group}
+\include{group__Ecore__X__Window__Input__Focus__Group}
+\include{group__Ecore__X__Window__Reparent__Group}
+\include{group__Ecore__X__Window__Change__Attributes__Group}
+\include{group__Ecore__X__Window__Save__Set__Group}
+\include{group__Ecore__X__Window__Get__Attributes__Group}
+\include{group__Ecore__X__Xinerama__Group}
+\chapter{Ecore Data Structure Documentation}
+\input{struct__Ecore__DirectFB__Event__Key__Down}
+\include{struct__Ecore__DirectFB__Event__Key__Up}
+\include{struct__Ecore__Event__Signal__Exit}
+\include{struct__Ecore__Event__Signal__Hup}
+\include{struct__Ecore__Event__Signal__Power}
+\include{struct__Ecore__Event__Signal__Realtime}
+\include{struct__Ecore__Event__Signal__User}
+\include{struct__Ecore__Exe__Event__Add}
+\include{struct__Ecore__Exe__Event__Data}
+\include{struct__Ecore__Exe__Event__Data__Line}
+\include{struct__Ecore__Exe__Event__Del}
+\include{struct__Ecore__Fb__Event__Key__Down}
+\include{struct__Ecore__Fb__Event__Key__Up}
+\include{struct__Ecore__Fb__Event__Mouse__Button__Down}
+\include{struct__Ecore__Fb__Event__Mouse__Button__Up}
+\include{struct__Ecore__Fb__Event__Mouse__Move}
+\include{struct__Ecore__Fb__Event__Mouse__Wheel}
+\include{struct__Ecore__Sdl__Event__Key__Down}
+\include{struct__Ecore__Sdl__Event__Key__Up}
+\include{struct__Ecore__Sdl__Event__Mouse__Button__Down}
+\include{struct__Ecore__Sdl__Event__Mouse__Button__Up}
+\include{struct__Ecore__Sdl__Event__Mouse__Move}
+\include{struct__Ecore__Sdl__Event__Mouse__Wheel}
+\include{structEcore__Config__Prop}
+\chapter{Ecore File Documentation}
+\input{Ecore_8h}
+\include{Ecore__Con_8h}
+\include{Ecore__Config_8h}
+\include{Ecore__Data_8h}
+\include{Ecore__Desktop_8h}
+\include{Ecore__Evas_8h}
+\include{Ecore__Fb_8h}
+\include{Ecore__File_8h}
+\include{Ecore__Ipc_8h}
+\include{Ecore__Job_8h}
+\include{Ecore__Sdl_8h}
+\include{Ecore__Str_8h}
+\include{Ecore__Txt_8h}
+\include{Ecore__X_8h}
+\include{Ecore__X__Atoms_8h}
+\include{Ecore__X__Cursor_8h}
+\chapter{Ecore Example Documentation}
+\input{args__example_8c-example}
+\include{con__client__example_8c-example}
+\include{con__server__example_8c-example}
+\include{config__basic__example_8c-example}
+\include{config__listener__example_8c-example}
+\include{event__handler__example_8c-example}
+\include{list__destroy__example_8c-example}
+\include{list__example_8c-example}
+\include{timer__example_8c-example}
+\include{x__window__example_8c-example}
+\chapter{Ecore Page Documentation}
+\input{todo}
+\include{Ecore_Main_Loop_Page}
+\include{Ecore_Config_Page}
+\include{Ecore_ADT_Page}
+\include{X_Window_System_Page}
+\printindex
+\end{document}
diff --git a/doc/latex/structEcore__Config__Prop.tex b/doc/latex/structEcore__Config__Prop.tex
new file mode 100644
index 0000000..3191cce
--- /dev/null
+++ b/doc/latex/structEcore__Config__Prop.tex
@@ -0,0 +1,25 @@
+\hypertarget{structEcore__Config__Prop}{
+\section{Ecore\_\-Config\_\-Prop Struct Reference}
+\label{structEcore__Config__Prop}\index{Ecore_Config_Prop@{Ecore\_\-Config\_\-Prop}}
+}
+The actual property for storing a key-value pair.  
+
+
+\subsection*{Data Fields}
+\begin{CompactItemize}
+\item 
+\hypertarget{structEcore__Config__Prop_5c60901e74bc4c97f6928cc079ecf455}{
+Ecore\_\-Config\_\-Listener\_\-List $\ast$ \hyperlink{structEcore__Config__Prop_5c60901e74bc4c97f6928cc079ecf455}{listeners}}
+\label{structEcore__Config__Prop_5c60901e74bc4c97f6928cc079ecf455}
+
+\begin{CompactList}\small\item\em $<$ Configuration flags. \item\end{CompactList}\item 
+\hypertarget{structEcore__Config__Prop_7d67015b7bd9f693aaa88f41a89cd7c2}{
+\hyperlink{structEcore__Config__Prop}{Ecore\_\-Config\_\-Prop} $\ast$ \hyperlink{structEcore__Config__Prop_7d67015b7bd9f693aaa88f41a89cd7c2}{parent}}
+\label{structEcore__Config__Prop_7d67015b7bd9f693aaa88f41a89cd7c2}
+
+\begin{CompactList}\small\item\em $<$ Stores extra data for the property. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+The actual property for storing a key-value pair. 
+
diff --git a/doc/latex/struct__Ecore__DirectFB__Event__Key__Down.tex b/doc/latex/struct__Ecore__DirectFB__Event__Key__Down.tex
new file mode 100644
index 0000000..4eabcc8
--- /dev/null
+++ b/doc/latex/struct__Ecore__DirectFB__Event__Key__Down.tex
@@ -0,0 +1,30 @@
+\hypertarget{struct__Ecore__DirectFB__Event__Key__Down}{
+\section{\_\-Ecore\_\-Direct\-FB\_\-Event\_\-Key\_\-Down Struct Reference}
+\label{struct__Ecore__DirectFB__Event__Key__Down}\index{_Ecore_DirectFB_Event_Key_Down@{\_\-Ecore\_\-DirectFB\_\-Event\_\-Key\_\-Down}}
+}
+Direct\-FB Key Down event.  
+
+
+\subsection*{Data Fields}
+\begin{CompactItemize}
+\item 
+\hypertarget{struct__Ecore__DirectFB__Event__Key__Down_b109592a5462d8a841a7034db7544592}{
+char $\ast$ \hyperlink{struct__Ecore__DirectFB__Event__Key__Down_b109592a5462d8a841a7034db7544592}{name}}
+\label{struct__Ecore__DirectFB__Event__Key__Down_b109592a5462d8a841a7034db7544592}
+
+\begin{CompactList}\small\item\em The name of the key that was released. \item\end{CompactList}\item 
+\hypertarget{struct__Ecore__DirectFB__Event__Key__Down_79ae71422df70e3cfc238c4415dd28ba}{
+char $\ast$ \hyperlink{struct__Ecore__DirectFB__Event__Key__Down_79ae71422df70e3cfc238c4415dd28ba}{string}}
+\label{struct__Ecore__DirectFB__Event__Key__Down_79ae71422df70e3cfc238c4415dd28ba}
+
+\begin{CompactList}\small\item\em The logical symbol of the key that was pressed. \item\end{CompactList}\item 
+\hypertarget{struct__Ecore__DirectFB__Event__Key__Down_b78eb5c5123bbe633557ff10442d9ddf}{
+char $\ast$ \hyperlink{struct__Ecore__DirectFB__Event__Key__Down_b78eb5c5123bbe633557ff10442d9ddf}{key\_\-compose}}
+\label{struct__Ecore__DirectFB__Event__Key__Down_b78eb5c5123bbe633557ff10442d9ddf}
+
+\begin{CompactList}\small\item\em The UTF-8 string conversion if any. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Direct\-FB Key Down event. 
+
diff --git a/doc/latex/struct__Ecore__DirectFB__Event__Key__Up.tex b/doc/latex/struct__Ecore__DirectFB__Event__Key__Up.tex
new file mode 100644
index 0000000..5f48653
--- /dev/null
+++ b/doc/latex/struct__Ecore__DirectFB__Event__Key__Up.tex
@@ -0,0 +1,30 @@
+\hypertarget{struct__Ecore__DirectFB__Event__Key__Up}{
+\section{\_\-Ecore\_\-Direct\-FB\_\-Event\_\-Key\_\-Up Struct Reference}
+\label{struct__Ecore__DirectFB__Event__Key__Up}\index{_Ecore_DirectFB_Event_Key_Up@{\_\-Ecore\_\-DirectFB\_\-Event\_\-Key\_\-Up}}
+}
+Direct\-FB Key Up event.  
+
+
+\subsection*{Data Fields}
+\begin{CompactItemize}
+\item 
+\hypertarget{struct__Ecore__DirectFB__Event__Key__Up_954b427a704b0db105a5268e28055a94}{
+char $\ast$ \hyperlink{struct__Ecore__DirectFB__Event__Key__Up_954b427a704b0db105a5268e28055a94}{name}}
+\label{struct__Ecore__DirectFB__Event__Key__Up_954b427a704b0db105a5268e28055a94}
+
+\begin{CompactList}\small\item\em The name of the key that was released. \item\end{CompactList}\item 
+\hypertarget{struct__Ecore__DirectFB__Event__Key__Up_16c1281eeb60d02458061e18f0c22e1b}{
+char $\ast$ \hyperlink{struct__Ecore__DirectFB__Event__Key__Up_16c1281eeb60d02458061e18f0c22e1b}{string}}
+\label{struct__Ecore__DirectFB__Event__Key__Up_16c1281eeb60d02458061e18f0c22e1b}
+
+\begin{CompactList}\small\item\em The logical symbol of the key that was pressed. \item\end{CompactList}\item 
+\hypertarget{struct__Ecore__DirectFB__Event__Key__Up_4bf674bf21999b9037c0be9b8fdcc250}{
+char $\ast$ \hyperlink{struct__Ecore__DirectFB__Event__Key__Up_4bf674bf21999b9037c0be9b8fdcc250}{key\_\-compose}}
+\label{struct__Ecore__DirectFB__Event__Key__Up_4bf674bf21999b9037c0be9b8fdcc250}
+
+\begin{CompactList}\small\item\em The UTF-8 string conversion if any. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Direct\-FB Key Up event. 
+
diff --git a/doc/latex/struct__Ecore__Event__Signal__Exit.tex b/doc/latex/struct__Ecore__Event__Signal__Exit.tex
new file mode 100644
index 0000000..48b0d2c
--- /dev/null
+++ b/doc/latex/struct__Ecore__Event__Signal__Exit.tex
@@ -0,0 +1,40 @@
+\hypertarget{struct__Ecore__Event__Signal__Exit}{
+\section{\_\-Ecore\_\-Event\_\-Signal\_\-Exit Struct Reference}
+\label{struct__Ecore__Event__Signal__Exit}\index{_Ecore_Event_Signal_Exit@{\_\-Ecore\_\-Event\_\-Signal\_\-Exit}}
+}
+Exit request event.  
+
+
+\subsection*{Data Fields}
+\begin{CompactItemize}
+\item 
+\hypertarget{struct__Ecore__Event__Signal__Exit_da096ee39c2b34d8a5a51c3ed172c248}{
+int \hyperlink{struct__Ecore__Event__Signal__Exit_da096ee39c2b34d8a5a51c3ed172c248}{interrupt}: 1}
+\label{struct__Ecore__Event__Signal__Exit_da096ee39c2b34d8a5a51c3ed172c248}
+
+\begin{CompactList}\small\item\em Set if the exit request was an interrupt signal. \item\end{CompactList}\item 
+\hypertarget{struct__Ecore__Event__Signal__Exit_1533cb80d95ab13edf4f0fbbb9814056}{
+int \hyperlink{struct__Ecore__Event__Signal__Exit_1533cb80d95ab13edf4f0fbbb9814056}{quit}: 1}
+\label{struct__Ecore__Event__Signal__Exit_1533cb80d95ab13edf4f0fbbb9814056}
+
+\begin{CompactList}\small\item\em set if the exit request was a quit signal \item\end{CompactList}\item 
+\hypertarget{struct__Ecore__Event__Signal__Exit_d36792c3f6997f294d7f3f1855bb1fc0}{
+int \hyperlink{struct__Ecore__Event__Signal__Exit_d36792c3f6997f294d7f3f1855bb1fc0}{terminate}: 1}
+\label{struct__Ecore__Event__Signal__Exit_d36792c3f6997f294d7f3f1855bb1fc0}
+
+\begin{CompactList}\small\item\em Set if the exit request was a terminate singal. \item\end{CompactList}\item 
+\hypertarget{struct__Ecore__Event__Signal__Exit_d6a42f483c12d28d686134fa9f617770}{
+void $\ast$ \hyperlink{struct__Ecore__Event__Signal__Exit_d6a42f483c12d28d686134fa9f617770}{ext\_\-data}}
+\label{struct__Ecore__Event__Signal__Exit_d6a42f483c12d28d686134fa9f617770}
+
+\begin{CompactList}\small\item\em Extension data - not used. \item\end{CompactList}\item 
+\hypertarget{struct__Ecore__Event__Signal__Exit_ab4f003d3b402e56e8a1ff957656460e}{
+siginfo\_\-t \hyperlink{struct__Ecore__Event__Signal__Exit_ab4f003d3b402e56e8a1ff957656460e}{data}}
+\label{struct__Ecore__Event__Signal__Exit_ab4f003d3b402e56e8a1ff957656460e}
+
+\begin{CompactList}\small\item\em Signal info. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Exit request event. 
+
diff --git a/doc/latex/struct__Ecore__Event__Signal__Hup.tex b/doc/latex/struct__Ecore__Event__Signal__Hup.tex
new file mode 100644
index 0000000..cb2f804
--- /dev/null
+++ b/doc/latex/struct__Ecore__Event__Signal__Hup.tex
@@ -0,0 +1,25 @@
+\hypertarget{struct__Ecore__Event__Signal__Hup}{
+\section{\_\-Ecore\_\-Event\_\-Signal\_\-Hup Struct Reference}
+\label{struct__Ecore__Event__Signal__Hup}\index{_Ecore_Event_Signal_Hup@{\_\-Ecore\_\-Event\_\-Signal\_\-Hup}}
+}
+Hup signal event.  
+
+
+\subsection*{Data Fields}
+\begin{CompactItemize}
+\item 
+\hypertarget{struct__Ecore__Event__Signal__Hup_e30cb55771cd193f4e6c131686251bdb}{
+void $\ast$ \hyperlink{struct__Ecore__Event__Signal__Hup_e30cb55771cd193f4e6c131686251bdb}{ext\_\-data}}
+\label{struct__Ecore__Event__Signal__Hup_e30cb55771cd193f4e6c131686251bdb}
+
+\begin{CompactList}\small\item\em Extension data - not used. \item\end{CompactList}\item 
+\hypertarget{struct__Ecore__Event__Signal__Hup_b851c107982e120e42d8f4e4bc23ae79}{
+siginfo\_\-t \hyperlink{struct__Ecore__Event__Signal__Hup_b851c107982e120e42d8f4e4bc23ae79}{data}}
+\label{struct__Ecore__Event__Signal__Hup_b851c107982e120e42d8f4e4bc23ae79}
+
+\begin{CompactList}\small\item\em Signal info. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Hup signal event. 
+
diff --git a/doc/latex/struct__Ecore__Event__Signal__Power.tex b/doc/latex/struct__Ecore__Event__Signal__Power.tex
new file mode 100644
index 0000000..b9fdef9
--- /dev/null
+++ b/doc/latex/struct__Ecore__Event__Signal__Power.tex
@@ -0,0 +1,25 @@
+\hypertarget{struct__Ecore__Event__Signal__Power}{
+\section{\_\-Ecore\_\-Event\_\-Signal\_\-Power Struct Reference}
+\label{struct__Ecore__Event__Signal__Power}\index{_Ecore_Event_Signal_Power@{\_\-Ecore\_\-Event\_\-Signal\_\-Power}}
+}
+Power event.  
+
+
+\subsection*{Data Fields}
+\begin{CompactItemize}
+\item 
+\hypertarget{struct__Ecore__Event__Signal__Power_0ba80c3dc513409b131cbfedc705ed1d}{
+void $\ast$ \hyperlink{struct__Ecore__Event__Signal__Power_0ba80c3dc513409b131cbfedc705ed1d}{ext\_\-data}}
+\label{struct__Ecore__Event__Signal__Power_0ba80c3dc513409b131cbfedc705ed1d}
+
+\begin{CompactList}\small\item\em Extension data - not used. \item\end{CompactList}\item 
+\hypertarget{struct__Ecore__Event__Signal__Power_d9cf5b11412e622bb3662804aeb79433}{
+siginfo\_\-t \hyperlink{struct__Ecore__Event__Signal__Power_d9cf5b11412e622bb3662804aeb79433}{data}}
+\label{struct__Ecore__Event__Signal__Power_d9cf5b11412e622bb3662804aeb79433}
+
+\begin{CompactList}\small\item\em Signal info. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Power event. 
+
diff --git a/doc/latex/struct__Ecore__Event__Signal__Realtime.tex b/doc/latex/struct__Ecore__Event__Signal__Realtime.tex
new file mode 100644
index 0000000..da20b94
--- /dev/null
+++ b/doc/latex/struct__Ecore__Event__Signal__Realtime.tex
@@ -0,0 +1,25 @@
+\hypertarget{struct__Ecore__Event__Signal__Realtime}{
+\section{\_\-Ecore\_\-Event\_\-Signal\_\-Realtime Struct Reference}
+\label{struct__Ecore__Event__Signal__Realtime}\index{_Ecore_Event_Signal_Realtime@{\_\-Ecore\_\-Event\_\-Signal\_\-Realtime}}
+}
+Realtime event.  
+
+
+\subsection*{Data Fields}
+\begin{CompactItemize}
+\item 
+\hypertarget{struct__Ecore__Event__Signal__Realtime_a15d5830363c845ed4084b34e172b999}{
+int \hyperlink{struct__Ecore__Event__Signal__Realtime_a15d5830363c845ed4084b34e172b999}{num}}
+\label{struct__Ecore__Event__Signal__Realtime_a15d5830363c845ed4084b34e172b999}
+
+\begin{CompactList}\small\item\em The realtime signal's number. \item\end{CompactList}\item 
+\hypertarget{struct__Ecore__Event__Signal__Realtime_fa7ec212e5aeb48cc871a3b9364ebb98}{
+siginfo\_\-t \hyperlink{struct__Ecore__Event__Signal__Realtime_fa7ec212e5aeb48cc871a3b9364ebb98}{data}}
+\label{struct__Ecore__Event__Signal__Realtime_fa7ec212e5aeb48cc871a3b9364ebb98}
+
+\begin{CompactList}\small\item\em Signal info. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Realtime event. 
+
diff --git a/doc/latex/struct__Ecore__Event__Signal__User.tex b/doc/latex/struct__Ecore__Event__Signal__User.tex
new file mode 100644
index 0000000..234d15b
--- /dev/null
+++ b/doc/latex/struct__Ecore__Event__Signal__User.tex
@@ -0,0 +1,40 @@
+\hypertarget{struct__Ecore__Event__Signal__User}{
+\section{\_\-Ecore\_\-Event\_\-Signal\_\-User Struct Reference}
+\label{struct__Ecore__Event__Signal__User}\index{_Ecore_Event_Signal_User@{\_\-Ecore\_\-Event\_\-Signal\_\-User}}
+}
+User signal event.  
+
+
+\subsection*{Data Fields}
+\begin{CompactItemize}
+\item 
+int \hyperlink{struct__Ecore__Event__Signal__User_c7d62dfd53db3f29b357ad665836391f}{number}
+\begin{CompactList}\small\item\em The signal number. \item\end{CompactList}\item 
+\hypertarget{struct__Ecore__Event__Signal__User_7ebcd3aea69e47f9cafec3f26d51793b}{
+void $\ast$ \hyperlink{struct__Ecore__Event__Signal__User_7ebcd3aea69e47f9cafec3f26d51793b}{ext\_\-data}}
+\label{struct__Ecore__Event__Signal__User_7ebcd3aea69e47f9cafec3f26d51793b}
+
+\begin{CompactList}\small\item\em Extension data - not used. \item\end{CompactList}\item 
+\hypertarget{struct__Ecore__Event__Signal__User_0fb7a9de2a4aaaf6cfaa01c8f9af6065}{
+siginfo\_\-t \hyperlink{struct__Ecore__Event__Signal__User_0fb7a9de2a4aaaf6cfaa01c8f9af6065}{data}}
+\label{struct__Ecore__Event__Signal__User_0fb7a9de2a4aaaf6cfaa01c8f9af6065}
+
+\begin{CompactList}\small\item\em Signal info. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+User signal event. 
+
+
+
+\subsection{Field Documentation}
+\hypertarget{struct__Ecore__Event__Signal__User_c7d62dfd53db3f29b357ad665836391f}{
+\index{_Ecore_Event_Signal_User@{\_\-Ecore\_\-Event\_\-Signal\_\-User}!number@{number}}
+\index{number@{number}!_Ecore_Event_Signal_User@{\_\-Ecore\_\-Event\_\-Signal\_\-User}}
+\subsubsection[number]{\setlength{\rightskip}{0pt plus 5cm}int \hyperlink{struct__Ecore__Event__Signal__User_c7d62dfd53db3f29b357ad665836391f}{\_\-Ecore\_\-Event\_\-Signal\_\-User::number}}}
+\label{struct__Ecore__Event__Signal__User_c7d62dfd53db3f29b357ad665836391f}
+
+
+The signal number. 
+
+Either 1 or 2 
\ No newline at end of file
diff --git a/doc/latex/struct__Ecore__Exe__Event__Add.tex b/doc/latex/struct__Ecore__Exe__Event__Add.tex
new file mode 100644
index 0000000..0f2f0bc
--- /dev/null
+++ b/doc/latex/struct__Ecore__Exe__Event__Add.tex
@@ -0,0 +1,25 @@
+\hypertarget{struct__Ecore__Exe__Event__Add}{
+\section{\_\-Ecore\_\-Exe\_\-Event\_\-Add Struct Reference}
+\label{struct__Ecore__Exe__Event__Add}\index{_Ecore_Exe_Event_Add@{\_\-Ecore\_\-Exe\_\-Event\_\-Add}}
+}
+Process add event.  
+
+
+\subsection*{Data Fields}
+\begin{CompactItemize}
+\item 
+\hypertarget{struct__Ecore__Exe__Event__Add_612b2e2360f7c7bb2e6e62723c2bd0d4}{
+\hyperlink{Ecore_8h_5560d4d853db434d387e818c908f394d}{Ecore\_\-Exe} $\ast$ \hyperlink{struct__Ecore__Exe__Event__Add_612b2e2360f7c7bb2e6e62723c2bd0d4}{exe}}
+\label{struct__Ecore__Exe__Event__Add_612b2e2360f7c7bb2e6e62723c2bd0d4}
+
+\begin{CompactList}\small\item\em The handle to the added process. \item\end{CompactList}\item 
+\hypertarget{struct__Ecore__Exe__Event__Add_b2c5c48def951ce71ae37ce6d6a86dba}{
+void $\ast$ \hyperlink{struct__Ecore__Exe__Event__Add_b2c5c48def951ce71ae37ce6d6a86dba}{ext\_\-data}}
+\label{struct__Ecore__Exe__Event__Add_b2c5c48def951ce71ae37ce6d6a86dba}
+
+\begin{CompactList}\small\item\em Extension data - not used. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Process add event. 
+
diff --git a/doc/latex/struct__Ecore__Exe__Event__Data.tex b/doc/latex/struct__Ecore__Exe__Event__Data.tex
new file mode 100644
index 0000000..ddfd53e
--- /dev/null
+++ b/doc/latex/struct__Ecore__Exe__Event__Data.tex
@@ -0,0 +1,35 @@
+\hypertarget{struct__Ecore__Exe__Event__Data}{
+\section{\_\-Ecore\_\-Exe\_\-Event\_\-Data Struct Reference}
+\label{struct__Ecore__Exe__Event__Data}\index{_Ecore_Exe_Event_Data@{\_\-Ecore\_\-Exe\_\-Event\_\-Data}}
+}
+Data from a child process event.  
+
+
+\subsection*{Data Fields}
+\begin{CompactItemize}
+\item 
+\hypertarget{struct__Ecore__Exe__Event__Data_caac86d7814c1b2deb56aaca70c778c3}{
+\hyperlink{Ecore_8h_5560d4d853db434d387e818c908f394d}{Ecore\_\-Exe} $\ast$ \hyperlink{struct__Ecore__Exe__Event__Data_caac86d7814c1b2deb56aaca70c778c3}{exe}}
+\label{struct__Ecore__Exe__Event__Data_caac86d7814c1b2deb56aaca70c778c3}
+
+\begin{CompactList}\small\item\em The handle to the process. \item\end{CompactList}\item 
+\hypertarget{struct__Ecore__Exe__Event__Data_81848de0f19ad311c27b9e5d480d645f}{
+void $\ast$ \hyperlink{struct__Ecore__Exe__Event__Data_81848de0f19ad311c27b9e5d480d645f}{data}}
+\label{struct__Ecore__Exe__Event__Data_81848de0f19ad311c27b9e5d480d645f}
+
+\begin{CompactList}\small\item\em the raw binary data from the child process that was recieved \item\end{CompactList}\item 
+\hypertarget{struct__Ecore__Exe__Event__Data_7d28f61d1dc37d2582ed1028c692c46f}{
+int \hyperlink{struct__Ecore__Exe__Event__Data_7d28f61d1dc37d2582ed1028c692c46f}{size}}
+\label{struct__Ecore__Exe__Event__Data_7d28f61d1dc37d2582ed1028c692c46f}
+
+\begin{CompactList}\small\item\em the size of this data in bytes \item\end{CompactList}\item 
+\hypertarget{struct__Ecore__Exe__Event__Data_1026c19b787b37e94eb93b78575048fb}{
+\hyperlink{struct__Ecore__Exe__Event__Data__Line}{Ecore\_\-Exe\_\-Event\_\-Data\_\-Line} $\ast$ \hyperlink{struct__Ecore__Exe__Event__Data_1026c19b787b37e94eb93b78575048fb}{lines}}
+\label{struct__Ecore__Exe__Event__Data_1026c19b787b37e94eb93b78575048fb}
+
+\begin{CompactList}\small\item\em an array of line data if line buffered, the last one has it's line member set to NULL \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Data from a child process event. 
+
diff --git a/doc/latex/struct__Ecore__Exe__Event__Data__Line.tex b/doc/latex/struct__Ecore__Exe__Event__Data__Line.tex
new file mode 100644
index 0000000..ff9804c
--- /dev/null
+++ b/doc/latex/struct__Ecore__Exe__Event__Data__Line.tex
@@ -0,0 +1,12 @@
+\hypertarget{struct__Ecore__Exe__Event__Data__Line}{
+\section{\_\-Ecore\_\-Exe\_\-Event\_\-Data\_\-Line Struct Reference}
+\label{struct__Ecore__Exe__Event__Data__Line}\index{_Ecore_Exe_Event_Data_Line@{\_\-Ecore\_\-Exe\_\-Event\_\-Data\_\-Line}}
+}
+$<$ Lines from a child process  
+
+
+
+
+\subsection{Detailed Description}
+$<$ Lines from a child process 
+
diff --git a/doc/latex/struct__Ecore__Exe__Event__Del.tex b/doc/latex/struct__Ecore__Exe__Event__Del.tex
new file mode 100644
index 0000000..76287a7
--- /dev/null
+++ b/doc/latex/struct__Ecore__Exe__Event__Del.tex
@@ -0,0 +1,50 @@
+\hypertarget{struct__Ecore__Exe__Event__Del}{
+\section{\_\-Ecore\_\-Exe\_\-Event\_\-Del Struct Reference}
+\label{struct__Ecore__Exe__Event__Del}\index{_Ecore_Exe_Event_Del@{\_\-Ecore\_\-Exe\_\-Event\_\-Del}}
+}
+Process exit event.  
+
+
+\subsection*{Data Fields}
+\begin{CompactItemize}
+\item 
+\hypertarget{struct__Ecore__Exe__Event__Del_752762c715f484f2902e52e3ab11a9cc}{
+pid\_\-t \hyperlink{struct__Ecore__Exe__Event__Del_752762c715f484f2902e52e3ab11a9cc}{pid}}
+\label{struct__Ecore__Exe__Event__Del_752762c715f484f2902e52e3ab11a9cc}
+
+\begin{CompactList}\small\item\em The process ID of the process that exited. \item\end{CompactList}\item 
+\hypertarget{struct__Ecore__Exe__Event__Del_1714cfb40533b20306abcb5f99b39c28}{
+int \hyperlink{struct__Ecore__Exe__Event__Del_1714cfb40533b20306abcb5f99b39c28}{exit\_\-code}}
+\label{struct__Ecore__Exe__Event__Del_1714cfb40533b20306abcb5f99b39c28}
+
+\begin{CompactList}\small\item\em The exit code of the process. \item\end{CompactList}\item 
+\hypertarget{struct__Ecore__Exe__Event__Del_9de9755df6734d013662952e9f1c9c0d}{
+\hyperlink{Ecore_8h_5560d4d853db434d387e818c908f394d}{Ecore\_\-Exe} $\ast$ \hyperlink{struct__Ecore__Exe__Event__Del_9de9755df6734d013662952e9f1c9c0d}{exe}}
+\label{struct__Ecore__Exe__Event__Del_9de9755df6734d013662952e9f1c9c0d}
+
+\begin{CompactList}\small\item\em The handle to the exited process, or NULL if not found. \item\end{CompactList}\item 
+\hypertarget{struct__Ecore__Exe__Event__Del_c288b30e7bb0302c6c207db0081fcac0}{
+char \hyperlink{struct__Ecore__Exe__Event__Del_c288b30e7bb0302c6c207db0081fcac0}{exited}: 1}
+\label{struct__Ecore__Exe__Event__Del_c288b30e7bb0302c6c207db0081fcac0}
+
+\begin{CompactList}\small\item\em $<$ The signal that caused the process to exit \item\end{CompactList}\item 
+\hypertarget{struct__Ecore__Exe__Event__Del_d09e45349e3e8a6f91cd4161eeb8f603}{
+char \hyperlink{struct__Ecore__Exe__Event__Del_d09e45349e3e8a6f91cd4161eeb8f603}{signalled}: 1}
+\label{struct__Ecore__Exe__Event__Del_d09e45349e3e8a6f91cd4161eeb8f603}
+
+\begin{CompactList}\small\item\em $<$ set to 1 if the process exited of its own accord \item\end{CompactList}\item 
+\hypertarget{struct__Ecore__Exe__Event__Del_ec05ca26630d76bdbf1f55d51f6c25a6}{
+void $\ast$ \hyperlink{struct__Ecore__Exe__Event__Del_ec05ca26630d76bdbf1f55d51f6c25a6}{ext\_\-data}}
+\label{struct__Ecore__Exe__Event__Del_ec05ca26630d76bdbf1f55d51f6c25a6}
+
+\begin{CompactList}\small\item\em $<$ set to 1 id the process exited due to uncaught signal Extension data - not used \item\end{CompactList}\item 
+\hypertarget{struct__Ecore__Exe__Event__Del_863105c7240a62f296ba64fa016d2dd4}{
+siginfo\_\-t \hyperlink{struct__Ecore__Exe__Event__Del_863105c7240a62f296ba64fa016d2dd4}{data}}
+\label{struct__Ecore__Exe__Event__Del_863105c7240a62f296ba64fa016d2dd4}
+
+\begin{CompactList}\small\item\em Signal info. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Process exit event. 
+
diff --git a/doc/latex/struct__Ecore__Fb__Event__Key__Down.tex b/doc/latex/struct__Ecore__Fb__Event__Key__Down.tex
new file mode 100644
index 0000000..ea0aa31
--- /dev/null
+++ b/doc/latex/struct__Ecore__Fb__Event__Key__Down.tex
@@ -0,0 +1,35 @@
+\hypertarget{struct__Ecore__Fb__Event__Key__Down}{
+\section{\_\-Ecore\_\-Fb\_\-Event\_\-Key\_\-Down Struct Reference}
+\label{struct__Ecore__Fb__Event__Key__Down}\index{_Ecore_Fb_Event_Key_Down@{\_\-Ecore\_\-Fb\_\-Event\_\-Key\_\-Down}}
+}
+FB Key Down event.  
+
+
+\subsection*{Data Fields}
+\begin{CompactItemize}
+\item 
+\hypertarget{struct__Ecore__Fb__Event__Key__Down_de8cd40893856ad509c6ceb6a0924ce4}{
+Ecore\_\-Fb\_\-Input\_\-Device $\ast$ \hyperlink{struct__Ecore__Fb__Event__Key__Down_de8cd40893856ad509c6ceb6a0924ce4}{dev}}
+\label{struct__Ecore__Fb__Event__Key__Down_de8cd40893856ad509c6ceb6a0924ce4}
+
+\begin{CompactList}\small\item\em The device associated with the event. \item\end{CompactList}\item 
+\hypertarget{struct__Ecore__Fb__Event__Key__Down_07a3690c56d2074ae9e89b630fb26bcf}{
+char $\ast$ \hyperlink{struct__Ecore__Fb__Event__Key__Down_07a3690c56d2074ae9e89b630fb26bcf}{keyname}}
+\label{struct__Ecore__Fb__Event__Key__Down_07a3690c56d2074ae9e89b630fb26bcf}
+
+\begin{CompactList}\small\item\em The name of the key that was pressed. \item\end{CompactList}\item 
+\hypertarget{struct__Ecore__Fb__Event__Key__Down_516c26f9ea6b9fbf3a22f04b662faf1f}{
+char $\ast$ \hyperlink{struct__Ecore__Fb__Event__Key__Down_516c26f9ea6b9fbf3a22f04b662faf1f}{keysymbol}}
+\label{struct__Ecore__Fb__Event__Key__Down_516c26f9ea6b9fbf3a22f04b662faf1f}
+
+\begin{CompactList}\small\item\em The logical symbol of the key that was pressed. \item\end{CompactList}\item 
+\hypertarget{struct__Ecore__Fb__Event__Key__Down_81218ce6e06cc7b4cf4330d644ff75b8}{
+char $\ast$ \hyperlink{struct__Ecore__Fb__Event__Key__Down_81218ce6e06cc7b4cf4330d644ff75b8}{key\_\-compose}}
+\label{struct__Ecore__Fb__Event__Key__Down_81218ce6e06cc7b4cf4330d644ff75b8}
+
+\begin{CompactList}\small\item\em The UTF-8 string conversion if any. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+FB Key Down event. 
+
diff --git a/doc/latex/struct__Ecore__Fb__Event__Key__Up.tex b/doc/latex/struct__Ecore__Fb__Event__Key__Up.tex
new file mode 100644
index 0000000..19575fc
--- /dev/null
+++ b/doc/latex/struct__Ecore__Fb__Event__Key__Up.tex
@@ -0,0 +1,35 @@
+\hypertarget{struct__Ecore__Fb__Event__Key__Up}{
+\section{\_\-Ecore\_\-Fb\_\-Event\_\-Key\_\-Up Struct Reference}
+\label{struct__Ecore__Fb__Event__Key__Up}\index{_Ecore_Fb_Event_Key_Up@{\_\-Ecore\_\-Fb\_\-Event\_\-Key\_\-Up}}
+}
+FB Key Up event.  
+
+
+\subsection*{Data Fields}
+\begin{CompactItemize}
+\item 
+\hypertarget{struct__Ecore__Fb__Event__Key__Up_0a3591978e78fed7d28c94b14ce7a677}{
+Ecore\_\-Fb\_\-Input\_\-Device $\ast$ \hyperlink{struct__Ecore__Fb__Event__Key__Up_0a3591978e78fed7d28c94b14ce7a677}{dev}}
+\label{struct__Ecore__Fb__Event__Key__Up_0a3591978e78fed7d28c94b14ce7a677}
+
+\begin{CompactList}\small\item\em The device associated with the event. \item\end{CompactList}\item 
+\hypertarget{struct__Ecore__Fb__Event__Key__Up_ad6b0bc40e8372ecfd87718fec3afc44}{
+char $\ast$ \hyperlink{struct__Ecore__Fb__Event__Key__Up_ad6b0bc40e8372ecfd87718fec3afc44}{keyname}}
+\label{struct__Ecore__Fb__Event__Key__Up_ad6b0bc40e8372ecfd87718fec3afc44}
+
+\begin{CompactList}\small\item\em The name of the key that was released. \item\end{CompactList}\item 
+\hypertarget{struct__Ecore__Fb__Event__Key__Up_ff87f455eb511a538b258edcd661313a}{
+char $\ast$ \hyperlink{struct__Ecore__Fb__Event__Key__Up_ff87f455eb511a538b258edcd661313a}{keysymbol}}
+\label{struct__Ecore__Fb__Event__Key__Up_ff87f455eb511a538b258edcd661313a}
+
+\begin{CompactList}\small\item\em The logical symbol of the key that was pressed. \item\end{CompactList}\item 
+\hypertarget{struct__Ecore__Fb__Event__Key__Up_0a4999540e6728096cc4e5dc19b1cd32}{
+char $\ast$ \hyperlink{struct__Ecore__Fb__Event__Key__Up_0a4999540e6728096cc4e5dc19b1cd32}{key\_\-compose}}
+\label{struct__Ecore__Fb__Event__Key__Up_0a4999540e6728096cc4e5dc19b1cd32}
+
+\begin{CompactList}\small\item\em The UTF-8 string conversion if any. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+FB Key Up event. 
+
diff --git a/doc/latex/struct__Ecore__Fb__Event__Mouse__Button__Down.tex b/doc/latex/struct__Ecore__Fb__Event__Mouse__Button__Down.tex
new file mode 100644
index 0000000..d78356b
--- /dev/null
+++ b/doc/latex/struct__Ecore__Fb__Event__Mouse__Button__Down.tex
@@ -0,0 +1,45 @@
+\hypertarget{struct__Ecore__Fb__Event__Mouse__Button__Down}{
+\section{\_\-Ecore\_\-Fb\_\-Event\_\-Mouse\_\-Button\_\-Down Struct Reference}
+\label{struct__Ecore__Fb__Event__Mouse__Button__Down}\index{_Ecore_Fb_Event_Mouse_Button_Down@{\_\-Ecore\_\-Fb\_\-Event\_\-Mouse\_\-Button\_\-Down}}
+}
+FB Mouse Down event.  
+
+
+\subsection*{Data Fields}
+\begin{CompactItemize}
+\item 
+\hypertarget{struct__Ecore__Fb__Event__Mouse__Button__Down_924ffe37b33e3d5e78273220fb35963b}{
+Ecore\_\-Fb\_\-Input\_\-Device $\ast$ \hyperlink{struct__Ecore__Fb__Event__Mouse__Button__Down_924ffe37b33e3d5e78273220fb35963b}{dev}}
+\label{struct__Ecore__Fb__Event__Mouse__Button__Down_924ffe37b33e3d5e78273220fb35963b}
+
+\begin{CompactList}\small\item\em The device associated with the event. \item\end{CompactList}\item 
+\hypertarget{struct__Ecore__Fb__Event__Mouse__Button__Down_b0cdc1e011948fea5eb576552f6caf03}{
+int \hyperlink{struct__Ecore__Fb__Event__Mouse__Button__Down_b0cdc1e011948fea5eb576552f6caf03}{button}}
+\label{struct__Ecore__Fb__Event__Mouse__Button__Down_b0cdc1e011948fea5eb576552f6caf03}
+
+\begin{CompactList}\small\item\em Mouse button that was pressed (1 - 32). \item\end{CompactList}\item 
+\hypertarget{struct__Ecore__Fb__Event__Mouse__Button__Down_4f6d29ac41c6f2e35e2476dc76ad2c6f}{
+int \hyperlink{struct__Ecore__Fb__Event__Mouse__Button__Down_4f6d29ac41c6f2e35e2476dc76ad2c6f}{x}}
+\label{struct__Ecore__Fb__Event__Mouse__Button__Down_4f6d29ac41c6f2e35e2476dc76ad2c6f}
+
+\begin{CompactList}\small\item\em Mouse co-ordinates when mouse button was pressed. \item\end{CompactList}\item 
+\hypertarget{struct__Ecore__Fb__Event__Mouse__Button__Down_9418252c8f60d9dc27ae7be931dc48e4}{
+int \hyperlink{struct__Ecore__Fb__Event__Mouse__Button__Down_9418252c8f60d9dc27ae7be931dc48e4}{y}}
+\label{struct__Ecore__Fb__Event__Mouse__Button__Down_9418252c8f60d9dc27ae7be931dc48e4}
+
+\begin{CompactList}\small\item\em Mouse co-ordinates when mouse button was pressed. \item\end{CompactList}\item 
+\hypertarget{struct__Ecore__Fb__Event__Mouse__Button__Down_51ca60b628902fe5195857da6b1efc4b}{
+int \hyperlink{struct__Ecore__Fb__Event__Mouse__Button__Down_51ca60b628902fe5195857da6b1efc4b}{double\_\-click}: 1}
+\label{struct__Ecore__Fb__Event__Mouse__Button__Down_51ca60b628902fe5195857da6b1efc4b}
+
+\begin{CompactList}\small\item\em Set if click was a double click. \item\end{CompactList}\item 
+\hypertarget{struct__Ecore__Fb__Event__Mouse__Button__Down_9e84612e78176164d38f79f21b82176d}{
+int \hyperlink{struct__Ecore__Fb__Event__Mouse__Button__Down_9e84612e78176164d38f79f21b82176d}{triple\_\-click}: 1}
+\label{struct__Ecore__Fb__Event__Mouse__Button__Down_9e84612e78176164d38f79f21b82176d}
+
+\begin{CompactList}\small\item\em Set if click was a triple click. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+FB Mouse Down event. 
+
diff --git a/doc/latex/struct__Ecore__Fb__Event__Mouse__Button__Up.tex b/doc/latex/struct__Ecore__Fb__Event__Mouse__Button__Up.tex
new file mode 100644
index 0000000..77cbffe
--- /dev/null
+++ b/doc/latex/struct__Ecore__Fb__Event__Mouse__Button__Up.tex
@@ -0,0 +1,35 @@
+\hypertarget{struct__Ecore__Fb__Event__Mouse__Button__Up}{
+\section{\_\-Ecore\_\-Fb\_\-Event\_\-Mouse\_\-Button\_\-Up Struct Reference}
+\label{struct__Ecore__Fb__Event__Mouse__Button__Up}\index{_Ecore_Fb_Event_Mouse_Button_Up@{\_\-Ecore\_\-Fb\_\-Event\_\-Mouse\_\-Button\_\-Up}}
+}
+FB Mouse Up event.  
+
+
+\subsection*{Data Fields}
+\begin{CompactItemize}
+\item 
+\hypertarget{struct__Ecore__Fb__Event__Mouse__Button__Up_f976b58da6ca8bcd603d91b443b58cf2}{
+Ecore\_\-Fb\_\-Input\_\-Device $\ast$ \hyperlink{struct__Ecore__Fb__Event__Mouse__Button__Up_f976b58da6ca8bcd603d91b443b58cf2}{dev}}
+\label{struct__Ecore__Fb__Event__Mouse__Button__Up_f976b58da6ca8bcd603d91b443b58cf2}
+
+\begin{CompactList}\small\item\em The device associated with the event. \item\end{CompactList}\item 
+\hypertarget{struct__Ecore__Fb__Event__Mouse__Button__Up_696ffd0f14b66137fadc214291924534}{
+int \hyperlink{struct__Ecore__Fb__Event__Mouse__Button__Up_696ffd0f14b66137fadc214291924534}{button}}
+\label{struct__Ecore__Fb__Event__Mouse__Button__Up_696ffd0f14b66137fadc214291924534}
+
+\begin{CompactList}\small\item\em Mouse button that was released (1 - 32). \item\end{CompactList}\item 
+\hypertarget{struct__Ecore__Fb__Event__Mouse__Button__Up_fc859234ef86263e348b2195b2a85d39}{
+int \hyperlink{struct__Ecore__Fb__Event__Mouse__Button__Up_fc859234ef86263e348b2195b2a85d39}{x}}
+\label{struct__Ecore__Fb__Event__Mouse__Button__Up_fc859234ef86263e348b2195b2a85d39}
+
+\begin{CompactList}\small\item\em Mouse co-ordinates when mouse button was raised. \item\end{CompactList}\item 
+\hypertarget{struct__Ecore__Fb__Event__Mouse__Button__Up_11d43c80b348ed2d29cb9cf67d85f4be}{
+int \hyperlink{struct__Ecore__Fb__Event__Mouse__Button__Up_11d43c80b348ed2d29cb9cf67d85f4be}{y}}
+\label{struct__Ecore__Fb__Event__Mouse__Button__Up_11d43c80b348ed2d29cb9cf67d85f4be}
+
+\begin{CompactList}\small\item\em Mouse co-ordinates when mouse button was raised. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+FB Mouse Up event. 
+
diff --git a/doc/latex/struct__Ecore__Fb__Event__Mouse__Move.tex b/doc/latex/struct__Ecore__Fb__Event__Mouse__Move.tex
new file mode 100644
index 0000000..69e5101
--- /dev/null
+++ b/doc/latex/struct__Ecore__Fb__Event__Mouse__Move.tex
@@ -0,0 +1,30 @@
+\hypertarget{struct__Ecore__Fb__Event__Mouse__Move}{
+\section{\_\-Ecore\_\-Fb\_\-Event\_\-Mouse\_\-Move Struct Reference}
+\label{struct__Ecore__Fb__Event__Mouse__Move}\index{_Ecore_Fb_Event_Mouse_Move@{\_\-Ecore\_\-Fb\_\-Event\_\-Mouse\_\-Move}}
+}
+FB Mouse Move event.  
+
+
+\subsection*{Data Fields}
+\begin{CompactItemize}
+\item 
+\hypertarget{struct__Ecore__Fb__Event__Mouse__Move_cfb646cb979f0d28e039a679dfcacf2d}{
+Ecore\_\-Fb\_\-Input\_\-Device $\ast$ \hyperlink{struct__Ecore__Fb__Event__Mouse__Move_cfb646cb979f0d28e039a679dfcacf2d}{dev}}
+\label{struct__Ecore__Fb__Event__Mouse__Move_cfb646cb979f0d28e039a679dfcacf2d}
+
+\begin{CompactList}\small\item\em The device associated with the event. \item\end{CompactList}\item 
+\hypertarget{struct__Ecore__Fb__Event__Mouse__Move_d19fb0554fe7185a61141ee2a4b54d19}{
+int \hyperlink{struct__Ecore__Fb__Event__Mouse__Move_d19fb0554fe7185a61141ee2a4b54d19}{x}}
+\label{struct__Ecore__Fb__Event__Mouse__Move_d19fb0554fe7185a61141ee2a4b54d19}
+
+\begin{CompactList}\small\item\em Mouse co-ordinates where the mouse cursor moved to. \item\end{CompactList}\item 
+\hypertarget{struct__Ecore__Fb__Event__Mouse__Move_1f340cb4a4c69a3bafc0deb2a67e7346}{
+int \hyperlink{struct__Ecore__Fb__Event__Mouse__Move_1f340cb4a4c69a3bafc0deb2a67e7346}{y}}
+\label{struct__Ecore__Fb__Event__Mouse__Move_1f340cb4a4c69a3bafc0deb2a67e7346}
+
+\begin{CompactList}\small\item\em Mouse co-ordinates where the mouse cursor moved to. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+FB Mouse Move event. 
+
diff --git a/doc/latex/struct__Ecore__Fb__Event__Mouse__Wheel.tex b/doc/latex/struct__Ecore__Fb__Event__Mouse__Wheel.tex
new file mode 100644
index 0000000..81f4695
--- /dev/null
+++ b/doc/latex/struct__Ecore__Fb__Event__Mouse__Wheel.tex
@@ -0,0 +1,12 @@
+\hypertarget{struct__Ecore__Fb__Event__Mouse__Wheel}{
+\section{\_\-Ecore\_\-Fb\_\-Event\_\-Mouse\_\-Wheel Struct Reference}
+\label{struct__Ecore__Fb__Event__Mouse__Wheel}\index{_Ecore_Fb_Event_Mouse_Wheel@{\_\-Ecore\_\-Fb\_\-Event\_\-Mouse\_\-Wheel}}
+}
+FB Mouse Wheel event.  
+
+
+
+
+\subsection{Detailed Description}
+FB Mouse Wheel event. 
+
diff --git a/doc/latex/struct__Ecore__Sdl__Event__Key__Down.tex b/doc/latex/struct__Ecore__Sdl__Event__Key__Down.tex
new file mode 100644
index 0000000..b962eb4
--- /dev/null
+++ b/doc/latex/struct__Ecore__Sdl__Event__Key__Down.tex
@@ -0,0 +1,25 @@
+\hypertarget{struct__Ecore__Sdl__Event__Key__Down}{
+\section{\_\-Ecore\_\-Sdl\_\-Event\_\-Key\_\-Down Struct Reference}
+\label{struct__Ecore__Sdl__Event__Key__Down}\index{_Ecore_Sdl_Event_Key_Down@{\_\-Ecore\_\-Sdl\_\-Event\_\-Key\_\-Down}}
+}
+SDL Key Down event.  
+
+
+\subsection*{Data Fields}
+\begin{CompactItemize}
+\item 
+\hypertarget{struct__Ecore__Sdl__Event__Key__Down_d4308c561a400655a547ad48985e82bd}{
+const char $\ast$ \hyperlink{struct__Ecore__Sdl__Event__Key__Down_d4308c561a400655a547ad48985e82bd}{keyname}}
+\label{struct__Ecore__Sdl__Event__Key__Down_d4308c561a400655a547ad48985e82bd}
+
+\begin{CompactList}\small\item\em The name of the key that was pressed. \item\end{CompactList}\item 
+\hypertarget{struct__Ecore__Sdl__Event__Key__Down_3c325283c2eeda4f9b032d37ce806b7b}{
+const char $\ast$ \hyperlink{struct__Ecore__Sdl__Event__Key__Down_3c325283c2eeda4f9b032d37ce806b7b}{keycompose}}
+\label{struct__Ecore__Sdl__Event__Key__Down_3c325283c2eeda4f9b032d37ce806b7b}
+
+\begin{CompactList}\small\item\em The UTF-8 string conversion if any. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+SDL Key Down event. 
+
diff --git a/doc/latex/struct__Ecore__Sdl__Event__Key__Up.tex b/doc/latex/struct__Ecore__Sdl__Event__Key__Up.tex
new file mode 100644
index 0000000..69b61cd
--- /dev/null
+++ b/doc/latex/struct__Ecore__Sdl__Event__Key__Up.tex
@@ -0,0 +1,25 @@
+\hypertarget{struct__Ecore__Sdl__Event__Key__Up}{
+\section{\_\-Ecore\_\-Sdl\_\-Event\_\-Key\_\-Up Struct Reference}
+\label{struct__Ecore__Sdl__Event__Key__Up}\index{_Ecore_Sdl_Event_Key_Up@{\_\-Ecore\_\-Sdl\_\-Event\_\-Key\_\-Up}}
+}
+SDL Key Up event.  
+
+
+\subsection*{Data Fields}
+\begin{CompactItemize}
+\item 
+\hypertarget{struct__Ecore__Sdl__Event__Key__Up_8d2da547e7ab64e36fa729dc7bf7a93b}{
+const char $\ast$ \hyperlink{struct__Ecore__Sdl__Event__Key__Up_8d2da547e7ab64e36fa729dc7bf7a93b}{keyname}}
+\label{struct__Ecore__Sdl__Event__Key__Up_8d2da547e7ab64e36fa729dc7bf7a93b}
+
+\begin{CompactList}\small\item\em The name of the key that was released. \item\end{CompactList}\item 
+\hypertarget{struct__Ecore__Sdl__Event__Key__Up_940e033936b6069a8576c38b9cd260dc}{
+const char $\ast$ \hyperlink{struct__Ecore__Sdl__Event__Key__Up_940e033936b6069a8576c38b9cd260dc}{keycompose}}
+\label{struct__Ecore__Sdl__Event__Key__Up_940e033936b6069a8576c38b9cd260dc}
+
+\begin{CompactList}\small\item\em The UTF-8 string conversion if any. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+SDL Key Up event. 
+
diff --git a/doc/latex/struct__Ecore__Sdl__Event__Mouse__Button__Down.tex b/doc/latex/struct__Ecore__Sdl__Event__Mouse__Button__Down.tex
new file mode 100644
index 0000000..0c590cd
--- /dev/null
+++ b/doc/latex/struct__Ecore__Sdl__Event__Mouse__Button__Down.tex
@@ -0,0 +1,40 @@
+\hypertarget{struct__Ecore__Sdl__Event__Mouse__Button__Down}{
+\section{\_\-Ecore\_\-Sdl\_\-Event\_\-Mouse\_\-Button\_\-Down Struct Reference}
+\label{struct__Ecore__Sdl__Event__Mouse__Button__Down}\index{_Ecore_Sdl_Event_Mouse_Button_Down@{\_\-Ecore\_\-Sdl\_\-Event\_\-Mouse\_\-Button\_\-Down}}
+}
+SDL Mouse Down event.  
+
+
+\subsection*{Data Fields}
+\begin{CompactItemize}
+\item 
+\hypertarget{struct__Ecore__Sdl__Event__Mouse__Button__Down_68b68e4772d296de3b064f6912ae6deb}{
+int \hyperlink{struct__Ecore__Sdl__Event__Mouse__Button__Down_68b68e4772d296de3b064f6912ae6deb}{button}}
+\label{struct__Ecore__Sdl__Event__Mouse__Button__Down_68b68e4772d296de3b064f6912ae6deb}
+
+\begin{CompactList}\small\item\em Mouse button that was pressed (1 - 32). \item\end{CompactList}\item 
+\hypertarget{struct__Ecore__Sdl__Event__Mouse__Button__Down_b11fde0e2c6c28e1209b4b07bcdc9c93}{
+int \hyperlink{struct__Ecore__Sdl__Event__Mouse__Button__Down_b11fde0e2c6c28e1209b4b07bcdc9c93}{x}}
+\label{struct__Ecore__Sdl__Event__Mouse__Button__Down_b11fde0e2c6c28e1209b4b07bcdc9c93}
+
+\begin{CompactList}\small\item\em Mouse co-ordinates when mouse button was pressed. \item\end{CompactList}\item 
+\hypertarget{struct__Ecore__Sdl__Event__Mouse__Button__Down_93f0eb5d924077cb564459cde6f7596e}{
+int \hyperlink{struct__Ecore__Sdl__Event__Mouse__Button__Down_93f0eb5d924077cb564459cde6f7596e}{y}}
+\label{struct__Ecore__Sdl__Event__Mouse__Button__Down_93f0eb5d924077cb564459cde6f7596e}
+
+\begin{CompactList}\small\item\em Mouse co-ordinates when mouse button was pressed. \item\end{CompactList}\item 
+\hypertarget{struct__Ecore__Sdl__Event__Mouse__Button__Down_6ef39ae2ecd591ad7aad93e96ef4fa2a}{
+int \hyperlink{struct__Ecore__Sdl__Event__Mouse__Button__Down_6ef39ae2ecd591ad7aad93e96ef4fa2a}{double\_\-click}: 1}
+\label{struct__Ecore__Sdl__Event__Mouse__Button__Down_6ef39ae2ecd591ad7aad93e96ef4fa2a}
+
+\begin{CompactList}\small\item\em Set if click was a double click. \item\end{CompactList}\item 
+\hypertarget{struct__Ecore__Sdl__Event__Mouse__Button__Down_947ba33bd503b38ca11231afe950685a}{
+int \hyperlink{struct__Ecore__Sdl__Event__Mouse__Button__Down_947ba33bd503b38ca11231afe950685a}{triple\_\-click}: 1}
+\label{struct__Ecore__Sdl__Event__Mouse__Button__Down_947ba33bd503b38ca11231afe950685a}
+
+\begin{CompactList}\small\item\em Set if click was a triple click. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+SDL Mouse Down event. 
+
diff --git a/doc/latex/struct__Ecore__Sdl__Event__Mouse__Button__Up.tex b/doc/latex/struct__Ecore__Sdl__Event__Mouse__Button__Up.tex
new file mode 100644
index 0000000..055b310
--- /dev/null
+++ b/doc/latex/struct__Ecore__Sdl__Event__Mouse__Button__Up.tex
@@ -0,0 +1,40 @@
+\hypertarget{struct__Ecore__Sdl__Event__Mouse__Button__Up}{
+\section{\_\-Ecore\_\-Sdl\_\-Event\_\-Mouse\_\-Button\_\-Up Struct Reference}
+\label{struct__Ecore__Sdl__Event__Mouse__Button__Up}\index{_Ecore_Sdl_Event_Mouse_Button_Up@{\_\-Ecore\_\-Sdl\_\-Event\_\-Mouse\_\-Button\_\-Up}}
+}
+SDL Mouse Up event.  
+
+
+\subsection*{Data Fields}
+\begin{CompactItemize}
+\item 
+\hypertarget{struct__Ecore__Sdl__Event__Mouse__Button__Up_1670698bc32466836caa29411376c897}{
+int \hyperlink{struct__Ecore__Sdl__Event__Mouse__Button__Up_1670698bc32466836caa29411376c897}{button}}
+\label{struct__Ecore__Sdl__Event__Mouse__Button__Up_1670698bc32466836caa29411376c897}
+
+\begin{CompactList}\small\item\em Mouse button that was released (1 - 32). \item\end{CompactList}\item 
+\hypertarget{struct__Ecore__Sdl__Event__Mouse__Button__Up_9ae214328935e2a4dbeed2e31fe4afd9}{
+int \hyperlink{struct__Ecore__Sdl__Event__Mouse__Button__Up_9ae214328935e2a4dbeed2e31fe4afd9}{x}}
+\label{struct__Ecore__Sdl__Event__Mouse__Button__Up_9ae214328935e2a4dbeed2e31fe4afd9}
+
+\begin{CompactList}\small\item\em Mouse co-ordinates when mouse button was raised. \item\end{CompactList}\item 
+\hypertarget{struct__Ecore__Sdl__Event__Mouse__Button__Up_957a0fb1fcdccc726dc1ef6f138deac5}{
+int \hyperlink{struct__Ecore__Sdl__Event__Mouse__Button__Up_957a0fb1fcdccc726dc1ef6f138deac5}{y}}
+\label{struct__Ecore__Sdl__Event__Mouse__Button__Up_957a0fb1fcdccc726dc1ef6f138deac5}
+
+\begin{CompactList}\small\item\em Mouse co-ordinates when mouse button was raised. \item\end{CompactList}\item 
+\hypertarget{struct__Ecore__Sdl__Event__Mouse__Button__Up_4007ceae72a0fa9709dae4bfea936fc0}{
+int \hyperlink{struct__Ecore__Sdl__Event__Mouse__Button__Up_4007ceae72a0fa9709dae4bfea936fc0}{double\_\-click}: 1}
+\label{struct__Ecore__Sdl__Event__Mouse__Button__Up_4007ceae72a0fa9709dae4bfea936fc0}
+
+\begin{CompactList}\small\item\em Set if click was a double click. \item\end{CompactList}\item 
+\hypertarget{struct__Ecore__Sdl__Event__Mouse__Button__Up_ca7cc54595cdf03d968af56063f571fd}{
+int \hyperlink{struct__Ecore__Sdl__Event__Mouse__Button__Up_ca7cc54595cdf03d968af56063f571fd}{triple\_\-click}: 1}
+\label{struct__Ecore__Sdl__Event__Mouse__Button__Up_ca7cc54595cdf03d968af56063f571fd}
+
+\begin{CompactList}\small\item\em Set if click was a triple click. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+SDL Mouse Up event. 
+
diff --git a/doc/latex/struct__Ecore__Sdl__Event__Mouse__Move.tex b/doc/latex/struct__Ecore__Sdl__Event__Mouse__Move.tex
new file mode 100644
index 0000000..c68cf62
--- /dev/null
+++ b/doc/latex/struct__Ecore__Sdl__Event__Mouse__Move.tex
@@ -0,0 +1,25 @@
+\hypertarget{struct__Ecore__Sdl__Event__Mouse__Move}{
+\section{\_\-Ecore\_\-Sdl\_\-Event\_\-Mouse\_\-Move Struct Reference}
+\label{struct__Ecore__Sdl__Event__Mouse__Move}\index{_Ecore_Sdl_Event_Mouse_Move@{\_\-Ecore\_\-Sdl\_\-Event\_\-Mouse\_\-Move}}
+}
+SDL Mouse Move event.  
+
+
+\subsection*{Data Fields}
+\begin{CompactItemize}
+\item 
+\hypertarget{struct__Ecore__Sdl__Event__Mouse__Move_0c23f32918866bf028e0695aa6033eac}{
+int \hyperlink{struct__Ecore__Sdl__Event__Mouse__Move_0c23f32918866bf028e0695aa6033eac}{x}}
+\label{struct__Ecore__Sdl__Event__Mouse__Move_0c23f32918866bf028e0695aa6033eac}
+
+\begin{CompactList}\small\item\em Mouse co-ordinates where the mouse cursor moved to. \item\end{CompactList}\item 
+\hypertarget{struct__Ecore__Sdl__Event__Mouse__Move_86e0f3cb21d6261881bf950c8ab086d2}{
+int \hyperlink{struct__Ecore__Sdl__Event__Mouse__Move_86e0f3cb21d6261881bf950c8ab086d2}{y}}
+\label{struct__Ecore__Sdl__Event__Mouse__Move_86e0f3cb21d6261881bf950c8ab086d2}
+
+\begin{CompactList}\small\item\em Mouse co-ordinates where the mouse cursor moved to. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+SDL Mouse Move event. 
+
diff --git a/doc/latex/struct__Ecore__Sdl__Event__Mouse__Wheel.tex b/doc/latex/struct__Ecore__Sdl__Event__Mouse__Wheel.tex
new file mode 100644
index 0000000..2039eb1
--- /dev/null
+++ b/doc/latex/struct__Ecore__Sdl__Event__Mouse__Wheel.tex
@@ -0,0 +1,12 @@
+\hypertarget{struct__Ecore__Sdl__Event__Mouse__Wheel}{
+\section{\_\-Ecore\_\-Sdl\_\-Event\_\-Mouse\_\-Wheel Struct Reference}
+\label{struct__Ecore__Sdl__Event__Mouse__Wheel}\index{_Ecore_Sdl_Event_Mouse_Wheel@{\_\-Ecore\_\-Sdl\_\-Event\_\-Mouse\_\-Wheel}}
+}
+SDL Mouse Wheel event.  
+
+
+
+
+\subsection{Detailed Description}
+SDL Mouse Wheel event. 
+
diff --git a/doc/latex/timer__example_8c-example.tex b/doc/latex/timer__example_8c-example.tex
new file mode 100644
index 0000000..553bcb1
--- /dev/null
+++ b/doc/latex/timer__example_8c-example.tex
@@ -0,0 +1,10 @@
+\hypertarget{timer__example_8c-example}{
+\section{timer\_\-example.c}
+}
+Demonstrates use of the ecore\_\-timer.
+
+
+
+\begin{DocInclude}\begin{verbatim}\end{verbatim}
+\end{DocInclude}
+ 
\ No newline at end of file
diff --git a/doc/latex/todo.tex b/doc/latex/todo.tex
new file mode 100644
index 0000000..536bf42
--- /dev/null
+++ b/doc/latex/todo.tex
@@ -0,0 +1,79 @@
+\hypertarget{todo}{}\section{Todo List}\label{todo}
+\label{todo__todo000001}
+\hypertarget{todo__todo000001}{}
+ \begin{description}
+\item[page \hyperlink{index}{Ecore} ](1.0) Document API
+
+\end{description}
+
+
+\label{todo__todo000006}
+\hypertarget{todo__todo000006}{}
+ \begin{description}
+\item[Global \hyperlink{Ecore__Fb_8h_80cc9df0a7c985ffa5104f071a7b90b9}{ecore\_\-fb\_\-callback\_\-gain\_\-set} ]Documentation: Find out what this does. \end{description}
+
+
+\label{todo__todo000007}
+\hypertarget{todo__todo000007}{}
+ \begin{description}
+\item[Global \hyperlink{Ecore__Fb_8h_bf8e732055cf4d366d3000c91cf00cdb}{ecore\_\-fb\_\-callback\_\-lose\_\-set} ]Documentation: Find out what this does. \end{description}
+
+
+\label{todo__todo000003}
+\hypertarget{todo__todo000003}{}
+ \begin{description}
+\item[Group \hyperlink{group__Ecore__Path__Group}{Ecore\_\-Path\_\-Group} ]Give this a better description. \end{description}
+
+
+\label{todo__todo000004}
+\hypertarget{todo__todo000004}{}
+ \begin{description}
+\item[Global \hyperlink{group__Ecore__Con__Server__Group_g497d30961f7b9e8e5547ef674564efca}{ecore\_\-con\_\-server\_\-connected\_\-get} ]Check that this function does what the documenter believes it does. \end{description}
+
+
+\label{todo__todo000005}
+\hypertarget{todo__todo000005}{}
+ \begin{description}
+\item[Global \hyperlink{group__Ecore__FB__LED__Group_g3c3ae8419c3368d844770b616efdb360}{ecore\_\-fb\_\-led\_\-blink\_\-set} ]Documentation: Work out what speed the units are in. \end{description}
+
+
+\label{todo__todo000008}
+\hypertarget{todo__todo000008}{}
+ \begin{description}
+\item[Global \hyperlink{group__Ecore__IPC__Server__Group_geba705e14ef79c1f824fcc1c184ddadb}{ecore\_\-ipc\_\-server\_\-add} ]Need to add protocol type parameter to this function. \end{description}
+
+
+\label{todo__todo000009}
+\hypertarget{todo__todo000009}{}
+ \begin{description}
+\item[Global \hyperlink{group__Ecore__IPC__Server__Group_gfe02c81940d4e5a464cb32e125887f7e}{ecore\_\-ipc\_\-server\_\-connect} ]Need to add protocol type parameter. \end{description}
+
+
+\label{todo__todo000010}
+\hypertarget{todo__todo000010}{}
+ \begin{description}
+\item[Global \hyperlink{group__Ecore__IPC__Server__Group_ge192e84cfa5893c798662adfaed9dd57}{ecore\_\-ipc\_\-server\_\-send} ]This function needs to become an IPC message. \end{description}
+
+
+\label{todo__todo000010}
+\hypertarget{todo__todo000010}{}
+ \begin{description}
+\item[Global \hyperlink{group__Ecore__IPC__Server__Group_ge192e84cfa5893c798662adfaed9dd57}{ecore\_\-ipc\_\-server\_\-send} ]Fix up the documentation: Make sure what ref\_\-to and response are. \end{description}
+
+
+\label{todo__todo000012}
+\hypertarget{todo__todo000012}{}
+ \begin{description}
+\item[Global \hyperlink{group__Ecore__IPC__Client__Group_gd401b95b95c998bcf7749ffe876de812}{ecore\_\-ipc\_\-client\_\-send} ]This function needs to become an IPC message. \end{description}
+
+
+\label{todo__todo000012}
+\hypertarget{todo__todo000012}{}
+ \begin{description}
+\item[Global \hyperlink{group__Ecore__IPC__Client__Group_gd401b95b95c998bcf7749ffe876de812}{ecore\_\-ipc\_\-client\_\-send} ]Make sure ref\_\-to and response parameters are described correctly. \end{description}
+
+
+\label{todo__todo000002}
+\hypertarget{todo__todo000002}{}
+ \begin{description}
+\item[Page \hyperlink{Ecore_ADT_Page}{Ecore Abstract Data Types} ]Finish this. \end{description}
diff --git a/doc/latex/x__window__example_8c-example.tex b/doc/latex/x__window__example_8c-example.tex
new file mode 100644
index 0000000..7ee1b07
--- /dev/null
+++ b/doc/latex/x__window__example_8c-example.tex
@@ -0,0 +1,10 @@
+\hypertarget{x__window__example_8c-example}{
+\section{x\_\-window\_\-example.c}
+}
+Shows the basics of using the X Windows system through Ecore functions.
+
+
+
+\begin{DocInclude}\begin{verbatim}\end{verbatim}
+\end{DocInclude}
+ 
\ No newline at end of file
diff --git a/doc/man/man3/ECORE_CONFIG_BLN.3 b/doc/man/man3/ECORE_CONFIG_BLN.3
new file mode 100644
index 0000000..c456545
--- /dev/null
+++ b/doc/man/man3/ECORE_CONFIG_BLN.3
@@ -0,0 +1 @@
+.so man3/Ecore_Config.h.3
diff --git a/doc/man/man3/ECORE_CONFIG_FLT.3 b/doc/man/man3/ECORE_CONFIG_FLT.3
new file mode 100644
index 0000000..c456545
--- /dev/null
+++ b/doc/man/man3/ECORE_CONFIG_FLT.3
@@ -0,0 +1 @@
+.so man3/Ecore_Config.h.3
diff --git a/doc/man/man3/ECORE_CONFIG_INT.3 b/doc/man/man3/ECORE_CONFIG_INT.3
new file mode 100644
index 0000000..c456545
--- /dev/null
+++ b/doc/man/man3/ECORE_CONFIG_INT.3
@@ -0,0 +1 @@
+.so man3/Ecore_Config.h.3
diff --git a/doc/man/man3/ECORE_CONFIG_NIL.3 b/doc/man/man3/ECORE_CONFIG_NIL.3
new file mode 100644
index 0000000..c456545
--- /dev/null
+++ b/doc/man/man3/ECORE_CONFIG_NIL.3
@@ -0,0 +1 @@
+.so man3/Ecore_Config.h.3
diff --git a/doc/man/man3/ECORE_CONFIG_RGB.3 b/doc/man/man3/ECORE_CONFIG_RGB.3
new file mode 100644
index 0000000..c456545
--- /dev/null
+++ b/doc/man/man3/ECORE_CONFIG_RGB.3
@@ -0,0 +1 @@
+.so man3/Ecore_Config.h.3
diff --git a/doc/man/man3/ECORE_CONFIG_SCT.3 b/doc/man/man3/ECORE_CONFIG_SCT.3
new file mode 100644
index 0000000..c456545
--- /dev/null
+++ b/doc/man/man3/ECORE_CONFIG_SCT.3
@@ -0,0 +1 @@
+.so man3/Ecore_Config.h.3
diff --git a/doc/man/man3/ECORE_CONFIG_STR.3 b/doc/man/man3/ECORE_CONFIG_STR.3
new file mode 100644
index 0000000..c456545
--- /dev/null
+++ b/doc/man/man3/ECORE_CONFIG_STR.3
@@ -0,0 +1 @@
+.so man3/Ecore_Config.h.3
diff --git a/doc/man/man3/ECORE_CONFIG_THM.3 b/doc/man/man3/ECORE_CONFIG_THM.3
new file mode 100644
index 0000000..c456545
--- /dev/null
+++ b/doc/man/man3/ECORE_CONFIG_THM.3
@@ -0,0 +1 @@
+.so man3/Ecore_Config.h.3
diff --git a/doc/man/man3/ECORE_EVENT_SIGNAL_EXIT.3 b/doc/man/man3/ECORE_EVENT_SIGNAL_EXIT.3
new file mode 100644
index 0000000..e26b883
--- /dev/null
+++ b/doc/man/man3/ECORE_EVENT_SIGNAL_EXIT.3
@@ -0,0 +1 @@
+.so man3/Ecore.h.3
diff --git a/doc/man/man3/ECORE_EVENT_SIGNAL_HUP.3 b/doc/man/man3/ECORE_EVENT_SIGNAL_HUP.3
new file mode 100644
index 0000000..e26b883
--- /dev/null
+++ b/doc/man/man3/ECORE_EVENT_SIGNAL_HUP.3
@@ -0,0 +1 @@
+.so man3/Ecore.h.3
diff --git a/doc/man/man3/ECORE_EVENT_SIGNAL_POWER.3 b/doc/man/man3/ECORE_EVENT_SIGNAL_POWER.3
new file mode 100644
index 0000000..e26b883
--- /dev/null
+++ b/doc/man/man3/ECORE_EVENT_SIGNAL_POWER.3
@@ -0,0 +1 @@
+.so man3/Ecore.h.3
diff --git a/doc/man/man3/ECORE_EVENT_SIGNAL_REALTIME.3 b/doc/man/man3/ECORE_EVENT_SIGNAL_REALTIME.3
new file mode 100644
index 0000000..e26b883
--- /dev/null
+++ b/doc/man/man3/ECORE_EVENT_SIGNAL_REALTIME.3
@@ -0,0 +1 @@
+.so man3/Ecore.h.3
diff --git a/doc/man/man3/ECORE_EVENT_SIGNAL_USER.3 b/doc/man/man3/ECORE_EVENT_SIGNAL_USER.3
new file mode 100644
index 0000000..e26b883
--- /dev/null
+++ b/doc/man/man3/ECORE_EVENT_SIGNAL_USER.3
@@ -0,0 +1 @@
+.so man3/Ecore.h.3
diff --git a/doc/man/man3/ECORE_EXE_EVENT_ADD.3 b/doc/man/man3/ECORE_EXE_EVENT_ADD.3
new file mode 100644
index 0000000..e26b883
--- /dev/null
+++ b/doc/man/man3/ECORE_EXE_EVENT_ADD.3
@@ -0,0 +1 @@
+.so man3/Ecore.h.3
diff --git a/doc/man/man3/ECORE_EXE_EVENT_DATA.3 b/doc/man/man3/ECORE_EXE_EVENT_DATA.3
new file mode 100644
index 0000000..e26b883
--- /dev/null
+++ b/doc/man/man3/ECORE_EXE_EVENT_DATA.3
@@ -0,0 +1 @@
+.so man3/Ecore.h.3
diff --git a/doc/man/man3/ECORE_EXE_EVENT_DEL.3 b/doc/man/man3/ECORE_EXE_EVENT_DEL.3
new file mode 100644
index 0000000..e26b883
--- /dev/null
+++ b/doc/man/man3/ECORE_EXE_EVENT_DEL.3
@@ -0,0 +1 @@
+.so man3/Ecore.h.3
diff --git a/doc/man/man3/ECORE_EXE_EVENT_ERROR.3 b/doc/man/man3/ECORE_EXE_EVENT_ERROR.3
new file mode 100644
index 0000000..e26b883
--- /dev/null
+++ b/doc/man/man3/ECORE_EXE_EVENT_ERROR.3
@@ -0,0 +1 @@
+.so man3/Ecore.h.3
diff --git a/doc/man/man3/ECORE_EXE_PIPE_AUTO.3 b/doc/man/man3/ECORE_EXE_PIPE_AUTO.3
new file mode 100644
index 0000000..e26b883
--- /dev/null
+++ b/doc/man/man3/ECORE_EXE_PIPE_AUTO.3
@@ -0,0 +1 @@
+.so man3/Ecore.h.3
diff --git a/doc/man/man3/ECORE_EXE_PIPE_ERROR.3 b/doc/man/man3/ECORE_EXE_PIPE_ERROR.3
new file mode 100644
index 0000000..e26b883
--- /dev/null
+++ b/doc/man/man3/ECORE_EXE_PIPE_ERROR.3
@@ -0,0 +1 @@
+.so man3/Ecore.h.3
diff --git a/doc/man/man3/ECORE_EXE_PIPE_ERROR_LINE_BUFFERED.3 b/doc/man/man3/ECORE_EXE_PIPE_ERROR_LINE_BUFFERED.3
new file mode 100644
index 0000000..e26b883
--- /dev/null
+++ b/doc/man/man3/ECORE_EXE_PIPE_ERROR_LINE_BUFFERED.3
@@ -0,0 +1 @@
+.so man3/Ecore.h.3
diff --git a/doc/man/man3/ECORE_EXE_PIPE_READ.3 b/doc/man/man3/ECORE_EXE_PIPE_READ.3
new file mode 100644
index 0000000..e26b883
--- /dev/null
+++ b/doc/man/man3/ECORE_EXE_PIPE_READ.3
@@ -0,0 +1 @@
+.so man3/Ecore.h.3
diff --git a/doc/man/man3/ECORE_EXE_PIPE_READ_LINE_BUFFERED.3 b/doc/man/man3/ECORE_EXE_PIPE_READ_LINE_BUFFERED.3
new file mode 100644
index 0000000..e26b883
--- /dev/null
+++ b/doc/man/man3/ECORE_EXE_PIPE_READ_LINE_BUFFERED.3
@@ -0,0 +1 @@
+.so man3/Ecore.h.3
diff --git a/doc/man/man3/ECORE_EXE_PIPE_WRITE.3 b/doc/man/man3/ECORE_EXE_PIPE_WRITE.3
new file mode 100644
index 0000000..e26b883
--- /dev/null
+++ b/doc/man/man3/ECORE_EXE_PIPE_WRITE.3
@@ -0,0 +1 @@
+.so man3/Ecore.h.3
diff --git a/doc/man/man3/ECORE_EXE_RESPAWN.3 b/doc/man/man3/ECORE_EXE_RESPAWN.3
new file mode 100644
index 0000000..e26b883
--- /dev/null
+++ b/doc/man/man3/ECORE_EXE_RESPAWN.3
@@ -0,0 +1 @@
+.so man3/Ecore.h.3
diff --git a/doc/man/man3/ECORE_EXE_USE_SH.3 b/doc/man/man3/ECORE_EXE_USE_SH.3
new file mode 100644
index 0000000..e26b883
--- /dev/null
+++ b/doc/man/man3/ECORE_EXE_USE_SH.3
@@ -0,0 +1 @@
+.so man3/Ecore.h.3
diff --git a/doc/man/man3/ECORE_FB_EVENT_KEY_DOWN.3 b/doc/man/man3/ECORE_FB_EVENT_KEY_DOWN.3
new file mode 100644
index 0000000..16499b3
--- /dev/null
+++ b/doc/man/man3/ECORE_FB_EVENT_KEY_DOWN.3
@@ -0,0 +1 @@
+.so man3/Ecore_Fb.h.3
diff --git a/doc/man/man3/ECORE_FB_EVENT_KEY_UP.3 b/doc/man/man3/ECORE_FB_EVENT_KEY_UP.3
new file mode 100644
index 0000000..16499b3
--- /dev/null
+++ b/doc/man/man3/ECORE_FB_EVENT_KEY_UP.3
@@ -0,0 +1 @@
+.so man3/Ecore_Fb.h.3
diff --git a/doc/man/man3/ECORE_FB_EVENT_MOUSE_BUTTON_DOWN.3 b/doc/man/man3/ECORE_FB_EVENT_MOUSE_BUTTON_DOWN.3
new file mode 100644
index 0000000..16499b3
--- /dev/null
+++ b/doc/man/man3/ECORE_FB_EVENT_MOUSE_BUTTON_DOWN.3
@@ -0,0 +1 @@
+.so man3/Ecore_Fb.h.3
diff --git a/doc/man/man3/ECORE_FB_EVENT_MOUSE_BUTTON_UP.3 b/doc/man/man3/ECORE_FB_EVENT_MOUSE_BUTTON_UP.3
new file mode 100644
index 0000000..16499b3
--- /dev/null
+++ b/doc/man/man3/ECORE_FB_EVENT_MOUSE_BUTTON_UP.3
@@ -0,0 +1 @@
+.so man3/Ecore_Fb.h.3
diff --git a/doc/man/man3/ECORE_FB_EVENT_MOUSE_MOVE.3 b/doc/man/man3/ECORE_FB_EVENT_MOUSE_MOVE.3
new file mode 100644
index 0000000..16499b3
--- /dev/null
+++ b/doc/man/man3/ECORE_FB_EVENT_MOUSE_MOVE.3
@@ -0,0 +1 @@
+.so man3/Ecore_Fb.h.3
diff --git a/doc/man/man3/ECORE_FB_EVENT_MOUSE_WHEEL.3 b/doc/man/man3/ECORE_FB_EVENT_MOUSE_WHEEL.3
new file mode 100644
index 0000000..16499b3
--- /dev/null
+++ b/doc/man/man3/ECORE_FB_EVENT_MOUSE_WHEEL.3
@@ -0,0 +1 @@
+.so man3/Ecore_Fb.h.3
diff --git a/doc/man/man3/ECORE_FD_ERROR.3 b/doc/man/man3/ECORE_FD_ERROR.3
new file mode 100644
index 0000000..e26b883
--- /dev/null
+++ b/doc/man/man3/ECORE_FD_ERROR.3
@@ -0,0 +1 @@
+.so man3/Ecore.h.3
diff --git a/doc/man/man3/ECORE_FD_READ.3 b/doc/man/man3/ECORE_FD_READ.3
new file mode 100644
index 0000000..e26b883
--- /dev/null
+++ b/doc/man/man3/ECORE_FD_READ.3
@@ -0,0 +1 @@
+.so man3/Ecore.h.3
diff --git a/doc/man/man3/ECORE_FD_WRITE.3 b/doc/man/man3/ECORE_FD_WRITE.3
new file mode 100644
index 0000000..e26b883
--- /dev/null
+++ b/doc/man/man3/ECORE_FD_WRITE.3
@@ -0,0 +1 @@
+.so man3/Ecore.h.3
diff --git a/doc/man/man3/ECORE_SDL_EVENT_GOT_FOCUS.3 b/doc/man/man3/ECORE_SDL_EVENT_GOT_FOCUS.3
new file mode 100644
index 0000000..13fb152
--- /dev/null
+++ b/doc/man/man3/ECORE_SDL_EVENT_GOT_FOCUS.3
@@ -0,0 +1 @@
+.so man3/Ecore_Sdl.h.3
diff --git a/doc/man/man3/ECORE_SDL_EVENT_KEY_DOWN.3 b/doc/man/man3/ECORE_SDL_EVENT_KEY_DOWN.3
new file mode 100644
index 0000000..13fb152
--- /dev/null
+++ b/doc/man/man3/ECORE_SDL_EVENT_KEY_DOWN.3
@@ -0,0 +1 @@
+.so man3/Ecore_Sdl.h.3
diff --git a/doc/man/man3/ECORE_SDL_EVENT_KEY_UP.3 b/doc/man/man3/ECORE_SDL_EVENT_KEY_UP.3
new file mode 100644
index 0000000..13fb152
--- /dev/null
+++ b/doc/man/man3/ECORE_SDL_EVENT_KEY_UP.3
@@ -0,0 +1 @@
+.so man3/Ecore_Sdl.h.3
diff --git a/doc/man/man3/ECORE_SDL_EVENT_LOST_FOCUS.3 b/doc/man/man3/ECORE_SDL_EVENT_LOST_FOCUS.3
new file mode 100644
index 0000000..13fb152
--- /dev/null
+++ b/doc/man/man3/ECORE_SDL_EVENT_LOST_FOCUS.3
@@ -0,0 +1 @@
+.so man3/Ecore_Sdl.h.3
diff --git a/doc/man/man3/ECORE_SDL_EVENT_MOUSE_BUTTON_DOWN.3 b/doc/man/man3/ECORE_SDL_EVENT_MOUSE_BUTTON_DOWN.3
new file mode 100644
index 0000000..13fb152
--- /dev/null
+++ b/doc/man/man3/ECORE_SDL_EVENT_MOUSE_BUTTON_DOWN.3
@@ -0,0 +1 @@
+.so man3/Ecore_Sdl.h.3
diff --git a/doc/man/man3/ECORE_SDL_EVENT_MOUSE_BUTTON_UP.3 b/doc/man/man3/ECORE_SDL_EVENT_MOUSE_BUTTON_UP.3
new file mode 100644
index 0000000..13fb152
--- /dev/null
+++ b/doc/man/man3/ECORE_SDL_EVENT_MOUSE_BUTTON_UP.3
@@ -0,0 +1 @@
+.so man3/Ecore_Sdl.h.3
diff --git a/doc/man/man3/ECORE_SDL_EVENT_MOUSE_MOVE.3 b/doc/man/man3/ECORE_SDL_EVENT_MOUSE_MOVE.3
new file mode 100644
index 0000000..13fb152
--- /dev/null
+++ b/doc/man/man3/ECORE_SDL_EVENT_MOUSE_MOVE.3
@@ -0,0 +1 @@
+.so man3/Ecore_Sdl.h.3
diff --git a/doc/man/man3/ECORE_SDL_EVENT_MOUSE_WHEEL.3 b/doc/man/man3/ECORE_SDL_EVENT_MOUSE_WHEEL.3
new file mode 100644
index 0000000..13fb152
--- /dev/null
+++ b/doc/man/man3/ECORE_SDL_EVENT_MOUSE_WHEEL.3
@@ -0,0 +1 @@
+.so man3/Ecore_Sdl.h.3
diff --git a/doc/man/man3/ECORE_X_NET_WM_PROTOCOL_PING.3 b/doc/man/man3/ECORE_X_NET_WM_PROTOCOL_PING.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ECORE_X_NET_WM_PROTOCOL_PING.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ECORE_X_NET_WM_PROTOCOL_SYNC_REQUEST.3 b/doc/man/man3/ECORE_X_NET_WM_PROTOCOL_SYNC_REQUEST.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ECORE_X_NET_WM_PROTOCOL_SYNC_REQUEST.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ECORE_X_WINDOW_INPUT_MODE_ACTIVE_GLOBAL.3 b/doc/man/man3/ECORE_X_WINDOW_INPUT_MODE_ACTIVE_GLOBAL.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ECORE_X_WINDOW_INPUT_MODE_ACTIVE_GLOBAL.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ECORE_X_WINDOW_INPUT_MODE_ACTIVE_LOCAL.3 b/doc/man/man3/ECORE_X_WINDOW_INPUT_MODE_ACTIVE_LOCAL.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ECORE_X_WINDOW_INPUT_MODE_ACTIVE_LOCAL.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ECORE_X_WINDOW_INPUT_MODE_NONE.3 b/doc/man/man3/ECORE_X_WINDOW_INPUT_MODE_NONE.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ECORE_X_WINDOW_INPUT_MODE_NONE.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ECORE_X_WINDOW_INPUT_MODE_PASSIVE.3 b/doc/man/man3/ECORE_X_WINDOW_INPUT_MODE_PASSIVE.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ECORE_X_WINDOW_INPUT_MODE_PASSIVE.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ECORE_X_WINDOW_STATE_FULLSCREEN.3 b/doc/man/man3/ECORE_X_WINDOW_STATE_FULLSCREEN.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ECORE_X_WINDOW_STATE_FULLSCREEN.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ECORE_X_WINDOW_STATE_HIDDEN.3 b/doc/man/man3/ECORE_X_WINDOW_STATE_HIDDEN.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ECORE_X_WINDOW_STATE_HIDDEN.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ECORE_X_WINDOW_STATE_HINT_ICONIC.3 b/doc/man/man3/ECORE_X_WINDOW_STATE_HINT_ICONIC.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ECORE_X_WINDOW_STATE_HINT_ICONIC.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ECORE_X_WINDOW_STATE_HINT_NONE.3 b/doc/man/man3/ECORE_X_WINDOW_STATE_HINT_NONE.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ECORE_X_WINDOW_STATE_HINT_NONE.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ECORE_X_WINDOW_STATE_HINT_NORMAL.3 b/doc/man/man3/ECORE_X_WINDOW_STATE_HINT_NORMAL.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ECORE_X_WINDOW_STATE_HINT_NORMAL.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ECORE_X_WINDOW_STATE_HINT_WITHDRAWN.3 b/doc/man/man3/ECORE_X_WINDOW_STATE_HINT_WITHDRAWN.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ECORE_X_WINDOW_STATE_HINT_WITHDRAWN.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ECORE_X_WINDOW_STATE_ICONIFIED.3 b/doc/man/man3/ECORE_X_WINDOW_STATE_ICONIFIED.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ECORE_X_WINDOW_STATE_ICONIFIED.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ECORE_X_WINDOW_STATE_MAXIMIZED_HORZ.3 b/doc/man/man3/ECORE_X_WINDOW_STATE_MAXIMIZED_HORZ.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ECORE_X_WINDOW_STATE_MAXIMIZED_HORZ.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ECORE_X_WINDOW_STATE_MAXIMIZED_VERT.3 b/doc/man/man3/ECORE_X_WINDOW_STATE_MAXIMIZED_VERT.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ECORE_X_WINDOW_STATE_MAXIMIZED_VERT.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ECORE_X_WINDOW_STATE_MODAL.3 b/doc/man/man3/ECORE_X_WINDOW_STATE_MODAL.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ECORE_X_WINDOW_STATE_MODAL.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ECORE_X_WINDOW_STATE_SHADED.3 b/doc/man/man3/ECORE_X_WINDOW_STATE_SHADED.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ECORE_X_WINDOW_STATE_SHADED.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ECORE_X_WINDOW_STATE_SKIP_PAGER.3 b/doc/man/man3/ECORE_X_WINDOW_STATE_SKIP_PAGER.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ECORE_X_WINDOW_STATE_SKIP_PAGER.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ECORE_X_WINDOW_STATE_SKIP_TASKBAR.3 b/doc/man/man3/ECORE_X_WINDOW_STATE_SKIP_TASKBAR.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ECORE_X_WINDOW_STATE_SKIP_TASKBAR.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ECORE_X_WINDOW_STATE_STICKY.3 b/doc/man/man3/ECORE_X_WINDOW_STATE_STICKY.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ECORE_X_WINDOW_STATE_STICKY.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ECORE_X_WM_PROTOCOL_DELETE_REQUEST.3 b/doc/man/man3/ECORE_X_WM_PROTOCOL_DELETE_REQUEST.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ECORE_X_WM_PROTOCOL_DELETE_REQUEST.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ECORE_X_WM_PROTOCOL_TAKE_FOCUS.3 b/doc/man/man3/ECORE_X_WM_PROTOCOL_TAKE_FOCUS.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ECORE_X_WM_PROTOCOL_TAKE_FOCUS.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/Ecore.h.3 b/doc/man/man3/Ecore.h.3
new file mode 100644
index 0000000..7e5e704
--- /dev/null
+++ b/doc/man/man3/Ecore.h.3
@@ -0,0 +1,727 @@
+.TH "Ecore.h" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+Ecore.h \- The file that provides the program utility, main loop and timer functions. 
+.SH SYNOPSIS
+.br
+.PP
+.SS "Data Structures"
+
+.in +1c
+.ti -1c
+.RI "struct \fB_Ecore_Event_Signal_User\fP"
+.br
+.RI "\fIUser signal event. \fP"
+.ti -1c
+.RI "struct \fB_Ecore_Event_Signal_Hup\fP"
+.br
+.RI "\fIHup signal event. \fP"
+.ti -1c
+.RI "struct \fB_Ecore_Event_Signal_Exit\fP"
+.br
+.RI "\fIExit request event. \fP"
+.ti -1c
+.RI "struct \fB_Ecore_Event_Signal_Power\fP"
+.br
+.RI "\fIPower event. \fP"
+.ti -1c
+.RI "struct \fB_Ecore_Event_Signal_Realtime\fP"
+.br
+.RI "\fIRealtime event. \fP"
+.ti -1c
+.RI "struct \fB_Ecore_Exe_Event_Add\fP"
+.br
+.RI "\fIProcess add event. \fP"
+.ti -1c
+.RI "struct \fB_Ecore_Exe_Event_Del\fP"
+.br
+.RI "\fIProcess exit event. \fP"
+.ti -1c
+.RI "struct \fB_Ecore_Exe_Event_Data_Line\fP"
+.br
+.RI "\fI< Lines from a child process \fP"
+.ti -1c
+.RI "struct \fB_Ecore_Exe_Event_Data\fP"
+.br
+.RI "\fIData from a child process event. \fP"
+.in -1c
+.SS "Defines"
+
+.in +1c
+.ti -1c
+.RI "#define \fBECORE_EVENT_SIGNAL_USER\fP   1"
+.br
+.RI "\fIUser signal event. \fP"
+.ti -1c
+.RI "#define \fBECORE_EVENT_SIGNAL_HUP\fP   2"
+.br
+.RI "\fIHup signal event. \fP"
+.ti -1c
+.RI "#define \fBECORE_EVENT_SIGNAL_EXIT\fP   3"
+.br
+.RI "\fIExit signal event. \fP"
+.ti -1c
+.RI "#define \fBECORE_EVENT_SIGNAL_POWER\fP   4"
+.br
+.RI "\fIPower signal event. \fP"
+.ti -1c
+.RI "#define \fBECORE_EVENT_SIGNAL_REALTIME\fP   5"
+.br
+.RI "\fIRealtime signal event. \fP"
+.in -1c
+.SS "Typedefs"
+
+.in +1c
+.ti -1c
+.RI "typedef void \fBEcore_Exe\fP"
+.br
+.RI "\fIA handle for spawned processes. \fP"
+.ti -1c
+.RI "typedef void \fBEcore_Timer\fP"
+.br
+.RI "\fIA handle for timers. \fP"
+.ti -1c
+.RI "typedef void \fBEcore_Idler\fP"
+.br
+.RI "\fIA handle for idlers. \fP"
+.ti -1c
+.RI "typedef void \fBEcore_Idle_Enterer\fP"
+.br
+.RI "\fIA handle for idle enterers. \fP"
+.ti -1c
+.RI "typedef void \fBEcore_Idle_Exiter\fP"
+.br
+.RI "\fIA handle for idle exiters. \fP"
+.ti -1c
+.RI "typedef void \fBEcore_Fd_Handler\fP"
+.br
+.RI "\fIA handle for Fd hanlders. \fP"
+.ti -1c
+.RI "typedef void \fBEcore_Event_Handler\fP"
+.br
+.RI "\fIA handle for an event handler. \fP"
+.ti -1c
+.RI "typedef void \fBEcore_Event_Filter\fP"
+.br
+.RI "\fIA handle for an event filter. \fP"
+.ti -1c
+.RI "typedef void \fBEcore_Event\fP"
+.br
+.RI "\fIA handle for an event. \fP"
+.ti -1c
+.RI "typedef void \fBEcore_Animator\fP"
+.br
+.RI "\fIA handle for animators. \fP"
+.ti -1c
+.RI "typedef \fB_Ecore_Event_Signal_User\fP \fBEcore_Event_Signal_User\fP"
+.br
+.RI "\fIUser signal event. \fP"
+.ti -1c
+.RI "typedef \fB_Ecore_Event_Signal_Hup\fP \fBEcore_Event_Signal_Hup\fP"
+.br
+.RI "\fIHup signal event. \fP"
+.ti -1c
+.RI "typedef \fB_Ecore_Event_Signal_Exit\fP \fBEcore_Event_Signal_Exit\fP"
+.br
+.RI "\fIExit signal event. \fP"
+.ti -1c
+.RI "typedef \fB_Ecore_Event_Signal_Power\fP \fBEcore_Event_Signal_Power\fP"
+.br
+.RI "\fIPower signal event. \fP"
+.ti -1c
+.RI "typedef \fB_Ecore_Event_Signal_Realtime\fP \fBEcore_Event_Signal_Realtime\fP"
+.br
+.RI "\fIRealtime signal event. \fP"
+.ti -1c
+.RI "typedef \fB_Ecore_Exe_Event_Add\fP \fBEcore_Exe_Event_Add\fP"
+.br
+.RI "\fISpawned Exe add event. \fP"
+.ti -1c
+.RI "typedef \fB_Ecore_Exe_Event_Del\fP \fBEcore_Exe_Event_Del\fP"
+.br
+.RI "\fISpawned Exe exit event. \fP"
+.ti -1c
+.RI "typedef \fB_Ecore_Exe_Event_Data_Line\fP \fBEcore_Exe_Event_Data_Line\fP"
+.br
+.RI "\fILines from a child process. \fP"
+.ti -1c
+.RI "typedef \fB_Ecore_Exe_Event_Data\fP \fBEcore_Exe_Event_Data\fP"
+.br
+.RI "\fIData from a child process. \fP"
+.in -1c
+.SS "Enumerations"
+
+.in +1c
+.ti -1c
+.RI "enum \fB_Ecore_Fd_Handler_Flags\fP { \fBECORE_FD_READ\fP =  1, \fBECORE_FD_WRITE\fP =  2, \fBECORE_FD_ERROR\fP =  4 }"
+.br
+.ti -1c
+.RI "enum \fB_Ecore_Exe_Flags\fP { \fBECORE_EXE_PIPE_READ\fP =  1, \fBECORE_EXE_PIPE_WRITE\fP =  2, \fBECORE_EXE_PIPE_ERROR\fP =  4, \fBECORE_EXE_PIPE_READ_LINE_BUFFERED\fP =  8, \fBECORE_EXE_PIPE_ERROR_LINE_BUFFERED\fP =  16, \fBECORE_EXE_PIPE_AUTO\fP =  32, \fBECORE_EXE_RESPAWN\fP =  64, \fBECORE_EXE_USE_SH\fP =  128 }"
+.br
+.in -1c
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI int \fBecore_init\fP (void)"
+.br
+.RI "\fISet up connections, signal handlers, sockets etc. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_shutdown\fP (void)"
+.br
+.RI "\fIShut down connections, signal handlers sockets etc. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_app_args_set\fP (int argc, const char **argv)"
+.br
+.RI "\fISet up the programs command-line arguments. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_app_args_get\fP (int *argc, char ***argv)"
+.br
+.RI "\fIReturn the programs stored command-line arguments. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_app_restart\fP (void)"
+.br
+.RI "\fIRestart the program executable with the command-line arguments stored. \fP"
+.ti -1c
+.RI "EAPI \fBEcore_Event_Handler\fP * \fBecore_event_handler_add\fP (int type, int(*func)(void *data, int type, void *event), const void *data)"
+.br
+.RI "\fIAdd an event handler. \fP"
+.ti -1c
+.RI "EAPI void * \fBecore_event_handler_del\fP (\fBEcore_Event_Handler\fP *event_handler)"
+.br
+.RI "\fIDelete an event handler. \fP"
+.ti -1c
+.RI "EAPI \fBEcore_Event\fP * \fBecore_event_add\fP (int type, void *ev, void(*func_free)(void *data, void *ev), void *data)"
+.br
+.RI "\fIAdd an event to the event queue. \fP"
+.ti -1c
+.RI "EAPI void * \fBecore_event_del\fP (\fBEcore_Event\fP *event)"
+.br
+.RI "\fIDelete an event from the queue. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_event_type_new\fP (void)"
+.br
+.RI "\fIAllocate a new event type id sensibly and return the new id. \fP"
+.ti -1c
+.RI "EAPI \fBEcore_Event_Filter\fP * \fBecore_event_filter_add\fP (void *(*func_start)(void *data), int(*func_filter)(void *data, void *loop_data, int type, void *event), void(*func_end)(void *data, void *loop_data), const void *data)"
+.br
+.RI "\fIAdd a filter the current event queue. \fP"
+.ti -1c
+.RI "EAPI void * \fBecore_event_filter_del\fP (\fBEcore_Event_Filter\fP *ef)"
+.br
+.RI "\fIDelete an event filter. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_event_current_type_get\fP (void)"
+.br
+.RI "\fIReturn the current event type being handled. \fP"
+.ti -1c
+.RI "EAPI void * \fBecore_event_current_event_get\fP (void)"
+.br
+.RI "\fIReturn the current event type pointer handled. \fP"
+.ti -1c
+.RI "EAPI \fBEcore_Exe\fP * \fBecore_exe_run\fP (const char *exe_cmd, const void *data)"
+.br
+.RI "\fISpawns a child process. \fP"
+.ti -1c
+.RI "EAPI \fBEcore_Exe\fP * \fBecore_exe_pipe_run\fP (const char *exe_cmd, Ecore_Exe_Flags flags, const void *data)"
+.br
+.RI "\fISpawns a child process with its stdin/out available for communication. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_exe_send\fP (\fBEcore_Exe\fP *exe, void *data, int size)"
+.br
+.RI "\fISends data to the given child process which it recieves on stdin. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_exe_close_stdin\fP (\fBEcore_Exe\fP *exe)"
+.br
+.RI "\fIThe stdin of the given child process will close when the write buffer is empty. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_exe_auto_limits_set\fP (\fBEcore_Exe\fP *exe, int start_bytes, int end_bytes, int start_lines, int end_lines)"
+.br
+.RI "\fISets the auto pipe limits for the given process handle. \fP"
+.ti -1c
+.RI "EAPI \fBEcore_Exe_Event_Data\fP * \fBecore_exe_event_data_get\fP (\fBEcore_Exe\fP *exe, Ecore_Exe_Flags flags)"
+.br
+.RI "\fIGets the auto pipe data for the given process handle. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_exe_event_data_free\fP (\fBEcore_Exe_Event_Data\fP *data)"
+.br
+.RI "\fIFrees the given event data. \fP"
+.ti -1c
+.RI "EAPI void * \fBecore_exe_free\fP (\fBEcore_Exe\fP *exe)"
+.br
+.RI "\fIFrees the given process handle. \fP"
+.ti -1c
+.RI "EAPI pid_t \fBecore_exe_pid_get\fP (\fBEcore_Exe\fP *exe)"
+.br
+.RI "\fIRetrieves the process ID of the given spawned process. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_exe_tag_set\fP (\fBEcore_Exe\fP *exe, const char *tag)"
+.br
+.RI "\fISets the string tag for the given process handle. \fP"
+.ti -1c
+.RI "EAPI char * \fBecore_exe_tag_get\fP (\fBEcore_Exe\fP *exe)"
+.br
+.RI "\fIRetrieves the tag attached to the given process handle. \fP"
+.ti -1c
+.RI "EAPI char * \fBecore_exe_cmd_get\fP (\fBEcore_Exe\fP *exe)"
+.br
+.RI "\fIRetrieves the command of the given spawned process. \fP"
+.ti -1c
+.RI "EAPI void * \fBecore_exe_data_get\fP (\fBEcore_Exe\fP *exe)"
+.br
+.RI "\fIRetrieves the data attached to the given process handle. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_exe_pause\fP (\fBEcore_Exe\fP *exe)"
+.br
+.RI "\fIPauses the given process by sending it a \fCSIGSTOP\fP signal. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_exe_continue\fP (\fBEcore_Exe\fP *exe)"
+.br
+.RI "\fIContinues the given paused process by sending it a \fCSIGCONT\fP signal. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_exe_terminate\fP (\fBEcore_Exe\fP *exe)"
+.br
+.RI "\fISends the given spawned process a terminate (\fCSIGTERM\fP) signal. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_exe_kill\fP (\fBEcore_Exe\fP *exe)"
+.br
+.RI "\fIKills the given spawned process by sending it a \fCSIGKILL\fP signal. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_exe_signal\fP (\fBEcore_Exe\fP *exe, int num)"
+.br
+.RI "\fISends a \fCSIGUSR\fP signal to the given spawned process. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_exe_hup\fP (\fBEcore_Exe\fP *exe)"
+.br
+.RI "\fISends a \fCSIGHUP\fP signal to the given spawned process. \fP"
+.ti -1c
+.RI "EAPI \fBEcore_Idler\fP * \fBecore_idler_add\fP (int(*func)(void *data), const void *data)"
+.br
+.RI "\fIAdd an idler handler. \fP"
+.ti -1c
+.RI "EAPI void * \fBecore_idler_del\fP (\fBEcore_Idler\fP *idler)"
+.br
+.RI "\fIDelete an idler callback from the list to be executed. \fP"
+.ti -1c
+.RI "EAPI \fBEcore_Idle_Enterer\fP * \fBecore_idle_enterer_add\fP (int(*func)(void *data), const void *data)"
+.br
+.RI "\fIAdd an idle enterer handler. \fP"
+.ti -1c
+.RI "EAPI void * \fBecore_idle_enterer_del\fP (\fBEcore_Idle_Enterer\fP *idle_enterer)"
+.br
+.RI "\fIDelete an idle enterer callback. \fP"
+.ti -1c
+.RI "EAPI \fBEcore_Idle_Exiter\fP * \fBecore_idle_exiter_add\fP (int(*func)(void *data), const void *data)"
+.br
+.RI "\fIAdd an idle exiter handler. \fP"
+.ti -1c
+.RI "EAPI void * \fBecore_idle_exiter_del\fP (\fBEcore_Idle_Exiter\fP *idle_exiter)"
+.br
+.RI "\fIDelete an idle exiter handler from the list to be run on exiting idle state. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_main_loop_iterate\fP (void)"
+.br
+.RI "\fIRuns a single iteration of the main loop to process everything on the queue. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_main_loop_begin\fP (void)"
+.br
+.RI "\fIRuns the application main loop. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_main_loop_quit\fP (void)"
+.br
+.RI "\fIQuits the main loop once all the events currently on the queue have been processed. \fP"
+.ti -1c
+.RI "EAPI \fBEcore_Fd_Handler\fP * \fBecore_main_fd_handler_add\fP (int fd, Ecore_Fd_Handler_Flags flags, int(*func)(void *data, \fBEcore_Fd_Handler\fP *fd_handler), const void *data, int(*buf_func)(void *buf_data, \fBEcore_Fd_Handler\fP *fd_handler), const void *buf_data)"
+.br
+.RI "\fIAdds a callback for activity on the given file descriptor. \fP"
+.ti -1c
+.RI "EAPI void * \fBecore_main_fd_handler_del\fP (\fBEcore_Fd_Handler\fP *fd_handler)"
+.br
+.RI "\fIDeletes the given FD handler. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_main_fd_handler_fd_get\fP (\fBEcore_Fd_Handler\fP *fd_handler)"
+.br
+.RI "\fIRetrieves the file descriptor that the given handler is handling. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_main_fd_handler_active_get\fP (\fBEcore_Fd_Handler\fP *fd_handler, Ecore_Fd_Handler_Flags flags)"
+.br
+.RI "\fIReturn if read, write or error, or a combination thereof, is active on the file descriptor of the given FD handler. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_main_fd_handler_active_set\fP (\fBEcore_Fd_Handler\fP *fd_handler, Ecore_Fd_Handler_Flags flags)"
+.br
+.RI "\fISet what active streams the given FD handler should be monitoring. \fP"
+.ti -1c
+.RI "EAPI double \fBecore_time_get\fP (void)"
+.br
+.RI "\fIRetrieves the current system time as a floating point value in seconds. \fP"
+.ti -1c
+.RI "EAPI \fBEcore_Timer\fP * \fBecore_timer_add\fP (double in, int(*func)(void *data), const void *data)"
+.br
+.RI "\fICreates a timer to call the given function in the given period of time. \fP"
+.ti -1c
+.RI "EAPI void * \fBecore_timer_del\fP (\fBEcore_Timer\fP *timer)"
+.br
+.RI "\fIDelete the specified timer from the timer list. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_timer_interval_set\fP (\fBEcore_Timer\fP *timer, double in)"
+.br
+.RI "\fIChange the interval the timer ticks of. \fP"
+.ti -1c
+.RI "EAPI \fBEcore_Animator\fP * \fBecore_animator_add\fP (int(*func)(void *data), const void *data)"
+.br
+.RI "\fIAdd a animator to tick off at every animaton tick during main loop execution. \fP"
+.ti -1c
+.RI "EAPI void * \fBecore_animator_del\fP (\fBEcore_Animator\fP *animator)"
+.br
+.RI "\fIDelete the specified animator from the animator list. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_animator_frametime_set\fP (double frametime)"
+.br
+.RI "\fISet the animator call interval in seconds. \fP"
+.ti -1c
+.RI "EAPI double \fBecore_animator_frametime_get\fP (void)"
+.br
+.RI "\fIGet the animator call interval in seconds. \fP"
+.in -1c
+.SS "Variables"
+
+.in +1c
+.ti -1c
+.RI "EAPI int \fBECORE_EXE_EVENT_ADD\fP"
+.br
+.RI "\fIA child process has been added. \fP"
+.ti -1c
+.RI "EAPI int \fBECORE_EXE_EVENT_DEL\fP"
+.br
+.RI "\fIA child process has been deleted (it exited, naming consistant with the rest of ecore). \fP"
+.ti -1c
+.RI "EAPI int \fBECORE_EXE_EVENT_DATA\fP"
+.br
+.RI "\fIData from a child process. \fP"
+.ti -1c
+.RI "EAPI int \fBECORE_EXE_EVENT_ERROR\fP"
+.br
+.RI "\fIErrors from a child process. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+The file that provides the program utility, main loop and timer functions. 
+
+This header provides the Ecore event handling loop. For more details, see \fBMain Loop Functions\fP.
+.PP
+For the main loop to be of any use, you need to be able to add events and event handlers. Events for file descriptor events are covered in \fBFile Event Handling Functions\fP.
+.PP
+Time functions are covered in \fBEcore Time Functions\fP.
+.PP
+There is also provision for callbacks for when the loop enters or exits an idle state. See \fBIdle Handlers\fP for more information.
+.PP
+Functions are also provided for spawning child processes using fork. See \fBProcess Spawning Functions\fP and \fBSpawned Process Signal Functions\fP for more details. 
+.SH "Enumeration Type Documentation"
+.PP 
+.SS "enum \fB_Ecore_Exe_Flags\fP"
+.PP
+\fBEnumerator: \fP
+.in +1c
+.TP
+\fB\fIECORE_EXE_PIPE_READ \fP\fP
+Exe Pipe Read mask. 
+.TP
+\fB\fIECORE_EXE_PIPE_WRITE \fP\fP
+Exe Pipe Write mask. 
+.TP
+\fB\fIECORE_EXE_PIPE_ERROR \fP\fP
+Exe Pipe error mask. 
+.TP
+\fB\fIECORE_EXE_PIPE_READ_LINE_BUFFERED \fP\fP
+Reads are buffered until a newline and delivered 1 event per line. 
+.TP
+\fB\fIECORE_EXE_PIPE_ERROR_LINE_BUFFERED \fP\fP
+Errors are buffered until a newline and delivered 1 event per line. 
+.TP
+\fB\fIECORE_EXE_PIPE_AUTO \fP\fP
+stdout and stderr are buffered automatically 
+.TP
+\fB\fIECORE_EXE_RESPAWN \fP\fP
+FIXME: Exe is restarted if it dies. 
+.TP
+\fB\fIECORE_EXE_USE_SH \fP\fP
+Use /bin/sh to run the command. 
+.SS "enum \fB_Ecore_Fd_Handler_Flags\fP"
+.PP
+\fBEnumerator: \fP
+.in +1c
+.TP
+\fB\fIECORE_FD_READ \fP\fP
+Fd Read mask. 
+.TP
+\fB\fIECORE_FD_WRITE \fP\fP
+Fd Write mask. 
+.TP
+\fB\fIECORE_FD_ERROR \fP\fP
+Fd Error mask. 
+.SH "Function Documentation"
+.PP 
+.SS "EAPI \fBEcore_Animator\fP* ecore_animator_add (int(*)(void *data) func, const void * data)"
+.PP
+Add a animator to tick off at every animaton tick during main loop execution. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIfunc\fP The function to call when it ticks off 
+.br
+\fIdata\fP The data to pass to the function 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+A handle to the new animator
+.RE
+.PP
+This function adds a animator and returns its handle on success and NULL on failure. The function \fCfunc\fP will be called every N seconds where N is the frametime interval set by \fBecore_animator_frametime_set()\fP. The function will be passed the \fCdata\fP pointer as its parameter.
+.PP
+When the animator \fCfunc\fP is called, it must return a value of either 1 or 0. If it returns 1, it will be called again at the next tick, or if it returns 0 it will be deleted automatically making any references/handles for it invalid. 
+.SS "EAPI void* ecore_animator_del (\fBEcore_Animator\fP * animator)"
+.PP
+Delete the specified animator from the animator list. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIanimator\fP The animator to delete 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The data pointer set for the animator
+.RE
+.PP
+Delete the specified \fCaqnimator\fP from the set of animators that are executed during main loop execution. This function returns the data parameter that was being passed to the callback on success, or NULL on failure. After this call returns the specified animator object \fCanimator\fP is invalid and should not be used again. It will not get called again after deletion. 
+.SS "EAPI double ecore_animator_frametime_get (void)"
+.PP
+Get the animator call interval in seconds. 
+.PP
+\fBReturns:\fP
+.RS 4
+The time in second in between animator ticks.
+.RE
+.PP
+this function retrieves the time inbetween animator ticks, in seconds. 
+.SS "EAPI void ecore_animator_frametime_set (double frametime)"
+.PP
+Set the animator call interval in seconds. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIframetime\fP The time in seconds in between animator ticks.
+.RE
+.PP
+This function sets the time interval (in seconds) inbetween animator ticks. 
+.SS "EAPI void ecore_app_args_get (int * argc, char *** argv)"
+.PP
+Return the programs stored command-line arguments. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIargc\fP A pointer to the return value to hold argc 
+.br
+\fIargv\fP A pointer to the return value to hold argv
+.RE
+.PP
+When called, this funciton returns the arguments for the program stored by \fBecore_app_args_set()\fP. The integer pointed to by \fCargc\fP will be filled, if the pointer is not NULL, and the string array pointer \fCargv\fP will be filled also if the pointer is not NULL. The values they are filled with will be the same set by \fBecore_app_args_set()\fP. 
+.SS "EAPI void ecore_app_args_set (int argc, const char ** argv)"
+.PP
+Set up the programs command-line arguments. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIargc\fP The same as passed as argc to the programs main() function 
+.br
+\fIargv\fP The same as passed as argv to the programs main() function
+.RE
+.PP
+A call to this function will store the programs command-line arguments for later use by \fBecore_app_restart()\fP or \fBecore_app_args_get()\fP. 
+.SS "EAPI void ecore_app_restart (void)"
+.PP
+Restart the program executable with the command-line arguments stored. 
+.PP
+This function will restart & re-execute this program in place of itself using the command-line arguments stored by \fBecore_app_args_set()\fP. This is an easy way for a program to restart itself for cleanup purposes, configuration reasons or in the event of a crash. 
+.SS "EAPI \fBEcore_Event\fP* ecore_event_add (int type, void * ev, void(*)(void *data, void *ev) func_free, void * data)"
+.PP
+Add an event to the event queue. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fItype\fP The event type to add to the end of the event queue 
+.br
+\fIev\fP The private data structure for this event type 
+.br
+\fIfunc_free\fP The function to be called to free this private structure 
+.br
+\fIdata\fP The data pointer to be passed to the free function 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+A Handle for that event
+.RE
+.PP
+On success this function returns a handle to an event on the event queue, or NULL if it fails. If it succeeds, an event of type \fCtype\fP will be added to the queue for processing by event handlers added by \fBecore_event_handler_add()\fP. The \fCev\fP parameter will be a pointer to the event private data that is specific to that event type. When the event is no longer needed, \fCfunc_free\fP will be called and passed the private structure pointer for cleaning up. If \fCfunc_free\fP is NULL, free() will be called with the private structure pointer. func_free is passed \fCdata\fP as its data parameter. 
+.SS "EAPI void* ecore_event_current_event_get (void)"
+.PP
+Return the current event type pointer handled. 
+.PP
+\fBReturns:\fP
+.RS 4
+The current event pointer being handled if inside a handler callback
+.RE
+.PP
+If the program is currently inside an Ecore event handler callback this will return the pointer of the current event being processed. If Ecore is not inside an event handler, NULL will be returned.
+.PP
+This is useful when certain Ecore modules such as Ecore_Evas 'swallow' events and not all the original information is passed on. In special cases this extra information may be useful or needed and using this call can let the program access the event data if the type of the event is handled by the program. 
+.SS "EAPI int ecore_event_current_type_get (void)"
+.PP
+Return the current event type being handled. 
+.PP
+\fBReturns:\fP
+.RS 4
+The current event type being handled if inside a handler callback
+.RE
+.PP
+If the program is currently inside an Ecore event handler callback this will return the type of the current event being processed. If Ecore is not inside an event handler, ECORE_EVENT_NONE is returned.
+.PP
+This is useful when certain Ecore modules such as Ecore_Evas 'swallow' events and not all the original information is passed on. In special cases this extra information may be useful or needed and using this call can let the program know if the event type being handled is one it wants to get more information about. 
+.SS "EAPI void* ecore_event_del (\fBEcore_Event\fP * event)"
+.PP
+Delete an event from the queue. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIevent\fP The event handle to delete 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The data pointer originally set for the event free function
+.RE
+.PP
+This deletes the event \fCevent\fP from the event queue, and returns the \fCdata\fP parameer originally set when adding it with \fBecore_event_add()\fP. This does not immediately call the free function, and it may be called later on cleanup, and so if the free function depends on the data pointer to work, you should defer cleaning of this till the free function is called later. 
+.SS "EAPI \fBEcore_Event_Filter\fP* ecore_event_filter_add (void *(*)(void *data) func_start, int(*)(void *data, void *loop_data, int type, void *event) func_filter, void(*)(void *data, void *loop_data) func_end, const void * data)"
+.PP
+Add a filter the current event queue. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIfunc_start\fP Function to call just before filtering and return data 
+.br
+\fIfunc_filter\fP Function to call on each event 
+.br
+\fIfunc_end\fP Function to call after the queu has been filtered 
+.br
+\fIdata\fP Data to pass to the filter functions 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+A filter handle
+.RE
+.PP
+This adds a filter to call callbacks to loop through the event queue and filter events out of the queue. On failure NULL is returned. On success a Filter handle is returned. Filters are called on the queue just before Event handler processing to try and remove redundant events. Just as processing starts \fCfunc_start\fP is called and passed the \fCdata\fP pointer. This function returns a pointer that is used as loop_data that is now passed to \fCfunc_filter\fP as loop_data. \fCfunc_filter\fP is also passed \fCdata\fP and the event type and private event structure. If this callback returns 0, the event is removed from the queue. If it returns 1, the event is kept. When processing is finished \fCfunc_end\fP is called and is passed the loop_data and \fCdata\fP pointer to clean up. 
+.SS "EAPI void* ecore_event_filter_del (\fBEcore_Event_Filter\fP * ef)"
+.PP
+Delete an event filter. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIef\fP The event filter handle 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The data set for the filter
+.RE
+.PP
+Delete a filter that has been added by its \fCef\fP handle. On success this will return the data pointer set when this filter was added. On failure NULL is returned. 
+.SS "EAPI \fBEcore_Event_Handler\fP* ecore_event_handler_add (int type, int(*)(void *data, int type, void *event) func, const void * data)"
+.PP
+Add an event handler. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fItype\fP The type of the event this handler will get called for 
+.br
+\fIfunc\fP The function to call when the event is found in the queue 
+.br
+\fIdata\fP A data pointer to pass to the called function \fCfunc\fP 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+A new Event handler, or NULL on failure
+.RE
+.PP
+Add an event handler to the list of handlers. This will, on success, return a handle to the event handler object that was created, that can be used later to remove the handler using \fBecore_event_handler_del()\fP. The \fCtype\fP parameter is the iteger of the event type that will trigger this callback to be called. The callback \fCfunc\fP is called when this event is processed and will be passed the event type, a pointer to the private event structure that is specific to that event type, and a data pointer that is provided in this call as the \fCdata\fP parameter.
+.PP
+When the callback \fCfunc\fP is called, it must return 1 or 0. If it returns 1, It will keep being called as per normal, for each handler set up for that event type. If it returns 0, it will cease processing handlers for that particular event, so all handler set to handle that event type that have not already been called, will not be. 
+.SS "EAPI void* ecore_event_handler_del (\fBEcore_Event_Handler\fP * event_handler)"
+.PP
+Delete an event handler. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIevent_handler\fP Event handler handle to delete 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+Data passed to handler
+.RE
+.PP
+Delete a specified event handler from the handler list. On success this will delete the event handler and return the pointer passed as \fCdata\fP when the handler was added by \fBecore_event_handler_add()\fP. On failure NULL will be returned. Once a handler is deleted it will no longer be called. 
+.SS "EAPI int ecore_event_type_new (void)"
+.PP
+Allocate a new event type id sensibly and return the new id. 
+.PP
+\fBReturns:\fP
+.RS 4
+A new event type id.
+.RE
+.PP
+This function allocates a new event type id and returns it. Once an event type has been allocated it can never be de-allocated during the life of the program. There is no guarantee of the contents of this event ID, or how it is calculated, except that the ID will be unique to the current instance of the process. 
+.SS "EAPI int ecore_init (void)"
+.PP
+Set up connections, signal handlers, sockets etc. 
+.PP
+\fBReturns:\fP
+.RS 4
+1 or greater on success, 0 otherwise
+.RE
+.PP
+This function sets up all singal handlers and the basic event loop. If it succeeds, 1 will be returned, otherwise 0 will be returned.
+.PP
+.PP
+.nf
+ #include <Ecore.h>
+
+ int main(int argc, char **argv)
+ {
+   if (!ecore_init())
+   {
+     printf('ERROR: Cannot init Ecore!\n');
+     return -1;
+   }
+   ecore_main_loop_begin();
+   ecore_shutdown();
+ }
+.fi
+.PP
+ 
+.SS "EAPI int ecore_shutdown (void)"
+.PP
+Shut down connections, signal handlers sockets etc. 
+.PP
+This function shuts down all things set up in \fBecore_init()\fP and cleans up all event queues, handlers, filters, timers, idlers, idle enterers/exiters etc. set up after \fBecore_init()\fP was called.
+.PP
+Do not call this function from any callback that may be called from the main loop, as the main loop will then fall over and not function properly. 
+.SH "Author"
+.PP 
+Generated automatically by Doxygen for Ecore from the source code.
diff --git a/doc/man/man3/Ecore_ADT_Page.3 b/doc/man/man3/Ecore_ADT_Page.3
new file mode 100644
index 0000000..dbec79f
--- /dev/null
+++ b/doc/man/man3/Ecore_ADT_Page.3
@@ -0,0 +1,66 @@
+.TH "Ecore_ADT_Page" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+Ecore_ADT_Page \- Ecore Abstract Data Types
+This page briefly describes the different abstract data types that are provided by the Ecore library for general usage.
+.PP
+You need to include the \fBEcore_Data.h \fP to use them.
+.SH "List"
+.PP
+A list is a simple data type where one each piece of data points to another piece of data.
+.PP
+Associated modules that describe the List ADT include: 
+.PD 0
+
+.IP "\(bu" 2
+\fBList Creation/Destruction Functions\fP 
+.IP "\(bu" 2
+\fBList Item Adding Functions\fP 
+.IP "\(bu" 2
+\fBList Item Removing Functions\fP 
+.IP "\(bu" 2
+\fBList Traversal Functions\fP 
+.IP "\(bu" 2
+\fBList Node Functions\fP
+.PP
+Examples involving lists include: 
+.PD 0
+
+.IP "\(bu" 2
+\fBlist_example.c \fP
+.PP
+.SH "Doubly Linked List"
+.PP
+A doubly linked list is like a linked list, only each piece of data can also point to the piece before it. In other words, you can traverse a doubly linked list in both directions.
+.PP
+Associated modules that describe the DList ADT include: 
+.PD 0
+
+.IP "\(bu" 2
+\fBDoubly Linked List Creation/Destruction Functions\fP 
+.IP "\(bu" 2
+\fBDoubly Linked List Adding Functions\fP 
+.IP "\(bu" 2
+\fBDoubly Linked List Removing Functions\fP
+.PP
+.SH "Hash"
+.PP
+A hash is an abstract data type where one value is associated with another value. Instead of each element of the group being accessible using a number, each element is accessed using another object.
+.PP
+Associated modules that describe the Hash ADT include: 
+.PD 0
+
+.IP "\(bu" 2
+\fBHash Creation Functions\fP 
+.IP "\(bu" 2
+\fBHash Destruction Functions\fP 
+.IP "\(bu" 2
+\fBHash Data Functions\fP
+.PP
+\fBTodo\fP
+.RS 4
+Finish this. 
+.RE
+.PP
+
diff --git a/doc/man/man3/Ecore_Animator.3 b/doc/man/man3/Ecore_Animator.3
new file mode 100644
index 0000000..e26b883
--- /dev/null
+++ b/doc/man/man3/Ecore_Animator.3
@@ -0,0 +1 @@
+.so man3/Ecore.h.3
diff --git a/doc/man/man3/Ecore_Con.h.3 b/doc/man/man3/Ecore_Con.h.3
new file mode 100644
index 0000000..046d775
--- /dev/null
+++ b/doc/man/man3/Ecore_Con.h.3
@@ -0,0 +1,134 @@
+.TH "Ecore_Con.h" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+Ecore_Con.h \- Sockets functions. 
+.SH SYNOPSIS
+.br
+.PP
+.SS "Typedefs"
+
+.in +1c
+.ti -1c
+.RI "typedef _Ecore_Con_Server \fBEcore_Con_Server\fP"
+.br
+.RI "\fIA connection handle. \fP"
+.ti -1c
+.RI "typedef _Ecore_Con_Client \fBEcore_Con_Client\fP"
+.br
+.RI "\fIA connection handle. \fP"
+.in -1c
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI int \fBecore_con_init\fP (void)"
+.br
+.RI "\fIInitialises the Ecore_Con library. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_con_shutdown\fP (void)"
+.br
+.RI "\fIShuts down the Ecore_Con library. \fP"
+.ti -1c
+.RI "EAPI \fBEcore_Con_Server\fP * \fBecore_con_server_add\fP (Ecore_Con_Type type, const char *name, int port, const void *data)"
+.br
+.RI "\fICreates a server to listen for connections. \fP"
+.ti -1c
+.RI "EAPI \fBEcore_Con_Server\fP * \fBecore_con_server_connect\fP (Ecore_Con_Type type, const char *name, int port, const void *data)"
+.br
+.RI "\fICreates a server object to represent the server listening at the given port. \fP"
+.ti -1c
+.RI "EAPI void * \fBecore_con_server_del\fP (\fBEcore_Con_Server\fP *svr)"
+.br
+.RI "\fICloses the connection and frees the given server. \fP"
+.ti -1c
+.RI "EAPI void * \fBecore_con_server_data_get\fP (\fBEcore_Con_Server\fP *svr)"
+.br
+.RI "\fIRetrieves the data associated with the given server. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_con_server_connected_get\fP (\fBEcore_Con_Server\fP *svr)"
+.br
+.RI "\fIRetrieves whether the given server is currently connected. \fP"
+.ti -1c
+.RI "EAPI Ecore_List * \fBecore_con_server_clients_get\fP (\fBEcore_Con_Server\fP *svr)"
+.br
+.RI "\fIRetrieves the current list of clients. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_con_server_send\fP (\fBEcore_Con_Server\fP *svr, const void *data, int size)"
+.br
+.RI "\fISends the given data to the given server. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_con_server_client_limit_set\fP (\fBEcore_Con_Server\fP *svr, int client_limit, char reject_excess_clients)"
+.br
+.RI "\fISets a limit on the number of clients that can be handled concurrently by the given server, and a policy on what to do if excess clients try to connect. \fP"
+.ti -1c
+.RI "EAPI char * \fBecore_con_server_ip_get\fP (\fBEcore_Con_Server\fP *svr)"
+.br
+.RI "\fIGets the IP address of a server that has been connected to. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_con_server_flush\fP (\fBEcore_Con_Server\fP *svr)"
+.br
+.RI "\fIFlushes all pending data to the given server. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_con_client_send\fP (\fBEcore_Con_Client\fP *cl, void *data, int size)"
+.br
+.RI "\fISends the given data to the given client. \fP"
+.ti -1c
+.RI "EAPI \fBEcore_Con_Server\fP * \fBecore_con_client_server_get\fP (\fBEcore_Con_Client\fP *cl)"
+.br
+.RI "\fIRetrieves the server representing the socket the client has connected to. \fP"
+.ti -1c
+.RI "EAPI void * \fBecore_con_client_del\fP (\fBEcore_Con_Client\fP *cl)"
+.br
+.RI "\fICloses the connection and frees memory allocated to the given client. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_con_client_data_set\fP (\fBEcore_Con_Client\fP *cl, const void *data)"
+.br
+.RI "\fISets the data associated with the given client to \fCdata\fP. \fP"
+.ti -1c
+.RI "EAPI void * \fBecore_con_client_data_get\fP (\fBEcore_Con_Client\fP *cl)"
+.br
+.RI "\fIRetrieves the data associated with the given client. \fP"
+.ti -1c
+.RI "EAPI char * \fBecore_con_client_ip_get\fP (\fBEcore_Con_Client\fP *cl)"
+.br
+.RI "\fIGets the IP address of a cleint that has connected. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_con_client_flush\fP (\fBEcore_Con_Client\fP *cl)"
+.br
+.RI "\fIFlushes all pending data to the given client. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_con_ssl_available_get\fP (void)"
+.br
+.RI "\fIReturns if SSL support is available. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Sockets functions. 
+
+The Ecore Connection Library ( \fCEcore_Con\fP ) provides simple mechanisms for communications between programs using reliable sockets. It saves the programmer from having to worry about file descripters and waiting for incoming connections.
+.PP
+There are two main objects in the \fCEcore_Con\fP library: the \fCEcore_Con_Server\fP and the \fCEcore_Con_Client\fP.
+.PP
+The \fCEcore_Con_Server\fP represents a server to connect to. It is represents a server that can be connected to. It is used regardless of whether the program is acting as a server or client itself.
+.PP
+To create a listening server, call \fC\fBecore_con_server_add()\fP\fP.
+.PP
+To connect to a server, call \fC\fBecore_con_server_connect()\fP\fP. Data can then be sent to the server using the \fC\fBecore_con_server_send()\fP\fP.
+.PP
+Whenever a client connection is made to an \fCEcore_Con_Server\fP, a \fCECORE_CON_CLIENT_ADD\fP event is emitted. Any event callbacks that are called receive a \fCEcore_Con_Client\fP object, which represents a connection that that particular client.
+.PP
+Functions are described in the following groupings: 
+.PD 0
+
+.IP "\(bu" 2
+\fBEcore Connection Library Functions\fP 
+.IP "\(bu" 2
+\fBEcore Connection Server Functions\fP 
+.IP "\(bu" 2
+\fBEcore Connection Client Functions\fP 
+.PP
+
+.SH "Author"
+.PP 
+Generated automatically by Doxygen for Ecore from the source code.
diff --git a/doc/man/man3/Ecore_Con_Client.3 b/doc/man/man3/Ecore_Con_Client.3
new file mode 100644
index 0000000..a222420
--- /dev/null
+++ b/doc/man/man3/Ecore_Con_Client.3
@@ -0,0 +1 @@
+.so man3/Ecore_Con.h.3
diff --git a/doc/man/man3/Ecore_Con_Client_Group.3 b/doc/man/man3/Ecore_Con_Client_Group.3
new file mode 100644
index 0000000..6889ef4
--- /dev/null
+++ b/doc/man/man3/Ecore_Con_Client_Group.3
@@ -0,0 +1,176 @@
+.TH "Ecore Connection Client Functions" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+Ecore Connection Client Functions \- Functions that operate on Ecore connection client objects.  
+
+.PP
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI int \fBecore_con_client_send\fP (\fBEcore_Con_Client\fP *cl, void *data, int size)"
+.br
+.RI "\fISends the given data to the given client. \fP"
+.ti -1c
+.RI "EAPI \fBEcore_Con_Server\fP * \fBecore_con_client_server_get\fP (\fBEcore_Con_Client\fP *cl)"
+.br
+.RI "\fIRetrieves the server representing the socket the client has connected to. \fP"
+.ti -1c
+.RI "EAPI void * \fBecore_con_client_del\fP (\fBEcore_Con_Client\fP *cl)"
+.br
+.RI "\fICloses the connection and frees memory allocated to the given client. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_con_client_data_set\fP (\fBEcore_Con_Client\fP *cl, const void *data)"
+.br
+.RI "\fISets the data associated with the given client to \fCdata\fP. \fP"
+.ti -1c
+.RI "EAPI void * \fBecore_con_client_data_get\fP (\fBEcore_Con_Client\fP *cl)"
+.br
+.RI "\fIRetrieves the data associated with the given client. \fP"
+.ti -1c
+.RI "EAPI char * \fBecore_con_client_ip_get\fP (\fBEcore_Con_Client\fP *cl)"
+.br
+.RI "\fIGets the IP address of a cleint that has connected. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_con_client_flush\fP (\fBEcore_Con_Client\fP *cl)"
+.br
+.RI "\fIFlushes all pending data to the given client. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_con_ssl_available_get\fP (void)"
+.br
+.RI "\fIReturns if SSL support is available. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_ipc_ssl_available_get\fP (void)"
+.br
+.RI "\fIReturns if SSL support is available. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Functions that operate on Ecore connection client objects. 
+.PP
+.SH "Function Documentation"
+.PP 
+.SS "EAPI void* ecore_con_client_data_get (\fBEcore_Con_Client\fP * cl)"
+.PP
+Retrieves the data associated with the given client. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIcl\fP The given client. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The data associated with \fCcl\fP. 
+.RE
+.PP
+
+.SS "EAPI void ecore_con_client_data_set (\fBEcore_Con_Client\fP * cl, const void * data)"
+.PP
+Sets the data associated with the given client to \fCdata\fP. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIcl\fP The given client. 
+.br
+\fIdata\fP What to set the data to. 
+.RE
+.PP
+
+.SS "EAPI void* ecore_con_client_del (\fBEcore_Con_Client\fP * cl)"
+.PP
+Closes the connection and frees memory allocated to the given client. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIcl\fP The given client. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+Data associated with the client. 
+.RE
+.PP
+
+.SS "EAPI void ecore_con_client_flush (\fBEcore_Con_Client\fP * cl)"
+.PP
+Flushes all pending data to the given client. 
+.PP
+Will return when done.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIcl\fP The given client. 
+.RE
+.PP
+
+.SS "EAPI char* ecore_con_client_ip_get (\fBEcore_Con_Client\fP * cl)"
+.PP
+Gets the IP address of a cleint that has connected. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIcl\fP The given client. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+A pointer to an internal string that contains the IP address of the connected client in the form 'XXX.YYY.ZZZ.AAA' IP notation. This string should not be modified or trusted to stay valid after deletion for the \fCcl\fP object. If no IP is known NULL is returned. 
+.RE
+.PP
+
+.SS "EAPI int ecore_con_client_send (\fBEcore_Con_Client\fP * cl, void * data, int size)"
+.PP
+Sends the given data to the given client. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIcl\fP The given client. 
+.br
+\fIdata\fP The given data. 
+.br
+\fIsize\fP Length of the data, in bytes, to send. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The number of bytes sent. \fC0\fP will be returned if there is an error. 
+.RE
+.PP
+
+.SS "EAPI \fBEcore_Con_Server\fP* ecore_con_client_server_get (\fBEcore_Con_Client\fP * cl)"
+.PP
+Retrieves the server representing the socket the client has connected to. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIcl\fP The given client. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The server that the client connected to. 
+.RE
+.PP
+
+.SS "EAPI int ecore_con_ssl_available_get (void)"
+.PP
+Returns if SSL support is available. 
+.PP
+\fBReturns:\fP
+.RS 4
+1 if SSL is available, 0 if it is not. 
+.RE
+.PP
+
+.SS "EAPI int ecore_ipc_ssl_available_get (void)"
+.PP
+Returns if SSL support is available. 
+.PP
+\fBReturns:\fP
+.RS 4
+1 if SSL is available, 0 if it is not. 
+.RE
+.PP
+
diff --git a/doc/man/man3/Ecore_Con_Lib_Group.3 b/doc/man/man3/Ecore_Con_Lib_Group.3
new file mode 100644
index 0000000..b306916
--- /dev/null
+++ b/doc/man/man3/Ecore_Con_Lib_Group.3
@@ -0,0 +1,45 @@
+.TH "Ecore Connection Library Functions" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+Ecore Connection Library Functions \- Utility functions that set up and shut down the Ecore Connection library.  
+
+.PP
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI int \fBecore_con_init\fP (void)"
+.br
+.RI "\fIInitialises the Ecore_Con library. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_con_shutdown\fP (void)"
+.br
+.RI "\fIShuts down the Ecore_Con library. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Utility functions that set up and shut down the Ecore Connection library. 
+.PP
+.SH "Function Documentation"
+.PP 
+.SS "EAPI int ecore_con_init (void)"
+.PP
+Initialises the Ecore_Con library. 
+.PP
+\fBReturns:\fP
+.RS 4
+Number of times the library has been initialised without being shut down. 
+.RE
+.PP
+
+.SS "EAPI int ecore_con_shutdown (void)"
+.PP
+Shuts down the Ecore_Con library. 
+.PP
+\fBReturns:\fP
+.RS 4
+Number of times the library has been initialised without being shut down. 
+.RE
+.PP
+
diff --git a/doc/man/man3/Ecore_Con_Server.3 b/doc/man/man3/Ecore_Con_Server.3
new file mode 100644
index 0000000..a222420
--- /dev/null
+++ b/doc/man/man3/Ecore_Con_Server.3
@@ -0,0 +1 @@
+.so man3/Ecore_Con.h.3
diff --git a/doc/man/man3/Ecore_Con_Server_Group.3 b/doc/man/man3/Ecore_Con_Server_Group.3
new file mode 100644
index 0000000..8da1437
--- /dev/null
+++ b/doc/man/man3/Ecore_Con_Server_Group.3
@@ -0,0 +1,246 @@
+.TH "Ecore Connection Server Functions" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+Ecore Connection Server Functions \- Functions that operate on Ecore server objects.  
+
+.PP
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI \fBEcore_Con_Server\fP * \fBecore_con_server_add\fP (Ecore_Con_Type compl_type, const char *name, int port, const void *data)"
+.br
+.RI "\fICreates a server to listen for connections. \fP"
+.ti -1c
+.RI "EAPI \fBEcore_Con_Server\fP * \fBecore_con_server_connect\fP (Ecore_Con_Type compl_type, const char *name, int port, const void *data)"
+.br
+.RI "\fICreates a server object to represent the server listening at the given port. \fP"
+.ti -1c
+.RI "EAPI void * \fBecore_con_server_del\fP (\fBEcore_Con_Server\fP *svr)"
+.br
+.RI "\fICloses the connection and frees the given server. \fP"
+.ti -1c
+.RI "EAPI void * \fBecore_con_server_data_get\fP (\fBEcore_Con_Server\fP *svr)"
+.br
+.RI "\fIRetrieves the data associated with the given server. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_con_server_connected_get\fP (\fBEcore_Con_Server\fP *svr)"
+.br
+.RI "\fIRetrieves whether the given server is currently connected. \fP"
+.ti -1c
+.RI "EAPI Ecore_List * \fBecore_con_server_clients_get\fP (\fBEcore_Con_Server\fP *svr)"
+.br
+.RI "\fIRetrieves the current list of clients. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_con_server_send\fP (\fBEcore_Con_Server\fP *svr, const void *data, int size)"
+.br
+.RI "\fISends the given data to the given server. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_con_server_client_limit_set\fP (\fBEcore_Con_Server\fP *svr, int client_limit, char reject_excess_clients)"
+.br
+.RI "\fISets a limit on the number of clients that can be handled concurrently by the given server, and a policy on what to do if excess clients try to connect. \fP"
+.ti -1c
+.RI "EAPI char * \fBecore_con_server_ip_get\fP (\fBEcore_Con_Server\fP *svr)"
+.br
+.RI "\fIGets the IP address of a server that has been connected to. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_con_server_flush\fP (\fBEcore_Con_Server\fP *svr)"
+.br
+.RI "\fIFlushes all pending data to the given server. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Functions that operate on Ecore server objects. 
+.PP
+.SH "Function Documentation"
+.PP 
+.SS "EAPI \fBEcore_Con_Server\fP* ecore_con_server_add (Ecore_Con_Type compl_type, const char * name, int port, const void * data)"
+.PP
+Creates a server to listen for connections. 
+.PP
+The socket on which the server listens depends on the connection type: 
+.PD 0
+
+.IP "\(bu" 2
+If \fIcompl_type\fP is \fCECORE_CON_LOCAL_USER\fP, the server will listen on the Unix socket '~/.ecore/[name]/[port]'. 
+.IP "\(bu" 2
+If \fIcompl_type\fP is \fCECORE_CON_LOCAL_SYSTEM\fP, the server will listen on Unix socket '/tmp/.ecore_service|[name]|[port]'. 
+.IP "\(bu" 2
+If \fIcompl_type\fP is \fCECORE_CON_REMOTE_SYSTEM\fP, the server will listen on TCP port \fCport\fP.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIcompl_type\fP The connection type. 
+.br
+\fIname\fP Name to associate with the socket. It is used when generating the socket name of a Unix socket. Though it is not used for the TCP socket, it still needs to be a valid character array. \fCNULL\fP will not be accepted. 
+.br
+\fIport\fP Number to identify socket. When a Unix socket is used, it becomes part of the socket name. When a TCP socket is used, it is used as the TCP port. 
+.br
+\fIdata\fP Data to associate with the created Ecore_Con_Server object. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+A new Ecore_Con_Server. 
+.RE
+.PP
+
+.SS "EAPI void ecore_con_server_client_limit_set (\fBEcore_Con_Server\fP * svr, int client_limit, char reject_excess_clients)"
+.PP
+Sets a limit on the number of clients that can be handled concurrently by the given server, and a policy on what to do if excess clients try to connect. 
+.PP
+Beware that if you set this once ecore is already running, you may already have pending CLIENT_ADD events in your event queue. Those clients have already connected and will not be affected by this call. Only clients subsequently trying to connect will be affected. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIsvr\fP The given server. 
+.br
+\fIclient_limit\fP The maximum number of clients to handle concurrently. -1 means unlimited (default). 0 effectively disables the server. 
+.br
+\fIreject_excess_clients\fP Set to 1 to automatically disconnect excess clients as soon as they connect if you are already handling client_limit clients. Set to 0 (default) to just hold off on the 'accept()' system call until the number of active clients drops. This causes the kernel to queue up to 4096 connections (or your kernel's limit, whichever is lower). 
+.RE
+.PP
+
+.SS "EAPI Ecore_List* ecore_con_server_clients_get (\fBEcore_Con_Server\fP * svr)"
+.PP
+Retrieves the current list of clients. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIsvr\fP The given server. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The list of clients on this server. 
+.RE
+.PP
+
+.SS "EAPI \fBEcore_Con_Server\fP* ecore_con_server_connect (Ecore_Con_Type compl_type, const char * name, int port, const void * data)"
+.PP
+Creates a server object to represent the server listening at the given port. 
+.PP
+The socket to which the server connects depends on the connection type: 
+.PD 0
+
+.IP "\(bu" 2
+If \fIcompl_type\fP is \fCECORE_CON_LOCAL_USER\fP, the function will connect to the server listening on the Unix socket '~/.ecore/[name]/[port]'. 
+.IP "\(bu" 2
+If \fIcompl_type\fP is \fCECORE_CON_LOCAL_SYSTEM\fP, the function will connect to the server listening on the Unix socket '/tmp/.ecore_service|[name]|[port]'. 
+.IP "\(bu" 2
+If \fIcompl_type\fP is \fCECORE_CON_REMOTE_SYSTEM\fP, the function will connect to the server listening on the TCP port '[name]:[port]'.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIcompl_type\fP The connection type. 
+.br
+\fIname\fP Name used when determining what socket to connect to. It is used to generate the socket name when the socket is a Unix socket. It is used as the hostname when connecting with a TCP socket. 
+.br
+\fIport\fP Number to identify the socket to connect to. Used when generating the socket name for a Unix socket, or as the TCP port when connecting to a TCP socket. 
+.br
+\fIdata\fP Data to associate with the created Ecore_Con_Server object. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+A new Ecore_Con_Server. 
+.RE
+.PP
+
+.SS "EAPI int ecore_con_server_connected_get (\fBEcore_Con_Server\fP * svr)"
+.PP
+Retrieves whether the given server is currently connected. 
+.PP
+\fBTodo\fP
+.RS 4
+Check that this function does what the documenter believes it does. 
+.RE
+.PP
+\fBParameters:\fP
+.RS 4
+\fIsvr\fP The given server. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+\fC1\fP if the server is connected. \fC0\fP otherwise. 
+.RE
+.PP
+
+.SS "EAPI void* ecore_con_server_data_get (\fBEcore_Con_Server\fP * svr)"
+.PP
+Retrieves the data associated with the given server. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIsvr\fP The given server. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The associated data. 
+.RE
+.PP
+
+.SS "EAPI void* ecore_con_server_del (\fBEcore_Con_Server\fP * svr)"
+.PP
+Closes the connection and frees the given server. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIsvr\fP The given server. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+Data associated with the server when it was created. 
+.RE
+.PP
+
+.SS "EAPI void ecore_con_server_flush (\fBEcore_Con_Server\fP * svr)"
+.PP
+Flushes all pending data to the given server. 
+.PP
+Will return when done.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIsvr\fP The given server. 
+.RE
+.PP
+
+.SS "EAPI char* ecore_con_server_ip_get (\fBEcore_Con_Server\fP * svr)"
+.PP
+Gets the IP address of a server that has been connected to. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIsvr\fP The given server. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+A pointer to an internal string that contains the IP address of the connected server in the form 'XXX.YYY.ZZZ.AAA' IP notation. This string should not be modified or trusted to stay valid after deletion for the \fCsvr\fP object. If no IP is known NULL is returned. 
+.RE
+.PP
+
+.SS "EAPI int ecore_con_server_send (\fBEcore_Con_Server\fP * svr, const void * data, int size)"
+.PP
+Sends the given data to the given server. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIsvr\fP The given server. 
+.br
+\fIdata\fP The given data. 
+.br
+\fIsize\fP Length of the data, in bytes, to send. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The number of bytes sent. \fC0\fP will be returned if there is an error. 
+.RE
+.PP
+
diff --git a/doc/man/man3/Ecore_Config.h.3 b/doc/man/man3/Ecore_Config.h.3
new file mode 100644
index 0000000..ddfa234
--- /dev/null
+++ b/doc/man/man3/Ecore_Config.h.3
@@ -0,0 +1,648 @@
+.TH "Ecore_Config.h" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+Ecore_Config.h \- Provides the Enlightened Property Library. 
+.SH SYNOPSIS
+.br
+.PP
+.SS "Data Structures"
+
+.in +1c
+.ti -1c
+.RI "struct \fBEcore_Config_Prop\fP"
+.br
+.RI "\fIThe actual property for storing a key-value pair. \fP"
+.in -1c
+.SS "Typedefs"
+
+.in +1c
+.ti -1c
+.RI "typedef int(*) \fBEcore_Config_Listener\fP (const char *key, const \fBEcore_Config_Type\fP type, const int tag, void *data)"
+.br
+.RI "\fIProperty change callback function prototype. \fP"
+.in -1c
+.SS "Enumerations"
+
+.in +1c
+.ti -1c
+.RI "enum \fBEcore_Config_Type\fP { \fBECORE_CONFIG_NIL\fP =  0, \fBECORE_CONFIG_INT\fP =  1, \fBECORE_CONFIG_FLT\fP =  2, \fBECORE_CONFIG_STR\fP =  3, \fBECORE_CONFIG_RGB\fP =  4, \fBECORE_CONFIG_THM\fP =  5, \fBECORE_CONFIG_BLN\fP =  6, \fBECORE_CONFIG_SCT\fP =  7 }"
+.br
+.RI "\fIValid configuration property types. \fP"
+.in -1c
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI \fBEcore_Config_Prop\fP * \fBecore_config_get\fP (const char *key)"
+.br
+.RI "\fIReturns the property with the given key. \fP"
+.ti -1c
+.RI "EAPI const char * \fBecore_config_type_get\fP (const \fBEcore_Config_Prop\fP *e)"
+.br
+.RI "\fIReturns the type of the property. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_config_boolean_get\fP (const char *key)"
+.br
+.RI "\fIReturns the specified property as an integer. \fP"
+.ti -1c
+.RI "EAPI char * \fBecore_config_string_get\fP (const char *key)"
+.br
+.RI "\fIReturns the specified property as a string. \fP"
+.ti -1c
+.RI "EAPI long \fBecore_config_int_get\fP (const char *key)"
+.br
+.RI "\fIReturns the specified property as a long integer. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_config_argb_get\fP (const char *key, int *a, int *r, int *g, int *b)"
+.br
+.RI "\fIFinds the alpha, red, green and blue values of a color property. \fP"
+.ti -1c
+.RI "EAPI long \fBecore_config_argbint_get\fP (const char *key)"
+.br
+.RI "\fIReturns a color property as a long. \fP"
+.ti -1c
+.RI "EAPI char * \fBecore_config_argbstr_get\fP (const char *key)"
+.br
+.RI "\fIReturns a color property as a string of hexadecimal characters. \fP"
+.ti -1c
+.RI "EAPI float \fBecore_config_float_get\fP (const char *key)"
+.br
+.RI "\fIReturns the specified property as a float. \fP"
+.ti -1c
+.RI "EAPI char * \fBecore_config_theme_get\fP (const char *key)"
+.br
+.RI "\fIReturns a theme property. \fP"
+.ti -1c
+.RI "EAPI char * \fBecore_config_as_string_get\fP (const char *key)"
+.br
+.RI "\fIRetrieves the key as a string. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_config_describe\fP (const char *key, const char *desc)"
+.br
+.RI "\fISets the description field of the indicated property. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_config_short_opt_set\fP (const char *key, char short_opt)"
+.br
+.RI "\fISet the short option character of a property. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_config_long_opt_set\fP (const char *key, const char *long_opt)"
+.br
+.RI "\fISet the long option string of the property. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_config_set\fP (const char *key, const char *val)"
+.br
+.RI "\fISets the indicated property to the value indicated by \fIval\fP. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_config_typed_set\fP (const char *key, const void *val, int type)"
+.br
+.RI "\fISets the indicated property to the given value and type. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_config_boolean_set\fP (const char *key, int val)"
+.br
+.RI "\fISets the indicated property to the given boolean. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_config_string_set\fP (const char *key, const char *val)"
+.br
+.RI "\fISets the indicated property to the given string. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_config_int_set\fP (const char *key, int val)"
+.br
+.RI "\fISets the indicated property to the given integer. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_config_argb_set\fP (const char *key, int a, int r, int g, int b)"
+.br
+.RI "\fISets the indicated property to a color value. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_config_argbint_set\fP (const char *key, long argb)"
+.br
+.RI "\fISets the indicated property to a color value. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_config_argbstr_set\fP (const char *key, const char *val)"
+.br
+.RI "\fISets the indicated property to a color value. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_config_float_set\fP (const char *key, float val)"
+.br
+.RI "\fISets the indicated property to the given float value. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_config_theme_set\fP (const char *key, const char *val)"
+.br
+.RI "\fISets the indicated property to a theme name. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_config_theme_preview_group_set\fP (const char *key, const char *group)"
+.br
+.RI "\fISets the theme preview group of an indicated property. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_config_as_string_set\fP (const char *key, const char *val)"
+.br
+.RI "\fISets the indicated property to the value given in the string. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_config_default\fP (const char *key, const char *val, float lo, float hi, float step)"
+.br
+.RI "\fISets the indicated property if it has not already been set or loaded. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_config_boolean_default\fP (const char *key, int val)"
+.br
+.RI "\fISets the indicated property to the given boolean if the property has not yet been set. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_config_int_default\fP (const char *key, int val)"
+.br
+.RI "\fISets the indicated property to the given integer if the property has not yet been set. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_config_int_default_bound\fP (const char *key, int val, int lo, int hi, int step)"
+.br
+.RI "\fISets the indicated property to the given integer if the property has not yet been set. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_config_string_default\fP (const char *key, const char *val)"
+.br
+.RI "\fISets the indicated property to the given string if the property has not yet been set. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_config_float_default\fP (const char *key, float val)"
+.br
+.RI "\fISets the indicated property to the given float if the property has not yet been set. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_config_float_default_bound\fP (const char *key, float val, float lo, float hi, float step)"
+.br
+.RI "\fISets the indicated property to the given float if the property has not yet been set. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_config_argb_default\fP (const char *key, int a, int r, int g, int b)"
+.br
+.RI "\fISets the indicated property to a color value if the property has not yet been set. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_config_argbint_default\fP (const char *key, long argb)"
+.br
+.RI "\fISets the indicated property to a color value if the property has not yet been set. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_config_argbstr_default\fP (const char *key, const char *val)"
+.br
+.RI "\fISets the indicated property to a color value if the property has not yet been set. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_config_theme_default\fP (const char *key, const char *val)"
+.br
+.RI "\fISets the indicated property to a theme name if the property has not yet been set. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_config_struct_int_add\fP (const char *key, const char *name, int val)"
+.br
+.RI "\fIAdd an int property to the named structure. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_config_struct_float_add\fP (const char *key, const char *name, float val)"
+.br
+.RI "\fIAdd a float property to the named structure. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_config_struct_create\fP (const char *key)"
+.br
+.RI "\fISets the indicated property to a structure if the property has not yet been set. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_config_struct_string_add\fP (const char *key, const char *name, const char *val)"
+.br
+.RI "\fIAdd a string property to the named structure. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_config_struct_theme_add\fP (const char *key, const char *name, const char *val)"
+.br
+.RI "\fIAdd a theme property to the named structure. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_config_struct_argb_add\fP (const char *key, const char *name, int a, int r, int g, int b)"
+.br
+.RI "\fIAdd an argb property to the named structure. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_config_struct_boolean_add\fP (const char *key, const char *name, int val)"
+.br
+.RI "\fIAdd a boolean property to the named structure. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_config_struct_get\fP (const char *key, void *data)"
+.br
+.RI "\fIGet the contents of a defined structure property and load it into the passed C struct. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_config_listen\fP (const char *name, const char *key, \fBEcore_Config_Listener\fP listener, int tag, void *data)"
+.br
+.RI "\fIAdds a callback function to the list of functions called when a property changes. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_config_deaf\fP (const char *name, const char *key, \fBEcore_Config_Listener\fP listener)"
+.br
+.RI "\fIRemoves a listener callback. \fP"
+.ti -1c
+.RI "EAPI \fBEcore_Config_Prop\fP * \fBecore_config_dst\fP (\fBEcore_Config_Prop\fP *e)"
+.br
+.RI "\fIRemoves the given property from the local configuration and destroys it. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_config_type_guess\fP (const char *key, const char *val)"
+.br
+.RI "\fITries to guess the type of a property. \fP"
+.ti -1c
+.RI "EAPI Ecore_Config_Bundle * \fBecore_config_bundle_new\fP (Ecore_Config_Server *srv, const char *id)"
+.br
+.RI "\fICreates a new Ecore_Config_Bundle. \fP"
+.ti -1c
+.RI "EAPI Ecore_Config_Bundle * \fBecore_config_bundle_1st_get\fP (Ecore_Config_Server *srv)"
+.br
+.RI "\fILocates the first configuration bundle on the given server. \fP"
+.ti -1c
+.RI "EAPI Ecore_Config_Bundle * \fBecore_config_bundle_next_get\fP (Ecore_Config_Bundle *ns)"
+.br
+.RI "\fILocates the configuration bundle after the given one. \fP"
+.ti -1c
+.RI "EAPI Ecore_Config_Bundle * \fBecore_config_bundle_by_serial_get\fP (Ecore_Config_Server *srv, long serial)"
+.br
+.RI "\fILocates a configuration bundle on a configuration server based on its serial number. \fP"
+.ti -1c
+.RI "EAPI Ecore_Config_Bundle * \fBecore_config_bundle_by_label_get\fP (Ecore_Config_Server *srv, const char *label)"
+.br
+.RI "\fIGets the Ecore_Config_Bundle with the given identifier from the given server. \fP"
+.ti -1c
+.RI "EAPI long \fBecore_config_bundle_serial_get\fP (Ecore_Config_Bundle *ns)"
+.br
+.RI "\fIRetrieves the bundle's serial number. \fP"
+.ti -1c
+.RI "EAPI char * \fBecore_config_bundle_label_get\fP (Ecore_Config_Bundle *ns)"
+.br
+.RI "\fIRetrieves the bundle's identifier. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_config_init\fP (const char *name)"
+.br
+.RI "\fIInitializes the Enlightened Property Library. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_config_shutdown\fP (void)"
+.br
+.RI "\fIFrees memory and shuts down the library for an application. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_config_system_init\fP (void)"
+.br
+.RI "\fIInitializes the Enlightened Property Library. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_config_system_shutdown\fP (void)"
+.br
+.RI "\fIFrees memory and shuts down the library for other programming libraries. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_config_load\fP (void)"
+.br
+.RI "\fILoads the default configuration. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_config_file_load\fP (const char *file)"
+.br
+.RI "\fILoad the given configuration file to the local configuration. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_config_save\fP (void)"
+.br
+.RI "\fISaves the current configuration to the default file. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_config_file_save\fP (const char *file)"
+.br
+.RI "\fISaves the local configuration to the given file. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_config_evas_font_path_apply\fP (Evas *evas)"
+.br
+.RI "\fICalls evas_font_path_append on \fCevas\fP for each of the font names stored in the property '/e/font/path'. \fP"
+.ti -1c
+.RI "EAPI char * \fBecore_config_theme_search_path_get\fP (void)"
+.br
+.RI "\fIRetrieves the search path used to find themes. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_config_theme_search_path_append\fP (char *append)"
+.br
+.RI "\fIAdds the given path to the search path used to find themes. \fP"
+.ti -1c
+.RI "EAPI char * \fBecore_config_theme_default_path_get\fP (void)"
+.br
+.RI "\fIRetrieves the default theme search path. \fP"
+.ti -1c
+.RI "EAPI char * \fBecore_config_theme_with_path_from_name_get\fP (char *name)"
+.br
+.RI "\fIRetrieve a theme file's full path. \fP"
+.ti -1c
+.RI "EAPI char * \fBecore_config_theme_with_path_get\fP (const char *key)"
+.br
+.RI "\fIRetrieves the full path to the theme file of the theme stored in the given property. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_config_args_display\fP (void)"
+.br
+.RI "\fIPrints the property list of the local configuration bundle to output. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_config_args_parse\fP (void)"
+.br
+.RI "\fIParse the arguments set by \fBecore_app_args_set\fP and set properties accordingly. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_config_app_describe\fP (char *description)"
+.br
+.RI "\fISets the description string used by \fBecore_config_args_display\fP . \fP"
+.ti -1c
+.RI "EAPI int \fBecore_config_create\fP (const char *key, void *val, char short_opt, char *long_opt, char *desc)"
+.br
+.RI "\fICreates a new property, if it does not already exist, and sets its attributes to those given. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_config_typed_create\fP (const char *key, void *val, int type, char short_opt, char *long_opt, char *desc)"
+.br
+.RI "\fICreates a new property, if it does not already exist, and sets its attributes to those given. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_config_boolean_create\fP (const char *key, int val, char short_opt, char *long_opt, char *desc)"
+.br
+.RI "\fICreates a new boolean property, if it does not already exist, and sets its attributes to those given. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_config_int_create\fP (const char *key, int val, char short_opt, char *long_opt, char *desc)"
+.br
+.RI "\fICreates a new integer property, if it does not already exist, and sets its attributes to those given. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_config_int_create_bound\fP (const char *key, int val, int low, int high, int step, char short_opt, char *long_opt, char *desc)"
+.br
+.RI "\fICreates a new integer property, if it does not already exist, and sets its attributes to those given. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_config_string_create\fP (const char *key, char *val, char short_opt, char *long_opt, char *desc)"
+.br
+.RI "\fICreates a new string property, if it does not already exist, and sets its attributes to those given. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_config_float_create\fP (const char *key, float val, char short_opt, char *long_opt, char *desc)"
+.br
+.RI "\fICreates a new float property, if it does not already exist, and sets its attributes to those given. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_config_float_create_bound\fP (const char *key, float val, float low, float high, float step, char short_opt, char *long_opt, char *desc)"
+.br
+.RI "\fICreates a new float property, if it does not already exist, and sets its attributes to those given. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_config_argb_create\fP (const char *key, char *val, char short_opt, char *long_opt, char *desc)"
+.br
+.RI "\fICreates a new color property, if it does not already exist, and sets its attributes to those given. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_config_theme_create\fP (const char *key, char *val, char short_opt, char *long_opt, char *desc)"
+.br
+.RI "\fICreates a new theme property, if it does not already exist, and sets its attributes to those given. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Provides the Enlightened Property Library. 
+
+This file provies all headers and structs for use with Ecore_Config. Using individual header files should not be necessary. 
+.SH "Enumeration Type Documentation"
+.PP 
+.SS "enum \fBEcore_Config_Type\fP"
+.PP
+Valid configuration property types. 
+.PP
+\fBEnumerator: \fP
+.in +1c
+.TP
+\fB\fIECORE_CONFIG_NIL \fP\fP
+Property with no value. 
+.TP
+\fB\fIECORE_CONFIG_INT \fP\fP
+Integer property type. 
+.TP
+\fB\fIECORE_CONFIG_FLT \fP\fP
+Float property type. 
+.TP
+\fB\fIECORE_CONFIG_STR \fP\fP
+String property type. 
+.TP
+\fB\fIECORE_CONFIG_RGB \fP\fP
+Colour property type. 
+.TP
+\fB\fIECORE_CONFIG_THM \fP\fP
+Theme property type. 
+.TP
+\fB\fIECORE_CONFIG_BLN \fP\fP
+Boolean property type. 
+.TP
+\fB\fIECORE_CONFIG_SCT \fP\fP
+Structure property type. 
+.SH "Function Documentation"
+.PP 
+.SS "EAPI void ecore_config_app_describe (char * description)"
+.PP
+Sets the description string used by \fBecore_config_args_display\fP . 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIdescription\fP Description of application. 
+.RE
+.PP
+
+.SS "EAPI int ecore_config_args_parse (void)"
+.PP
+Parse the arguments set by \fBecore_app_args_set\fP and set properties accordingly. 
+.PP
+\fBReturns:\fP
+.RS 4
+\fCECORE_CONFIG_PARSE_CONTINUE\fP if successful. \fCECORE_CONFIG_PARSE_EXIT\fP is returned if an unrecognised option is found. \fCECORE_CONFIG_PARSE_HELP\fP is returned if help was displayed. 
+.RE
+.PP
+
+.SS "EAPI Ecore_Config_Bundle* ecore_config_bundle_1st_get (Ecore_Config_Server * srv)"
+.PP
+Locates the first configuration bundle on the given server. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIsrv\fP The configuration server. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+Pointer to the first configuration bundle. 
+.RE
+.PP
+
+.SS "EAPI Ecore_Config_Bundle* ecore_config_bundle_by_label_get (Ecore_Config_Server * srv, const char * label)"
+.PP
+Gets the Ecore_Config_Bundle with the given identifier from the given server. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIsrv\fP The configuration server. 
+.br
+\fIlabel\fP The bundle's identifier string. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The bundle with the given identifier string, or \fCNULL\fP if it could not be found. 
+.RE
+.PP
+
+.SS "EAPI Ecore_Config_Bundle* ecore_config_bundle_by_serial_get (Ecore_Config_Server * srv, long serial)"
+.PP
+Locates a configuration bundle on a configuration server based on its serial number. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIsrv\fP The configuration server. 
+.br
+\fIserial\fP Serial number. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The configuration bundle with the given serial number. 
+.RE
+.PP
+
+.SS "EAPI char* ecore_config_bundle_label_get (Ecore_Config_Bundle * ns)"
+.PP
+Retrieves the bundle's identifier. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIns\fP The configuration bundle. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The bundle's identifer string. 
+.RE
+.PP
+
+.SS "EAPI Ecore_Config_Bundle* ecore_config_bundle_new (Ecore_Config_Server * srv, const char * identifier)"
+.PP
+Creates a new Ecore_Config_Bundle. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIsrv\fP Config server. 
+.br
+\fIidentifier\fP Identifier string for the new bundle. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+A pointer to a new Ecore_Config_Bundle. \fCNULL\fP is returned if the structure couldn't be allocated. 
+.RE
+.PP
+
+.SS "EAPI Ecore_Config_Bundle* ecore_config_bundle_next_get (Ecore_Config_Bundle * ns)"
+.PP
+Locates the configuration bundle after the given one. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIns\fP The configuration bundle. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The next configuration bundle. 
+.RE
+.PP
+
+.SS "EAPI long ecore_config_bundle_serial_get (Ecore_Config_Bundle * ns)"
+.PP
+Retrieves the bundle's serial number. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIns\fP The configuration bundle. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The bundle's identifier string, or -1 if ns is \fCNULL\fP. 
+.RE
+.PP
+
+.SS "EAPI int ecore_config_evas_font_path_apply (Evas * evas)"
+.PP
+Calls evas_font_path_append on \fCevas\fP for each of the font names stored in the property '/e/font/path'. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIevas\fP Evas object to append the font names to. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+\fCECORE_CONFIG_ERR_SUCC\fP on success. \fCECORE_CONFIG_ERR_NODATA\fP is returned if the property has not been set. 
+.RE
+.PP
+
+.SS "EAPI char* ecore_config_theme_default_path_get (void)"
+.PP
+Retrieves the default theme search path. 
+.PP
+\fBReturns:\fP
+.RS 4
+The default theme search path. 
+.RE
+.PP
+
+.SS "EAPI int ecore_config_theme_search_path_append (char * path)"
+.PP
+Adds the given path to the search path used to find themes. 
+.PP
+If the search path is successfully, the new search path will be saved into the property '/e/themes/search_path'. Therefore, this function should be called \fBafter\fP \fBecore_config_load\fP to allow a user to override the default search path.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIpath\fP The given 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+\fCECORE_CONFIG_ERR_SUCC\fP on success. \fCECORE_CONFIG_ERR_FAIL\fP will be returned if \fCpath\fP already exists in the search path. \fCECORE_CONFIG_ERR_FAIL\fP is returned if \fCpath\fP is \fCNULL\fP. 
+.RE
+.PP
+
+.SS "EAPI char* ecore_config_theme_search_path_get (void)"
+.PP
+Retrieves the search path used to find themes. 
+.PP
+The search path is stored in the property '/e/themes/search_path'. If the property has not been set, the default path used is '/usr/local/share/<app_name>/themes|~/.e/apps/<app_name>/themes'. See \fBecore_config_theme_default_path_get\fP for more information about the default path.
+.PP
+\fBReturns:\fP
+.RS 4
+The search path. \fCNULL\fP is returned if there is no memory left. 
+.RE
+.PP
+
+.SS "EAPI char* ecore_config_theme_with_path_from_name_get (char * name)"
+.PP
+Retrieve a theme file's full path. 
+.PP
+The search path for theme files is given by \fBecore_config_theme_search_path_get\fP .
+.PP
+\fBParameters:\fP
+.RS 4
+\fIname\fP The name of the theme. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+A full path to the theme on success. \fCNULL\fP will be returned if \fCname\fP is \fCNULL\fP or no theme matching the given name could be found. 
+.RE
+.PP
+
+.SS "EAPI char* ecore_config_theme_with_path_get (const char * key)"
+.PP
+Retrieves the full path to the theme file of the theme stored in the given property. 
+.PP
+The search path for themes is given by \fBecore_config_theme_search_path_get\fP .
+.PP
+\fBParameters:\fP
+.RS 4
+\fIkey\fP The given property. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+A full path to the theme on success, or \fCNULL\fP on failure. This function will fail if no key is specified or not theme matching that given by the property \fCkey\fP could be found. 
+.RE
+.PP
+
+.SS "EAPI int ecore_config_type_guess (const char * key, const char * val)"
+.PP
+Tries to guess the type of a property. 
+.PP
+This function first checks to see if the property exists. If it does, then the type of the stored property is returned. Otherwise, the function tries to guess the type of the property based on \fCval\fP.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIkey\fP The property key. 
+.br
+\fIval\fP The value in string form. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The type of the property determined by the function. Note that if val is \fCNULL\fP, \fCECORE_CONFIG_NIL\fP will be returned. 
+.RE
+.PP
+
+.SH "Author"
+.PP 
+Generated automatically by Doxygen for Ecore from the source code.
diff --git a/doc/man/man3/Ecore_Config_App_Lib_Group.3 b/doc/man/man3/Ecore_Config_App_Lib_Group.3
new file mode 100644
index 0000000..94087e3
--- /dev/null
+++ b/doc/man/man3/Ecore_Config_App_Lib_Group.3
@@ -0,0 +1,52 @@
+.TH "Ecore Config App Library Functions" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+Ecore Config App Library Functions \- Functions that are used to start up and shutdown the Enlightened Property Library when used directly by an application.  
+
+.PP
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI int \fBecore_config_init\fP (const char *name)"
+.br
+.RI "\fIInitializes the Enlightened Property Library. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_config_shutdown\fP (void)"
+.br
+.RI "\fIFrees memory and shuts down the library for an application. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Functions that are used to start up and shutdown the Enlightened Property Library when used directly by an application. 
+.PP
+.SH "Function Documentation"
+.PP 
+.SS "EAPI int ecore_config_init (const char * name)"
+.PP
+Initializes the Enlightened Property Library. 
+.PP
+Either this function or \fBecore_config_system_init\fP must be run before any other function in the Enlightened Property Library, even if you have run \fBecore_init\fP . The name given is used to determine the default configuration to load.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIname\fP Application name 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+\fCECORE_CONFIG_ERR_SUCC\fP if the library is successfully set up. \fCECORE_CONFIG_ERR_FAIL\fP otherwise. 
+.RE
+.PP
+
+.SS "EAPI int ecore_config_shutdown (void)"
+.PP
+Frees memory and shuts down the library for an application. 
+.PP
+\fBReturns:\fP
+.RS 4
+\fCECORE_CONFIG_ERR_IGNORED\fP . 
+.RE
+.PP
+
diff --git a/doc/man/man3/Ecore_Config_Create_Group.3 b/doc/man/man3/Ecore_Config_Create_Group.3
new file mode 100644
index 0000000..ce43442
--- /dev/null
+++ b/doc/man/man3/Ecore_Config_Create_Group.3
@@ -0,0 +1,303 @@
+.TH "Ecore Config Create Functions" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+Ecore Config Create Functions \- Convenience functions that set default values, bounds, option values and descriptions in one call.  
+
+.PP
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "int \fBecore_config_create\fP (const char *key, void *val, char short_opt, char *long_opt, char *desc)"
+.br
+.RI "\fICreates a new property, if it does not already exist, and sets its attributes to those given. \fP"
+.ti -1c
+.RI "int \fBecore_config_typed_create\fP (const char *key, void *val, int type, char short_opt, char *long_opt, char *desc)"
+.br
+.RI "\fICreates a new property, if it does not already exist, and sets its attributes to those given. \fP"
+.ti -1c
+.RI "int \fBecore_config_boolean_create\fP (const char *key, int val, char short_opt, char *long_opt, char *desc)"
+.br
+.RI "\fICreates a new boolean property, if it does not already exist, and sets its attributes to those given. \fP"
+.ti -1c
+.RI "int \fBecore_config_int_create\fP (const char *key, int val, char short_opt, char *long_opt, char *desc)"
+.br
+.RI "\fICreates a new integer property, if it does not already exist, and sets its attributes to those given. \fP"
+.ti -1c
+.RI "int \fBecore_config_int_create_bound\fP (const char *key, int val, int low, int high, int step, char short_opt, char *long_opt, char *desc)"
+.br
+.RI "\fICreates a new integer property, if it does not already exist, and sets its attributes to those given. \fP"
+.ti -1c
+.RI "int \fBecore_config_string_create\fP (const char *key, char *val, char short_opt, char *long_opt, char *desc)"
+.br
+.RI "\fICreates a new string property, if it does not already exist, and sets its attributes to those given. \fP"
+.ti -1c
+.RI "int \fBecore_config_float_create\fP (const char *key, float val, char short_opt, char *long_opt, char *desc)"
+.br
+.RI "\fICreates a new float property, if it does not already exist, and sets its attributes to those given. \fP"
+.ti -1c
+.RI "int \fBecore_config_float_create_bound\fP (const char *key, float val, float low, float high, float step, char short_opt, char *long_opt, char *desc)"
+.br
+.RI "\fICreates a new float property, if it does not already exist, and sets its attributes to those given. \fP"
+.ti -1c
+.RI "int \fBecore_config_argb_create\fP (const char *key, char *val, char short_opt, char *long_opt, char *desc)"
+.br
+.RI "\fICreates a new color property, if it does not already exist, and sets its attributes to those given. \fP"
+.ti -1c
+.RI "int \fBecore_config_theme_create\fP (const char *key, char *val, char short_opt, char *long_opt, char *desc)"
+.br
+.RI "\fICreates a new theme property, if it does not already exist, and sets its attributes to those given. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Convenience functions that set default values, bounds, option values and descriptions in one call. 
+.PP
+.SH "Function Documentation"
+.PP 
+.SS "int ecore_config_argb_create (const char * key, char * val, char short_opt, char * long_opt, char * desc)"
+.PP
+Creates a new color property, if it does not already exist, and sets its attributes to those given. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIkey\fP The property key. 
+.br
+\fIval\fP Default color value of key, as a hexadecimal string. 
+.br
+\fIshort_opt\fP Short option used to set the property from command line. 
+.br
+\fIlong_opt\fP Long option used to set the property from command line. 
+.br
+\fIdesc\fP String description of property. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+\fCECORE_CONFIG_ERR_SUCC\fP on success. 
+.RE
+.PP
+
+.SS "int ecore_config_boolean_create (const char * key, int val, char short_opt, char * long_opt, char * desc)"
+.PP
+Creates a new boolean property, if it does not already exist, and sets its attributes to those given. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIkey\fP The property key. 
+.br
+\fIval\fP Default boolean value of key. 
+.br
+\fIshort_opt\fP Short option used to set the property from command line. 
+.br
+\fIlong_opt\fP Long option used to set the property from command line. 
+.br
+\fIdesc\fP String description of property. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+\fCECORE_CONFIG_ERR_SUCC\fP on success. 
+.RE
+.PP
+
+.SS "int ecore_config_create (const char * key, void * val, char short_opt, char * long_opt, char * desc)"
+.PP
+Creates a new property, if it does not already exist, and sets its attributes to those given. 
+.PP
+The type of the property is guessed from the key and the value given.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIkey\fP The property key. 
+.br
+\fIval\fP Pointer to default value of key. 
+.br
+\fIshort_opt\fP Short option used to set the property from command line. 
+.br
+\fIlong_opt\fP Long option used to set the property from command line. 
+.br
+\fIdesc\fP String description of property. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+\fCECORE_CONFIG_ERR_SUCC\fP on success. 
+.RE
+.PP
+
+.SS "int ecore_config_float_create (const char * key, float val, char short_opt, char * long_opt, char * desc)"
+.PP
+Creates a new float property, if it does not already exist, and sets its attributes to those given. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIkey\fP The property key. 
+.br
+\fIval\fP Default float value of key. 
+.br
+\fIshort_opt\fP Short option used to set the property from command line. 
+.br
+\fIlong_opt\fP Long option used to set the property from command line. 
+.br
+\fIdesc\fP String description of property. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+\fCECORE_CONFIG_ERR_SUCC\fP on success. 
+.RE
+.PP
+
+.SS "int ecore_config_float_create_bound (const char * key, float val, float low, float high, float step, char short_opt, char * long_opt, char * desc)"
+.PP
+Creates a new float property, if it does not already exist, and sets its attributes to those given. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIkey\fP The property key. 
+.br
+\fIval\fP Default float value of key. 
+.br
+\fIlow\fP Lowest valid float value for the property. 
+.br
+\fIhigh\fP Highest valid float value for the property. 
+.br
+\fIstep\fP Increment value for the property. 
+.br
+\fIshort_opt\fP Short option used to set the property from command line. 
+.br
+\fIlong_opt\fP Long option used to set the property from command line. 
+.br
+\fIdesc\fP String description of property. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+\fCECORE_CONFIG_ERR_SUCC\fP on success. 
+.RE
+.PP
+
+.SS "int ecore_config_int_create (const char * key, int val, char short_opt, char * long_opt, char * desc)"
+.PP
+Creates a new integer property, if it does not already exist, and sets its attributes to those given. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIkey\fP The property key. 
+.br
+\fIval\fP Default integer value of key. 
+.br
+\fIshort_opt\fP Short option used to set the property from command line. 
+.br
+\fIlong_opt\fP Long option used to set the property from command line. 
+.br
+\fIdesc\fP String description of property. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+\fCECORE_CONFIG_ERR_SUCC\fP on success. 
+.RE
+.PP
+
+.SS "int ecore_config_int_create_bound (const char * key, int val, int low, int high, int step, char short_opt, char * long_opt, char * desc)"
+.PP
+Creates a new integer property, if it does not already exist, and sets its attributes to those given. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIkey\fP The property key. 
+.br
+\fIval\fP Default integer value of key. 
+.br
+\fIlow\fP Lowest valid integer value for the property. 
+.br
+\fIhigh\fP Highest valid integer value for the property. 
+.br
+\fIstep\fP Increment value for the property. 
+.br
+\fIshort_opt\fP Short option used to set the property from command line. 
+.br
+\fIlong_opt\fP Long option used to set the property from command line. 
+.br
+\fIdesc\fP String description of property. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+\fCECORE_CONFIG_ERR_SUCC\fP on success. 
+.RE
+.PP
+
+.SS "int ecore_config_string_create (const char * key, char * val, char short_opt, char * long_opt, char * desc)"
+.PP
+Creates a new string property, if it does not already exist, and sets its attributes to those given. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIkey\fP The property key. 
+.br
+\fIval\fP Default value of key. 
+.br
+\fIshort_opt\fP Short option used to set the property from command line. 
+.br
+\fIlong_opt\fP Long option used to set the property from command line. 
+.br
+\fIdesc\fP String description of property. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+\fCECORE_CONFIG_ERR_SUCC\fP on success. 
+.RE
+.PP
+
+.SS "int ecore_config_theme_create (const char * key, char * val, char short_opt, char * long_opt, char * desc)"
+.PP
+Creates a new theme property, if it does not already exist, and sets its attributes to those given. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIkey\fP The property key. 
+.br
+\fIval\fP Default theme name for the property. 
+.br
+\fIshort_opt\fP Short option used to set the property from command line. 
+.br
+\fIlong_opt\fP Long option used to set the property from command line. 
+.br
+\fIdesc\fP String description of property. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+\fCECORE_CONFIG_ERR_SUCC\fP on success. 
+.RE
+.PP
+
+.SS "int ecore_config_typed_create (const char * key, void * val, int type, char short_opt, char * long_opt, char * desc)"
+.PP
+Creates a new property, if it does not already exist, and sets its attributes to those given. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIkey\fP The property key. 
+.br
+\fIval\fP Pointer to default value of key. 
+.br
+\fItype\fP Type of the property. 
+.br
+\fIshort_opt\fP Short option used to set the property from command line. 
+.br
+\fIlong_opt\fP Long option used to set the property from command line. 
+.br
+\fIdesc\fP String description of property. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+\fCECORE_CONFIG_ERR_SUCC\fP on success. 
+.RE
+.PP
+
diff --git a/doc/man/man3/Ecore_Config_Default_Group.3 b/doc/man/man3/Ecore_Config_Default_Group.3
new file mode 100644
index 0000000..3032212
--- /dev/null
+++ b/doc/man/man3/Ecore_Config_Default_Group.3
@@ -0,0 +1,281 @@
+.TH "Ecore Config Defaults" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+Ecore Config Defaults \- Functions that are used to set the default values of properties.  
+
+.PP
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI int \fBecore_config_default\fP (const char *key, const char *val, float lo, float hi, float step)"
+.br
+.RI "\fISets the indicated property if it has not already been set or loaded. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_config_boolean_default\fP (const char *key, int val)"
+.br
+.RI "\fISets the indicated property to the given boolean if the property has not yet been set. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_config_int_default\fP (const char *key, int val)"
+.br
+.RI "\fISets the indicated property to the given integer if the property has not yet been set. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_config_int_default_bound\fP (const char *key, int val, int low, int high, int step)"
+.br
+.RI "\fISets the indicated property to the given integer if the property has not yet been set. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_config_string_default\fP (const char *key, const char *val)"
+.br
+.RI "\fISets the indicated property to the given string if the property has not yet been set. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_config_float_default\fP (const char *key, float val)"
+.br
+.RI "\fISets the indicated property to the given float if the property has not yet been set. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_config_float_default_bound\fP (const char *key, float val, float low, float high, float step)"
+.br
+.RI "\fISets the indicated property to the given float if the property has not yet been set. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_config_argb_default\fP (const char *key, int a, int r, int g, int b)"
+.br
+.RI "\fISets the indicated property to a color value if the property has not yet been set. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_config_argbint_default\fP (const char *key, long argb)"
+.br
+.RI "\fISets the indicated property to a color value if the property has not yet been set. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_config_argbstr_default\fP (const char *key, const char *val)"
+.br
+.RI "\fISets the indicated property to a color value if the property has not yet been set. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_config_theme_default\fP (const char *key, const char *val)"
+.br
+.RI "\fISets the indicated property to a theme name if the property has not yet been set. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Functions that are used to set the default values of properties. 
+.PP
+.SH "Function Documentation"
+.PP 
+.SS "EAPI int ecore_config_argb_default (const char * key, int a, int r, int g, int b)"
+.PP
+Sets the indicated property to a color value if the property has not yet been set. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIkey\fP The property key. 
+.br
+\fIa\fP integer 0..255 
+.br
+\fIr\fP integer 0..255 
+.br
+\fIg\fP integer 0..255 
+.br
+\fIb\fP integer 0..255 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+\fCECORE_CONFIG_ERR_SUCC\fP if there are no problems. 
+.RE
+.PP
+
+.SS "EAPI int ecore_config_argbint_default (const char * key, long argb)"
+.PP
+Sets the indicated property to a color value if the property has not yet been set. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIkey\fP The property key. 
+.br
+\fIargb\fP ARGB data as long 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+\fCECORE_CONFIG_ERR_SUCC\fP if there are no problems. 
+.RE
+.PP
+
+.SS "EAPI int ecore_config_argbstr_default (const char * key, const char * val)"
+.PP
+Sets the indicated property to a color value if the property has not yet been set. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIkey\fP The property key. 
+.br
+\fIval\fP Color value in ARGB format. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+\fCECORE_CONFIG_ERR_SUCC\fP if there are no problems. 
+.RE
+.PP
+
+.SS "EAPI int ecore_config_boolean_default (const char * key, int val)"
+.PP
+Sets the indicated property to the given boolean if the property has not yet been set. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIkey\fP The property key. 
+.br
+\fIval\fP Boolean Integer to set the value to. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+\fCECORE_CONFIG_ERR_SUCC\fP if there are no problems. 
+.RE
+.PP
+
+.SS "EAPI int ecore_config_default (const char * key, const char * val, float lo, float hi, float step)"
+.PP
+Sets the indicated property if it has not already been set or loaded. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIkey\fP The property key. 
+.br
+\fIval\fP Default value of the key. 
+.br
+\fIlo\fP Lowest valid value for the key. 
+.br
+\fIhi\fP Highest valid value for the key. 
+.br
+\fIstep\fP Used by integer and float values. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+\fCECORE_CONFIG_ERR_SUCC\fP if there are no errors. 
+.RE
+.PP
+\fBNote:\fP
+.RS 4
+The \fClo\fP, \fChi\fP and \fCstep\fP parameters are only used when storing integer and float properties. 
+.RE
+.PP
+
+.SS "EAPI int ecore_config_float_default (const char * key, float val)"
+.PP
+Sets the indicated property to the given float if the property has not yet been set. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIkey\fP The property key. 
+.br
+\fIval\fP Float to set the property to. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+\fCECORE_CONFIG_ERR_SUCC\fP if there were no problems. 
+.RE
+.PP
+
+.SS "EAPI int ecore_config_float_default_bound (const char * key, float val, float low, float high, float step)"
+.PP
+Sets the indicated property to the given float if the property has not yet been set. 
+.PP
+The bounds and step values are set regardless.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIkey\fP The property key. 
+.br
+\fIval\fP Float to set the property to. 
+.br
+\fIlow\fP Lowest valid integer value for the property. 
+.br
+\fIhigh\fP Highest valid float value for the property. 
+.br
+\fIstep\fP Increment value for the property. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+\fCECORE_CONFIG_ERR_SUCC\fP if there were no problems. 
+.RE
+.PP
+
+.SS "EAPI int ecore_config_int_default (const char * key, int val)"
+.PP
+Sets the indicated property to the given integer if the property has not yet been set. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIkey\fP The property key. 
+.br
+\fIval\fP Integer to set the value to. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+\fCECORE_CONFIG_ERR_SUCC\fP if there are no problems. 
+.RE
+.PP
+
+.SS "EAPI int ecore_config_int_default_bound (const char * key, int val, int low, int high, int step)"
+.PP
+Sets the indicated property to the given integer if the property has not yet been set. 
+.PP
+The bounds and step values are set regardless.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIkey\fP The property key. 
+.br
+\fIval\fP Integer to set the property to. 
+.br
+\fIlow\fP Lowest valid integer value for the property. 
+.br
+\fIhigh\fP Highest valid integer value for the property. 
+.br
+\fIstep\fP Increment value for the property. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+\fCECORE_CONFIG_ERR_SUCC\fP if there were no problems. 
+.RE
+.PP
+
+.SS "EAPI int ecore_config_string_default (const char * key, const char * val)"
+.PP
+Sets the indicated property to the given string if the property has not yet been set. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIkey\fP The property key. 
+.br
+\fIval\fP String to set the property to. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+\fCECORE_CONFIG_ERR_SUCC\fP if there were no problems. 
+.RE
+.PP
+
+.SS "EAPI int ecore_config_theme_default (const char * key, const char * val)"
+.PP
+Sets the indicated property to a theme name if the property has not yet been set. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIkey\fP The property key. 
+.br
+\fIval\fP String giving the name of the theme. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+\fCECORE_CONFIG_ERR_SUCC\fP if the property is set successfully. 
+.RE
+.PP
+
diff --git a/doc/man/man3/Ecore_Config_File_Group.3 b/doc/man/man3/Ecore_Config_File_Group.3
new file mode 100644
index 0000000..75ea169
--- /dev/null
+++ b/doc/man/man3/Ecore_Config_File_Group.3
@@ -0,0 +1,83 @@
+.TH "Ecore Config File Functions" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+Ecore Config File Functions \- Functions that are used to load and save properties from and to files.  
+
+.PP
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI int \fBecore_config_load\fP (void)"
+.br
+.RI "\fILoads the default configuration. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_config_save\fP (void)"
+.br
+.RI "\fISaves the current configuration to the default file. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_config_file_load\fP (const char *file)"
+.br
+.RI "\fILoad the given configuration file to the local configuration. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_config_file_save\fP (const char *file)"
+.br
+.RI "\fISaves the local configuration to the given file. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Functions that are used to load and save properties from and to files. 
+.PP
+.SH "Function Documentation"
+.PP 
+.SS "EAPI int ecore_config_file_load (const char * file)"
+.PP
+Load the given configuration file to the local configuration. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIfile\fP Name of the file to load. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+\fCECORE_CONFIG_ERR_SUCC\fP on success. \fCECORE_CONFIG_ERR_NODATA\fP is returned if the file cannot be loaded. 
+.RE
+.PP
+
+.SS "EAPI int ecore_config_file_save (const char * file)"
+.PP
+Saves the local configuration to the given file. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIfile\fP Name of the file to save to. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+\fCECORE_CONFIG_ERR_SUCC\fP is returned on success. \fCECORE_CONFIG_ERR_FAIL\fP is returned if the data cannot be saved. 
+.RE
+.PP
+
+.SS "EAPI int ecore_config_load (void)"
+.PP
+Loads the default configuration. 
+.PP
+\fBReturns:\fP
+.RS 4
+\fCECORE_CONFIG_ERR_SUCC\fP on success. \fCECORE_CONFIG_ERR_NODATA\fP is returned if the file cannot be loaded. 
+.RE
+.PP
+
+.SS "EAPI int ecore_config_save (void)"
+.PP
+Saves the current configuration to the default file. 
+.PP
+\fBReturns:\fP
+.RS 4
+\fCECORE_CONFIG_ERR_SUCC\fP is returned on success. \fCECORE_CONFIG_ERR_FAIL\fP is returned if the data cannot be saved. 
+.RE
+.PP
+
diff --git a/doc/man/man3/Ecore_Config_Get_Group.3 b/doc/man/man3/Ecore_Config_Get_Group.3
new file mode 100644
index 0000000..d4678f8
--- /dev/null
+++ b/doc/man/man3/Ecore_Config_Get_Group.3
@@ -0,0 +1,215 @@
+.TH "Configuration Retrieve Functions" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+Configuration Retrieve Functions \- Functions that retrieve configuration values, based on type.  
+
+.PP
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI \fBEcore_Config_Prop\fP * \fBecore_config_get\fP (const char *key)"
+.br
+.RI "\fIReturns the property with the given key. \fP"
+.ti -1c
+.RI "EAPI char * \fBecore_config_string_get\fP (const char *key)"
+.br
+.RI "\fIReturns the specified property as a string. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_config_boolean_get\fP (const char *key)"
+.br
+.RI "\fIReturns the specified property as an integer. \fP"
+.ti -1c
+.RI "EAPI long \fBecore_config_int_get\fP (const char *key)"
+.br
+.RI "\fIReturns the specified property as a long integer. \fP"
+.ti -1c
+.RI "EAPI float \fBecore_config_float_get\fP (const char *key)"
+.br
+.RI "\fIReturns the specified property as a float. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_config_argb_get\fP (const char *key, int *a, int *r, int *g, int *b)"
+.br
+.RI "\fIFinds the alpha, red, green and blue values of a color property. \fP"
+.ti -1c
+.RI "EAPI long \fBecore_config_argbint_get\fP (const char *key)"
+.br
+.RI "\fIReturns a color property as a long. \fP"
+.ti -1c
+.RI "EAPI char * \fBecore_config_argbstr_get\fP (const char *key)"
+.br
+.RI "\fIReturns a color property as a string of hexadecimal characters. \fP"
+.ti -1c
+.RI "EAPI char * \fBecore_config_theme_get\fP (const char *key)"
+.br
+.RI "\fIReturns a theme property. \fP"
+.ti -1c
+.RI "EAPI char * \fBecore_config_as_string_get\fP (const char *key)"
+.br
+.RI "\fIRetrieves the key as a string. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Functions that retrieve configuration values, based on type. 
+.PP
+.SH "Function Documentation"
+.PP 
+.SS "EAPI int ecore_config_argb_get (const char * key, int * a, int * r, int * g, int * b)"
+.PP
+Finds the alpha, red, green and blue values of a color property. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIkey\fP The property key. 
+.br
+\fIa\fP A pointer to an integer to store the alpha value into. 
+.br
+\fIr\fP A pointer to an integer to store the red value into. 
+.br
+\fIg\fP A pointer to an integer to store the green value into. 
+.br
+\fIb\fP A pointer to an integer to store the blue value into. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+\fCECORE_CONFIG_ERR_SUCC\fP on success. \fCECORE_CONFIG_ERR_FAIL\fP otherwise. 
+.RE
+.PP
+
+.SS "EAPI long ecore_config_argbint_get (const char * key)"
+.PP
+Returns a color property as a long. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIkey\fP The property key. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+ARGB data as long 
+.RE
+.PP
+
+.SS "EAPI char* ecore_config_argbstr_get (const char * key)"
+.PP
+Returns a color property as a string of hexadecimal characters. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIkey\fP The property key. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+A string of hexadecimal characters in the format aarrggbb. 
+.RE
+.PP
+
+.SS "EAPI char* ecore_config_as_string_get (const char * key)"
+.PP
+Retrieves the key as a string. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIkey\fP The property key. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+Returns a character array in the form of 'key:type=value'. \fCNULL\fP is returned if the property does not exist. 
+.RE
+.PP
+
+.SS "EAPI int ecore_config_boolean_get (const char * key)"
+.PP
+Returns the specified property as an integer. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIkey\fP The property key. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The value of the property. The function returns -1 if the property is not an integer or is not set. 
+.RE
+.PP
+
+.SS "EAPI float ecore_config_float_get (const char * key)"
+.PP
+Returns the specified property as a float. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIkey\fP The property key. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The float value of the property. The function returns 0.0 if the property is not a float or is not set. 
+.RE
+.PP
+
+.SS "EAPI \fBEcore_Config_Prop\fP* ecore_config_get (const char * key)"
+.PP
+Returns the property with the given key. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIkey\fP The unique name of the wanted property. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The property that corresponds to the given key. \fCNULL\fP if the key could not be found. 
+.RE
+.PP
+
+.SS "EAPI long ecore_config_int_get (const char * key)"
+.PP
+Returns the specified property as a long integer. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIkey\fP The property key. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The integer value of the property. The function returns 0 if the property is not an integer or is not set. 
+.RE
+.PP
+
+.SS "EAPI char* ecore_config_string_get (const char * key)"
+.PP
+Returns the specified property as a string. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIkey\fP The property key. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The string value of the property. The function returns \fCNULL\fP if the property is not a string or is not set. 
+.RE
+.PP
+
+.SS "EAPI char* ecore_config_theme_get (const char * key)"
+.PP
+Returns a theme property. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIkey\fP The property key. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The name of the theme the property refers to. The function returns \fCNULL\fP if the property is not a theme or is not set. 
+.RE
+.PP
+
diff --git a/doc/man/man3/Ecore_Config_Lib_Lib_Group.3 b/doc/man/man3/Ecore_Config_Lib_Lib_Group.3
new file mode 100644
index 0000000..486fcc2
--- /dev/null
+++ b/doc/man/man3/Ecore_Config_Lib_Lib_Group.3
@@ -0,0 +1,49 @@
+.TH "Ecore Config Library Functions" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+Ecore Config Library Functions \- Functions that are used to start up and shutdown the Enlightened Property Library when used directly by an application.  
+
+.PP
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI int \fBecore_config_system_init\fP (void)"
+.br
+.RI "\fIInitializes the Enlightened Property Library. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_config_system_shutdown\fP (void)"
+.br
+.RI "\fIFrees memory and shuts down the library for other programming libraries. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Functions that are used to start up and shutdown the Enlightened Property Library when used directly by an application. 
+.PP
+.SH "Function Documentation"
+.PP 
+.SS "EAPI int ecore_config_system_init (void)"
+.PP
+Initializes the Enlightened Property Library. 
+.PP
+This function is meant to be run from other programming libraries. It should not be called from applications.
+.PP
+This function (or \fBecore_config_init\fP ) must be run before any other function in the Enlightened Property Library, even if you have run \fBecore_init\fP .
+.PP
+\fBReturns:\fP
+.RS 4
+\fCECORE_CONFIG_ERR_SUCC\fP if the library is successfully set up. \fCECORE_CONFIG_ERR_FAIL\fP otherwise. 
+.RE
+.PP
+
+.SS "EAPI int ecore_config_system_shutdown (void)"
+.PP
+Frees memory and shuts down the library for other programming libraries. 
+.PP
+\fBReturns:\fP
+.RS 4
+\fCECORE_CONFIG_ERR_IGNORED\fP 
+.RE
+.PP
+
diff --git a/doc/man/man3/Ecore_Config_Listener.3 b/doc/man/man3/Ecore_Config_Listener.3
new file mode 100644
index 0000000..c456545
--- /dev/null
+++ b/doc/man/man3/Ecore_Config_Listener.3
@@ -0,0 +1 @@
+.so man3/Ecore_Config.h.3
diff --git a/doc/man/man3/Ecore_Config_Listeners_Group.3 b/doc/man/man3/Ecore_Config_Listeners_Group.3
new file mode 100644
index 0000000..0d204d2
--- /dev/null
+++ b/doc/man/man3/Ecore_Config_Listeners_Group.3
@@ -0,0 +1,67 @@
+.TH "Ecore Config Listeners" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+Ecore Config Listeners \- Functions that set and unset property listener callbacks.  
+
+.PP
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI int \fBecore_config_listen\fP (const char *name, const char *key, \fBEcore_Config_Listener\fP listener, int tag, void *data)"
+.br
+.RI "\fIAdds a callback function to the list of functions called when a property changes. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_config_deaf\fP (const char *name, const char *key, \fBEcore_Config_Listener\fP listener)"
+.br
+.RI "\fIRemoves a listener callback. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Functions that set and unset property listener callbacks. 
+.PP
+.SH "Function Documentation"
+.PP 
+.SS "EAPI int ecore_config_deaf (const char * name, const char * key, \fBEcore_Config_Listener\fP listener)"
+.PP
+Removes a listener callback. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIname\fP Name of the callback to remove. 
+.br
+\fIkey\fP The property key the callback is listening to. 
+.br
+\fIlistener\fP The callback function to remove. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+\fCECORE_CONFIG_ERR_SUCC\fP if successful in removing the callback. If no callback matches the given parameters, then \fCECORE_CONFIG_ERR_NOTFOUND\fP is returned. If \fCNULL\fP is passed for the key pointer, \fCECORE_CONFIG_ERR_NODATA\fP is returned. 
+.RE
+.PP
+
+.SS "EAPI int ecore_config_listen (const char * name, const char * key, \fBEcore_Config_Listener\fP listener, int tag, void * data)"
+.PP
+Adds a callback function to the list of functions called when a property changes. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIname\fP Name of the callback. 
+.br
+\fIkey\fP The key of the property to listen to. 
+.br
+\fIlistener\fP Listener callback function. 
+.br
+\fItag\fP Tag to pass to \fClistener\fP when it is called. 
+.br
+\fIdata\fP Data to pass to \fClistener\fP when it is called. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+\fCECORE_CONFIG_ERR_SUCC\fP if successful in setting up the callback. 
+.RE
+.PP
+
diff --git a/doc/man/man3/Ecore_Config_Page.3 b/doc/man/man3/Ecore_Config_Page.3
new file mode 100644
index 0000000..9b80313
--- /dev/null
+++ b/doc/man/man3/Ecore_Config_Page.3
@@ -0,0 +1,26 @@
+.TH "Ecore_Config_Page" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+Ecore_Config_Page \- The Enlightened Property Library
+The Enlightened Property Library (Ecore_Config) is an adbstraction from the complexities of writing your own configuration.
+.PP
+It provides many features using the Enlightenment 17 development libraries.
+.PP
+To use the library, you: 
+.PD 0
+
+.IP "\(bu" 2
+Set the default values of your properties. 
+.IP "\(bu" 2
+Load the configuration from a file. You must set the default values first, so that the library knows the correct type of each argument.
+.PP
+The following examples show how to use the Enlightened Property Library: 
+.PD 0
+
+.IP "\(bu" 2
+\fBconfig_basic_example.c \fP 
+.IP "\(bu" 2
+\fBconfig_listener_example.c \fP 
+.PP
+
diff --git a/doc/man/man3/Ecore_Config_Prop.3 b/doc/man/man3/Ecore_Config_Prop.3
new file mode 100644
index 0000000..f3039f1
--- /dev/null
+++ b/doc/man/man3/Ecore_Config_Prop.3
@@ -0,0 +1,31 @@
+.TH "Ecore_Config_Prop" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+Ecore_Config_Prop \- The actual property for storing a key-value pair.  
+
+.PP
+.SH SYNOPSIS
+.br
+.PP
+.SS "Data Fields"
+
+.in +1c
+.ti -1c
+.RI "Ecore_Config_Listener_List * \fBlisteners\fP"
+.br
+.RI "\fI< Configuration flags. \fP"
+.ti -1c
+.RI "\fBEcore_Config_Prop\fP * \fBparent\fP"
+.br
+.RI "\fI< Stores extra data for the property. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+The actual property for storing a key-value pair. 
+.PP
+
+
+.SH "Author"
+.PP 
+Generated automatically by Doxygen for Ecore from the source code.
diff --git a/doc/man/man3/Ecore_Config_Property_Group.3 b/doc/man/man3/Ecore_Config_Property_Group.3
new file mode 100644
index 0000000..35726d8
--- /dev/null
+++ b/doc/man/man3/Ecore_Config_Property_Group.3
@@ -0,0 +1,141 @@
+.TH "Ecore Config Property Functions" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+Ecore Config Property Functions \- Functions that retrieve or set the attributes relating to a property.  
+
+.PP
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI \fBEcore_Config_Prop\fP * \fBecore_config_dst\fP (\fBEcore_Config_Prop\fP *e)"
+.br
+.RI "\fIRemoves the given property from the local configuration and destroys it. \fP"
+.ti -1c
+.RI "EAPI const char * \fBecore_config_type_get\fP (const \fBEcore_Config_Prop\fP *e)"
+.br
+.RI "\fIReturns the type of the property. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_config_describe\fP (const char *key, const char *desc)"
+.br
+.RI "\fISets the description field of the indicated property. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_config_short_opt_set\fP (const char *key, char short_opt)"
+.br
+.RI "\fISet the short option character of a property. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_config_long_opt_set\fP (const char *key, const char *long_opt)"
+.br
+.RI "\fISet the long option string of the property. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_config_typed_set\fP (const char *key, const void *val, int type)"
+.br
+.RI "\fISets the indicated property to the given value and type. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Functions that retrieve or set the attributes relating to a property. 
+.PP
+.SH "Function Documentation"
+.PP 
+.SS "EAPI int ecore_config_describe (const char * key, const char * desc)"
+.PP
+Sets the description field of the indicated property. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIkey\fP The property key. 
+.br
+\fIdesc\fP Description string. 
+.RE
+.PP
+\fBNote:\fP
+.RS 4
+The description string is copied for the property's use. You can free \fCdesc\fP once this function is called. 
+.RE
+.PP
+
+.SS "EAPI \fBEcore_Config_Prop\fP* ecore_config_dst (\fBEcore_Config_Prop\fP * e)"
+.PP
+Removes the given property from the local configuration and destroys it. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIe\fP Property to destroy. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+\fCNULL\fP 
+.RE
+.PP
+
+.SS "EAPI int ecore_config_long_opt_set (const char * key, const char * long_opt)"
+.PP
+Set the long option string of the property. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIkey\fP The property key. 
+.br
+\fIlong_opt\fP String used to indicate the value of a property given on the command line. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+\fCECORE_CONFIG_ERR_SUCC\fP on success. \fCECORE_CONFIG_ERR_NODATA\fP is returned if the property does not exist. 
+.RE
+.PP
+
+.SS "EAPI int ecore_config_short_opt_set (const char * key, char short_opt)"
+.PP
+Set the short option character of a property. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIkey\fP The property key. 
+.br
+\fIshort_opt\fP Character used to indicate the value of a property given on the command line. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+\fCECORE_CONFIG_ERR_SUCC\fP on success. \fCECORE_CONFIG_ERR_NODATA\fP is returned if the property does not exist. 
+.RE
+.PP
+
+.SS "EAPI const char* ecore_config_type_get (const \fBEcore_Config_Prop\fP * e)"
+.PP
+Returns the type of the property. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIe\fP Property to get the type of. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The type of the property. If the property is invalid, then the string 'not found' is returned. 
+.RE
+.PP
+
+.SS "EAPI int ecore_config_typed_set (const char * key, const void * val, int type)"
+.PP
+Sets the indicated property to the given value and type. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIkey\fP The property key. 
+.br
+\fIval\fP A pointer to the value to set the property to. 
+.br
+\fItype\fP The type of the property. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+\fCECORE_CONFIG_ERR_SUCC\fP if the property is set successfully. 
+.RE
+.PP
+
diff --git a/doc/man/man3/Ecore_Config_Set_Group.3 b/doc/man/man3/Ecore_Config_Set_Group.3
new file mode 100644
index 0000000..c516464
--- /dev/null
+++ b/doc/man/man3/Ecore_Config_Set_Group.3
@@ -0,0 +1,254 @@
+.TH "Ecore Config Setters" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+Ecore Config Setters \- Functions that set the value of a property.  
+
+.PP
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI int \fBecore_config_set\fP (const char *key, const char *val)"
+.br
+.RI "\fISets the indicated property to the value indicated by \fIval\fP. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_config_as_string_set\fP (const char *key, const char *val)"
+.br
+.RI "\fISets the indicated property to the value given in the string. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_config_boolean_set\fP (const char *key, int val)"
+.br
+.RI "\fISets the indicated property to the given boolean. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_config_int_set\fP (const char *key, int val)"
+.br
+.RI "\fISets the indicated property to the given integer. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_config_string_set\fP (const char *key, const char *val)"
+.br
+.RI "\fISets the indicated property to the given string. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_config_float_set\fP (const char *key, float val)"
+.br
+.RI "\fISets the indicated property to the given float value. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_config_argb_set\fP (const char *key, int a, int r, int g, int b)"
+.br
+.RI "\fISets the indicated property to a color value. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_config_argbint_set\fP (const char *key, long argb)"
+.br
+.RI "\fISets the indicated property to a color value. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_config_argbstr_set\fP (const char *key, const char *val)"
+.br
+.RI "\fISets the indicated property to a color value. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_config_theme_set\fP (const char *key, const char *val)"
+.br
+.RI "\fISets the indicated property to a theme name. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_config_theme_preview_group_set\fP (const char *key, const char *group)"
+.br
+.RI "\fISets the theme preview group of an indicated property. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Functions that set the value of a property. 
+.PP
+.SH "Function Documentation"
+.PP 
+.SS "EAPI int ecore_config_argb_set (const char * key, int a, int r, int g, int b)"
+.PP
+Sets the indicated property to a color value. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIkey\fP The property key 
+.br
+\fIa\fP integer 0..255 
+.br
+\fIr\fP integer 0..255 
+.br
+\fIg\fP integer 0..255 
+.br
+\fIb\fP integer 0..255 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+\fCECORE_CONFIG_ERR_SUCC\fP if the property is set successfully. 
+.RE
+.PP
+
+.SS "EAPI int ecore_config_argbint_set (const char * key, long argb)"
+.PP
+Sets the indicated property to a color value. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIkey\fP The property key 
+.br
+\fIargb\fP ARGB data as long 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+\fCECORE_CONFIG_ERR_SUCC\fP if the property is set successfully. 
+.RE
+.PP
+
+.SS "EAPI int ecore_config_argbstr_set (const char * key, const char * val)"
+.PP
+Sets the indicated property to a color value. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIkey\fP The property key 
+.br
+\fIval\fP Color value in ARGB format. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+\fCECORE_CONFIG_ERR_SUCC\fP if the property is set successfully. 
+.RE
+.PP
+
+.SS "EAPI int ecore_config_as_string_set (const char * key, const char * val)"
+.PP
+Sets the indicated property to the value given in the string. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIkey\fP The property key. 
+.br
+\fIval\fP String representation of the value. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+\fCECORE_CONFIG_ERR_SUCC\fP if the property is set successfully. 
+.RE
+.PP
+
+.SS "EAPI int ecore_config_boolean_set (const char * key, int val)"
+.PP
+Sets the indicated property to the given boolean. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIkey\fP The property key. 
+.br
+\fIval\fP Boolean integer to set the property to. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+\fCECORE_CONFIG_ERR_SUCC\fP if the property is set successfully. 
+.RE
+.PP
+
+.SS "EAPI int ecore_config_float_set (const char * key, float val)"
+.PP
+Sets the indicated property to the given float value. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIkey\fP The property key. 
+.br
+\fIval\fP Float to set the property to. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+\fCECORE_CONFIG_ERR_SUCC\fP if the property is set successfully. 
+.RE
+.PP
+
+.SS "EAPI int ecore_config_int_set (const char * key, int val)"
+.PP
+Sets the indicated property to the given integer. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIkey\fP The property key. 
+.br
+\fIval\fP Integer to set the property to. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+\fCECORE_CONFIG_ERR_SUCC\fP if the property is set successfully. 
+.RE
+.PP
+
+.SS "EAPI int ecore_config_set (const char * key, const char * val)"
+.PP
+Sets the indicated property to the value indicated by \fIval\fP. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIkey\fP The property key. 
+.br
+\fIval\fP String representation of value to set. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+\fCECORE_CONFIG_ERR_SUCC\fP if the property is set successfully. 
+.RE
+.PP
+
+.SS "EAPI int ecore_config_string_set (const char * key, const char * val)"
+.PP
+Sets the indicated property to the given string. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIkey\fP The property key. 
+.br
+\fIval\fP String to set the property to. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+\fCECORE_CONFIG_ERR_SUCC\fP if the property is set successfully. 
+.RE
+.PP
+
+.SS "EAPI int ecore_config_theme_preview_group_set (const char * key, const char * group)"
+.PP
+Sets the theme preview group of an indicated property. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIkey\fP The property key. 
+.br
+\fIgroup\fP The group name. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+\fCECORE_CONFIG_ERR_SUCC\fP on success. 
+.RE
+.PP
+
+.SS "EAPI int ecore_config_theme_set (const char * key, const char * val)"
+.PP
+Sets the indicated property to a theme name. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIkey\fP The property key. 
+.br
+\fIval\fP String giving the name of the theme. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+\fCECORE_CONFIG_ERR_SUCC\fP if the property is set successfully. 
+.RE
+.PP
+
diff --git a/doc/man/man3/Ecore_Config_Struct_Group.3 b/doc/man/man3/Ecore_Config_Struct_Group.3
new file mode 100644
index 0000000..d68dca5
--- /dev/null
+++ b/doc/man/man3/Ecore_Config_Struct_Group.3
@@ -0,0 +1,213 @@
+.TH "Ecore Config Structures" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+Ecore Config Structures \- Functions that are used to create structures of properties.  
+
+.PP
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI int \fBecore_config_struct_create\fP (const char *key)"
+.br
+.RI "\fISets the indicated property to a structure if the property has not yet been set. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_config_struct_int_add\fP (const char *key, const char *name, int val)"
+.br
+.RI "\fIAdd an int property to the named structure. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_config_struct_float_add\fP (const char *key, const char *name, float val)"
+.br
+.RI "\fIAdd a float property to the named structure. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_config_struct_string_add\fP (const char *key, const char *name, const char *val)"
+.br
+.RI "\fIAdd a string property to the named structure. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_config_struct_argb_add\fP (const char *key, const char *name, int a, int r, int g, int b)"
+.br
+.RI "\fIAdd an argb property to the named structure. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_config_struct_theme_add\fP (const char *key, const char *name, const char *val)"
+.br
+.RI "\fIAdd a theme property to the named structure. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_config_struct_boolean_add\fP (const char *key, const char *name, int val)"
+.br
+.RI "\fIAdd a boolean property to the named structure. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_config_struct_get\fP (const char *key, void *data)"
+.br
+.RI "\fIGet the contents of a defined structure property and load it into the passed C struct. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Functions that are used to create structures of properties. 
+.PP
+.SH "Function Documentation"
+.PP 
+.SS "EAPI int ecore_config_struct_argb_add (const char * key, const char * name, int a, int r, int g, int b)"
+.PP
+Add an argb property to the named structure. 
+.PP
+The property is set if it has not yet been set. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIkey\fP The key of the structure to add to. 
+.br
+\fIname\fP The name of the item to add - this will be appended to the key 
+.br
+\fIa\fP The alpha to default to 
+.br
+\fIr\fP The red to default to 
+.br
+\fIg\fP The green to default to 
+.br
+\fIb\fP The blue to default to 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+\fCECORE_CONFIG_ERR_SUCC\fP if the property is set successfully. 
+.RE
+.PP
+
+.SS "EAPI int ecore_config_struct_boolean_add (const char * key, const char * name, int val)"
+.PP
+Add a boolean property to the named structure. 
+.PP
+The property is set if it has not yet been set. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIkey\fP The key of the structure to add to. 
+.br
+\fIname\fP The name of the item to add - this will be appended to the key 
+.br
+\fIval\fP The boolean to default to 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+\fCECORE_CONFIG_ERR_SUCC\fP if the property is set successfully. 
+.RE
+.PP
+
+.SS "EAPI int ecore_config_struct_create (const char * key)"
+.PP
+Sets the indicated property to a structure if the property has not yet been set. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIkey\fP The property key. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+\fCECORE_CONFIG_ERR_SUCC\fP if the property is set successfully. 
+.RE
+.PP
+
+.SS "EAPI int ecore_config_struct_float_add (const char * key, const char * name, float val)"
+.PP
+Add a float property to the named structure. 
+.PP
+The property is set if it has not yet been set. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIkey\fP The key of the structure to add to. 
+.br
+\fIname\fP The name of the item to add - this will be appended to the key 
+.br
+\fIval\fP The float to default to 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+\fCECORE_CONFIG_ERR_SUCC\fP if the property is set successfully. 
+.RE
+.PP
+
+.SS "EAPI int ecore_config_struct_get (const char * key, void * data)"
+.PP
+Get the contents of a defined structure property and load it into the passed C struct. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIkey\fP The name of the structure property to look up. 
+.br
+\fIdata\fP The struct to write into. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+\fCECORE_CONFIG_ERR_SUCC\fP if the structure is written successfully. 
+.RE
+.PP
+
+.SS "EAPI int ecore_config_struct_int_add (const char * key, const char * name, int val)"
+.PP
+Add an int property to the named structure. 
+.PP
+The property is set if it has not yet been set. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIkey\fP The key of the structure to add to. 
+.br
+\fIname\fP The name of the item to add - this will be appended to the key 
+.br
+\fIval\fP the int to default to 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+\fCECORE_CONFIG_ERR_SUCC\fP if the property is set successfully. 
+.RE
+.PP
+
+.SS "EAPI int ecore_config_struct_string_add (const char * key, const char * name, const char * val)"
+.PP
+Add a string property to the named structure. 
+.PP
+The property is set if it has not yet been set. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIkey\fP The key of the structure to add to. 
+.br
+\fIname\fP The name of the item to add - this will be appended to the key 
+.br
+\fIval\fP The string to default to 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+\fCECORE_CONFIG_ERR_SUCC\fP if the property is set successfully. 
+.RE
+.PP
+
+.SS "EAPI int ecore_config_struct_theme_add (const char * key, const char * name, const char * val)"
+.PP
+Add a theme property to the named structure. 
+.PP
+The property is set if it has not yet been set. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIkey\fP The key of the structure to add to. 
+.br
+\fIname\fP The name of the item to add - this will be appended to the key 
+.br
+\fIval\fP The theme name to default to 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+\fCECORE_CONFIG_ERR_SUCC\fP if the property is set successfully. 
+.RE
+.PP
+
diff --git a/doc/man/man3/Ecore_Config_Type.3 b/doc/man/man3/Ecore_Config_Type.3
new file mode 100644
index 0000000..c456545
--- /dev/null
+++ b/doc/man/man3/Ecore_Config_Type.3
@@ -0,0 +1 @@
+.so man3/Ecore_Config.h.3
diff --git a/doc/man/man3/Ecore_Data.h.3 b/doc/man/man3/Ecore_Data.h.3
new file mode 100644
index 0000000..47c5868
--- /dev/null
+++ b/doc/man/man3/Ecore_Data.h.3
@@ -0,0 +1,1545 @@
+.TH "Ecore_Data.h" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+Ecore_Data.h \- Contains threading, list, hash, debugging and tree functions. 
+.SH SYNOPSIS
+.br
+.PP
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI int \fBecore_direct_compare\fP (const void *key1, const void *key2)"
+.br
+.RI "\fIPerform a direct comparison of two keys' values. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_str_compare\fP (const void *key1, const void *key2)"
+.br
+.RI "\fIPerform a string comparison of two keys values. \fP"
+.ti -1c
+.RI "EAPI unsigned int \fBecore_direct_hash\fP (const void *key)"
+.br
+.RI "\fIJust casts the key to an unsigned int. \fP"
+.ti -1c
+.RI "EAPI unsigned int \fBecore_str_hash\fP (const void *key)"
+.br
+.RI "\fICompute the hash value of a string. \fP"
+.ti -1c
+.RI "EAPI Ecore_List * \fBecore_list_new\fP (void)"
+.br
+.RI "\fICreate and initialize a new list. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_list_init\fP (Ecore_List *list)"
+.br
+.RI "\fIInitialize a list to some sane starting values. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_list_append\fP (Ecore_List *list, void *_data)"
+.br
+.RI "\fIAppend data to the list. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_list_prepend\fP (Ecore_List *list, void *_data)"
+.br
+.RI "\fIPrepend data to the beginning of the list. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_list_insert\fP (Ecore_List *list, void *_data)"
+.br
+.RI "\fIInsert data in front of the current point in the list. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_list_append_list\fP (Ecore_List *list, Ecore_List *append)"
+.br
+.RI "\fIAppend a list to the list. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_list_prepend_list\fP (Ecore_List *list, Ecore_List *prepend)"
+.br
+.RI "\fIPrepend a list to the beginning of the list. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_list_remove_destroy\fP (Ecore_List *list)"
+.br
+.RI "\fIRemove and free the data in lists current position. \fP"
+.ti -1c
+.RI "EAPI void * \fBecore_list_remove\fP (Ecore_List *list)"
+.br
+.RI "\fIRemove the current item from the list. \fP"
+.ti -1c
+.RI "EAPI void * \fBecore_list_first_remove\fP (Ecore_List *list)"
+.br
+.RI "\fIRemove the first item from the list. \fP"
+.ti -1c
+.RI "EAPI void * \fBecore_list_last_remove\fP (Ecore_List *list)"
+.br
+.RI "\fIRemove the last item from the list. \fP"
+.ti -1c
+.RI "EAPI void * \fBecore_list_current\fP (Ecore_List *list)"
+.br
+.RI "\fIRetrieve the data pointed to by the current item in \fClist\fP. \fP"
+.ti -1c
+.RI "EAPI void * \fBecore_list_first\fP (Ecore_List *list)"
+.br
+.RI "\fIRetrieve the data pointed to by the first item in \fClist\fP. \fP"
+.ti -1c
+.RI "EAPI void * \fBecore_list_last\fP (Ecore_List *list)"
+.br
+.RI "\fIRetrieve the data pointed to by the last item in \fClist\fP. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_list_index\fP (Ecore_List *list)"
+.br
+.RI "\fIReturns the number of the current node. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_list_count\fP (Ecore_List *list)"
+.br
+.RI "\fIFind the number of nodes in the list. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_list_for_each\fP (Ecore_List *list, Ecore_For_Each function, void *user_data)"
+.br
+.RI "\fIExecute function for each node in \fClist\fP. \fP"
+.ti -1c
+.RI "EAPI void * \fBecore_list_first_goto\fP (Ecore_List *list)"
+.br
+.RI "\fIMake the current item the first item in the list. \fP"
+.ti -1c
+.RI "EAPI void * \fBecore_list_last_goto\fP (Ecore_List *list)"
+.br
+.RI "\fIMake the current item the last item in the list. \fP"
+.ti -1c
+.RI "EAPI void * \fBecore_list_index_goto\fP (Ecore_List *list, int index)"
+.br
+.RI "\fIMake the current item the item with the given index number. \fP"
+.ti -1c
+.RI "EAPI void * \fBecore_list_goto\fP (Ecore_List *list, const void *_data)"
+.br
+.RI "\fIMake the current item the node that contains \fCdata\fP. \fP"
+.ti -1c
+.RI "EAPI void * \fBecore_list_next\fP (Ecore_List *list)"
+.br
+.RI "\fIRetrieve the data pointed to by the current item, and make the next item the current item. \fP"
+.ti -1c
+.RI "EAPI void * \fBecore_list_find\fP (Ecore_List *list, Ecore_Compare_Cb function, const void *user_data)"
+.br
+.RI "\fIFind data in \fClist\fP using the compare function \fCfunc\fP. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_list_sort\fP (Ecore_List *list, Ecore_Compare_Cb compare, char order)"
+.br
+.RI "\fISort data in \fClist\fP using the compare function \fCcompare\fP. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_list_mergesort\fP (Ecore_List *list, Ecore_Compare_Cb compare, char order)"
+.br
+.RI "\fISort data in \fClist\fP using the compare function \fCcompare\fP. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_list_heapsort\fP (Ecore_List *list, Ecore_Compare_Cb compare, char order)"
+.br
+.RI "\fISort data in \fClist\fP using the compare function \fCcompare\fP. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_list_empty_is\fP (Ecore_List *list)"
+.br
+.RI "\fIChecks the list for any nodes. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_list_clear\fP (Ecore_List *list)"
+.br
+.RI "\fIRemove all nodes from \fClist\fP. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_list_destroy\fP (Ecore_List *list)"
+.br
+.RI "\fIFree a list and all of it's nodes. \fP"
+.ti -1c
+.RI "EAPI Ecore_List_Node * \fBecore_list_node_new\fP (void)"
+.br
+.RI "\fIAllocates and initializes a new list node. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_list_node_destroy\fP (Ecore_List_Node *_e_node, Ecore_Free_Cb free_func)"
+.br
+.RI "\fICalls the function to free the data and the node. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_list_free_cb_set\fP (Ecore_List *list, Ecore_Free_Cb free_func)"
+.br
+.RI "\fISet the function for freeing data. \fP"
+.ti -1c
+.RI "EAPI Ecore_DList * \fBecore_dlist_new\fP (void)"
+.br
+.RI "\fICreates and initialises a new doubly linked list. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_dlist_init\fP (Ecore_DList *list)"
+.br
+.RI "\fIInitialises a list to some sane starting values. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_dlist_destroy\fP (Ecore_DList *list)"
+.br
+.RI "\fIFrees a doubly linked list and all of its nodes. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_dlist_append\fP (Ecore_DList *_e_dlist, void *_data)"
+.br
+.RI "\fIAppends data to the given doubly linked list. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_dlist_prepend\fP (Ecore_DList *_e_dlist, void *_data)"
+.br
+.RI "\fIAdds data to the very beginning of the given doubly linked list. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_dlist_insert\fP (Ecore_DList *_e_dlist, void *_data)"
+.br
+.RI "\fIInserts data at the current point in the given doubly linked list. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_dlist_append_list\fP (Ecore_DList *_e_dlist, Ecore_DList *append)"
+.br
+.RI "\fIAppends a list to the given doubly linked list. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_dlist_prepend_list\fP (Ecore_DList *_e_dlist, Ecore_DList *prepend)"
+.br
+.RI "\fIAdds a list to the very beginning of the given doubly linked list. \fP"
+.ti -1c
+.RI "EAPI void * \fBecore_dlist_current\fP (Ecore_DList *list)"
+.br
+.RI "\fIReturn the data in the current list item. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_dlist_index\fP (Ecore_DList *list)"
+.br
+.RI "\fIRetrieves the index of the current node of the given doubly linked list. \fP"
+.ti -1c
+.RI "EAPI void * \fBecore_dlist_remove\fP (Ecore_DList *_e_dlist)"
+.br
+.RI "\fIRemoves the current item from the given doubly linked list. \fP"
+.ti -1c
+.RI "EAPI void * \fBecore_dlist_first_remove\fP (Ecore_DList *_e_dlist)"
+.br
+.RI "\fIRemoves the first item from the given doubly linked list. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_dlist_remove_destroy\fP (Ecore_DList *list)"
+.br
+.RI "\fIRemoves and frees the data at the current position in the given doubly linked list. \fP"
+.ti -1c
+.RI "EAPI void * \fBecore_dlist_last_remove\fP (Ecore_DList *_e_dlist)"
+.br
+.RI "\fIRemoves the last item from the given doubly linked list. \fP"
+.ti -1c
+.RI "EAPI void * \fBecore_dlist_first_goto\fP (Ecore_DList *_e_dlist)"
+.br
+.RI "\fIMove the current pointer to the first item in the list. \fP"
+.ti -1c
+.RI "EAPI void * \fBecore_dlist_last_goto\fP (Ecore_DList *_e_dlist)"
+.br
+.RI "\fIMove the pointer to the current item to the last item. \fP"
+.ti -1c
+.RI "EAPI void * \fBecore_dlist_index_goto\fP (Ecore_DList *_e_dlist, int index)"
+.br
+.RI "\fIMoves the current item to the index number in the given doubly linked list. \fP"
+.ti -1c
+.RI "EAPI void * \fBecore_dlist_goto\fP (Ecore_DList *_e_dlist, void *_data)"
+.br
+.RI "\fIMove the current item to the node that contains data. \fP"
+.ti -1c
+.RI "EAPI void * \fBecore_dlist_next\fP (Ecore_DList *list)"
+.br
+.RI "\fIMove to the next item in the list and return current item. \fP"
+.ti -1c
+.RI "EAPI void * \fBecore_dlist_previous\fP (Ecore_DList *list)"
+.br
+.RI "\fIMove to the previous item and return current item. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_dlist_sort\fP (Ecore_DList *list, Ecore_Compare_Cb compare, char order)"
+.br
+.RI "\fISort data in \fClist\fP using the compare function \fCcompare\fP. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_dlist_mergesort\fP (Ecore_DList *list, Ecore_Compare_Cb compare, char order)"
+.br
+.RI "\fISort data in \fClist\fP using the compare function \fCcompare\fP. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_dlist_empty_is\fP (Ecore_DList *_e_dlist)"
+.br
+.RI "\fIReturns whether there is anything in the given doubly linked list. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_dlist_clear\fP (Ecore_DList *_e_dlist)"
+.br
+.RI "\fIRemove all nodes from the list. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_dlist_free_cb_set\fP (Ecore_DList *dlist, Ecore_Free_Cb free_func)"
+.br
+.RI "\fISets the function used for freeing data stored in a doubly linked list. \fP"
+.ti -1c
+.RI "EAPI Ecore_Hash * \fBecore_hash_new\fP (Ecore_Hash_Cb hash_func, Ecore_Compare_Cb compare)"
+.br
+.RI "\fICreates and initializes a new hash. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_hash_init\fP (Ecore_Hash *hash, Ecore_Hash_Cb hash_func, Ecore_Compare_Cb compare)"
+.br
+.RI "\fIInitializes the given hash. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_hash_free_key_cb_set\fP (Ecore_Hash *hash, Ecore_Free_Cb function)"
+.br
+.RI "\fISets the function to destroy the keys of the given hash. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_hash_free_value_cb_set\fP (Ecore_Hash *hash, Ecore_Free_Cb function)"
+.br
+.RI "\fISets the function to destroy the values in the given hash. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_hash_destroy\fP (Ecore_Hash *hash)"
+.br
+.RI "\fIFrees the hash table and the data contained inside it. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_hash_count\fP (Ecore_Hash *hash)"
+.br
+.RI "\fICounts the number of nodes in a hash table. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_hash_for_each_node\fP (Ecore_Hash *hash, Ecore_For_Each for_each_func, void *user_data)"
+.br
+.RI "\fIRuns the \fCfor_each_func\fP function on each entry in the given hash. \fP"
+.ti -1c
+.RI "EAPI Ecore_List * \fBecore_hash_keys\fP (Ecore_Hash *hash)"
+.br
+.RI "\fIRetrieves an ecore_list of all keys in the given hash. \fP"
+.ti -1c
+.RI "EAPI void * \fBecore_hash_get\fP (Ecore_Hash *hash, const void *key)"
+.br
+.RI "\fIRetrieves the value associated with the given key from the given hash table. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_hash_set\fP (Ecore_Hash *hash, void *key, void *value)"
+.br
+.RI "\fISets a key-value pair in the given hash table. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_hash_hash_set\fP (Ecore_Hash *hash, Ecore_Hash *set)"
+.br
+.RI "\fISets all key-value pairs from set in the given hash table. \fP"
+.ti -1c
+.RI "EAPI void * \fBecore_hash_remove\fP (Ecore_Hash *hash, const void *key)"
+.br
+.RI "\fIRemoves the value associated with the given key in the given hash table. \fP"
+.ti -1c
+.RI "EAPI void * \fBecore_hash_find\fP (Ecore_Hash *hash, Ecore_Compare_Cb compare, const void *value)"
+.br
+.RI "\fIRetrieves the first value that matches table. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_hash_dump_graph\fP (Ecore_Hash *hash)"
+.br
+.RI "\fIPrints the distribution of the given hash table for graphing. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_hash_dump_stats\fP (Ecore_Hash *hash)"
+.br
+.RI "\fIPrints the distribution of the given hash table for graphing. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_path_group_new\fP (char *group_name)"
+.br
+.RI "\fICreates a new path group. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_path_group_del\fP (int group_id)"
+.br
+.RI "\fIDestroys a previously created path group. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_path_group_add\fP (int group_id, char *path)"
+.br
+.RI "\fIAdds a directory to be searched for files. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_path_group_remove\fP (int group_id, char *path)"
+.br
+.RI "\fIRemoves the given directory from the given group. \fP"
+.ti -1c
+.RI "EAPI char * \fBecore_path_group_find\fP (int group_id, char *name)"
+.br
+.RI "\fIFinds a file in a group of paths. \fP"
+.ti -1c
+.RI "EAPI Ecore_List * \fBecore_path_group_available\fP (int group_id)"
+.br
+.RI "\fIRetrieves a list of all available files in the given path. \fP"
+.ti -1c
+.RI "EAPI Ecore_Plugin * \fBecore_plugin_load\fP (int group_id, const char *plugin)"
+.br
+.RI "\fILoads the specified plugin from the specified path group. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_plugin_unload\fP (Ecore_Plugin *plugin)"
+.br
+.RI "\fIUnloads the given plugin from memory. \fP"
+.ti -1c
+.RI "EAPI Ecore_Sheap * \fBecore_sheap_new\fP (Ecore_Compare_Cb compare, int size)"
+.br
+.RI "\fIAllocate and initialize a new binary heap. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_sheap_destroy\fP (Ecore_Sheap *heap)"
+.br
+.RI "\fIFree up the memory used by the heap. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_sheap_init\fP (Ecore_Sheap *heap, Ecore_Compare_Cb compare, int size)"
+.br
+.RI "\fIInitialize a binary heap to default values. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_sheap_free_cb_set\fP (Ecore_Sheap *heap, Ecore_Free_Cb free_func)"
+.br
+.RI "\fISet the function for freeing data. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_sheap_insert\fP (Ecore_Sheap *heap, void *data)"
+.br
+.RI "\fIInsert new data into the heap. \fP"
+.ti -1c
+.RI "EAPI void * \fBecore_sheap_extract\fP (Ecore_Sheap *heap)"
+.br
+.RI "\fIExtract the item at the top of the heap. \fP"
+.ti -1c
+.RI "EAPI void * \fBecore_sheap_extreme\fP (Ecore_Sheap *heap)"
+.br
+.RI "\fIExamine the item at the top of the heap. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_sheap_change\fP (Ecore_Sheap *heap, void *item, void *newval)"
+.br
+.RI "\fIChange the value of the specified item in the heap. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_sheap_compare_set\fP (Ecore_Sheap *heap, Ecore_Compare_Cb compare)"
+.br
+.RI "\fIChange the comparison function for the heap. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_sheap_order_set\fP (Ecore_Sheap *heap, char order)"
+.br
+.RI "\fIChange the order of the heap. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_sheap_sort\fP (Ecore_Sheap *heap)"
+.br
+.RI "\fISort the data in the heap. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_string_init\fP (void)"
+.br
+.RI "\fIInitialize the ecore string internal structure. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_string_shutdown\fP (void)"
+.br
+.RI "\fIShutdown the ecore string internal structures. \fP"
+.ti -1c
+.RI "EAPI const char * \fBecore_string_instance\fP (const char *string)"
+.br
+.RI "\fIRetrieves an instance of a string for use in an ecore program. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_string_release\fP (const char *string)"
+.br
+.RI "\fINotes that the given string has lost an instance. \fP"
+.ti -1c
+.RI "EAPI Ecore_Tree * \fBecore_tree_new\fP (Ecore_Compare_Cb compare_func)"
+.br
+.RI "\fIAllocate a new tree structure. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_tree_init\fP (Ecore_Tree *tree, Ecore_Compare_Cb compare_func)"
+.br
+.RI "\fIInitialize a tree structure to some sane initial values. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_tree_destroy\fP (Ecore_Tree *tree)"
+.br
+.RI "\fIFree the tree and it's stored data. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_tree_empty_is\fP (Ecore_Tree *tree)"
+.br
+.RI "\fITest to see if the tree has any nodes. \fP"
+.ti -1c
+.RI "EAPI void * \fBecore_tree_get\fP (Ecore_Tree *tree, const void *key)"
+.br
+.RI "\fIReturn the value corresponding to key. \fP"
+.ti -1c
+.RI "EAPI Ecore_Tree_Node * \fBecore_tree_get_node\fP (Ecore_Tree *tree, const void *key)"
+.br
+.RI "\fIReturn the node corresponding to key. \fP"
+.ti -1c
+.RI "EAPI void * \fBecore_tree_closest_larger_get\fP (Ecore_Tree *tree, const void *key)"
+.br
+.RI "\fIFind the closest value greater than or equal to the key. \fP"
+.ti -1c
+.RI "EAPI void * \fBecore_tree_closest_smaller_get\fP (Ecore_Tree *tree, const void *key)"
+.br
+.RI "\fIFind the closest value <= key. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_tree_set\fP (Ecore_Tree *tree, void *key, void *value)"
+.br
+.RI "\fISet the value associated with key to \fIvalue\fP. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_tree_remove\fP (Ecore_Tree *tree, const void *key)"
+.br
+.RI "\fIRemove the key from the tree. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_tree_node_add\fP (Ecore_Tree *tree, Ecore_Tree_Node *node)"
+.br
+.RI "\fIPlace a node in the tree. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_tree_node_remove\fP (Ecore_Tree *tree, Ecore_Tree_Node *node)"
+.br
+.RI "\fIRemove the node from the tree. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_tree_for_each_node\fP (Ecore_Tree *tree, Ecore_For_Each for_each_func, void *user_data)"
+.br
+.RI "\fIExecute the function for each node in the tree. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_tree_for_each_node_value\fP (Ecore_Tree *tree, Ecore_For_Each for_each_func, void *user_data)"
+.br
+.RI "\fIExecute function for each value in the tree. \fP"
+.ti -1c
+.RI "EAPI Ecore_Strbuf * \fBecore_strbuf_new\fP (void)"
+.br
+.RI "\fICreate a new string buffer. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_strbuf_free\fP (Ecore_Strbuf *buf)"
+.br
+.RI "\fIFree a string buffer. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_strbuf_append\fP (Ecore_Strbuf *buf, const char *str)"
+.br
+.RI "\fIAppend a string to a buffer, reallocating as necessary. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_strbuf_append_char\fP (Ecore_Strbuf *buf, char c)"
+.br
+.RI "\fIAppend a character to a string buffer, reallocating as necessary. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_strbuf_insert\fP (Ecore_Strbuf *buf, const char *str, size_t pos)"
+.br
+.RI "\fIInsert a string to a buffer, reallocating as necessary. \fP"
+.ti -1c
+.RI "EAPI const char * \fBecore_strbuf_string_get\fP (Ecore_Strbuf *buf)"
+.br
+.RI "\fIRetrieve a pointer to the contents of a string buffer. \fP"
+.ti -1c
+.RI "EAPI size_t \fBecore_strbuf_length_get\fP (Ecore_Strbuf *buf)"
+.br
+.RI "\fIRetrieve the length of the string buffer content. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_strbuf_replace\fP (Ecore_Strbuf *buf, const char *str, const char *with, unsigned int n)"
+.br
+.RI "\fIReplace the n-th string with an other string. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_strbuf_replace_all\fP (Ecore_Strbuf *buf, const char *str, const char *with)"
+.br
+.RI "\fIReplace all strings with an other string. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Contains threading, list, hash, debugging and tree functions. 
+
+
+.SH "Function Documentation"
+.PP 
+.SS "EAPI int ecore_direct_compare (const void * key1, const void * key2)"
+.PP
+Perform a direct comparison of two keys' values. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIkey1\fP The first key to compare 
+.br
+\fIkey2\fP The second key to compare 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+A strcmp style value to indicate the larger key 
+.RE
+.PP
+
+.SS "EAPI unsigned int ecore_direct_hash (const void * key)"
+.PP
+Just casts the key to an unsigned int. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIkey\fP The key to return compute a hash value 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The key cast to an unsigned int. 
+.RE
+.PP
+
+.SS "EAPI int ecore_dlist_clear (Ecore_DList * list)"
+.PP
+Remove all nodes from the list. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIlist,:\fP the list to remove all nodes from
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+Returns TRUE on success, FALSE on errors 
+.RE
+.PP
+
+.SS "EAPI void* ecore_dlist_current (Ecore_DList * list)"
+.PP
+Return the data in the current list item. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIlist,:\fP the list to the return the current data 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+Returns value of the current data item, NULL if no current item 
+.RE
+.PP
+
+.SS "EAPI int ecore_dlist_empty_is (Ecore_DList * list)"
+.PP
+Returns whether there is anything in the given doubly linked list. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIlist\fP The given doubly linked list. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+\fCTRUE\fP if there are nodes, \fCFALSE\fP otherwise. 
+.RE
+.PP
+
+.SS "EAPI void* ecore_dlist_first_goto (Ecore_DList * list)"
+.PP
+Move the current pointer to the first item in the list. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIlist,:\fP the list to change the current to the first item
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+Returns a pointer to the first item on success, NULL on failure. 
+.RE
+.PP
+
+.SS "EAPI void* ecore_dlist_goto (Ecore_DList * list, void * data)"
+.PP
+Move the current item to the node that contains data. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIlist,:\fP the list to move the current item in 
+.br
+\fIdata,:\fP the data to find and set the current item to
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+Returns specified data on success, NULL on error 
+.RE
+.PP
+
+.SS "EAPI int ecore_dlist_index (Ecore_DList * list)\fC [inline]\fP"
+.PP
+Retrieves the index of the current node of the given doubly linked list. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIlist\fP The given doubly linked list. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The index of the current node. 
+.RE
+.PP
+
+.SS "EAPI void* ecore_dlist_index_goto (Ecore_DList * list, int index)"
+.PP
+Moves the current item to the index number in the given doubly linked list. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIlist\fP The given doubly linked list. 
+.br
+\fIindex\fP The position to move the current item 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The node at specified index on success, \fCNULL\fP on error. 
+.RE
+.PP
+
+.SS "EAPI void* ecore_dlist_last_goto (Ecore_DList * list)"
+.PP
+Move the pointer to the current item to the last item. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIlist,:\fP the list to move the current item pointer to the last 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+Returns a pointer to the last item in the list , NULL if empty. 
+.RE
+.PP
+
+.SS "EAPI int ecore_dlist_mergesort (Ecore_DList * list, Ecore_Compare_Cb compare, char order)"
+.PP
+Sort data in \fClist\fP using the compare function \fCcompare\fP. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIlist\fP The list. 
+.br
+\fIcompare\fP The function to compare the data of \fClist\fP 
+.br
+\fIorder\fP The sort direction, possible values are ECORE_SORT_MIN and ECORE_SORT_MAX 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+true on success
+.RE
+.PP
+Mergesort is a stable, in-place sorting algorithm 
+.SS "EAPI void* ecore_dlist_next (Ecore_DList * list)"
+.PP
+Move to the next item in the list and return current item. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIlist,:\fP the list to move to the next item in. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+Returns data in the current list node, or NULL on error 
+.RE
+.PP
+
+.SS "EAPI void* ecore_dlist_previous (Ecore_DList * list)"
+.PP
+Move to the previous item and return current item. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIlist,:\fP the list to move to the previous item in. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+Returns data in the current list node, or NULL on error 
+.RE
+.PP
+
+.SS "EAPI int ecore_dlist_sort (Ecore_List * list, Ecore_Compare_Cb compare, char order)"
+.PP
+Sort data in \fClist\fP using the compare function \fCcompare\fP. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIlist\fP The list. 
+.br
+\fIcompare\fP The function to compare the data of \fClist\fP 
+.br
+\fIorder\fP The sort direction, possible values are ECORE_SORT_MIN and ECORE_SORT_MAX 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+true on success
+.RE
+.PP
+This is a wrapper function for mergesort and heapsort. It tries to choose the fastest algorithm depending on the number of notes. Note: The sort may be unstable. 
+.SS "EAPI void ecore_hash_dump_graph (Ecore_Hash * hash)"
+.PP
+Prints the distribution of the given hash table for graphing. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIhash\fP The given hash table. 
+.RE
+.PP
+
+.SS "EAPI void ecore_hash_dump_stats (Ecore_Hash * hash)"
+.PP
+Prints the distribution of the given hash table for graphing. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIhash\fP The given hash table. 
+.RE
+.PP
+
+.SS "EAPI int ecore_list_clear (Ecore_List * list)"
+.PP
+Remove all nodes from \fClist\fP. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIlist\fP The list. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+Returns \fCTRUE\fP on success, \fCFALSE\fP on error. 
+.RE
+.PP
+\fBNote:\fP
+.RS 4
+The data for each item on the list is not freed by \fC\fBecore_list_clear()\fP\fP. 
+.RE
+.PP
+
+.SS "EAPI int ecore_list_count (Ecore_List * list)"
+.PP
+Find the number of nodes in the list. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIlist\fP The list to find the number of nodes 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The number of nodes in the list. 
+.RE
+.PP
+
+.SS "EAPI void* ecore_list_current (Ecore_List * list)\fC [inline]\fP"
+.PP
+Retrieve the data pointed to by the current item in \fClist\fP. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIlist\fP The list. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+Returns the data at current position, can be \fCNULL\fP. 
+.RE
+.PP
+
+.SS "EAPI int ecore_list_empty_is (Ecore_List * list)"
+.PP
+Checks the list for any nodes. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIlist\fP The list to check for nodes 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+\fCTRUE\fP if no nodes in list, \fCFALSE\fP if the list contains nodes 
+.RE
+.PP
+
+.SS "EAPI void* ecore_list_find (Ecore_List * list, Ecore_Compare_Cb function, const void * user_data)"
+.PP
+Find data in \fClist\fP using the compare function \fCfunc\fP. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIlist\fP The list. 
+.br
+\fIfunction\fP The function to test each node of \fClist\fP with 
+.br
+\fIuser_data\fP Data to match against (used by \fCfunction\fP) 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+the first matching data node, or NULL if none match 
+.RE
+.PP
+
+.SS "EAPI void* ecore_list_first (Ecore_List * list)\fC [inline]\fP"
+.PP
+Retrieve the data pointed to by the first item in \fClist\fP. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIlist\fP The list. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+Returns the data at current position, can be \fCNULL\fP. 
+.RE
+.PP
+
+.SS "EAPI int ecore_list_free_cb_set (Ecore_List * list, Ecore_Free_Cb free_func)"
+.PP
+Set the function for freeing data. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIlist\fP The list that will use this function when nodes are destroyed. 
+.br
+\fIfree_func\fP The function that will free the key data. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+\fCTRUE\fP on successful set, \fCFALSE\fP otherwise. 
+.RE
+.PP
+
+.SS "EAPI int ecore_list_heapsort (Ecore_List * list, Ecore_Compare_Cb compare, char order)"
+.PP
+Sort data in \fClist\fP using the compare function \fCcompare\fP. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIlist\fP The list. 
+.br
+\fIcompare\fP The function to compare the data of \fClist\fP 
+.br
+\fIorder\fP The sort direction, possible values are ECORE_SORT_MIN and ECORE_SORT_MAX 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+true on success
+.RE
+.PP
+Heapsort is a unstable sorting algorithm, it needs to allocate extra memomry, but there for it is for a great number of nodes faster than mergesort 
+.SS "EAPI int ecore_list_index (Ecore_List * list)"
+.PP
+Returns the number of the current node. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIlist\fP The list to return the number of the current node. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The number of the current node in the list. 
+.RE
+.PP
+
+.SS "EAPI void* ecore_list_last (Ecore_List * list)\fC [inline]\fP"
+.PP
+Retrieve the data pointed to by the last item in \fClist\fP. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIlist\fP The list. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+Returns the data at current position, can be \fCNULL\fP. 
+.RE
+.PP
+
+.SS "EAPI int ecore_list_mergesort (Ecore_List * list, Ecore_Compare_Cb compare, char order)"
+.PP
+Sort data in \fClist\fP using the compare function \fCcompare\fP. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIlist\fP The list. 
+.br
+\fIcompare\fP The function to compare the data of \fClist\fP 
+.br
+\fIorder\fP The sort direction, possible values are ECORE_SORT_MIN and ECORE_SORT_MAX 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+true on success
+.RE
+.PP
+Mergesort is a stable, in-place sorting algorithm 
+.SS "EAPI void* ecore_list_next (Ecore_List * list)\fC [inline]\fP"
+.PP
+Retrieve the data pointed to by the current item, and make the next item the current item. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIlist\fP The list to retrieve data from. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The current item in the list on success, \fCNULL\fP on failure. 
+.RE
+.PP
+
+.SS "EAPI int ecore_list_sort (Ecore_List * list, Ecore_Compare_Cb compare, char order)"
+.PP
+Sort data in \fClist\fP using the compare function \fCcompare\fP. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIlist\fP The list. 
+.br
+\fIcompare\fP The function to compare the data of \fClist\fP 
+.br
+\fIorder\fP The sort direction, possible values are ECORE_SORT_MIN and ECORE_SORT_MAX 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+true on success
+.RE
+.PP
+This is a wrapper function for mergesort and heapsort. It tries to choose the fastest algorithm depending on the number of notes. Note: The sort may be unstable. 
+.SS "EAPI int ecore_sheap_change (Ecore_Sheap * heap, void * item, void * newval)"
+.PP
+Change the value of the specified item in the heap. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIheap\fP The heap to search for the item to change 
+.br
+\fIitem\fP The item in the heap to change 
+.br
+\fInewval\fP The new value assigned to the item in the heap 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+TRUE on success, FALSE on failure. 
+.RE
+.PP
+\fBNote:\fP
+.RS 4
+The heap does not free the old data since it must be passed in, so the caller can perform the free if desired. 
+.RE
+.PP
+
+.SS "EAPI int ecore_sheap_compare_set (Ecore_Sheap * heap, Ecore_Compare_Cb compare)"
+.PP
+Change the comparison function for the heap. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIheap\fP The heap to change comparison function 
+.br
+\fIcompare\fP The new function for comparing nodes 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+TRUE on success, FALSE on failure.
+.RE
+.PP
+The comparison function is changed to  and the heap is heapified by the new comparison. 
+.SS "EAPI void ecore_sheap_destroy (Ecore_Sheap * heap)"
+.PP
+Free up the memory used by the heap. 
+.PP
+Frees the memory used by \fIheap\fP, calls the destroy function on each data item if necessary.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIheap\fP The heap to be freed 
+.RE
+.PP
+
+.SS "EAPI void* ecore_sheap_extract (Ecore_Sheap * heap)"
+.PP
+Extract the item at the top of the heap. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIheap\fP The heap to remove the top item 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The top item of the heap on success, NULL on failure. 
+.RE
+.PP
+\fBNote:\fP
+.RS 4
+The extract function maintains the heap properties after the extract. 
+.RE
+.PP
+
+.SS "EAPI void* ecore_sheap_extreme (Ecore_Sheap * heap)"
+.PP
+Examine the item at the top of the heap. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIheap\fP The heap to examine the top item 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The top item of the heap on success, NULL on failure. 
+.RE
+.PP
+\fBNote:\fP
+.RS 4
+The function does not alter the heap. 
+.RE
+.PP
+
+.SS "EAPI int ecore_sheap_free_cb_set (Ecore_Sheap * heap, Ecore_Free_Cb free_func)"
+.PP
+Set the function for freeing data. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIheap\fP The heap that will use this function when nodes are destroyed. 
+.br
+\fIfree_func\fP The function that will free the key data. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+\fCTRUE\fP on successful set, \fCFALSE\fP otherwise. 
+.RE
+.PP
+
+.SS "EAPI int ecore_sheap_init (Ecore_Sheap * heap, Ecore_Compare_Cb compare, int size)"
+.PP
+Initialize a binary heap to default values. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIheap\fP The heap to initialize 
+.br
+\fIcompare\fP The function for comparing keys, NULL for direct comparison 
+.br
+\fIsize\fP The number of elements to allow in the heap 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+TRUE on success, FALSE on failure 
+.RE
+.PP
+
+.SS "EAPI int ecore_sheap_insert (Ecore_Sheap * heap, void * data)"
+.PP
+Insert new data into the heap. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIheap\fP The heap to insert \fIdata\fP. 
+.br
+\fIdata\fP The data to add to \fIheap\fP. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+TRUE on success, NULL on failure. Increases the size of the heap if it becomes larger than available space. 
+.RE
+.PP
+
+.SS "EAPI Ecore_Sheap* ecore_sheap_new (Ecore_Compare_Cb compare, int size)"
+.PP
+Allocate and initialize a new binary heap. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIcompare\fP The function for comparing keys, NULL for direct comparison 
+.br
+\fIsize\fP The number of elements to allow in the heap 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+A pointer to the newly allocated binary heap on success, NULL on failure. 
+.RE
+.PP
+
+.SS "EAPI void ecore_sheap_order_set (Ecore_Sheap * heap, char order)"
+.PP
+Change the order of the heap. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIheap\fP The heap to change the order 
+.br
+\fIorder\fP The new order of the heap
+.RE
+.PP
+Changes the heap order of  and re-heapifies the data to this new order. The default order is a min heap. 
+.SS "EAPI void ecore_sheap_sort (Ecore_Sheap * heap)"
+.PP
+Sort the data in the heap. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIheap\fP The heap to be sorted
+.RE
+.PP
+Sorts the data in the heap into the order that is used for the heap's data. 
+.SS "EAPI int ecore_str_compare (const void * key1, const void * key2)"
+.PP
+Perform a string comparison of two keys values. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIkey1\fP The first key to compare 
+.br
+\fIkey2\fP The second key to compare 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+A strcmp style value to indicate the larger key 
+.RE
+.PP
+
+.SS "EAPI unsigned int ecore_str_hash (const void * key)"
+.PP
+Compute the hash value of a string. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIkey\fP A pointer to the string to compute a hash value 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+A computed hash value for \fIkey\fP. 
+.RE
+.PP
+
+.SS "EAPI void ecore_strbuf_append (Ecore_Strbuf * buf, const char * str)"
+.PP
+Append a string to a buffer, reallocating as necessary. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIbuf\fP the Ecore_Strbuf to append to 
+.br
+\fIstr\fP the string to append 
+.RE
+.PP
+
+.SS "EAPI void ecore_strbuf_append_char (Ecore_Strbuf * buf, char c)"
+.PP
+Append a character to a string buffer, reallocating as necessary. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIbuf\fP the Ecore_Strbuf to append to 
+.br
+\fIc\fP the char to append 
+.RE
+.PP
+
+.SS "EAPI void ecore_strbuf_free (Ecore_Strbuf * buf)"
+.PP
+Free a string buffer. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIbuf\fP the buffer to free 
+.RE
+.PP
+
+.SS "EAPI void ecore_strbuf_insert (Ecore_Strbuf * buf, const char * str, size_t pos)"
+.PP
+Insert a string to a buffer, reallocating as necessary. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIbuf\fP the Ecore_Strbuf to insert 
+.br
+\fIstr\fP the string to insert 
+.br
+\fIpos\fP the position to insert the string 
+.RE
+.PP
+
+.SS "EAPI size_t ecore_strbuf_length_get (Ecore_Strbuf * buf)"
+.PP
+Retrieve the length of the string buffer content. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIbuf\fP the buffer 
+.RE
+.PP
+
+.SS "EAPI int ecore_strbuf_replace (Ecore_Strbuf * buf, const char * str, const char * with, unsigned int n)"
+.PP
+Replace the n-th string with an other string. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIbuf\fP the Ecore_Strbuf to work with 
+.br
+\fIstr\fP the string to replace 
+.br
+\fIwith\fP the replaceing string 
+.br
+\fIn\fP the number of the fitting string
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+true on success 
+.RE
+.PP
+
+.SS "EAPI int ecore_strbuf_replace_all (Ecore_Strbuf * buf, const char * str, const char * with)"
+.PP
+Replace all strings with an other string. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIbuf\fP the Ecore_Strbuf to work with 
+.br
+\fIstr\fP the string to replace 
+.br
+\fIwith\fP the replaceing string
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+how often the string was replaced 
+.RE
+.PP
+
+.SS "EAPI const char* ecore_strbuf_string_get (Ecore_Strbuf * buf)"
+.PP
+Retrieve a pointer to the contents of a string buffer. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIbuf\fP the buffer
+.RE
+.PP
+This pointer must not be modified, and will no longer be valid if the Ecore_Strbuf is modified. 
+.SS "EAPI int ecore_string_init (void)"
+.PP
+Initialize the ecore string internal structure. 
+.PP
+\fBReturns:\fP
+.RS 4
+Zero on failure, non-zero on successful initialization. 
+.RE
+.PP
+
+.SS "EAPI void* ecore_tree_closest_larger_get (Ecore_Tree * tree, const void * key)"
+.PP
+Find the closest value greater than or equal to the key. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fItree\fP The tree to search. 
+.br
+\fIkey\fP The key to search for in \fItree\fP. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+NULL if no valid nodes, otherwise the node greater than or equal to the key 
+.RE
+.PP
+
+.SS "EAPI void* ecore_tree_closest_smaller_get (Ecore_Tree * tree, const void * key)"
+.PP
+Find the closest value <= key. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fItree\fP the tree to search 
+.br
+\fIkey\fP the key to search for in tree 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+Returns NULL if no valid nodes, otherwise the node <= key 
+.RE
+.PP
+
+.SS "EAPI int ecore_tree_destroy (Ecore_Tree * tree)"
+.PP
+Free the tree and it's stored data. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fItree,:\fP the tree to destroy
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+Returns TRUE if tree destroyed successfully, FALSE if not. 
+.RE
+.PP
+
+.SS "EAPI int ecore_tree_empty_is (Ecore_Tree * tree)"
+.PP
+Test to see if the tree has any nodes. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fItree,:\fP the tree to check for nodes 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+Returns TRUE if no nodes exist, FALSE otherwise 
+.RE
+.PP
+
+.SS "EAPI int ecore_tree_for_each_node (Ecore_Tree * tree, Ecore_For_Each for_each_func, void * user_data)"
+.PP
+Execute the function for each node in the tree. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fItree,:\fP the tree to traverse 
+.br
+\fIfor_each_func,:\fP the function to execute for each node 
+.br
+\fIuser_data,:\fP data passed to each for_each_func call 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+Returns TRUE on success, FALSE on failure. 
+.RE
+.PP
+
+.SS "EAPI int ecore_tree_for_each_node_value (Ecore_Tree * tree, Ecore_For_Each for_each_func, void * user_data)"
+.PP
+Execute function for each value in the tree. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fItree,:\fP the tree to traverse 
+.br
+\fIfor_each_func,:\fP the function to execute for each value in the tree 
+.br
+\fIuser_data,:\fP data passed to each for_each_func call 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+Returns TRUE on success, FALSE on failure. 
+.RE
+.PP
+
+.SS "EAPI void* ecore_tree_get (Ecore_Tree * tree, const void * key)"
+.PP
+Return the value corresponding to key. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fItree,:\fP the tree to search 
+.br
+\fIkey,:\fP the key to search for in \fItree\fP 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+Returns the value corresponding to the key if found, otherwise NULL. 
+.RE
+.PP
+
+.SS "EAPI Ecore_Tree_Node* ecore_tree_get_node (Ecore_Tree * tree, const void * key)"
+.PP
+Return the node corresponding to key. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fItree,:\fP the tree to search 
+.br
+\fIkey,:\fP the key to search for in the tree
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+Returns the node corresponding to the key if found, otherwise NULL. 
+.RE
+.PP
+
+.SS "EAPI int ecore_tree_init (Ecore_Tree * new_tree, Ecore_Compare_Cb compare_func)"
+.PP
+Initialize a tree structure to some sane initial values. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fInew_tree,:\fP the new tree structure to be initialized 
+.br
+\fIcompare_func,:\fP the function used to compare node keys 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+Returns TRUE on successful initialization, FALSE on an error 
+.RE
+.PP
+
+.SS "EAPI Ecore_Tree* ecore_tree_new (Ecore_Compare_Cb compare_func)"
+.PP
+Allocate a new tree structure. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIcompare_func,:\fP function used to compare the two values 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+Returns NULL if the operation fails, otherwise the new tree 
+.RE
+.PP
+
+.SS "EAPI int ecore_tree_node_add (Ecore_Tree * tree, Ecore_Tree_Node * node)"
+.PP
+Place a node in the tree. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fItree\fP The tree to add \fInode\fP. 
+.br
+\fInode\fP The node to add to \fItree\fP. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+TRUE on a successful add, FALSE otherwise. 
+.RE
+.PP
+
+.SS "EAPI int ecore_tree_node_remove (Ecore_Tree * tree, Ecore_Tree_Node * node)"
+.PP
+Remove the node from the tree. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fItree\fP The tree to remove \fInode\fP from. 
+.br
+\fInode\fP The node to remove from \fItree\fP. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+TRUE on a successful remove, FALSE otherwise. 
+.RE
+.PP
+
+.SS "EAPI int ecore_tree_remove (Ecore_Tree * tree, const void * key)"
+.PP
+Remove the key from the tree. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fItree\fP The tree to remove \fIkey\fP. 
+.br
+\fIkey\fP The key to remove from \fItree\fP. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+TRUE on a successful remove, FALSE otherwise. 
+.RE
+.PP
+
+.SS "EAPI int ecore_tree_set (Ecore_Tree * tree, void * key, void * value)"
+.PP
+Set the value associated with key to \fIvalue\fP. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fItree\fP The tree that contains the key/value pair. 
+.br
+\fIkey\fP The key to identify which node to set a value. 
+.br
+\fIvalue\fP Value to set the found node. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+TRUE if successful, FALSE if not. 
+.RE
+.PP
+
+.SH "Author"
+.PP 
+Generated automatically by Doxygen for Ecore from the source code.
diff --git a/doc/man/man3/Ecore_Data_DList_Add_Item_Group.3 b/doc/man/man3/Ecore_Data_DList_Add_Item_Group.3
new file mode 100644
index 0000000..06149d4
--- /dev/null
+++ b/doc/man/man3/Ecore_Data_DList_Add_Item_Group.3
@@ -0,0 +1,122 @@
+.TH "Doubly Linked List Adding Functions" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+Doubly Linked List Adding Functions \- Functions that are used to add nodes to an Ecore_DList.  
+
+.PP
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI int \fBecore_dlist_append\fP (Ecore_DList *list, void *data)"
+.br
+.RI "\fIAppends data to the given doubly linked list. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_dlist_prepend\fP (Ecore_DList *list, void *data)"
+.br
+.RI "\fIAdds data to the very beginning of the given doubly linked list. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_dlist_insert\fP (Ecore_DList *list, void *data)"
+.br
+.RI "\fIInserts data at the current point in the given doubly linked list. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_dlist_append_list\fP (Ecore_DList *list, Ecore_DList *append)"
+.br
+.RI "\fIAppends a list to the given doubly linked list. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_dlist_prepend_list\fP (Ecore_DList *list, Ecore_DList *prepend)"
+.br
+.RI "\fIAdds a list to the very beginning of the given doubly linked list. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Functions that are used to add nodes to an Ecore_DList. 
+.PP
+.SH "Function Documentation"
+.PP 
+.SS "EAPI int ecore_dlist_append (Ecore_DList * list, void * data)"
+.PP
+Appends data to the given doubly linked list. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIlist\fP The given doubly linked list. 
+.br
+\fIdata\fP The data to append. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+\fCTRUE\fP if the data is successfully appended, \fCFALSE\fP otherwise. 
+.RE
+.PP
+
+.SS "EAPI int ecore_dlist_append_list (Ecore_DList * list, Ecore_DList * append)"
+.PP
+Appends a list to the given doubly linked list. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIlist\fP The given doubly linked list. 
+.br
+\fIappend\fP The list to append. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+\fCTRUE\fP if the data is successfully appended, \fCFALSE\fP otherwise. 
+.RE
+.PP
+
+.SS "EAPI int ecore_dlist_insert (Ecore_DList * list, void * data)"
+.PP
+Inserts data at the current point in the given doubly linked list. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIlist\fP The given doubly linked list. 
+.br
+\fIdata\fP The data to be inserted. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+\fCTRUE\fP on success, \fCFALSE\fP otherwise. 
+.RE
+.PP
+
+.SS "EAPI int ecore_dlist_prepend (Ecore_DList * list, void * data)"
+.PP
+Adds data to the very beginning of the given doubly linked list. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIlist\fP The given doubly linked list. 
+.br
+\fIdata\fP The data to prepend. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+\fCTRUE\fP if the data is successfully prepended, \fCFALSE\fP otherwise. 
+.RE
+.PP
+
+.SS "EAPI int ecore_dlist_prepend_list (Ecore_DList * list, Ecore_DList * prepend)"
+.PP
+Adds a list to the very beginning of the given doubly linked list. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIlist\fP The given doubly linked list. 
+.br
+\fIprepend\fP The list to prepend. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+\fCTRUE\fP if the data is successfully prepended, \fCFALSE\fP otherwise. 
+.RE
+.PP
+
diff --git a/doc/man/man3/Ecore_Data_DList_Creation_Group.3 b/doc/man/man3/Ecore_Data_DList_Creation_Group.3
new file mode 100644
index 0000000..c8daa33
--- /dev/null
+++ b/doc/man/man3/Ecore_Data_DList_Creation_Group.3
@@ -0,0 +1,85 @@
+.TH "Doubly Linked List Creation/Destruction Functions" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+Doubly Linked List Creation/Destruction Functions \- Functions used to create, initialize and destroy \fCEcore_DLists\fP.  
+
+.PP
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI Ecore_DList * \fBecore_dlist_new\fP ()"
+.br
+.RI "\fICreates and initialises a new doubly linked list. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_dlist_init\fP (Ecore_DList *list)"
+.br
+.RI "\fIInitialises a list to some sane starting values. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_dlist_destroy\fP (Ecore_DList *list)"
+.br
+.RI "\fIFrees a doubly linked list and all of its nodes. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_dlist_free_cb_set\fP (Ecore_DList *list, Ecore_Free_Cb free_func)"
+.br
+.RI "\fISets the function used for freeing data stored in a doubly linked list. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Functions used to create, initialize and destroy \fCEcore_DLists\fP. 
+.PP
+.SH "Function Documentation"
+.PP 
+.SS "EAPI void ecore_dlist_destroy (Ecore_DList * list)"
+.PP
+Frees a doubly linked list and all of its nodes. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIlist\fP The doubly linked list to be freed. 
+.RE
+.PP
+
+.SS "EAPI int ecore_dlist_free_cb_set (Ecore_DList * list, Ecore_Free_Cb free_func)"
+.PP
+Sets the function used for freeing data stored in a doubly linked list. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIlist\fP The doubly linked list that will use this function when nodes are destroyed. 
+.br
+\fIfree_func\fP The function that will free the key data 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+\fCTRUE\fP on success, \fCFALSE\fP on failure. 
+.RE
+.PP
+
+.SS "EAPI int ecore_dlist_init (Ecore_DList * list)"
+.PP
+Initialises a list to some sane starting values. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIlist\fP The doubly linked list to initialise. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+\fCTRUE\fP if successful, \fCFALSE\fP if an error occurs. 
+.RE
+.PP
+
+.SS "EAPI Ecore_DList* ecore_dlist_new (void)"
+.PP
+Creates and initialises a new doubly linked list. 
+.PP
+\fBReturns:\fP
+.RS 4
+A new initialised doubly linked list on success, \fCNULL\fP on failure. 
+.RE
+.PP
+
diff --git a/doc/man/man3/Ecore_Data_DList_Remove_Item_Group.3 b/doc/man/man3/Ecore_Data_DList_Remove_Item_Group.3
new file mode 100644
index 0000000..fb59f48
--- /dev/null
+++ b/doc/man/man3/Ecore_Data_DList_Remove_Item_Group.3
@@ -0,0 +1,93 @@
+.TH "Doubly Linked List Removing Functions" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+Doubly Linked List Removing Functions \- Functions that remove nodes from an \fCEcore_DList\fP.  
+
+.PP
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI void * \fBecore_dlist_remove\fP (Ecore_DList *list)"
+.br
+.RI "\fIRemoves the current item from the given doubly linked list. \fP"
+.ti -1c
+.RI "EAPI void * \fBecore_dlist_first_remove\fP (Ecore_DList *list)"
+.br
+.RI "\fIRemoves the first item from the given doubly linked list. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_dlist_remove_destroy\fP (Ecore_DList *list)"
+.br
+.RI "\fIRemoves and frees the data at the current position in the given doubly linked list. \fP"
+.ti -1c
+.RI "EAPI void * \fBecore_dlist_last_remove\fP (Ecore_DList *list)"
+.br
+.RI "\fIRemoves the last item from the given doubly linked list. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Functions that remove nodes from an \fCEcore_DList\fP. 
+.PP
+.SH "Function Documentation"
+.PP 
+.SS "EAPI void* ecore_dlist_first_remove (Ecore_DList * list)"
+.PP
+Removes the first item from the given doubly linked list. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIlist\fP The given doubly linked list. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+A pointer to the removed data on success, \fCNULL\fP on failure. 
+.RE
+.PP
+
+.SS "EAPI void* ecore_dlist_last_remove (Ecore_DList * list)"
+.PP
+Removes the last item from the given doubly linked list. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIlist\fP The given doubly linked list. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+A pointer to the removed data on success, \fCNULL\fP otherwise. 
+.RE
+.PP
+
+.SS "EAPI void* ecore_dlist_remove (Ecore_DList * list)"
+.PP
+Removes the current item from the given doubly linked list. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIlist\fP The given doubly linked list. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+A pointer to the removed data on success, \fCNULL\fP otherwise. 
+.RE
+.PP
+
+.SS "EAPI int ecore_dlist_remove_destroy (Ecore_DList * list)"
+.PP
+Removes and frees the data at the current position in the given doubly linked list. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIlist\fP The given doubly linked list. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+\fCTRUE\fP on success, \fCFALSE\fP otherwise. 
+.RE
+.PP
+
diff --git a/doc/man/man3/Ecore_Data_Hash_ADT_Creation_Group.3 b/doc/man/man3/Ecore_Data_Hash_ADT_Creation_Group.3
new file mode 100644
index 0000000..05c279f
--- /dev/null
+++ b/doc/man/man3/Ecore_Data_Hash_ADT_Creation_Group.3
@@ -0,0 +1,61 @@
+.TH "Hash Creation Functions" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+Hash Creation Functions \- Functions that create hash tables.  
+
+.PP
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI Ecore_Hash * \fBecore_hash_new\fP (Ecore_Hash_Cb hash_func, Ecore_Compare_Cb compare)"
+.br
+.RI "\fICreates and initializes a new hash. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_hash_init\fP (Ecore_Hash *hash, Ecore_Hash_Cb hash_func, Ecore_Compare_Cb compare)"
+.br
+.RI "\fIInitializes the given hash. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Functions that create hash tables. 
+.PP
+.SH "Function Documentation"
+.PP 
+.SS "EAPI int ecore_hash_init (Ecore_Hash * hash, Ecore_Hash_Cb hash_func, Ecore_Compare_Cb compare)"
+.PP
+Initializes the given hash. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIhash\fP The given hash. 
+.br
+\fIhash_func\fP The function used for hashing node keys. 
+.br
+\fIcompare\fP The function used for comparing node keys. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+\fCTRUE\fP on success, \fCFALSE\fP on an error. 
+.RE
+.PP
+
+.SS "EAPI Ecore_Hash* ecore_hash_new (Ecore_Hash_Cb hash_func, Ecore_Compare_Cb compare)"
+.PP
+Creates and initializes a new hash. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIhash_func\fP The function for determining hash position. 
+.br
+\fIcompare\fP The function for comparing node keys. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+\fCNULL\fP on error, a new hash on success. 
+.RE
+.PP
+
diff --git a/doc/man/man3/Ecore_Data_Hash_ADT_Data_Group.3 b/doc/man/man3/Ecore_Data_Hash_ADT_Data_Group.3
new file mode 100644
index 0000000..e984bab
--- /dev/null
+++ b/doc/man/man3/Ecore_Data_Hash_ADT_Data_Group.3
@@ -0,0 +1,124 @@
+.TH "Hash Data Functions" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+Hash Data Functions \- Functions that set, access and delete values from the hash tables.  
+
+.PP
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI int \fBecore_hash_set\fP (Ecore_Hash *hash, void *key, void *value)"
+.br
+.RI "\fISets a key-value pair in the given hash table. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_hash_hash_set\fP (Ecore_Hash *hash, Ecore_Hash *set)"
+.br
+.RI "\fISets all key-value pairs from set in the given hash table. \fP"
+.ti -1c
+.RI "EAPI void * \fBecore_hash_get\fP (Ecore_Hash *hash, const void *key)"
+.br
+.RI "\fIRetrieves the value associated with the given key from the given hash table. \fP"
+.ti -1c
+.RI "EAPI void * \fBecore_hash_remove\fP (Ecore_Hash *hash, const void *key)"
+.br
+.RI "\fIRemoves the value associated with the given key in the given hash table. \fP"
+.ti -1c
+.RI "EAPI void * \fBecore_hash_find\fP (Ecore_Hash *hash, Ecore_Compare_Cb compare, const void *value)"
+.br
+.RI "\fIRetrieves the first value that matches table. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Functions that set, access and delete values from the hash tables. 
+.PP
+.SH "Function Documentation"
+.PP 
+.SS "EAPI void* ecore_hash_find (Ecore_Hash * hash, Ecore_Compare_Cb compare, const void * value)"
+.PP
+Retrieves the first value that matches table. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIhash\fP The given hash table. 
+.br
+\fIkey\fP The key to search for. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The value corresponding to key on success, \fCNULL\fP otherwise. 
+.RE
+.PP
+
+.SS "EAPI void* ecore_hash_get (Ecore_Hash * hash, const void * key)"
+.PP
+Retrieves the value associated with the given key from the given hash table. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIhash\fP The given hash table. 
+.br
+\fIkey\fP The key to search for. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The value corresponding to key on success, \fCNULL\fP otherwise. 
+.RE
+.PP
+
+.SS "EAPI int ecore_hash_hash_set (Ecore_Hash * hash, Ecore_Hash * set)"
+.PP
+Sets all key-value pairs from set in the given hash table. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIhash\fP The given hash table. 
+.br
+\fIset\fP The hash table to import. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+\fCTRUE\fP if successful, \fCFALSE\fP if not. 
+.RE
+.PP
+
+.SS "EAPI void* ecore_hash_remove (Ecore_Hash * hash, const void * key)"
+.PP
+Removes the value associated with the given key in the given hash table. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIhash\fP The given hash table. 
+.br
+\fIkey\fP The key to search for. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The value corresponding to the key on success. \fCNULL\fP is returned if there is an error. 
+.RE
+.PP
+
+.SS "EAPI int ecore_hash_set (Ecore_Hash * hash, void * key, void * value)"
+.PP
+Sets a key-value pair in the given hash table. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIhash\fP The given hash table. 
+.br
+\fIkey\fP The key. 
+.br
+\fIvalue\fP The value. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+\fCTRUE\fP if successful, \fCFALSE\fP if not. 
+.RE
+.PP
+
diff --git a/doc/man/man3/Ecore_Data_Hash_ADT_Destruction_Group.3 b/doc/man/man3/Ecore_Data_Hash_ADT_Destruction_Group.3
new file mode 100644
index 0000000..d1fd807
--- /dev/null
+++ b/doc/man/man3/Ecore_Data_Hash_ADT_Destruction_Group.3
@@ -0,0 +1,97 @@
+.TH "Hash Destruction Functions" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+Hash Destruction Functions \- Functions that destroy hash tables and their contents.  
+
+.PP
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI int \fBecore_hash_free_key_cb_set\fP (Ecore_Hash *hash, Ecore_Free_Cb function)"
+.br
+.RI "\fISets the function to destroy the keys of the given hash. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_hash_free_value_cb_set\fP (Ecore_Hash *hash, Ecore_Free_Cb function)"
+.br
+.RI "\fISets the function to destroy the values in the given hash. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_hash_destroy\fP (Ecore_Hash *hash)"
+.br
+.RI "\fIFrees the hash table and the data contained inside it. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_hash_count\fP (Ecore_Hash *hash)"
+.br
+.RI "\fICounts the number of nodes in a hash table. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Functions that destroy hash tables and their contents. 
+.PP
+.SH "Function Documentation"
+.PP 
+.SS "EAPI int ecore_hash_count (Ecore_Hash * hash)"
+.PP
+Counts the number of nodes in a hash table. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIhash\fP The hash table to count current nodes. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The number of nodes in the hash. 
+.RE
+.PP
+
+.SS "EAPI void ecore_hash_destroy (Ecore_Hash * hash)"
+.PP
+Frees the hash table and the data contained inside it. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIhash\fP The hash table to destroy. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+\fCTRUE\fP on success, \fCFALSE\fP on error. 
+.RE
+.PP
+
+.SS "EAPI int ecore_hash_free_key_cb_set (Ecore_Hash * hash, Ecore_Free_Cb function)"
+.PP
+Sets the function to destroy the keys of the given hash. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIhash\fP The given hash. 
+.br
+\fIfunction\fP The function used to free the node keys. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+\fCTRUE\fP on success, \fCFALSE\fP on error. 
+.RE
+.PP
+
+.SS "EAPI int ecore_hash_free_value_cb_set (Ecore_Hash * hash, Ecore_Free_Cb function)"
+.PP
+Sets the function to destroy the values in the given hash. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIhash\fP The given hash. 
+.br
+\fIfunction\fP The function that will free the node values. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+\fCTRUE\fP on success, \fCFALSE\fP on error 
+.RE
+.PP
+
diff --git a/doc/man/man3/Ecore_Data_Hash_ADT_Traverse_Group.3 b/doc/man/man3/Ecore_Data_Hash_ADT_Traverse_Group.3
new file mode 100644
index 0000000..3ac9bd9
--- /dev/null
+++ b/doc/man/man3/Ecore_Data_Hash_ADT_Traverse_Group.3
@@ -0,0 +1,59 @@
+.TH "Hash Traverse Functions" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+Hash Traverse Functions \- Functions that iterate through hash tables.  
+
+.PP
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI int \fBecore_hash_for_each_node\fP (Ecore_Hash *hash, Ecore_For_Each for_each_func, void *user_data)"
+.br
+.RI "\fIRuns the \fCfor_each_func\fP function on each entry in the given hash. \fP"
+.ti -1c
+.RI "EAPI Ecore_List * \fBecore_hash_keys\fP (Ecore_Hash *hash)"
+.br
+.RI "\fIRetrieves an ecore_list of all keys in the given hash. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Functions that iterate through hash tables. 
+.PP
+.SH "Function Documentation"
+.PP 
+.SS "EAPI int ecore_hash_for_each_node (Ecore_Hash * hash, Ecore_For_Each for_each_func, void * user_data)"
+.PP
+Runs the \fCfor_each_func\fP function on each entry in the given hash. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIhash\fP The given hash. 
+.br
+\fIfor_each_func\fP The function that each entry is passed to. 
+.br
+\fIuser_data\fP a pointer passed to calls of for_each_func 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+TRUE on success, FALSE otherwise. 
+.RE
+.PP
+
+.SS "EAPI Ecore_List* ecore_hash_keys (Ecore_Hash * hash)"
+.PP
+Retrieves an ecore_list of all keys in the given hash. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIhash\fP The given hash. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+new ecore_list on success, NULL otherwise 
+.RE
+.PP
+
diff --git a/doc/man/man3/Ecore_Data_List_Add_Item_Group.3 b/doc/man/man3/Ecore_Data_List_Add_Item_Group.3
new file mode 100644
index 0000000..02b50c9
--- /dev/null
+++ b/doc/man/man3/Ecore_Data_List_Add_Item_Group.3
@@ -0,0 +1,122 @@
+.TH "List Item Adding Functions" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+List Item Adding Functions \- Functions that are used to add nodes to an Ecore_List.  
+
+.PP
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI int \fBecore_list_append\fP (Ecore_List *list, void *data)"
+.br
+.RI "\fIAppend data to the list. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_list_prepend\fP (Ecore_List *list, void *data)"
+.br
+.RI "\fIPrepend data to the beginning of the list. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_list_insert\fP (Ecore_List *list, void *data)"
+.br
+.RI "\fIInsert data in front of the current point in the list. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_list_append_list\fP (Ecore_List *list, Ecore_List *append)"
+.br
+.RI "\fIAppend a list to the list. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_list_prepend_list\fP (Ecore_List *list, Ecore_List *prepend)"
+.br
+.RI "\fIPrepend a list to the beginning of the list. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Functions that are used to add nodes to an Ecore_List. 
+.PP
+.SH "Function Documentation"
+.PP 
+.SS "EAPI int ecore_list_append (Ecore_List * list, void * data)\fC [inline]\fP"
+.PP
+Append data to the list. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIlist\fP The list. 
+.br
+\fIdata\fP The data to append. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+\fCFALSE\fP if an error occurs, \fCTRUE\fP if appended successfully 
+.RE
+.PP
+
+.SS "EAPI int ecore_list_append_list (Ecore_List * list, Ecore_List * append)"
+.PP
+Append a list to the list. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIlist\fP The list. 
+.br
+\fIappend\fP The list to append. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+\fCFALSE\fP if an error occurs, \fCTRUE\fP if appended successfully 
+.RE
+.PP
+
+.SS "EAPI int ecore_list_insert (Ecore_List * list, void * data)\fC [inline]\fP"
+.PP
+Insert data in front of the current point in the list. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIlist\fP The list to hold the inserted \fCdata\fP. 
+.br
+\fIdata\fP The data to insert into \fClist\fP. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+\fCFALSE\fP if there is an error, \fCTRUE\fP on success 
+.RE
+.PP
+
+.SS "EAPI int ecore_list_prepend (Ecore_List * list, void * data)\fC [inline]\fP"
+.PP
+Prepend data to the beginning of the list. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIlist\fP The list. 
+.br
+\fIdata\fP The data to prepend. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+\fCFALSE\fP if an error occurs, \fCTRUE\fP if prepended successfully. 
+.RE
+.PP
+
+.SS "EAPI int ecore_list_prepend_list (Ecore_List * list, Ecore_List * prepend)"
+.PP
+Prepend a list to the beginning of the list. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIlist\fP The list. 
+.br
+\fIprepend\fP The list to prepend. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+\fCFALSE\fP if an error occurs, \fCTRUE\fP if prepended successfully. 
+.RE
+.PP
+
diff --git a/doc/man/man3/Ecore_Data_List_Creation_Group.3 b/doc/man/man3/Ecore_Data_List_Creation_Group.3
new file mode 100644
index 0000000..d0475a6
--- /dev/null
+++ b/doc/man/man3/Ecore_Data_List_Creation_Group.3
@@ -0,0 +1,64 @@
+.TH "List Creation/Destruction Functions" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+List Creation/Destruction Functions \- Functions that create, initialize and destroy Ecore_Lists.  
+
+.PP
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI Ecore_List * \fBecore_list_new\fP ()"
+.br
+.RI "\fICreate and initialize a new list. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_list_init\fP (Ecore_List *list)"
+.br
+.RI "\fIInitialize a list to some sane starting values. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_list_destroy\fP (Ecore_List *list)"
+.br
+.RI "\fIFree a list and all of it's nodes. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Functions that create, initialize and destroy Ecore_Lists. 
+.PP
+.SH "Function Documentation"
+.PP 
+.SS "EAPI void ecore_list_destroy (Ecore_List * list)"
+.PP
+Free a list and all of it's nodes. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIlist\fP The list to be freed. 
+.RE
+.PP
+
+.SS "EAPI int ecore_list_init (Ecore_List * list)"
+.PP
+Initialize a list to some sane starting values. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIlist\fP The list to initialize. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+\fCTRUE\fP if successful, \fCFALSE\fP if an error occurs. 
+.RE
+.PP
+
+.SS "EAPI Ecore_List* ecore_list_new (void)"
+.PP
+Create and initialize a new list. 
+.PP
+\fBReturns:\fP
+.RS 4
+A new initialized list on success, \fCNULL\fP on failure. 
+.RE
+.PP
+
diff --git a/doc/man/man3/Ecore_Data_List_Node_Group.3 b/doc/man/man3/Ecore_Data_List_Node_Group.3
new file mode 100644
index 0000000..009ab21
--- /dev/null
+++ b/doc/man/man3/Ecore_Data_List_Node_Group.3
@@ -0,0 +1,52 @@
+.TH "List Node Functions" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+List Node Functions \- Functions that are used in the creation, maintenance and destruction of Ecore_List nodes.  
+
+.PP
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI Ecore_List_Node * \fBecore_list_node_new\fP ()"
+.br
+.RI "\fIAllocates and initializes a new list node. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_list_node_destroy\fP (Ecore_List_Node *node, Ecore_Free_Cb free_func)"
+.br
+.RI "\fICalls the function to free the data and the node. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Functions that are used in the creation, maintenance and destruction of Ecore_List nodes. 
+.PP
+.SH "Function Documentation"
+.PP 
+.SS "EAPI int ecore_list_node_destroy (Ecore_List_Node * node, Ecore_Free_Cb free_func)"
+.PP
+Calls the function to free the data and the node. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fInode\fP Node to destroy. 
+.br
+\fIfree_func\fP Function to call if \fCnode\fP points to data to free. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+\fCTRUE\fP. 
+.RE
+.PP
+
+.SS "EAPI Ecore_List_Node* ecore_list_node_new (void)"
+.PP
+Allocates and initializes a new list node. 
+.PP
+\fBReturns:\fP
+.RS 4
+A new Ecore_List_Node on success, \fCNULL\fP otherwise. 
+.RE
+.PP
+
diff --git a/doc/man/man3/Ecore_Data_List_Remove_Item_Group.3 b/doc/man/man3/Ecore_Data_List_Remove_Item_Group.3
new file mode 100644
index 0000000..9fc3a01
--- /dev/null
+++ b/doc/man/man3/Ecore_Data_List_Remove_Item_Group.3
@@ -0,0 +1,93 @@
+.TH "List Item Removing Functions" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+List Item Removing Functions \- Functions that remove nodes from an Ecore_List.  
+
+.PP
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI void * \fBecore_list_remove\fP (Ecore_List *list)"
+.br
+.RI "\fIRemove the current item from the list. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_list_remove_destroy\fP (Ecore_List *list)"
+.br
+.RI "\fIRemove and free the data in lists current position. \fP"
+.ti -1c
+.RI "EAPI void * \fBecore_list_first_remove\fP (Ecore_List *list)"
+.br
+.RI "\fIRemove the first item from the list. \fP"
+.ti -1c
+.RI "EAPI void * \fBecore_list_last_remove\fP (Ecore_List *list)"
+.br
+.RI "\fIRemove the last item from the list. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Functions that remove nodes from an Ecore_List. 
+.PP
+.SH "Function Documentation"
+.PP 
+.SS "EAPI void* ecore_list_first_remove (Ecore_List * list)\fC [inline]\fP"
+.PP
+Remove the first item from the list. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIlist\fP The list to remove the current item 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+Returns a pointer to the removed data on success, \fCNULL\fP on failure. 
+.RE
+.PP
+
+.SS "EAPI void* ecore_list_last_remove (Ecore_List * list)\fC [inline]\fP"
+.PP
+Remove the last item from the list. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIlist\fP The list to remove the last node from 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+A pointer to the removed data on success, \fCNULL\fP on failure. 
+.RE
+.PP
+
+.SS "EAPI void* ecore_list_remove (Ecore_List * list)\fC [inline]\fP"
+.PP
+Remove the current item from the list. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIlist\fP The list to remove the current item 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+A pointer to the removed data on success, \fCNULL\fP on failure. 
+.RE
+.PP
+
+.SS "EAPI int ecore_list_remove_destroy (Ecore_List * list)"
+.PP
+Remove and free the data in lists current position. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIlist\fP The list to remove and free the current item. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+\fCTRUE\fP on success, \fCFALSE\fP on error 
+.RE
+.PP
+
diff --git a/doc/man/man3/Ecore_Data_List_Traverse_Group.3 b/doc/man/man3/Ecore_Data_List_Traverse_Group.3
new file mode 100644
index 0000000..c460baa
--- /dev/null
+++ b/doc/man/man3/Ecore_Data_List_Traverse_Group.3
@@ -0,0 +1,118 @@
+.TH "List Traversal Functions" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+List Traversal Functions \- Functions that can be used to traverse an Ecore_List.  
+
+.PP
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI void * \fBecore_list_index_goto\fP (Ecore_List *list, int index)"
+.br
+.RI "\fIMake the current item the item with the given index number. \fP"
+.ti -1c
+.RI "EAPI void * \fBecore_list_goto\fP (Ecore_List *list, const void *data)"
+.br
+.RI "\fIMake the current item the node that contains \fCdata\fP. \fP"
+.ti -1c
+.RI "EAPI void * \fBecore_list_first_goto\fP (Ecore_List *list)"
+.br
+.RI "\fIMake the current item the first item in the list. \fP"
+.ti -1c
+.RI "EAPI void * \fBecore_list_last_goto\fP (Ecore_List *list)"
+.br
+.RI "\fIMake the current item the last item in the list. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_list_for_each\fP (Ecore_List *list, Ecore_For_Each function, void *user_data)"
+.br
+.RI "\fIExecute function for each node in \fClist\fP. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Functions that can be used to traverse an Ecore_List. 
+.PP
+.SH "Function Documentation"
+.PP 
+.SS "EAPI void* ecore_list_first_goto (Ecore_List * list)\fC [inline]\fP"
+.PP
+Make the current item the first item in the list. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIlist\fP The list. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+A pointer to the first item on success, \fCNULL\fP on failure 
+.RE
+.PP
+
+.SS "EAPI int ecore_list_for_each (Ecore_List * list, Ecore_For_Each function, void * user_data)"
+.PP
+Execute function for each node in \fClist\fP. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIlist\fP The list. 
+.br
+\fIfunction\fP The function to pass each node from \fClist\fP to. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+Returns \fCTRUE\fP on success, \fCFALSE\fP on failure. 
+.RE
+.PP
+
+.SS "EAPI void* ecore_list_goto (Ecore_List * list, const void * data)\fC [inline]\fP"
+.PP
+Make the current item the node that contains \fCdata\fP. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIlist\fP The list. 
+.br
+\fIdata\fP The data to find. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+A pointer to \fCdata\fP on success, \fCNULL\fP on failure. 
+.RE
+.PP
+
+.SS "EAPI void* ecore_list_index_goto (Ecore_List * list, int index)\fC [inline]\fP"
+.PP
+Make the current item the item with the given index number. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIlist\fP The list. 
+.br
+\fIindex\fP The position to move the current item. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+A pointer to new current item on success, \fCNULL\fP on failure. 
+.RE
+.PP
+
+.SS "EAPI void* ecore_list_last_goto (Ecore_List * list)\fC [inline]\fP"
+.PP
+Make the current item the last item in the list. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIlist\fP The list. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+A pointer to the last item on success, \fCNULL\fP on failure. 
+.RE
+.PP
+
diff --git a/doc/man/man3/Ecore_Desktop.h.3 b/doc/man/man3/Ecore_Desktop.h.3
new file mode 100644
index 0000000..bf2341d
--- /dev/null
+++ b/doc/man/man3/Ecore_Desktop.h.3
@@ -0,0 +1,134 @@
+.TH "Ecore_Desktop.h" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+Ecore_Desktop.h \- The file that provides the freedesktop.org desktop, icon, and menu functions. 
+.SH SYNOPSIS
+.br
+.PP
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "char * \fBecore_desktop_paths_file_find\fP (Ecore_List *paths, const char *file, int sub, int(*func)(void *data, const char *path), void *data)"
+.br
+.RI "\fISearch for a file in fdo compatible locations. \fP"
+.ti -1c
+.RI "Ecore_Hash * \fBecore_desktop_paths_to_hash\fP (const char *paths)"
+.br
+.RI "\fISplit a list of paths into an Ecore_Hash. \fP"
+.ti -1c
+.RI "Ecore_List * \fBecore_desktop_paths_to_list\fP (const char *paths)"
+.br
+.RI "\fISplit a list of paths into an Ecore_Hash. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_desktop_init\fP (void)"
+.br
+.RI "\fISetup what ever needs to be setup to support Ecore_Desktop. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_desktop_shutdown\fP (void)"
+.br
+.RI "\fITear down what ever needs to be torn down to support Ecore_Desktop. \fP"
+.ti -1c
+.RI "Ecore_Hash * \fBecore_desktop_ini_get\fP (const char *file)"
+.br
+.RI "\fIGet the contents of a .ini style file. \fP"
+.ti -1c
+.RI "Ecore_Desktop * \fBecore_desktop_get\fP (const char *file, const char *lang)"
+.br
+.RI "\fIGet the contents of a .desktop file. \fP"
+.ti -1c
+.RI "void \fBecore_desktop_destroy\fP (Ecore_Desktop *desktop)"
+.br
+.RI "\fIFree whatever resources are used by an Ecore_Desktop. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_desktop_icon_init\fP (void)"
+.br
+.RI "\fISetup what ever needs to be setup to support ecore_desktop_icon. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_desktop_icon_shutdown\fP (void)"
+.br
+.RI "\fITear down what ever needs to be torn down to support ecore_desktop_ycon. \fP"
+.ti -1c
+.RI "EAPI char * \fBecore_desktop_icon_find\fP (const char *icon, const char *icon_size, const char *icon_theme)"
+.br
+.RI "\fIFind the path to an icon. \fP"
+.ti -1c
+.RI "void \fBecore_desktop_icon_theme_destroy\fP (Ecore_Desktop_Icon_Theme *icon_theme)"
+.br
+.RI "\fIFree whatever resources are used by an Ecore_Desktop_Icon_Theme. \fP"
+.ti -1c
+.RI "Ecore_Desktop_Tree * \fBecore_desktop_menu_get\fP (char *file)"
+.br
+.RI "\fIDecode a freedesktop.org menu XML jungle. \fP"
+.ti -1c
+.RI "char * \fBecore_desktop_home_get\fP (void)"
+.br
+.RI "\fIGet and massage the users home directory. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+The file that provides the freedesktop.org desktop, icon, and menu functions. 
+
+This header provides the Ecore_Desktop freedesktop.org desktop, icon, and menu handling functions, as well as ancillary functions for searching freedesktop.org specific paths. Other freedesktop.org specifications make use of similar files, paths, and icons, implementors can use / extend this code to suit.
+.PP
+Ecore_Desktop is not for every freedesktop.org specification, just those that are associated with .desktop files.
+.PP
+For path searching details, see \fBEcore_Desktop_Paths_Group\fP.
+.PP
+For desktop file details, see \fB.desktop file Functions\fP.
+.PP
+For icon theme details, see \fBicon theme Functions\fP.
+.PP
+For menu file details, see \fBmenu Functions\fP. 
+.SH "Function Documentation"
+.PP 
+.SS "char* ecore_desktop_paths_file_find (Ecore_List * paths, const char * file, int sub, int(*)(void *data, const char *path) func, void * data)"
+.PP
+Search for a file in fdo compatible locations. 
+.PP
+This will search through all the diretories of a particular type, looking for the file. It will recurse into subdirectories. If func is NULL, then only the first file found will be returned. If func is defined, then each file found will be passed to func, until func returns 1.
+.PP
+The returned string will have to be freed eventually.
+.PP
+\fBParameters:\fP
+.RS 4
+\fItype\fP The type of directories to search. 
+.br
+\fIfile\fP The file to search for. 
+.br
+\fIsub\fP Levels of sub directories to search, -1 = all, 0 = none. 
+.br
+\fIfunc\fP A function to call for each file found. 
+.br
+\fIdata\fP A pointer to pass on to func. 
+.RE
+.PP
+
+.SS "Ecore_Hash* ecore_desktop_paths_to_hash (const char * paths)"
+.PP
+Split a list of paths into an Ecore_Hash. 
+.PP
+The list of paths can use any one of ;:, to seperate the paths. You can also escape the :;, with \\.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIpaths\fP A list of paths. 
+.RE
+.PP
+
+.SS "Ecore_List* ecore_desktop_paths_to_list (const char * paths)"
+.PP
+Split a list of paths into an Ecore_Hash. 
+.PP
+The list of paths can use any one of ;:, to seperate the paths. You can also escape the :;, with \\.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIpaths\fP A list of paths. 
+.RE
+.PP
+
+.SH "Author"
+.PP 
+Generated automatically by Doxygen for Ecore from the source code.
diff --git a/doc/man/man3/Ecore_Desktop_Icon_Group.3 b/doc/man/man3/Ecore_Desktop_Icon_Group.3
new file mode 100644
index 0000000..65d1e69
--- /dev/null
+++ b/doc/man/man3/Ecore_Desktop_Icon_Group.3
@@ -0,0 +1,104 @@
+.TH "icon theme Functions" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+icon theme Functions \- Functions that deal with freedesktop.org icon themes.  
+
+.PP
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI char * \fBecore_desktop_icon_find\fP (const char *icon, const char *icon_size, const char *icon_theme)"
+.br
+.RI "\fIFind the path to an icon. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_desktop_icon_init\fP ()"
+.br
+.RI "\fISetup what ever needs to be setup to support ecore_desktop_icon. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_desktop_icon_shutdown\fP ()"
+.br
+.RI "\fITear down what ever needs to be torn down to support ecore_desktop_ycon. \fP"
+.ti -1c
+.RI "Ecore_Desktop_Icon_Theme * \fBecore_desktop_icon_theme_get\fP (const char *icon_theme, const char *lang __UNUSED__)"
+.br
+.RI "\fIGet the contents of an index.theme file. \fP"
+.ti -1c
+.RI "void \fBecore_desktop_icon_theme_destroy\fP (Ecore_Desktop_Icon_Theme *icon_theme)"
+.br
+.RI "\fIFree whatever resources are used by an Ecore_Desktop_Icon_Theme. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Functions that deal with freedesktop.org icon themes. 
+.PP
+This conforms with the freedesktop.org XDG Icon Theme Specification version 0.11 
+.SH "Function Documentation"
+.PP 
+.SS "EAPI char* ecore_desktop_icon_find (const char * icon, const char * icon_size, const char * icon_theme)"
+.PP
+Find the path to an icon. 
+.PP
+Using the search algorithm specified by freedesktop.org, search for an icon in the currently installed set of icon themes.
+.PP
+The returned string needs to be freed eventually.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIicon\fP The name of the required icon. 
+.br
+\fIicon_size\fP The size of the required icon. 
+.br
+\fIicon_theme\fP The theme of the required icon. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The full path to an icon file, or NULL. 
+.RE
+.PP
+
+.SS "EAPI int ecore_desktop_icon_init (void)"
+.PP
+Setup what ever needs to be setup to support ecore_desktop_icon. 
+.PP
+There are internal structures that are needed for ecore_desktop_icon functions to operate, this sets them up. 
+.SS "EAPI int ecore_desktop_icon_shutdown (void)"
+.PP
+Tear down what ever needs to be torn down to support ecore_desktop_ycon. 
+.PP
+There are internal structures that are needed for ecore_desktop_icon functions to operate, this tears them down. 
+.SS "void ecore_desktop_icon_theme_destroy (Ecore_Desktop_Icon_Theme * icon_theme)"
+.PP
+Free whatever resources are used by an Ecore_Desktop_Icon_Theme. 
+.PP
+There are internal resources used by each Ecore_Desktop_Icon_Theme This releases those resources.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIicon_theme\fP An Ecore_Desktop_Icon_Theme. 
+.RE
+.PP
+
+.SS "Ecore_Desktop_Icon_Theme* ecore_desktop_icon_theme_get (const char * icon_theme, const char *lang __UNUSED__)"
+.PP
+Get the contents of an index.theme file. 
+.PP
+Everything that is in the index.theme file is returned in the data member of the Ecore_Desktop_Icon_Theme structure, it's an Ecore_Hash as returned by \fBecore_desktop_ini_get()\fP. Some of the data in the index.theme file is decoded into specific members of the returned structure.
+.PP
+Use \fBecore_desktop_icon_theme_destroy()\fP to free this structure.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIicon_theme\fP Name of the icon theme, or full path to the index.theme file. 
+.br
+\fIlang\fP Language to use, or NULL for default. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+An Ecore_Desktop_Icon_Theme containing the files contents. 
+.RE
+.PP
+
diff --git a/doc/man/man3/Ecore_Desktop_Main_Group.3 b/doc/man/man3/Ecore_Desktop_Main_Group.3
new file mode 100644
index 0000000..229662b
--- /dev/null
+++ b/doc/man/man3/Ecore_Desktop_Main_Group.3
@@ -0,0 +1,112 @@
+.TH ".desktop file Functions" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+.desktop file Functions \- Functions that deal with freedesktop.org desktop files.  
+
+.PP
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "Ecore_Hash * \fBecore_desktop_ini_get\fP (const char *file)"
+.br
+.RI "\fIGet the contents of a .ini style file. \fP"
+.ti -1c
+.RI "Ecore_Desktop * \fBecore_desktop_get\fP (const char *file, const char *lang)"
+.br
+.RI "\fIGet the contents of a .desktop file. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_desktop_init\fP ()"
+.br
+.RI "\fISetup what ever needs to be setup to support Ecore_Desktop. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_desktop_shutdown\fP ()"
+.br
+.RI "\fITear down what ever needs to be torn down to support Ecore_Desktop. \fP"
+.ti -1c
+.RI "void \fBecore_desktop_destroy\fP (Ecore_Desktop *desktop)"
+.br
+.RI "\fIFree whatever resources are used by an Ecore_Desktop. \fP"
+.ti -1c
+.RI "char * \fBecore_desktop_home_get\fP ()"
+.br
+.RI "\fIGet and massage the users home directory. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Functions that deal with freedesktop.org desktop files. 
+.PP
+This conforms with the freedesktop.org XDG Desktop Entry Specification version 0.9.4 
+.SH "Function Documentation"
+.PP 
+.SS "void ecore_desktop_destroy (Ecore_Desktop * desktop)"
+.PP
+Free whatever resources are used by an Ecore_Desktop. 
+.PP
+There are internal resources used by each Ecore_Desktop This releases those resources.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIdesktop\fP An Ecore_Desktop that was previously returned by \fBecore_desktop_get()\fP. 
+.RE
+.PP
+
+.SS "Ecore_Desktop* ecore_desktop_get (const char * file, const char * lang)"
+.PP
+Get the contents of a .desktop file. 
+.PP
+Use \fBecore_desktop_destroy()\fP to free this structure.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIfile\fP Full path to the .desktop file. 
+.br
+\fIlang\fP Language to use, or NULL for default. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+An Ecore_Desktop containing the files contents. 
+.RE
+.PP
+
+.SS "char* ecore_desktop_home_get (void)"
+.PP
+Get and massage the users home directory. 
+.PP
+This is an internal function that may be useful elsewhere.
+.PP
+\fBReturns:\fP
+.RS 4
+The users howe directory. 
+.RE
+.PP
+
+.SS "Ecore_Hash* ecore_desktop_ini_get (const char * file)"
+.PP
+Get the contents of a .ini style file. 
+.PP
+The Ecore_Hash returned is a two level hash, the first level is the groups in the file, one per group, keyed by the name of that group. The value of each of those first level hashes is the second level Ecore_Hash, the contents of each group.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIfile\fP Full path to the .ini style file. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+An Ecore_Hash of the files contents. 
+.RE
+.PP
+
+.SS "EAPI int ecore_desktop_init (void)"
+.PP
+Setup what ever needs to be setup to support Ecore_Desktop. 
+.PP
+There are internal structures that are needed for Ecore_Desktop functions to operate, this sets them up. 
+.SS "EAPI int ecore_desktop_shutdown (void)"
+.PP
+Tear down what ever needs to be torn down to support Ecore_Desktop. 
+.PP
+There are internal structures that are needed for Ecore_Desktop functions to operate, this tears them down. 
diff --git a/doc/man/man3/Ecore_Desktop_Menu_Group.3 b/doc/man/man3/Ecore_Desktop_Menu_Group.3
new file mode 100644
index 0000000..1136e13
--- /dev/null
+++ b/doc/man/man3/Ecore_Desktop_Menu_Group.3
@@ -0,0 +1,38 @@
+.TH "menu Functions" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+menu Functions \- Functions that deal with freedesktop.org menus.  
+
+.PP
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "Ecore_Desktop_Tree * \fBecore_desktop_menu_get\fP (char *file)"
+.br
+.RI "\fIDecode a freedesktop.org menu XML jungle. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Functions that deal with freedesktop.org menus. 
+.PP
+.SH "Function Documentation"
+.PP 
+.SS "Ecore_Desktop_Tree* ecore_desktop_menu_get (char * file)"
+.PP
+Decode a freedesktop.org menu XML jungle. 
+.PP
+Using the algorithm specified by freedesktop.org, fully decode a menu based on an initial menu file.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIfile\fP The base file for the menu. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The resulting menu tree. 
+.RE
+.PP
+
diff --git a/doc/man/man3/Ecore_Evas.h.3 b/doc/man/man3/Ecore_Evas.h.3
new file mode 100644
index 0000000..012e2ae
--- /dev/null
+++ b/doc/man/man3/Ecore_Evas.h.3
@@ -0,0 +1,1562 @@
+.TH "Ecore_Evas.h" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+Ecore_Evas.h \- Evas wrapper functions. 
+.SH SYNOPSIS
+.br
+.PP
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI int \fBecore_evas_engine_type_supported_get\fP (Ecore_Evas_Engine_Type engine)"
+.br
+.RI "\fIQuery if a particular renginering engine target has support. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_evas_init\fP (void)"
+.br
+.RI "\fIInit the Evas system. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_evas_shutdown\fP (void)"
+.br
+.RI "\fIShut down the Evas system. \fP"
+.ti -1c
+.RI "EAPI Ecore_Evas * \fBecore_evas_software_x11_new\fP (const char *disp_name, Ecore_X_Window parent, int x, int y, int w, int h)"
+.br
+.RI "\fITo be documented. \fP"
+.ti -1c
+.RI "EAPI Ecore_X_Window \fBecore_evas_software_x11_window_get\fP (Ecore_Evas *ee)"
+.br
+.RI "\fITo be documented. \fP"
+.ti -1c
+.RI "EAPI Ecore_X_Window \fBecore_evas_software_x11_subwindow_get\fP (Ecore_Evas *ee)"
+.br
+.RI "\fITo be documented. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_evas_software_x11_direct_resize_set\fP (Ecore_Evas *ee, int on)"
+.br
+.RI "\fITo be documented. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_evas_software_x11_direct_resize_get\fP (Ecore_Evas *ee)"
+.br
+.RI "\fITo be documented. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_evas_software_x11_extra_event_window_add\fP (Ecore_Evas *ee, Ecore_X_Window win)"
+.br
+.RI "\fITo be documented. \fP"
+.ti -1c
+.RI "EAPI Ecore_Evas * \fBecore_evas_gl_x11_new\fP (const char *disp_name, Ecore_X_Window parent, int x, int y, int w, int h)"
+.br
+.RI "\fITo be documented. \fP"
+.ti -1c
+.RI "EAPI Ecore_X_Window \fBecore_evas_gl_x11_window_get\fP (Ecore_Evas *ee)"
+.br
+.RI "\fITo be documented. \fP"
+.ti -1c
+.RI "EAPI Ecore_X_Window \fBecore_evas_gl_x11_subwindow_get\fP (Ecore_Evas *ee)"
+.br
+.RI "\fITo be documented. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_evas_gl_x11_direct_resize_set\fP (Ecore_Evas *ee, int on)"
+.br
+.RI "\fITo be documented. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_evas_gl_x11_direct_resize_get\fP (Ecore_Evas *ee)"
+.br
+.RI "\fITo be documented. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_evas_gl_x11_extra_event_window_add\fP (Ecore_Evas *ee, Ecore_X_Window win)"
+.br
+.RI "\fITo be documented. \fP"
+.ti -1c
+.RI "EAPI Ecore_Evas * \fBecore_evas_xrender_x11_new\fP (const char *disp_name, Ecore_X_Window parent, int x, int y, int w, int h)"
+.br
+.RI "\fITo be documented. \fP"
+.ti -1c
+.RI "EAPI Ecore_X_Window \fBecore_evas_xrender_x11_window_get\fP (Ecore_Evas *ee)"
+.br
+.RI "\fITo be documented. \fP"
+.ti -1c
+.RI "EAPI Ecore_X_Window \fBecore_evas_xrender_x11_subwindow_get\fP (Ecore_Evas *ee)"
+.br
+.RI "\fITo be documented. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_evas_xrender_x11_direct_resize_set\fP (Ecore_Evas *ee, int on)"
+.br
+.RI "\fITo be documented. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_evas_xrender_x11_direct_resize_get\fP (Ecore_Evas *ee)"
+.br
+.RI "\fITo be documented. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_evas_xrender_x11_extra_event_window_add\fP (Ecore_Evas *ee, Ecore_X_Window win)"
+.br
+.RI "\fITo be documented. \fP"
+.ti -1c
+.RI "EAPI Ecore_Evas * \fBecore_evas_software_x11_16_new\fP (const char *disp_name, Ecore_X_Window parent, int x, int y, int w, int h)"
+.br
+.RI "\fITo be documented. \fP"
+.ti -1c
+.RI "EAPI Ecore_X_Window \fBecore_evas_software_x11_16_window_get\fP (Ecore_Evas *ee)"
+.br
+.RI "\fITo be documented. \fP"
+.ti -1c
+.RI "EAPI Ecore_X_Window \fBecore_evas_software_x11_16_subwindow_get\fP (Ecore_Evas *ee)"
+.br
+.RI "\fITo be documented. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_evas_software_x11_16_direct_resize_set\fP (Ecore_Evas *ee, int on)"
+.br
+.RI "\fITo be documented. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_evas_software_x11_16_direct_resize_get\fP (Ecore_Evas *ee)"
+.br
+.RI "\fITo be documented. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_evas_software_x11_16_extra_event_window_add\fP (Ecore_Evas *ee, Ecore_X_Window win)"
+.br
+.RI "\fITo be documented. \fP"
+.ti -1c
+.RI "EAPI Ecore_Evas * \fBecore_evas_fb_new\fP (char *disp_name, int rotation, int w, int h)"
+.br
+.RI "\fITo be documented. \fP"
+.ti -1c
+.RI "EAPI Ecore_Evas * \fBecore_evas_buffer_new\fP (int w, int h)"
+.br
+.RI "\fITo be documented. \fP"
+.ti -1c
+.RI "EAPI Ecore_Evas * \fBecore_evas_ecore_evas_get\fP (Evas *e)"
+.br
+.RI "\fIReturn the Ecore_Evas for this Evas. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_evas_free\fP (Ecore_Evas *ee)"
+.br
+.RI "\fIFree an Ecore_Evas. \fP"
+.ti -1c
+.RI "EAPI void * \fBecore_evas_data_get\fP (Ecore_Evas *ee, const char *key)"
+.br
+.RI "\fIRetrieve user data associated with an Ecore_Evas. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_evas_data_set\fP (Ecore_Evas *ee, const char *key, const void *data)"
+.br
+.RI "\fIStore user data in an Ecore_Evas structure. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_evas_callback_resize_set\fP (Ecore_Evas *ee, void(*func)(Ecore_Evas *ee))"
+.br
+.RI "\fISet a callback for Ecore_Evas resize events. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_evas_callback_move_set\fP (Ecore_Evas *ee, void(*func)(Ecore_Evas *ee))"
+.br
+.RI "\fISet a callback for Ecore_Evas move events. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_evas_callback_show_set\fP (Ecore_Evas *ee, void(*func)(Ecore_Evas *ee))"
+.br
+.RI "\fISet a callback for Ecore_Evas show events. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_evas_callback_hide_set\fP (Ecore_Evas *ee, void(*func)(Ecore_Evas *ee))"
+.br
+.RI "\fISet a callback for Ecore_Evas hide events. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_evas_callback_delete_request_set\fP (Ecore_Evas *ee, void(*func)(Ecore_Evas *ee))"
+.br
+.RI "\fISet a callback for Ecore_Evas delete request events. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_evas_callback_destroy_set\fP (Ecore_Evas *ee, void(*func)(Ecore_Evas *ee))"
+.br
+.RI "\fISet a callback for Ecore_Evas destroy events. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_evas_callback_focus_in_set\fP (Ecore_Evas *ee, void(*func)(Ecore_Evas *ee))"
+.br
+.RI "\fISet a callback for Ecore_Evas focus in events. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_evas_callback_focus_out_set\fP (Ecore_Evas *ee, void(*func)(Ecore_Evas *ee))"
+.br
+.RI "\fISet a callback for Ecore_Evas focus out events. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_evas_callback_sticky_set\fP (Ecore_Evas *ee, void(*func)(Ecore_Evas *ee))"
+.br
+.RI "\fISet a callback for Ecore_Evas sticky events. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_evas_callback_unsticky_set\fP (Ecore_Evas *ee, void(*func)(Ecore_Evas *ee))"
+.br
+.RI "\fISet a callback for Ecore_Evas un-sticky events. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_evas_callback_mouse_in_set\fP (Ecore_Evas *ee, void(*func)(Ecore_Evas *ee))"
+.br
+.RI "\fISet a callback for Ecore_Evas mouse in events. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_evas_callback_mouse_out_set\fP (Ecore_Evas *ee, void(*func)(Ecore_Evas *ee))"
+.br
+.RI "\fISet a callback for Ecore_Evas mouse out events. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_evas_callback_pre_render_set\fP (Ecore_Evas *ee, void(*func)(Ecore_Evas *ee))"
+.br
+.RI "\fISet a callback for Ecore_Evas mouse pre render events. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_evas_callback_post_render_set\fP (Ecore_Evas *ee, void(*func)(Ecore_Evas *ee))"
+.br
+.RI "\fISet a callback for Ecore_Evas mouse post render events. \fP"
+.ti -1c
+.RI "EAPI Evas * \fBecore_evas_get\fP (Ecore_Evas *ee)"
+.br
+.RI "\fIGet an Ecore_Evas's Evas. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_evas_move\fP (Ecore_Evas *ee, int x, int y)"
+.br
+.RI "\fIMove an Ecore_Evas. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_evas_managed_move\fP (Ecore_Evas *ee, int x, int y)"
+.br
+.RI "\fIProvide Managed move co-ordinates for an Ecore_Evas. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_evas_resize\fP (Ecore_Evas *ee, int w, int h)"
+.br
+.RI "\fIResize an Ecore_Evas. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_evas_move_resize\fP (Ecore_Evas *ee, int x, int y, int w, int h)"
+.br
+.RI "\fIResize an Ecore_Evas. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_evas_geometry_get\fP (Ecore_Evas *ee, int *x, int *y, int *w, int *h)"
+.br
+.RI "\fIGet the geometry of an Ecore_Evas. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_evas_rotation_set\fP (Ecore_Evas *ee, int rot)"
+.br
+.RI "\fISet the rotation of an Ecore_Evas' window. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_evas_rotation_get\fP (Ecore_Evas *ee)"
+.br
+.RI "\fISet the rotation of an Ecore_Evas' window. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_evas_shaped_set\fP (Ecore_Evas *ee, int shaped)"
+.br
+.RI "\fISet whether an Ecore_Evas is shaped or not. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_evas_shaped_get\fP (Ecore_Evas *ee)"
+.br
+.RI "\fIQuery whether an Ecore_Evas is shaped or not. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_evas_alpha_set\fP (Ecore_Evas *ee, int alpha)"
+.br
+.RI "\fISet whether an Ecore_Evas has an alpha channel or not. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_evas_alpha_get\fP (Ecore_Evas *ee)"
+.br
+.RI "\fIQuery whether an Ecore_Evas has an alpha channel. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_evas_show\fP (Ecore_Evas *ee)"
+.br
+.RI "\fIShow an Ecore_Evas' window. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_evas_hide\fP (Ecore_Evas *ee)"
+.br
+.RI "\fIHide an Ecore_Evas' window. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_evas_visibility_get\fP (Ecore_Evas *ee)"
+.br
+.RI "\fIQuery whether an Ecore_Evas' window is visible or not. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_evas_raise\fP (Ecore_Evas *ee)"
+.br
+.RI "\fIRaise and Ecore_Evas' window. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_evas_lower\fP (Ecore_Evas *ee)"
+.br
+.RI "\fILower an Ecore_Evas' window. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_evas_title_set\fP (Ecore_Evas *ee, const char *t)"
+.br
+.RI "\fISet the title of an Ecore_Evas' window. \fP"
+.ti -1c
+.RI "EAPI const char * \fBecore_evas_title_get\fP (Ecore_Evas *ee)"
+.br
+.RI "\fIGet the title of an Ecore_Evas' window. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_evas_name_class_set\fP (Ecore_Evas *ee, const char *n, const char *c)"
+.br
+.RI "\fISet the name and class of an Ecore_Evas' window. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_evas_name_class_get\fP (Ecore_Evas *ee, const char **n, const char **c)"
+.br
+.RI "\fIGet the name and class of an Ecore_Evas' window \fCee\fP The Ecore_Evas to query \fCn\fP A pointer to a string to place the name in. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_evas_size_min_set\fP (Ecore_Evas *ee, int w, int h)"
+.br
+.RI "\fISet the min size of an Ecore_Evas' window. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_evas_size_min_get\fP (Ecore_Evas *ee, int *w, int *h)"
+.br
+.RI "\fIGet the min size of an Ecore_Evas' window. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_evas_size_max_set\fP (Ecore_Evas *ee, int w, int h)"
+.br
+.RI "\fISet the max size of an Ecore_Evas' window. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_evas_size_max_get\fP (Ecore_Evas *ee, int *w, int *h)"
+.br
+.RI "\fIGet the max size of an Ecore_Evas' window. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_evas_size_base_set\fP (Ecore_Evas *ee, int w, int h)"
+.br
+.RI "\fISet the base size of an Ecore_Evas' window. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_evas_size_base_get\fP (Ecore_Evas *ee, int *w, int *h)"
+.br
+.RI "\fIGet the base size of an Ecore_Evas' window. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_evas_size_step_set\fP (Ecore_Evas *ee, int w, int h)"
+.br
+.RI "\fISet the step size of an Ecore_Evas. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_evas_size_step_get\fP (Ecore_Evas *ee, int *w, int *h)"
+.br
+.RI "\fIGet the step size of an Ecore_Evas' window. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_evas_cursor_set\fP (Ecore_Evas *ee, const char *file, int layer, int hot_x, int hot_y)"
+.br
+.RI "\fISet the cursor of an Ecore_Evas. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_evas_cursor_get\fP (Ecore_Evas *ee, char **file, int *layer, int *hot_x, int *hot_y)"
+.br
+.RI "\fIGet information about an Ecore_Evas' cursor. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_evas_layer_set\fP (Ecore_Evas *ee, int layer)"
+.br
+.RI "\fISet the layer of an Ecore_Evas' window. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_evas_layer_get\fP (Ecore_Evas *ee)"
+.br
+.RI "\fIGet the layer of an Ecore_Evas' window. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_evas_focus_set\fP (Ecore_Evas *ee, int on)"
+.br
+.RI "\fISet the focus of an Ecore_Evas' window. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_evas_focus_get\fP (Ecore_Evas *ee)"
+.br
+.RI "\fIQuery whether an Ecore_Evas' window is focused or not. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_evas_iconified_set\fP (Ecore_Evas *ee, int on)"
+.br
+.RI "\fIIconify or uniconify an Ecore_Evas' window. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_evas_iconified_get\fP (Ecore_Evas *ee)"
+.br
+.RI "\fIQuery whether an Ecore_Evas' window is iconified or not. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_evas_borderless_set\fP (Ecore_Evas *ee, int on)"
+.br
+.RI "\fISet whether an Ecore_Evas' window is borderless or not. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_evas_borderless_get\fP (Ecore_Evas *ee)"
+.br
+.RI "\fIQuery whether an Ecore_Evas' window is borderless or not. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_evas_override_set\fP (Ecore_Evas *ee, int on)"
+.br
+.RI "\fITell the WM whether or not to ignore an Ecore_Evas' window. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_evas_override_get\fP (Ecore_Evas *ee)"
+.br
+.RI "\fIQuery whether an Ecore_Evas' window is overridden or not. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_evas_maximized_set\fP (Ecore_Evas *ee, int on)"
+.br
+.RI "\fIMaximize (or unmaximize) an Ecore_Evas' window. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_evas_maximized_get\fP (Ecore_Evas *ee)"
+.br
+.RI "\fIQuery whether an Ecore_Evas' window is maximized or not. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_evas_fullscreen_set\fP (Ecore_Evas *ee, int on)"
+.br
+.RI "\fISet whether or not an Ecore_Evas' window is fullscreen. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_evas_fullscreen_get\fP (Ecore_Evas *ee)"
+.br
+.RI "\fIQuery whether an Ecore_Evas' window is fullscreen or not. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_evas_avoid_damage_set\fP (Ecore_Evas *ee, int on)"
+.br
+.RI "\fISet whether or not an Ecore_Evas' window should avoid damage. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_evas_avoid_damage_get\fP (Ecore_Evas *ee)"
+.br
+.RI "\fIQuery whether an Ecore_Evas' window avoids damage or not. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_evas_withdrawn_set\fP (Ecore_Evas *ee, int withdrawn)"
+.br
+.RI "\fISet the withdrawn state of an Ecore_Evas' window. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_evas_withdrawn_get\fP (Ecore_Evas *ee)"
+.br
+.RI "\fIReturns the withdrawn state of an Ecore_Evas' window. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_evas_sticky_set\fP (Ecore_Evas *ee, int sticky)"
+.br
+.RI "\fISet the sticky state of an Ecore_Evas window. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_evas_sticky_get\fP (Ecore_Evas *ee)"
+.br
+.RI "\fIReturns the sticky state of an Ecore_Evas' window. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_evas_ignore_events_set\fP (Ecore_Evas *ee, int ignore)"
+.br
+.RI "\fISet if this evas should ignore events. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_evas_ignore_events_get\fP (Ecore_Evas *ee)"
+.br
+.RI "\fIReturns the ignore state of an Ecore_Evas' window. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Evas wrapper functions. 
+
+
+.SH "Function Documentation"
+.PP 
+.SS "EAPI int ecore_evas_alpha_get (Ecore_Evas * ee)"
+.PP
+Query whether an Ecore_Evas has an alpha channel. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIee\fP The Ecore_Evas to query. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+1 if ee has an alpha channel, 0 if it does not.
+.RE
+.PP
+This function returns 1 if \fCee\fP has an alpha channel, and 0 if it does not. 
+.SS "EAPI void ecore_evas_alpha_set (Ecore_Evas * ee, int alpha)"
+.PP
+Set whether an Ecore_Evas has an alpha channel or not. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIee\fP The Ecore_Evas to shape 
+.br
+\fIalpha\fP 1 to enable the alpha channel, 0 to disable it
+.RE
+.PP
+This function allows you to make an Ecore_Evas translucent using an alpha channel. See \fBecore_evas_shaped_set()\fP for details. The difference between a shaped window and a window with an alpha channel is that an alpha channel supports multiple levels of transpararency, as opposed to the 1 bit transparency of a shaped window (a pixel is either opaque, or it's transparent). 
+.SS "EAPI int ecore_evas_avoid_damage_get (Ecore_Evas * ee)"
+.PP
+Query whether an Ecore_Evas' window avoids damage or not. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIee\fP The Ecore_Evas to set 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+1 if \fCee\fP avoids damage, 0 if not. 
+.RE
+.PP
+
+.SS "EAPI void ecore_evas_avoid_damage_set (Ecore_Evas * ee, int on)"
+.PP
+Set whether or not an Ecore_Evas' window should avoid damage. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIee\fP The Ecore_Evas 
+.br
+\fIon\fP 1 to avoid damage, 0 to not
+.RE
+.PP
+This function causes \fCee\fP to be drawn to a pixmap to avoid recalculations. On expose events it will copy from the pixmap to the window. 
+.SS "EAPI int ecore_evas_borderless_get (Ecore_Evas * ee)"
+.PP
+Query whether an Ecore_Evas' window is borderless or not. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIee\fP The Ecore_Evas to set 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+1 if \fCee\fP is borderless, 0 if not. 
+.RE
+.PP
+
+.SS "EAPI void ecore_evas_borderless_set (Ecore_Evas * ee, int on)"
+.PP
+Set whether an Ecore_Evas' window is borderless or not. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIee\fP The Ecore_Evas 
+.br
+\fIon\fP 1 for borderless, 0 for bordered.
+.RE
+.PP
+This function makes \fCee\fP borderless if \fCon\fP is 1, or bordered if \fCon\fP is 0. 
+.SS "EAPI Ecore_Evas* ecore_evas_buffer_new (int w, int h)"
+.PP
+To be documented. 
+.PP
+FIXME: To be fixed. 
+.SS "EAPI void ecore_evas_callback_delete_request_set (Ecore_Evas * ee, void(*)(Ecore_Evas *ee) func)"
+.PP
+Set a callback for Ecore_Evas delete request events. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIee\fP The Ecore_Evas to set callbacks on 
+.br
+\fIfunc\fP The function to call
+.RE
+.PP
+A call to this function will set a callback on an Ecore_Evas, causing \fCfunc\fP to be called whenever \fCee\fP gets a delete request. 
+.SS "EAPI void ecore_evas_callback_destroy_set (Ecore_Evas * ee, void(*)(Ecore_Evas *ee) func)"
+.PP
+Set a callback for Ecore_Evas destroy events. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIee\fP The Ecore_Evas to set callbacks on 
+.br
+\fIfunc\fP The function to call
+.RE
+.PP
+A call to this function will set a callback on an Ecore_Evas, causing \fCfunc\fP to be called whenever \fCee\fP is destroyed. 
+.SS "EAPI void ecore_evas_callback_focus_in_set (Ecore_Evas * ee, void(*)(Ecore_Evas *ee) func)"
+.PP
+Set a callback for Ecore_Evas focus in events. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIee\fP The Ecore_Evas to set callbacks on 
+.br
+\fIfunc\fP The function to call
+.RE
+.PP
+A call to this function will set a callback on an Ecore_Evas, causing \fCfunc\fP to be called whenever \fCee\fP gets focus. 
+.SS "EAPI void ecore_evas_callback_focus_out_set (Ecore_Evas * ee, void(*)(Ecore_Evas *ee) func)"
+.PP
+Set a callback for Ecore_Evas focus out events. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIee\fP The Ecore_Evas to set callbacks on 
+.br
+\fIfunc\fP The function to call
+.RE
+.PP
+A call to this function will set a callback on an Ecore_Evas, causing \fCfunc\fP to be called whenever \fCee\fP loses focus. 
+.SS "EAPI void ecore_evas_callback_hide_set (Ecore_Evas * ee, void(*)(Ecore_Evas *ee) func)"
+.PP
+Set a callback for Ecore_Evas hide events. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIee\fP The Ecore_Evas to set callbacks on 
+.br
+\fIfunc\fP The function to call
+.RE
+.PP
+A call to this function will set a callback on an Ecore_Evas, causing \fCfunc\fP to be called whenever \fCee\fP is hidden. 
+.SS "EAPI void ecore_evas_callback_mouse_in_set (Ecore_Evas * ee, void(*)(Ecore_Evas *ee) func)"
+.PP
+Set a callback for Ecore_Evas mouse in events. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIee\fP The Ecore_Evas to set callbacks on 
+.br
+\fIfunc\fP The function to call
+.RE
+.PP
+A call to this function will set a callback on an Ecore_Evas, causing \fCfunc\fP to be called whenever the mouse enters \fCee\fP. 
+.SS "EAPI void ecore_evas_callback_mouse_out_set (Ecore_Evas * ee, void(*)(Ecore_Evas *ee) func)"
+.PP
+Set a callback for Ecore_Evas mouse out events. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIee\fP The Ecore_Evas to set callbacks on 
+.br
+\fIfunc\fP The function to call
+.RE
+.PP
+A call to this function will set a callback on an Ecore_Evas, causing \fCfunc\fP to be called whenever the mouse leaves \fCee\fP. 
+.SS "EAPI void ecore_evas_callback_move_set (Ecore_Evas * ee, void(*)(Ecore_Evas *ee) func)"
+.PP
+Set a callback for Ecore_Evas move events. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIee\fP The Ecore_Evas to set callbacks on 
+.br
+\fIfunc\fP The function to call
+.RE
+.PP
+A call to this function will set a callback on an Ecore_Evas, causing \fCfunc\fP to be called whenever \fCee\fP is moved. 
+.SS "EAPI void ecore_evas_callback_post_render_set (Ecore_Evas * ee, void(*)(Ecore_Evas *ee) func)"
+.PP
+Set a callback for Ecore_Evas mouse post render events. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIee\fP The Ecore_Evas to set callbacks on 
+.br
+\fIfunc\fP The function to call
+.RE
+.PP
+A call to this function will set a callback on an Ecore_Evas, causing \fCfunc\fP to be called just after the evas in \fCee\fP is rendered. 
+.SS "EAPI void ecore_evas_callback_pre_render_set (Ecore_Evas * ee, void(*)(Ecore_Evas *ee) func)"
+.PP
+Set a callback for Ecore_Evas mouse pre render events. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIee\fP The Ecore_Evas to set callbacks on 
+.br
+\fIfunc\fP The function to call
+.RE
+.PP
+A call to this function will set a callback on an Ecore_Evas, causing \fCfunc\fP to be called just before the evas in \fCee\fP is rendered. 
+.SS "EAPI void ecore_evas_callback_resize_set (Ecore_Evas * ee, void(*)(Ecore_Evas *ee) func)"
+.PP
+Set a callback for Ecore_Evas resize events. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIee\fP The Ecore_Evas to set callbacks on 
+.br
+\fIfunc\fP The function to call
+.RE
+.PP
+A call to this function will set a callback on an Ecore_Evas, causing \fCfunc\fP to be called whenever \fCee\fP is resized. 
+.SS "EAPI void ecore_evas_callback_show_set (Ecore_Evas * ee, void(*)(Ecore_Evas *ee) func)"
+.PP
+Set a callback for Ecore_Evas show events. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIee\fP The Ecore_Evas to set callbacks on 
+.br
+\fIfunc\fP The function to call
+.RE
+.PP
+A call to this function will set a callback on an Ecore_Evas, causing \fCfunc\fP to be called whenever \fCee\fP is shown. 
+.SS "EAPI void ecore_evas_callback_sticky_set (Ecore_Evas * ee, void(*)(Ecore_Evas *ee) func)"
+.PP
+Set a callback for Ecore_Evas sticky events. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIee\fP The Ecore_Evas to set callbacks on 
+.br
+\fIfunc\fP The function to call
+.RE
+.PP
+A call to this function will set a callback on an Ecore_Evas, causing \fCfunc\fP to be called whenever \fCee\fP becomes sticky. 
+.SS "EAPI void ecore_evas_callback_unsticky_set (Ecore_Evas * ee, void(*)(Ecore_Evas *ee) func)"
+.PP
+Set a callback for Ecore_Evas un-sticky events. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIee\fP The Ecore_Evas to set callbacks on 
+.br
+\fIfunc\fP The function to call
+.RE
+.PP
+A call to this function will set a callback on an Ecore_Evas, causing \fCfunc\fP to be called whenever \fCee\fP becomes un-sticky. 
+.SS "EAPI void ecore_evas_cursor_get (Ecore_Evas * ee, char ** file, int * layer, int * hot_x, int * hot_y)"
+.PP
+Get information about an Ecore_Evas' cursor. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIee\fP The Ecore_Evas to set 
+.br
+\fIfile\fP A pointer to a string to place the cursor file name in. 
+.br
+\fIlayer\fP A pointer to an int to place the cursor's layer in.. 
+.br
+\fIhot_x\fP A pointer to an int to place the cursor's hot_x coordinate in. 
+.br
+\fIhot_y\fP A pointer to an int to place the cursor's hot_y coordinate in.
+.RE
+.PP
+This function queries information about an Ecore_Evas' cursor. 
+.SS "EAPI void ecore_evas_cursor_set (Ecore_Evas * ee, const char * file, int layer, int hot_x, int hot_y)"
+.PP
+Set the cursor of an Ecore_Evas. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIee\fP The Ecore_Evas 
+.br
+\fIfile\fP The path to an image file for the cursor 
+.br
+\fIlayer\fP 
+.br
+\fIhot_x\fP The x coordinate of the cursor's hot spot 
+.br
+\fIhot_y\fP The y coordinate of the cursor's hot spot
+.RE
+.PP
+This function makes the mouse cursor over \fCee\fP be the image specified by \fCfile\fP. The actual point within the image that the mouse is at is specified by \fChot_x\fP and \fChot_y\fP, which are coordinates with respect to the top left corner of the cursor image. 
+.SS "EAPI void* ecore_evas_data_get (Ecore_Evas * ee, const char * key)"
+.PP
+Retrieve user data associated with an Ecore_Evas. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIee\fP The Ecore_Evas to retrieve the user data from. 
+.br
+\fIkey\fP The key which the user data to be retrieved is associated with.
+.RE
+.PP
+This function retrieves user specific data that has been stored within an Ecore_Evas structure with \fBecore_evas_data_set()\fP.
+.PP
+\fBReturns:\fP
+.RS 4
+NULL on error or no data found, A pointer to the user data on success.
+.RE
+.PP
+\fBSee also:\fP
+.RS 4
+\fBecore_evas_data_set\fP 
+.RE
+.PP
+
+.SS "EAPI void ecore_evas_data_set (Ecore_Evas * ee, const char * key, const void * data)"
+.PP
+Store user data in an Ecore_Evas structure. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIeeThe\fP Ecore_Evas to store the user data in. 
+.br
+\fIkeyA\fP unique string to associate the user data against. Cannot be NULL. 
+.br
+\fIdataA\fP pointer to the user data to store.
+.RE
+.PP
+This function associates the \fCdata\fP with a \fCkey\fP which is stored by the Ecore_Evas \fCee\fP. Be aware that a call to \fBecore_evas_free()\fP will not free any memory for the associated user data, this is the responsibility of the caller.
+.PP
+\fBSee also:\fP
+.RS 4
+\fBecore_evas_free\fP 
+.RE
+.PP
+
+.SS "EAPI Ecore_Evas* ecore_evas_ecore_evas_get (Evas * e)"
+.PP
+Return the Ecore_Evas for this Evas. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIe\fP The Evas to get the Ecore_Evas from 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The Ecore_Evas that holds this Evas 
+.RE
+.PP
+
+.SS "EAPI int ecore_evas_engine_type_supported_get (Ecore_Evas_Engine_Type engine)"
+.PP
+Query if a particular renginering engine target has support. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIengine\fP The engine to check support for 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+1 if the particualr engine is supported, 0 if it is not
+.RE
+.PP
+Query if engine
+.PP
+\fBParameters:\fP
+.RS 4
+\fIengine\fP is supported by ecore_evas. 1 is returned if it is, and 0 is returned if it is not supported. 
+.RE
+.PP
+
+.SS "EAPI Ecore_Evas* ecore_evas_fb_new (char * disp_name, int rotation, int w, int h)"
+.PP
+To be documented. 
+.PP
+FIXME: To be fixed. 
+.SS "EAPI int ecore_evas_focus_get (Ecore_Evas * ee)"
+.PP
+Query whether an Ecore_Evas' window is focused or not. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIee\fP The Ecore_Evas to set 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+1 if \fCee\fP if focused, 0 if not. 
+.RE
+.PP
+
+.SS "EAPI void ecore_evas_focus_set (Ecore_Evas * ee, int on)"
+.PP
+Set the focus of an Ecore_Evas' window. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIee\fP The Ecore_Evas 
+.br
+\fIon\fP 1 for focus, 0 to defocus.
+.RE
+.PP
+This function focuses \fCee\fP if \fCon\fP is 1, or defocuses \fCee\fP if \fCon\fP is 0. 
+.SS "EAPI void ecore_evas_free (Ecore_Evas * ee)"
+.PP
+Free an Ecore_Evas. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIee\fP The Ecore_Evas to free
+.RE
+.PP
+This frees up any memory used by the Ecore_Evas. 
+.SS "EAPI int ecore_evas_fullscreen_get (Ecore_Evas * ee)"
+.PP
+Query whether an Ecore_Evas' window is fullscreen or not. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIee\fP The Ecore_Evas to set 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+1 if \fCee\fP is fullscreen, 0 if not. 
+.RE
+.PP
+
+.SS "EAPI void ecore_evas_fullscreen_set (Ecore_Evas * ee, int on)"
+.PP
+Set whether or not an Ecore_Evas' window is fullscreen. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIee\fP The Ecore_Evas 
+.br
+\fIon\fP 1 fullscreen, 0 not.
+.RE
+.PP
+This function causes \fCee\fP to be fullscreen if \fCon\fP is 1, or not if \fCon\fP is 0. 
+.SS "EAPI void ecore_evas_geometry_get (Ecore_Evas * ee, int * x, int * y, int * w, int * h)"
+.PP
+Get the geometry of an Ecore_Evas. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIee\fP The Ecore_Evas whose geometry y 
+.br
+\fIx\fP A pointer to an int to place the x coordinate in 
+.br
+\fIy\fP A pointer to an int to place the y coordinate in 
+.br
+\fIw\fP A pointer to an int to place the w size in 
+.br
+\fIh\fP A pointer to an int to place the h size in
+.RE
+.PP
+This function takes four pointers to (already allocated) ints, and places the geometry of \fCee\fP in them.
+.PP
+.PP
+.nf
+ int x, y, w, h;
+ ecore_evas_geometry_get(ee, &x, &y, &w, &h);
+.fi
+.PP
+ 
+.SS "EAPI Evas* ecore_evas_get (Ecore_Evas * ee)"
+.PP
+Get an Ecore_Evas's Evas. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIee\fP The Ecore_Evas whose Evas you wish to get 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The Evas wrapped by \fCee\fP 
+.RE
+.PP
+This function returns the Evas contained within \fCee\fP. 
+.SS "EAPI int ecore_evas_gl_x11_direct_resize_get (Ecore_Evas * ee)"
+.PP
+To be documented. 
+.PP
+FIXME: To be fixed. 
+.SS "EAPI void ecore_evas_gl_x11_direct_resize_set (Ecore_Evas * ee, int on)"
+.PP
+To be documented. 
+.PP
+FIXME: To be fixed. 
+.SS "EAPI void ecore_evas_gl_x11_extra_event_window_add (Ecore_Evas * ee, Ecore_X_Window win)"
+.PP
+To be documented. 
+.PP
+FIXME: To be fixed. 
+.SS "EAPI Ecore_Evas* ecore_evas_gl_x11_new (const char * disp_name, Ecore_X_Window parent, int x, int y, int w, int h)"
+.PP
+To be documented. 
+.PP
+FIXME: To be fixed. 
+.SS "EAPI Ecore_X_Window ecore_evas_gl_x11_subwindow_get (Ecore_Evas * ee)"
+.PP
+To be documented. 
+.PP
+FIXME: To be fixed. 
+.SS "EAPI Ecore_X_Window ecore_evas_gl_x11_window_get (Ecore_Evas * ee)"
+.PP
+To be documented. 
+.PP
+FIXME: To be fixed. 
+.SS "EAPI void ecore_evas_hide (Ecore_Evas * ee)"
+.PP
+Hide an Ecore_Evas' window. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIee\fP The Ecore_Evas to show.
+.RE
+.PP
+This function makes \fCee\fP hidden. 
+.SS "EAPI int ecore_evas_iconified_get (Ecore_Evas * ee)"
+.PP
+Query whether an Ecore_Evas' window is iconified or not. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIee\fP The Ecore_Evas to set 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+1 if \fCee\fP is iconified, 0 if not. 
+.RE
+.PP
+
+.SS "EAPI void ecore_evas_iconified_set (Ecore_Evas * ee, int on)"
+.PP
+Iconify or uniconify an Ecore_Evas' window. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIee\fP The Ecore_Evas 
+.br
+\fIon\fP 1 to iconify, 0 to uniconify.
+.RE
+.PP
+This function iconifies \fCee\fP if \fCon\fP is 1, or uniconifies \fCee\fP if \fCon\fP is 0. 
+.SS "EAPI int ecore_evas_ignore_events_get (Ecore_Evas * ee)"
+.PP
+Returns the ignore state of an Ecore_Evas' window. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIee\fP The Ecore_Evas whose window's ignore events state is returned. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The Ecore_Evas window's ignore state. 
+.RE
+.PP
+
+.SS "EAPI void ecore_evas_ignore_events_set (Ecore_Evas * ee, int ignore)"
+.PP
+Set if this evas should ignore events. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIee\fP The Ecore_Evas whose window's to ignore events 
+.br
+\fIsticky\fP The Ecore_Evas new ignore state 
+.RE
+.PP
+
+.SS "EAPI int ecore_evas_init (void)"
+.PP
+Init the Evas system. 
+.PP
+\fBReturns:\fP
+.RS 4
+greater than 0 on success, 0 on failure
+.RE
+.PP
+Set up the Evas wrapper system. 
+.SS "EAPI int ecore_evas_layer_get (Ecore_Evas * ee)"
+.PP
+Get the layer of an Ecore_Evas' window. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIee\fP The Ecore_Evas to set 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+the layer \fCee's\fP window is on. 
+.RE
+.PP
+
+.SS "EAPI void ecore_evas_layer_set (Ecore_Evas * ee, int layer)"
+.PP
+Set the layer of an Ecore_Evas' window. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIee\fP The Ecore_Evas 
+.br
+\fIlayer\fP The layer to put \fCee\fP on.
+.RE
+.PP
+This function moves \fCee\fP to the layer \fClayer\fP. 
+.SS "EAPI void ecore_evas_lower (Ecore_Evas * ee)"
+.PP
+Lower an Ecore_Evas' window. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIee\fP The Ecore_Evas to raise.
+.RE
+.PP
+This functions lowers the Ecore_Evas to the back. 
+.SS "EAPI void ecore_evas_managed_move (Ecore_Evas * ee, int x, int y)"
+.PP
+Provide Managed move co-ordinates for an Ecore_Evas. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIee\fP The Ecore_Evas to move 
+.br
+\fIx\fP The x coordinate to set as the managed location 
+.br
+\fIy\fP The y coordinate to set as the managed location
+.RE
+.PP
+This sets the managed geometry position of the \fCee\fP to (\fCx\fP, \fCy\fP) 
+.SS "EAPI int ecore_evas_maximized_get (Ecore_Evas * ee)"
+.PP
+Query whether an Ecore_Evas' window is maximized or not. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIee\fP The Ecore_Evas to set 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+1 if \fCee\fP is maximized, 0 if not. 
+.RE
+.PP
+
+.SS "EAPI void ecore_evas_maximized_set (Ecore_Evas * ee, int on)"
+.PP
+Maximize (or unmaximize) an Ecore_Evas' window. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIee\fP The Ecore_Evas 
+.br
+\fIon\fP 1 to maximize, 0 to unmaximize.
+.RE
+.PP
+This function maximizes \fCee\fP if \fCon\fP is 1, or unmaximizes \fCee\fP if \fCon\fP is 0. 
+.SS "EAPI void ecore_evas_move (Ecore_Evas * ee, int x, int y)"
+.PP
+Move an Ecore_Evas. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIee\fP The Ecore_Evas to move 
+.br
+\fIx\fP The x coordinate to move to 
+.br
+\fIy\fP The y coordinate to move to
+.RE
+.PP
+This moves \fCee\fP to the screen coordinates (\fCx\fP, \fCy\fP) 
+.SS "EAPI void ecore_evas_move_resize (Ecore_Evas * ee, int x, int y, int w, int h)"
+.PP
+Resize an Ecore_Evas. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIee\fP The Ecore_Evas to move 
+.br
+\fIx\fP The x coordinate to move to 
+.br
+\fIy\fP The y coordinate to move to 
+.br
+\fIw\fP The w coordinate to resize to 
+.br
+\fIh\fP The h coordinate to resize to
+.RE
+.PP
+This moves \fCee\fP to the screen coordinates (\fCx\fP, \fCy\fP) and resizes it to \fCw\fP x \fCh\fP. 
+.SS "EAPI void ecore_evas_name_class_get (Ecore_Evas * ee, const char ** n, const char ** c)"
+.PP
+Get the name and class of an Ecore_Evas' window \fCee\fP The Ecore_Evas to query \fCn\fP A pointer to a string to place the name in. 
+.PP
+\fCc\fP A pointer to a string to place the class in.
+.PP
+This function gets puts the name of \fCee\fP into \fCn\fP, and its class into \fCc\fP. 
+.SS "EAPI void ecore_evas_name_class_set (Ecore_Evas * ee, const char * n, const char * c)"
+.PP
+Set the name and class of an Ecore_Evas' window. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIee\fP the Ecore_Evas 
+.br
+\fIn\fP the name 
+.br
+\fIc\fP the class
+.RE
+.PP
+This function sets the name of \fCee\fP to \fCn\fP, and its class to \fCc\fP. 
+.SS "EAPI int ecore_evas_override_get (Ecore_Evas * ee)"
+.PP
+Query whether an Ecore_Evas' window is overridden or not. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIee\fP The Ecore_Evas to set 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+1 if \fCee\fP is overridden, 0 if not. 
+.RE
+.PP
+
+.SS "EAPI void ecore_evas_override_set (Ecore_Evas * ee, int on)"
+.PP
+Tell the WM whether or not to ignore an Ecore_Evas' window. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIee\fP The Ecore_Evas 
+.br
+\fIon\fP 1 to ignore, 0 to not.
+.RE
+.PP
+This function causes the window manager to ignore \fCee\fP if \fCon\fP is 1, or not ignore \fCee\fP if \fCon\fP is 0. 
+.SS "EAPI void ecore_evas_raise (Ecore_Evas * ee)"
+.PP
+Raise and Ecore_Evas' window. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIee\fP The Ecore_Evas to raise.
+.RE
+.PP
+This functions raises the Ecore_Evas to the front. 
+.SS "EAPI void ecore_evas_resize (Ecore_Evas * ee, int w, int h)"
+.PP
+Resize an Ecore_Evas. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIee\fP The Ecore_Evas to move 
+.br
+\fIw\fP The w coordinate to resize to 
+.br
+\fIh\fP The h coordinate to resize to
+.RE
+.PP
+This resizes \fCee\fP to \fCw\fP x \fCh\fP 
+.SS "EAPI int ecore_evas_rotation_get (Ecore_Evas * ee)"
+.PP
+Set the rotation of an Ecore_Evas' window. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIee\fP The Ecore_Evas 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+the angle (in degrees) of rotation. 
+.RE
+.PP
+
+.SS "EAPI void ecore_evas_rotation_set (Ecore_Evas * ee, int rot)"
+.PP
+Set the rotation of an Ecore_Evas' window. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIee\fP The Ecore_Evas 
+.br
+\fIrot\fP the angle (in degrees) of rotation.
+.RE
+.PP
+The allowed values of \fCrot\fP depend on the engine being used. Most only allow multiples of 90. 
+.SS "EAPI int ecore_evas_shaped_get (Ecore_Evas * ee)"
+.PP
+Query whether an Ecore_Evas is shaped or not. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIee\fP The Ecore_Evas to query. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+1 if shaped, 0 if not.
+.RE
+.PP
+This function returns 1 if \fCee\fP is shaped, and 0 if not. 
+.SS "EAPI void ecore_evas_shaped_set (Ecore_Evas * ee, int shaped)"
+.PP
+Set whether an Ecore_Evas is shaped or not. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIee\fP The Ecore_Evas to shape 
+.br
+\fIshaped\fP 1 to shape, 0 to not
+.RE
+.PP
+This function allows one to make an Ecore_Evas shaped to the contents of the evas. If \fCshaped\fP is 1, \fCee\fP will be transparent in parts of the evas that contain no objects. If \fCshaped\fP is 0, then \fCee\fP will be rectangular, and and parts with no data will show random framebuffer artifacting. For non-shaped Ecore_Evases, it is recommend to cover the entire evas with a background object. 
+.SS "EAPI void ecore_evas_show (Ecore_Evas * ee)"
+.PP
+Show an Ecore_Evas' window. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIee\fP The Ecore_Evas to show.
+.RE
+.PP
+This function makes \fCee\fP visible. 
+.SS "EAPI int ecore_evas_shutdown (void)"
+.PP
+Shut down the Evas system. 
+.PP
+\fBReturns:\fP
+.RS 4
+0 if ecore evas is fully shut down, or > 0 if it still needs to be shut down
+.RE
+.PP
+This closes the Evas system down. 
+.SS "EAPI void ecore_evas_size_base_get (Ecore_Evas * ee, int * w, int * h)"
+.PP
+Get the base size of an Ecore_Evas' window. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIee\fP The Ecore_Evas to set 
+.br
+\fIw\fP A pointer to an int to place the base width in. 
+.br
+\fIh\fP A pointer to an int to place the base height in.
+.RE
+.PP
+This function puts the base size of \fCee\fP into \fCw\fP and \fCh\fP. 
+.SS "EAPI void ecore_evas_size_base_set (Ecore_Evas * ee, int w, int h)"
+.PP
+Set the base size of an Ecore_Evas' window. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIee\fP The Ecore_Evas to set 
+.br
+\fIw\fP The base width 
+.br
+\fIh\fP The base height
+.RE
+.PP
+This function sets the base size of \fCee\fP to \fCw\fP x \fCh\fP. 
+.SS "EAPI void ecore_evas_size_max_get (Ecore_Evas * ee, int * w, int * h)"
+.PP
+Get the max size of an Ecore_Evas' window. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIee\fP The Ecore_Evas to set 
+.br
+\fIw\fP A pointer to an int to place the max width in. 
+.br
+\fIh\fP A pointer to an int to place the max height in.
+.RE
+.PP
+This function puts the maximum size of \fCee\fP into \fCw\fP and \fCh\fP. 
+.SS "EAPI void ecore_evas_size_max_set (Ecore_Evas * ee, int w, int h)"
+.PP
+Set the max size of an Ecore_Evas' window. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIee\fP The Ecore_Evas to set 
+.br
+\fIw\fP The maximum width 
+.br
+\fIh\fP The maximum height
+.RE
+.PP
+This function sets the maximum size of \fCee\fP to \fCw\fP x \fCh\fP. 
+.SS "EAPI void ecore_evas_size_min_get (Ecore_Evas * ee, int * w, int * h)"
+.PP
+Get the min size of an Ecore_Evas' window. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIee\fP The Ecore_Evas to set 
+.br
+\fIw\fP A pointer to an int to place the min width in. 
+.br
+\fIh\fP A pointer to an int to place the min height in.
+.RE
+.PP
+This function puts the minimum size of \fCee\fP into \fCw\fP and \fCh\fP. 
+.SS "EAPI void ecore_evas_size_min_set (Ecore_Evas * ee, int w, int h)"
+.PP
+Set the min size of an Ecore_Evas' window. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIee\fP The Ecore_Evas to set 
+.br
+\fIw\fP The minimum width 
+.br
+\fIh\fP The minimum height
+.RE
+.PP
+This function sets the minimum size of \fCee\fP to \fCw\fP x \fCh\fP. 
+.SS "EAPI void ecore_evas_size_step_get (Ecore_Evas * ee, int * w, int * h)"
+.PP
+Get the step size of an Ecore_Evas' window. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIee\fP The Ecore_Evas to set 
+.br
+\fIw\fP A pointer to an int to place the step width in. 
+.br
+\fIh\fP A pointer to an int to place the step height in.
+.RE
+.PP
+This function puts the step size of \fCee\fP into \fCw\fP and \fCh\fP. 
+.SS "EAPI void ecore_evas_size_step_set (Ecore_Evas * ee, int w, int h)"
+.PP
+Set the step size of an Ecore_Evas. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIee\fP The Ecore_Evas to set 
+.br
+\fIw\fP The step width 
+.br
+\fIh\fP The step height
+.RE
+.PP
+This function sets the step size of \fCee\fP to \fCw\fP x \fCh\fP. This limits the size of an Ecore_Evas to always being an integer multiple of the step size. 
+.SS "EAPI int ecore_evas_software_x11_16_direct_resize_get (Ecore_Evas * ee)"
+.PP
+To be documented. 
+.PP
+FIXME: To be fixed. 
+.SS "EAPI void ecore_evas_software_x11_16_direct_resize_set (Ecore_Evas * ee, int on)"
+.PP
+To be documented. 
+.PP
+FIXME: To be fixed. 
+.SS "EAPI void ecore_evas_software_x11_16_extra_event_window_add (Ecore_Evas * ee, Ecore_X_Window win)"
+.PP
+To be documented. 
+.PP
+FIXME: To be fixed. 
+.SS "EAPI Ecore_Evas* ecore_evas_software_x11_16_new (const char * disp_name, Ecore_X_Window parent, int x, int y, int w, int h)"
+.PP
+To be documented. 
+.PP
+FIXME: To be fixed. 
+.SS "EAPI Ecore_X_Window ecore_evas_software_x11_16_subwindow_get (Ecore_Evas * ee)"
+.PP
+To be documented. 
+.PP
+FIXME: To be fixed. 
+.SS "EAPI Ecore_X_Window ecore_evas_software_x11_16_window_get (Ecore_Evas * ee)"
+.PP
+To be documented. 
+.PP
+FIXME: To be fixed. 
+.SS "EAPI int ecore_evas_software_x11_direct_resize_get (Ecore_Evas * ee)"
+.PP
+To be documented. 
+.PP
+FIXME: To be fixed. 
+.SS "EAPI void ecore_evas_software_x11_direct_resize_set (Ecore_Evas * ee, int on)"
+.PP
+To be documented. 
+.PP
+FIXME: To be fixed. 
+.SS "EAPI void ecore_evas_software_x11_extra_event_window_add (Ecore_Evas * ee, Ecore_X_Window win)"
+.PP
+To be documented. 
+.PP
+FIXME: To be fixed. 
+.SS "EAPI Ecore_Evas* ecore_evas_software_x11_new (const char * disp_name, Ecore_X_Window parent, int x, int y, int w, int h)"
+.PP
+To be documented. 
+.PP
+FIXME: To be fixed. 
+.SS "EAPI Ecore_X_Window ecore_evas_software_x11_subwindow_get (Ecore_Evas * ee)"
+.PP
+To be documented. 
+.PP
+FIXME: To be fixed. 
+.SS "EAPI Ecore_X_Window ecore_evas_software_x11_window_get (Ecore_Evas * ee)"
+.PP
+To be documented. 
+.PP
+FIXME: To be fixed. 
+.SS "EAPI int ecore_evas_sticky_get (Ecore_Evas * ee)"
+.PP
+Returns the sticky state of an Ecore_Evas' window. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIee\fP The Ecore_Evas whose window's sticky state is returned. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The Ecore_Evas window's sticky state. 
+.RE
+.PP
+
+.SS "EAPI void ecore_evas_sticky_set (Ecore_Evas * ee, int sticky)"
+.PP
+Set the sticky state of an Ecore_Evas window. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIee\fP The Ecore_Evas whose window's sticky state is set. 
+.br
+\fIsticky\fP The Ecore_Evas window's new sticky state. 
+.RE
+.PP
+
+.SS "EAPI const char* ecore_evas_title_get (Ecore_Evas * ee)"
+.PP
+Get the title of an Ecore_Evas' window. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIee\fP The Ecore_Evas whose title you wish to get. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The title of \fCee\fP.
+.RE
+.PP
+This function returns the title of \fCee\fP. 
+.SS "EAPI void ecore_evas_title_set (Ecore_Evas * ee, const char * t)"
+.PP
+Set the title of an Ecore_Evas' window. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIee\fP The Ecore_Evas whose title you wish to set. 
+.br
+\fIt\fP The title
+.RE
+.PP
+This function sets the title of \fCee\fP to \fCt\fP. 
+.SS "EAPI int ecore_evas_visibility_get (Ecore_Evas * ee)"
+.PP
+Query whether an Ecore_Evas' window is visible or not. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIee\fP The Ecore_Evas to query. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+1 if visible, 0 if not.
+.RE
+.PP
+This function queries \fCee\fP and returns 1 if it is visible, and 0 if not. 
+.SS "EAPI int ecore_evas_withdrawn_get (Ecore_Evas * ee)"
+.PP
+Returns the withdrawn state of an Ecore_Evas' window. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIee\fP The Ecore_Evas whose window's withdrawn state is returned. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The Ecore_Evas window's withdrawn state. 
+.RE
+.PP
+
+.SS "EAPI void ecore_evas_withdrawn_set (Ecore_Evas * ee, int withdrawn)"
+.PP
+Set the withdrawn state of an Ecore_Evas' window. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIee\fP The Ecore_Evas whose window's withdrawn state is set. 
+.br
+\fIwithdrawn\fP The Ecore_Evas window's new withdrawn state. 
+.RE
+.PP
+
+.SS "EAPI int ecore_evas_xrender_x11_direct_resize_get (Ecore_Evas * ee)"
+.PP
+To be documented. 
+.PP
+FIXME: To be fixed. 
+.SS "EAPI void ecore_evas_xrender_x11_direct_resize_set (Ecore_Evas * ee, int on)"
+.PP
+To be documented. 
+.PP
+FIXME: To be fixed. 
+.SS "EAPI void ecore_evas_xrender_x11_extra_event_window_add (Ecore_Evas * ee, Ecore_X_Window win)"
+.PP
+To be documented. 
+.PP
+FIXME: To be fixed. 
+.SS "EAPI Ecore_Evas* ecore_evas_xrender_x11_new (const char * disp_name, Ecore_X_Window parent, int x, int y, int w, int h)"
+.PP
+To be documented. 
+.PP
+FIXME: To be fixed. 
+.SS "EAPI Ecore_X_Window ecore_evas_xrender_x11_subwindow_get (Ecore_Evas * ee)"
+.PP
+To be documented. 
+.PP
+FIXME: To be fixed. 
+.SS "EAPI Ecore_X_Window ecore_evas_xrender_x11_window_get (Ecore_Evas * ee)"
+.PP
+To be documented. 
+.PP
+FIXME: To be fixed. 
+.SH "Author"
+.PP 
+Generated automatically by Doxygen for Ecore from the source code.
diff --git a/doc/man/man3/Ecore_Event.3 b/doc/man/man3/Ecore_Event.3
new file mode 100644
index 0000000..e26b883
--- /dev/null
+++ b/doc/man/man3/Ecore_Event.3
@@ -0,0 +1 @@
+.so man3/Ecore.h.3
diff --git a/doc/man/man3/Ecore_Event_Filter.3 b/doc/man/man3/Ecore_Event_Filter.3
new file mode 100644
index 0000000..e26b883
--- /dev/null
+++ b/doc/man/man3/Ecore_Event_Filter.3
@@ -0,0 +1 @@
+.so man3/Ecore.h.3
diff --git a/doc/man/man3/Ecore_Event_Handler.3 b/doc/man/man3/Ecore_Event_Handler.3
new file mode 100644
index 0000000..e26b883
--- /dev/null
+++ b/doc/man/man3/Ecore_Event_Handler.3
@@ -0,0 +1 @@
+.so man3/Ecore.h.3
diff --git a/doc/man/man3/Ecore_Event_Signal_Exit.3 b/doc/man/man3/Ecore_Event_Signal_Exit.3
new file mode 100644
index 0000000..e26b883
--- /dev/null
+++ b/doc/man/man3/Ecore_Event_Signal_Exit.3
@@ -0,0 +1 @@
+.so man3/Ecore.h.3
diff --git a/doc/man/man3/Ecore_Event_Signal_Hup.3 b/doc/man/man3/Ecore_Event_Signal_Hup.3
new file mode 100644
index 0000000..e26b883
--- /dev/null
+++ b/doc/man/man3/Ecore_Event_Signal_Hup.3
@@ -0,0 +1 @@
+.so man3/Ecore.h.3
diff --git a/doc/man/man3/Ecore_Event_Signal_Power.3 b/doc/man/man3/Ecore_Event_Signal_Power.3
new file mode 100644
index 0000000..e26b883
--- /dev/null
+++ b/doc/man/man3/Ecore_Event_Signal_Power.3
@@ -0,0 +1 @@
+.so man3/Ecore.h.3
diff --git a/doc/man/man3/Ecore_Event_Signal_Realtime.3 b/doc/man/man3/Ecore_Event_Signal_Realtime.3
new file mode 100644
index 0000000..e26b883
--- /dev/null
+++ b/doc/man/man3/Ecore_Event_Signal_Realtime.3
@@ -0,0 +1 @@
+.so man3/Ecore.h.3
diff --git a/doc/man/man3/Ecore_Event_Signal_User.3 b/doc/man/man3/Ecore_Event_Signal_User.3
new file mode 100644
index 0000000..e26b883
--- /dev/null
+++ b/doc/man/man3/Ecore_Event_Signal_User.3
@@ -0,0 +1 @@
+.so man3/Ecore.h.3
diff --git a/doc/man/man3/Ecore_Exe.3 b/doc/man/man3/Ecore_Exe.3
new file mode 100644
index 0000000..e26b883
--- /dev/null
+++ b/doc/man/man3/Ecore_Exe.3
@@ -0,0 +1 @@
+.so man3/Ecore.h.3
diff --git a/doc/man/man3/Ecore_Exe_Basic_Group.3 b/doc/man/man3/Ecore_Exe_Basic_Group.3
new file mode 100644
index 0000000..6a39cec
--- /dev/null
+++ b/doc/man/man3/Ecore_Exe_Basic_Group.3
@@ -0,0 +1,275 @@
+.TH "Process Spawning Functions" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+Process Spawning Functions \- Functions that deal with spawned processes.  
+
+.PP
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI \fBEcore_Exe\fP * \fBecore_exe_run\fP (const char *exe_cmd, const void *data)"
+.br
+.RI "\fISpawns a child process. \fP"
+.ti -1c
+.RI "EAPI \fBEcore_Exe\fP * \fBecore_exe_pipe_run\fP (const char *exe_cmd, Ecore_Exe_Flags flags, const void *data)"
+.br
+.RI "\fISpawns a child process with its stdin/out available for communication. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_exe_send\fP (\fBEcore_Exe\fP *exe, void *data, int size)"
+.br
+.RI "\fISends data to the given child process which it recieves on stdin. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_exe_close_stdin\fP (\fBEcore_Exe\fP *exe)"
+.br
+.RI "\fIThe stdin of the given child process will close when the write buffer is empty. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_exe_auto_limits_set\fP (\fBEcore_Exe\fP *exe, int start_bytes, int end_bytes, int start_lines, int end_lines)"
+.br
+.RI "\fISets the auto pipe limits for the given process handle. \fP"
+.ti -1c
+.RI "EAPI \fBEcore_Exe_Event_Data\fP * \fBecore_exe_event_data_get\fP (\fBEcore_Exe\fP *exe, Ecore_Exe_Flags flags)"
+.br
+.RI "\fIGets the auto pipe data for the given process handle. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_exe_tag_set\fP (\fBEcore_Exe\fP *exe, const char *tag)"
+.br
+.RI "\fISets the string tag for the given process handle. \fP"
+.ti -1c
+.RI "EAPI char * \fBecore_exe_tag_get\fP (\fBEcore_Exe\fP *exe)"
+.br
+.RI "\fIRetrieves the tag attached to the given process handle. \fP"
+.ti -1c
+.RI "EAPI void * \fBecore_exe_free\fP (\fBEcore_Exe\fP *exe)"
+.br
+.RI "\fIFrees the given process handle. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_exe_event_data_free\fP (\fBEcore_Exe_Event_Data\fP *e)"
+.br
+.RI "\fIFrees the given event data. \fP"
+.ti -1c
+.RI "EAPI pid_t \fBecore_exe_pid_get\fP (\fBEcore_Exe\fP *exe)"
+.br
+.RI "\fIRetrieves the process ID of the given spawned process. \fP"
+.ti -1c
+.RI "EAPI char * \fBecore_exe_cmd_get\fP (\fBEcore_Exe\fP *exe)"
+.br
+.RI "\fIRetrieves the command of the given spawned process. \fP"
+.ti -1c
+.RI "EAPI void * \fBecore_exe_data_get\fP (\fBEcore_Exe\fP *exe)"
+.br
+.RI "\fIRetrieves the data attached to the given process handle. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Functions that deal with spawned processes. 
+.PP
+.SH "Function Documentation"
+.PP 
+.SS "EAPI void ecore_exe_auto_limits_set (\fBEcore_Exe\fP * exe, int start_bytes, int end_bytes, int start_lines, int end_lines)"
+.PP
+Sets the auto pipe limits for the given process handle. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIexe\fP The given process handle. 
+.br
+\fIstart_bytes\fP limit of bytes at start of output to buffer. 
+.br
+\fIend_bytes\fP limit of bytes at end of output to buffer. 
+.br
+\fIstart_lines\fP limit of lines at start of output to buffer. 
+.br
+\fIend_lines\fP limit of lines at end of output to buffer. 
+.RE
+.PP
+
+.SS "EAPI void ecore_exe_close_stdin (\fBEcore_Exe\fP * exe)"
+.PP
+The stdin of the given child process will close when the write buffer is empty. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIexe\fP The child process 
+.RE
+.PP
+
+.SS "EAPI char* ecore_exe_cmd_get (\fBEcore_Exe\fP * exe)"
+.PP
+Retrieves the command of the given spawned process. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIexe\fP Handle to the given spawned process. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The command on success. NULL otherwise. 
+.RE
+.PP
+
+.SS "EAPI void* ecore_exe_data_get (\fBEcore_Exe\fP * exe)"
+.PP
+Retrieves the data attached to the given process handle. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIexe\fP The given process handle. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The data pointer attached to \fCexe\fP. 
+.RE
+.PP
+
+.SS "EAPI void ecore_exe_event_data_free (\fBEcore_Exe_Event_Data\fP * e)"
+.PP
+Frees the given event data. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIe\fP The given event data. 
+.RE
+.PP
+
+.SS "EAPI \fBEcore_Exe_Event_Data\fP* ecore_exe_event_data_get (\fBEcore_Exe\fP * exe, Ecore_Exe_Flags flags)"
+.PP
+Gets the auto pipe data for the given process handle. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIexe\fP The given process handle. 
+.br
+\fIflags\fP Is this a ECORE_EXE_PIPE_READ or ECORE_EXE_PIPE_ERROR? 
+.RE
+.PP
+
+.SS "EAPI void* ecore_exe_free (\fBEcore_Exe\fP * exe)"
+.PP
+Frees the given process handle. 
+.PP
+Note that the process that the handle represents is unaffected by this function.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIexe\fP The given process handle. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The data attached to the handle when \fBecore_exe_run\fP was called. 
+.RE
+.PP
+
+.SS "EAPI pid_t ecore_exe_pid_get (\fBEcore_Exe\fP * exe)"
+.PP
+Retrieves the process ID of the given spawned process. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIexe\fP Handle to the given spawned process. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The process ID on success. \fC-1\fP otherwise. 
+.RE
+.PP
+
+.SS "EAPI \fBEcore_Exe\fP* ecore_exe_pipe_run (const char * exe_cmd, Ecore_Exe_Flags flags, const void * data)"
+.PP
+Spawns a child process with its stdin/out available for communication. 
+.PP
+This function forks and runs the given command using \fC/bin/sh\fP.
+.PP
+Note that the process handle is only valid until a child process terminated event is received. After all handlers for the child process terminated event have been called, the handle will be freed by Ecore.
+.PP
+This function does the same thing as \fBecore_exe_run()\fP, but also makes the standard in and/or out as wel las stderr from the child process available for reading or writing. To write use \fBecore_exe_send()\fP. To read listen to ECORE_EXE_EVENT_DATA or ECORE_EXE_EVENT_ERROR events (set up handlers). Ecore may buffer read and error data until a newline character if asked for with the \fCflags\fP. All data will be included in the events (newlines will be replaced with NULLS if line buffered). ECORE_EXE_EVENT_DATA events will only happen if the process is run with ECORE_EXE_PIPE_READ enabled in the flags. The same with the error version. Writing will only be allowed with ECORE_EXE_PIPE_WRITE enabled in the flags.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIexe_cmd\fP The command to run with \fC/bin/sh\fP. 
+.br
+\fIflags\fP The flag parameters for how to deal with inter-process I/O 
+.br
+\fIdata\fP Data to attach to the returned process handle. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+A process handle to the spawned process. 
+.RE
+.PP
+
+.SS "EAPI \fBEcore_Exe\fP* ecore_exe_run (const char * exe_cmd, const void * data)"
+.PP
+Spawns a child process. 
+.PP
+This is now just a thin wrapper around \fBecore_exe_pipe_run()\fP
+.PP
+\fBParameters:\fP
+.RS 4
+\fIexe_cmd\fP The command to run with \fC/bin/sh\fP. 
+.br
+\fIdata\fP Data to attach to the returned process handle. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+A process handle to the spawned process. 
+.RE
+.PP
+
+.SS "EAPI int ecore_exe_send (\fBEcore_Exe\fP * exe, void * data, int size)"
+.PP
+Sends data to the given child process which it recieves on stdin. 
+.PP
+This function writes to a child processes standard in, with unlimited buffering. This call will never block. It may fail if the system runs out of memory.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIexe\fP The child process to send to 
+.br
+\fIdata\fP The data to send 
+.br
+\fIsize\fP The size of the data to send, in bytes 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+1 if successful, 0 on failure. 
+.RE
+.PP
+
+.SS "EAPI char* ecore_exe_tag_get (\fBEcore_Exe\fP * exe)"
+.PP
+Retrieves the tag attached to the given process handle. 
+.PP
+There is no need to free it as it just returns the internal pointer value. This value is only valid as long as the \fCexe\fP is valid or until the tag is set to something else on this \fCexe\fP.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIexe\fP The given process handle. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The string attached to \fCexe\fP. 
+.RE
+.PP
+
+.SS "EAPI void ecore_exe_tag_set (\fBEcore_Exe\fP * exe, const char * tag)"
+.PP
+Sets the string tag for the given process handle. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIexe\fP The given process handle. 
+.br
+\fItag\fP The string tag to set on the process handle. 
+.RE
+.PP
+
diff --git a/doc/man/man3/Ecore_Exe_Event_Add.3 b/doc/man/man3/Ecore_Exe_Event_Add.3
new file mode 100644
index 0000000..e26b883
--- /dev/null
+++ b/doc/man/man3/Ecore_Exe_Event_Add.3
@@ -0,0 +1 @@
+.so man3/Ecore.h.3
diff --git a/doc/man/man3/Ecore_Exe_Event_Data.3 b/doc/man/man3/Ecore_Exe_Event_Data.3
new file mode 100644
index 0000000..e26b883
--- /dev/null
+++ b/doc/man/man3/Ecore_Exe_Event_Data.3
@@ -0,0 +1 @@
+.so man3/Ecore.h.3
diff --git a/doc/man/man3/Ecore_Exe_Event_Data_Line.3 b/doc/man/man3/Ecore_Exe_Event_Data_Line.3
new file mode 100644
index 0000000..e26b883
--- /dev/null
+++ b/doc/man/man3/Ecore_Exe_Event_Data_Line.3
@@ -0,0 +1 @@
+.so man3/Ecore.h.3
diff --git a/doc/man/man3/Ecore_Exe_Event_Del.3 b/doc/man/man3/Ecore_Exe_Event_Del.3
new file mode 100644
index 0000000..e26b883
--- /dev/null
+++ b/doc/man/man3/Ecore_Exe_Event_Del.3
@@ -0,0 +1 @@
+.so man3/Ecore.h.3
diff --git a/doc/man/man3/Ecore_Exe_Signal_Group.3 b/doc/man/man3/Ecore_Exe_Signal_Group.3
new file mode 100644
index 0000000..2f9f61c
--- /dev/null
+++ b/doc/man/man3/Ecore_Exe_Signal_Group.3
@@ -0,0 +1,103 @@
+.TH "Spawned Process Signal Functions" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+Spawned Process Signal Functions \- Functions that send signals to spawned processes.  
+
+.PP
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI void \fBecore_exe_pause\fP (\fBEcore_Exe\fP *exe)"
+.br
+.RI "\fIPauses the given process by sending it a \fCSIGSTOP\fP signal. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_exe_continue\fP (\fBEcore_Exe\fP *exe)"
+.br
+.RI "\fIContinues the given paused process by sending it a \fCSIGCONT\fP signal. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_exe_terminate\fP (\fBEcore_Exe\fP *exe)"
+.br
+.RI "\fISends the given spawned process a terminate (\fCSIGTERM\fP) signal. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_exe_kill\fP (\fBEcore_Exe\fP *exe)"
+.br
+.RI "\fIKills the given spawned process by sending it a \fCSIGKILL\fP signal. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_exe_signal\fP (\fBEcore_Exe\fP *exe, int num)"
+.br
+.RI "\fISends a \fCSIGUSR\fP signal to the given spawned process. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_exe_hup\fP (\fBEcore_Exe\fP *exe)"
+.br
+.RI "\fISends a \fCSIGHUP\fP signal to the given spawned process. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Functions that send signals to spawned processes. 
+.PP
+.SH "Function Documentation"
+.PP 
+.SS "EAPI void ecore_exe_continue (\fBEcore_Exe\fP * exe)"
+.PP
+Continues the given paused process by sending it a \fCSIGCONT\fP signal. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIexe\fP Process handle to the given process. 
+.RE
+.PP
+
+.SS "EAPI void ecore_exe_hup (\fBEcore_Exe\fP * exe)"
+.PP
+Sends a \fCSIGHUP\fP signal to the given spawned process. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIexe\fP Process handle to the given process. 
+.RE
+.PP
+
+.SS "EAPI void ecore_exe_kill (\fBEcore_Exe\fP * exe)"
+.PP
+Kills the given spawned process by sending it a \fCSIGKILL\fP signal. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIexe\fP Process handle to the given process. 
+.RE
+.PP
+
+.SS "EAPI void ecore_exe_pause (\fBEcore_Exe\fP * exe)"
+.PP
+Pauses the given process by sending it a \fCSIGSTOP\fP signal. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIexe\fP Process handle to the given process. 
+.RE
+.PP
+
+.SS "EAPI void ecore_exe_signal (\fBEcore_Exe\fP * exe, int num)"
+.PP
+Sends a \fCSIGUSR\fP signal to the given spawned process. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIexe\fP Process handle to the given process. 
+.br
+\fInum\fP The number user signal to send. Must be either 1 or 2, or the signal will be ignored. 
+.RE
+.PP
+
+.SS "EAPI void ecore_exe_terminate (\fBEcore_Exe\fP * exe)"
+.PP
+Sends the given spawned process a terminate (\fCSIGTERM\fP) signal. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIexe\fP Process handle to the given process. 
+.RE
+.PP
+
diff --git a/doc/man/man3/Ecore_FB_Backlight_Group.3 b/doc/man/man3/Ecore_FB_Backlight_Group.3
new file mode 100644
index 0000000..1a78e42
--- /dev/null
+++ b/doc/man/man3/Ecore_FB_Backlight_Group.3
@@ -0,0 +1,73 @@
+.TH "Framebuffer Backlight Functions" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+Framebuffer Backlight Functions \- Functions that deal with the backlight of a framebuffer's screen.  
+
+.PP
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI void \fBecore_fb_backlight_set\fP (int on)"
+.br
+.RI "\fITurns on or off the backlight. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_fb_backlight_get\fP (void)"
+.br
+.RI "\fIRetrieves the backlight state. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_fb_backlight_brightness_set\fP (double br)"
+.br
+.RI "\fISets the backlight brightness. \fP"
+.ti -1c
+.RI "EAPI double \fBecore_fb_backlight_brightness_get\fP (void)"
+.br
+.RI "\fIRetrieves the backlight brightness. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Functions that deal with the backlight of a framebuffer's screen. 
+.PP
+.SH "Function Documentation"
+.PP 
+.SS "EAPI double ecore_fb_backlight_brightness_get (void)"
+.PP
+Retrieves the backlight brightness. 
+.PP
+\fBReturns:\fP
+.RS 4
+The current backlight brigntess, where 0.0 is the darkest and 1.0 is the brightest. 
+.RE
+.PP
+
+.SS "EAPI void ecore_fb_backlight_brightness_set (double br)"
+.PP
+Sets the backlight brightness. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIbr\fP Brightness between 0.0 to 1.0, where 0.0 is darkest and 1.0 is brightest. 
+.RE
+.PP
+
+.SS "EAPI int ecore_fb_backlight_get (void)"
+.PP
+Retrieves the backlight state. 
+.PP
+\fBReturns:\fP
+.RS 4
+Whether the backlight is on. 
+.RE
+.PP
+
+.SS "EAPI void ecore_fb_backlight_set (int on)"
+.PP
+Turns on or off the backlight. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIon\fP \fC1\fP to turn the backlight on. \fC0\fP to turn it off. 
+.RE
+.PP
+
diff --git a/doc/man/man3/Ecore_FB_Calibrate_Group.3 b/doc/man/man3/Ecore_FB_Calibrate_Group.3
new file mode 100644
index 0000000..cbe4927
--- /dev/null
+++ b/doc/man/man3/Ecore_FB_Calibrate_Group.3
@@ -0,0 +1,61 @@
+.TH "Framebuffer Calibration Functions" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+Framebuffer Calibration Functions \- Functions that calibrate the screen.  
+
+.PP
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI void \fBecore_fb_touch_screen_calibrate_set\fP (int xscale, int xtrans, int yscale, int ytrans, int xyswap)"
+.br
+.RI "\fICalibrates the touschreen using the given parameters. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_fb_touch_screen_calibrate_get\fP (int *xscale, int *xtrans, int *yscale, int *ytrans, int *xyswap)"
+.br
+.RI "\fIRetrieves the calibration parameters of the touchscreen. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Functions that calibrate the screen. 
+.PP
+.SH "Function Documentation"
+.PP 
+.SS "EAPI void ecore_fb_touch_screen_calibrate_get (int * xscale, int * xtrans, int * yscale, int * ytrans, int * xyswap)"
+.PP
+Retrieves the calibration parameters of the touchscreen. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIxscale\fP Pointer to an integer in which to store the X scaling. Note that 256 = 1.0. 
+.br
+\fIxtrans\fP Pointer to an integer in which to store the X translation. 
+.br
+\fIyscale\fP Pointer to an integer in which to store the Y scaling. 
+.br
+\fIytrans\fP Pointer to an integer in which to store the Y translation. 
+.br
+\fIxyswap\fP Pointer to an integer in which to store the Swap X & Y flag. 
+.RE
+.PP
+
+.SS "EAPI void ecore_fb_touch_screen_calibrate_set (int xscale, int xtrans, int yscale, int ytrans, int xyswap)"
+.PP
+Calibrates the touschreen using the given parameters. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIxscale\fP X scaling, where 256 = 1.0 
+.br
+\fIxtrans\fP X translation. 
+.br
+\fIyscale\fP Y scaling. 
+.br
+\fIytrans\fP Y translation. 
+.br
+\fIxyswap\fP Swap X & Y flag. 
+.RE
+.PP
+
diff --git a/doc/man/man3/Ecore_FB_Click_Group.3 b/doc/man/man3/Ecore_FB_Click_Group.3
new file mode 100644
index 0000000..d62843f
--- /dev/null
+++ b/doc/man/man3/Ecore_FB_Click_Group.3
@@ -0,0 +1,49 @@
+.TH "Framebuffer Double Click Functions" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+Framebuffer Double Click Functions \- Functions that deal with the double click time of the framebuffer.  
+
+.PP
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI void \fBecore_fb_double_click_time_set\fP (double t)"
+.br
+.RI "\fISets the timeout for a double and triple clicks to be flagged. \fP"
+.ti -1c
+.RI "EAPI double \fBecore_fb_double_click_time_get\fP (void)"
+.br
+.RI "\fIRetrieves the double and triple click flag timeout. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Functions that deal with the double click time of the framebuffer. 
+.PP
+.SH "Function Documentation"
+.PP 
+.SS "EAPI double ecore_fb_double_click_time_get (void)"
+.PP
+Retrieves the double and triple click flag timeout. 
+.PP
+See \fBecore_x_double_click_time_set\fP for more information.
+.PP
+\fBReturns:\fP
+.RS 4
+The timeout for double clicks in seconds. 
+.RE
+.PP
+
+.SS "EAPI void ecore_fb_double_click_time_set (double t)"
+.PP
+Sets the timeout for a double and triple clicks to be flagged. 
+.PP
+This sets the time between clicks before the double_click flag is set in a button down event. If 3 clicks occur within double this time, the triple_click flag is also set.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIt\fP The time in seconds 
+.RE
+.PP
+
diff --git a/doc/man/man3/Ecore_FB_Contrast_Group.3 b/doc/man/man3/Ecore_FB_Contrast_Group.3
new file mode 100644
index 0000000..36e5fc0
--- /dev/null
+++ b/doc/man/man3/Ecore_FB_Contrast_Group.3
@@ -0,0 +1,45 @@
+.TH "Framebuffer Contrast Functions" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+Framebuffer Contrast Functions \- Values that set and retrieve the contrast of a framebuffer screen.  
+
+.PP
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI void \fBecore_fb_contrast_set\fP (double cr)"
+.br
+.RI "\fISets the contrast used by the framebuffer screen. \fP"
+.ti -1c
+.RI "EAPI double \fBecore_fb_contrast_get\fP (void)"
+.br
+.RI "\fIRetrieves the contrast currently being used by the framebuffer screen. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Values that set and retrieve the contrast of a framebuffer screen. 
+.PP
+.SH "Function Documentation"
+.PP 
+.SS "EAPI double ecore_fb_contrast_get (void)"
+.PP
+Retrieves the contrast currently being used by the framebuffer screen. 
+.PP
+\fBReturns:\fP
+.RS 4
+A value between 0 and 1 that represents the current contrast of the screen. 
+.RE
+.PP
+
+.SS "EAPI void ecore_fb_contrast_set (double cr)"
+.PP
+Sets the contrast used by the framebuffer screen. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIcr\fP Value between 0 and 1 that gives the new contrast of the screen. 
+.RE
+.PP
+
diff --git a/doc/man/man3/Ecore_FB_LED_Group.3 b/doc/man/man3/Ecore_FB_LED_Group.3
new file mode 100644
index 0000000..3e4b9dd
--- /dev/null
+++ b/doc/man/man3/Ecore_FB_LED_Group.3
@@ -0,0 +1,50 @@
+.TH "Framebuffer LED Functions" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+Framebuffer LED Functions \- Functions that deal with the light emitting diode connected to the current framebuffer.  
+
+.PP
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI void \fBecore_fb_led_set\fP (int on)"
+.br
+.RI "\fISets whether the current framebuffer's LED to the given state. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_fb_led_blink_set\fP (double speed)"
+.br
+.RI "\fIMakes the LED of the current framebuffer blink. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Functions that deal with the light emitting diode connected to the current framebuffer. 
+.PP
+.SH "Function Documentation"
+.PP 
+.SS "EAPI void ecore_fb_led_blink_set (double speed)"
+.PP
+Makes the LED of the current framebuffer blink. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIspeed\fP Number to give the speed on the blink.
+.RE
+.PP
+\fBTodo\fP
+.RS 4
+Documentation: Work out what speed the units are in. 
+.RE
+.PP
+
+.SS "EAPI void ecore_fb_led_set (int on)"
+.PP
+Sets whether the current framebuffer's LED to the given state. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIon\fP \fC1\fP to indicate the LED should be on, \fC0\fP if it should be off. 
+.RE
+.PP
+
diff --git a/doc/man/man3/Ecore_FB_Library_Group.3 b/doc/man/man3/Ecore_FB_Library_Group.3
new file mode 100644
index 0000000..62a87d4
--- /dev/null
+++ b/doc/man/man3/Ecore_FB_Library_Group.3
@@ -0,0 +1,50 @@
+.TH "Framebuffer Library Functions" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+Framebuffer Library Functions \- Functions used to set up and shut down the Ecore_Framebuffer functions.  
+
+.PP
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI int \fBecore_fb_init\fP (const char *name __UNUSED__)"
+.br
+.RI "\fISets up the Ecore_Fb library. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_fb_shutdown\fP (void)"
+.br
+.RI "\fIShuts down the Ecore_Fb library. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Functions used to set up and shut down the Ecore_Framebuffer functions. 
+.PP
+.SH "Function Documentation"
+.PP 
+.SS "EAPI int ecore_fb_init (const char *name __UNUSED__)"
+.PP
+Sets up the Ecore_Fb library. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIname\fP device target name 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+\fC0\fP on failure. Otherwise, the number of times the library has been initialised without being shut down. 
+.RE
+.PP
+
+.SS "EAPI int ecore_fb_shutdown (void)"
+.PP
+Shuts down the Ecore_Fb library. 
+.PP
+\fBReturns:\fP
+.RS 4
+\fCThe\fP number of times the system has been initialised without being shut down. 
+.RE
+.PP
+
diff --git a/doc/man/man3/Ecore_FD_Handler_Group.3 b/doc/man/man3/Ecore_FD_Handler_Group.3
new file mode 100644
index 0000000..58bd141
--- /dev/null
+++ b/doc/man/man3/Ecore_FD_Handler_Group.3
@@ -0,0 +1,127 @@
+.TH "File Event Handling Functions" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+File Event Handling Functions \- Functions that deal with file descriptor handlers.  
+
+.PP
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI \fBEcore_Fd_Handler\fP * \fBecore_main_fd_handler_add\fP (int fd, Ecore_Fd_Handler_Flags flags, int(*func)(void *data, \fBEcore_Fd_Handler\fP *fd_handler), const void *data, int(*buf_func)(void *buf_data, \fBEcore_Fd_Handler\fP *fd_handler), const void *buf_data)"
+.br
+.RI "\fIAdds a callback for activity on the given file descriptor. \fP"
+.ti -1c
+.RI "EAPI void * \fBecore_main_fd_handler_del\fP (\fBEcore_Fd_Handler\fP *fd_handler)"
+.br
+.RI "\fIDeletes the given FD handler. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_main_fd_handler_fd_get\fP (\fBEcore_Fd_Handler\fP *fd_handler)"
+.br
+.RI "\fIRetrieves the file descriptor that the given handler is handling. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_main_fd_handler_active_get\fP (\fBEcore_Fd_Handler\fP *fd_handler, Ecore_Fd_Handler_Flags flags)"
+.br
+.RI "\fIReturn if read, write or error, or a combination thereof, is active on the file descriptor of the given FD handler. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_main_fd_handler_active_set\fP (\fBEcore_Fd_Handler\fP *fd_handler, Ecore_Fd_Handler_Flags flags)"
+.br
+.RI "\fISet what active streams the given FD handler should be monitoring. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Functions that deal with file descriptor handlers. 
+.PP
+.SH "Function Documentation"
+.PP 
+.SS "EAPI int ecore_main_fd_handler_active_get (\fBEcore_Fd_Handler\fP * fd_handler, Ecore_Fd_Handler_Flags flags)"
+.PP
+Return if read, write or error, or a combination thereof, is active on the file descriptor of the given FD handler. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIfd_handler\fP The given FD handler. 
+.br
+\fIflags\fP The flags, \fCECORE_FD_READ\fP, \fCECORE_FD_WRITE\fP or \fCECORE_FD_ERROR\fP to query. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+\fC1\fP if any of the given flags are active. \fC0\fP otherwise. 
+.RE
+.PP
+
+.SS "EAPI void ecore_main_fd_handler_active_set (\fBEcore_Fd_Handler\fP * fd_handler, Ecore_Fd_Handler_Flags flags)"
+.PP
+Set what active streams the given FD handler should be monitoring. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIfd_handler\fP The given FD handler. 
+.br
+\fIflags\fP The flags to be watching. 
+.RE
+.PP
+
+.SS "EAPI \fBEcore_Fd_Handler\fP* ecore_main_fd_handler_add (int fd, Ecore_Fd_Handler_Flags flags, int(*)(void *data, \fBEcore_Fd_Handler\fP *fd_handler) func, const void * data, int(*)(void *buf_data, \fBEcore_Fd_Handler\fP *fd_handler) buf_func, const void * buf_data)"
+.PP
+Adds a callback for activity on the given file descriptor. 
+.PP
+\fCfunc\fP will be called during the execution of \fBecore_main_loop_begin\fP when the file descriptor is available for reading, or writing, or both.
+.PP
+Normally the return value from the \fCfunc\fP is 'zero means this handler is finished and can be deleted' as is usual for handler callbacks. However, if the \fCbuf_func\fP is supplied, then the return value from the \fCfunc\fP is 'non zero means the handler should be called again in a tight loop'.
+.PP
+\fCbuf_func\fP is called during event loop handling to check if data that has been read from the file descriptor is in a buffer and is available to read. Some systems (notably xlib) handle their own buffering, and would otherwise not work with select(). These systems should use a \fCbuf_func\fP. This is a most annoying hack, only ecore_x uses it, so refer to that for an example. NOTE - \fCfunc\fP should probably return 'one' always if \fCbuf_func\fP is used, to avoid confusion with the other return walue semantics.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIfd\fP The file descriptor to watch. 
+.br
+\fIflags\fP To watch it for read (\fCECORE_FD_READ\fP) and/or (\fCECORE_FD_WRITE\fP) write ability. \fCECORE_FD_ERROR\fP 
+.br
+\fIfunc\fP The callback function. 
+.br
+\fIdata\fP The data to pass to the callback. 
+.br
+\fIbuf_func\fP The function to call to check if any data has been buffered and already read from the fd. Can be \fCNULL\fP. 
+.br
+\fIbuf_data\fP The data to pass to the \fCbuf_func\fP function. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+A fd handler handle if successful. \fCNULL\fP otherwise. 
+.RE
+.PP
+
+.SS "EAPI void* ecore_main_fd_handler_del (\fBEcore_Fd_Handler\fP * fd_handler)"
+.PP
+Deletes the given FD handler. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIfd_handler\fP The given FD handler. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The data pointer set using \fBecore_main_fd_handler_add\fP, for \fCfd_handler\fP on success. \fCNULL\fP otherwise. 
+.RE
+.PP
+
+.SS "EAPI int ecore_main_fd_handler_fd_get (\fBEcore_Fd_Handler\fP * fd_handler)"
+.PP
+Retrieves the file descriptor that the given handler is handling. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIfd_handler\fP The given FD handler. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The file descriptor the handler is watching. 
+.RE
+.PP
+
diff --git a/doc/man/man3/Ecore_Fb.h.3 b/doc/man/man3/Ecore_Fb.h.3
new file mode 100644
index 0000000..84b9673
--- /dev/null
+++ b/doc/man/man3/Ecore_Fb.h.3
@@ -0,0 +1,158 @@
+.TH "Ecore_Fb.h" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+Ecore_Fb.h \- Ecore frame buffer system functions. 
+.SH SYNOPSIS
+.br
+.PP
+.SS "Data Structures"
+
+.in +1c
+.ti -1c
+.RI "struct \fB_Ecore_Fb_Event_Key_Down\fP"
+.br
+.RI "\fIFB Key Down event. \fP"
+.ti -1c
+.RI "struct \fB_Ecore_Fb_Event_Key_Up\fP"
+.br
+.RI "\fIFB Key Up event. \fP"
+.ti -1c
+.RI "struct \fB_Ecore_Fb_Event_Mouse_Button_Down\fP"
+.br
+.RI "\fIFB Mouse Down event. \fP"
+.ti -1c
+.RI "struct \fB_Ecore_Fb_Event_Mouse_Button_Up\fP"
+.br
+.RI "\fIFB Mouse Up event. \fP"
+.ti -1c
+.RI "struct \fB_Ecore_Fb_Event_Mouse_Move\fP"
+.br
+.RI "\fIFB Mouse Move event. \fP"
+.ti -1c
+.RI "struct \fB_Ecore_Fb_Event_Mouse_Wheel\fP"
+.br
+.RI "\fIFB Mouse Wheel event. \fP"
+.in -1c
+.SS "Typedefs"
+
+.in +1c
+.ti -1c
+.RI "typedef \fB_Ecore_Fb_Event_Key_Down\fP \fBEcore_Fb_Event_Key_Down\fP"
+.br
+.RI "\fIFB Key Down event. \fP"
+.ti -1c
+.RI "typedef \fB_Ecore_Fb_Event_Key_Up\fP \fBEcore_Fb_Event_Key_Up\fP"
+.br
+.RI "\fIFB Key Up event. \fP"
+.ti -1c
+.RI "typedef \fB_Ecore_Fb_Event_Mouse_Button_Down\fP \fBEcore_Fb_Event_Mouse_Button_Down\fP"
+.br
+.RI "\fIFB Mouse Down event. \fP"
+.ti -1c
+.RI "typedef \fB_Ecore_Fb_Event_Mouse_Button_Up\fP \fBEcore_Fb_Event_Mouse_Button_Up\fP"
+.br
+.RI "\fIFB Mouse Up event. \fP"
+.ti -1c
+.RI "typedef \fB_Ecore_Fb_Event_Mouse_Move\fP \fBEcore_Fb_Event_Mouse_Move\fP"
+.br
+.RI "\fIFB Mouse Move event. \fP"
+.ti -1c
+.RI "typedef \fB_Ecore_Fb_Event_Mouse_Wheel\fP \fBEcore_Fb_Event_Mouse_Wheel\fP"
+.br
+.RI "\fIFB Mouse Wheel event. \fP"
+.in -1c
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI void \fBecore_fb_callback_gain_set\fP (void(*func)(void *data), void *data)"
+.br
+.RI "\fITo be documented. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_fb_callback_lose_set\fP (void(*func)(void *data), void *data)"
+.br
+.RI "\fITo be documented. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_fb_shutdown\fP (void)"
+.br
+.RI "\fIShuts down the Ecore_Fb library. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_fb_size_get\fP (int *w, int *h)"
+.br
+.RI "\fIRetrieves the width and height of the current frame buffer in pixels. \fP"
+.in -1c
+.SS "Variables"
+
+.in +1c
+.ti -1c
+.RI "EAPI int \fBECORE_FB_EVENT_KEY_DOWN\fP"
+.br
+.RI "\fIFB Key Down event. \fP"
+.ti -1c
+.RI "EAPI int \fBECORE_FB_EVENT_KEY_UP\fP"
+.br
+.RI "\fIFB Key Up event. \fP"
+.ti -1c
+.RI "EAPI int \fBECORE_FB_EVENT_MOUSE_BUTTON_DOWN\fP"
+.br
+.RI "\fIFB Mouse Down event. \fP"
+.ti -1c
+.RI "EAPI int \fBECORE_FB_EVENT_MOUSE_BUTTON_UP\fP"
+.br
+.RI "\fIFB Mouse Up event. \fP"
+.ti -1c
+.RI "EAPI int \fBECORE_FB_EVENT_MOUSE_MOVE\fP"
+.br
+.RI "\fIFB Mouse Move event. \fP"
+.ti -1c
+.RI "EAPI int \fBECORE_FB_EVENT_MOUSE_WHEEL\fP"
+.br
+.RI "\fIFB Mouse Wheel event. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Ecore frame buffer system functions. 
+
+
+.SH "Function Documentation"
+.PP 
+.SS "EAPI void ecore_fb_callback_gain_set (void(*)(void *data) func, void * data)"
+.PP
+To be documented. 
+.PP
+FIXME: To be fixed. 
+.PP
+\fBTodo\fP
+.RS 4
+Documentation: Find out what this does. 
+.RE
+.PP
+
+.SS "EAPI void ecore_fb_callback_lose_set (void(*)(void *data) func, void * data)"
+.PP
+To be documented. 
+.PP
+FIXME: To be fixed. 
+.PP
+\fBTodo\fP
+.RS 4
+Documentation: Find out what this does. 
+.RE
+.PP
+
+.SS "EAPI void ecore_fb_size_get (int * w, int * h)"
+.PP
+Retrieves the width and height of the current frame buffer in pixels. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIw\fP Pointer to an integer in which to store the width. 
+.br
+\fIh\fP Pointer to an interge in which to store the height. 
+.RE
+.PP
+
+.SH "Author"
+.PP 
+Generated automatically by Doxygen for Ecore from the source code.
diff --git a/doc/man/man3/Ecore_Fb_Event_Key_Down.3 b/doc/man/man3/Ecore_Fb_Event_Key_Down.3
new file mode 100644
index 0000000..16499b3
--- /dev/null
+++ b/doc/man/man3/Ecore_Fb_Event_Key_Down.3
@@ -0,0 +1 @@
+.so man3/Ecore_Fb.h.3
diff --git a/doc/man/man3/Ecore_Fb_Event_Key_Up.3 b/doc/man/man3/Ecore_Fb_Event_Key_Up.3
new file mode 100644
index 0000000..16499b3
--- /dev/null
+++ b/doc/man/man3/Ecore_Fb_Event_Key_Up.3
@@ -0,0 +1 @@
+.so man3/Ecore_Fb.h.3
diff --git a/doc/man/man3/Ecore_Fb_Event_Mouse_Button_Down.3 b/doc/man/man3/Ecore_Fb_Event_Mouse_Button_Down.3
new file mode 100644
index 0000000..16499b3
--- /dev/null
+++ b/doc/man/man3/Ecore_Fb_Event_Mouse_Button_Down.3
@@ -0,0 +1 @@
+.so man3/Ecore_Fb.h.3
diff --git a/doc/man/man3/Ecore_Fb_Event_Mouse_Button_Up.3 b/doc/man/man3/Ecore_Fb_Event_Mouse_Button_Up.3
new file mode 100644
index 0000000..16499b3
--- /dev/null
+++ b/doc/man/man3/Ecore_Fb_Event_Mouse_Button_Up.3
@@ -0,0 +1 @@
+.so man3/Ecore_Fb.h.3
diff --git a/doc/man/man3/Ecore_Fb_Event_Mouse_Move.3 b/doc/man/man3/Ecore_Fb_Event_Mouse_Move.3
new file mode 100644
index 0000000..16499b3
--- /dev/null
+++ b/doc/man/man3/Ecore_Fb_Event_Mouse_Move.3
@@ -0,0 +1 @@
+.so man3/Ecore_Fb.h.3
diff --git a/doc/man/man3/Ecore_Fb_Event_Mouse_Wheel.3 b/doc/man/man3/Ecore_Fb_Event_Mouse_Wheel.3
new file mode 100644
index 0000000..16499b3
--- /dev/null
+++ b/doc/man/man3/Ecore_Fb_Event_Mouse_Wheel.3
@@ -0,0 +1 @@
+.so man3/Ecore_Fb.h.3
diff --git a/doc/man/man3/Ecore_Fd_Handler.3 b/doc/man/man3/Ecore_Fd_Handler.3
new file mode 100644
index 0000000..e26b883
--- /dev/null
+++ b/doc/man/man3/Ecore_Fd_Handler.3
@@ -0,0 +1 @@
+.so man3/Ecore.h.3
diff --git a/doc/man/man3/Ecore_File.h.3 b/doc/man/man3/Ecore_File.h.3
new file mode 100644
index 0000000..36890d6
--- /dev/null
+++ b/doc/man/man3/Ecore_File.h.3
@@ -0,0 +1,617 @@
+.TH "Ecore_File.h" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+Ecore_File.h \- Files utility functions. 
+.SH SYNOPSIS
+.br
+.PP
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI int \fBecore_file_init\fP (void)"
+.br
+.RI "\fIInitialize Ecore_File and the services it will use. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_file_shutdown\fP (void)"
+.br
+.RI "\fIShutdown the Ecore_File. \fP"
+.ti -1c
+.RI "EAPI long long \fBecore_file_mod_time\fP (const char *file)"
+.br
+.RI "\fIGet the time of the last modification to the give file. \fP"
+.ti -1c
+.RI "EAPI long long \fBecore_file_size\fP (const char *file)"
+.br
+.RI "\fIGet the size of the given file. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_file_exists\fP (const char *file)"
+.br
+.RI "\fICheck if file exists. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_file_is_dir\fP (const char *file)"
+.br
+.RI "\fICheck if file is a directory. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_file_mkdir\fP (const char *dir)"
+.br
+.RI "\fICreate a new directory. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_file_rmdir\fP (const char *dir)"
+.br
+.RI "\fIDelete the given dir. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_file_recursive_rm\fP (const char *dir)"
+.br
+.RI "\fIDelete a directory and all its contents. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_file_mkpath\fP (const char *path)"
+.br
+.RI "\fICreate a complete path. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_file_cp\fP (const char *src, const char *dst)"
+.br
+.RI "\fICopy a file. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_file_mv\fP (const char *src, const char *dst)"
+.br
+.RI "\fIMove a file. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_file_symlink\fP (const char *src, const char *dest)"
+.br
+.RI "\fICreate a symbolic link. \fP"
+.ti -1c
+.RI "EAPI char * \fBecore_file_realpath\fP (const char *file)"
+.br
+.RI "\fIGet the canonicalized absolute pathname. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_file_unlink\fP (const char *file)"
+.br
+.RI "\fIDelete the given file. \fP"
+.ti -1c
+.RI "EAPI const char * \fBecore_file_file_get\fP (const char *path)"
+.br
+.RI "\fIGet the filename from a give path. \fP"
+.ti -1c
+.RI "EAPI char * \fBecore_file_dir_get\fP (const char *path)"
+.br
+.RI "\fIGet the directory where file reside. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_file_can_read\fP (const char *file)"
+.br
+.RI "\fICheck if file can be read. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_file_can_write\fP (const char *file)"
+.br
+.RI "\fICheck if file can be written. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_file_can_exec\fP (const char *file)"
+.br
+.RI "\fICheck if file can be executed. \fP"
+.ti -1c
+.RI "EAPI char * \fBecore_file_readlink\fP (const char *link)"
+.br
+.RI "\fIGet the path pointed by link. \fP"
+.ti -1c
+.RI "EAPI Ecore_List * \fBecore_file_ls\fP (const char *dir)"
+.br
+.RI "\fIGet the list of the files and directories in a given directory. \fP"
+.ti -1c
+.RI "EAPI char * \fBecore_file_app_exe_get\fP (const char *app)"
+.br
+.RI "\fIFIXME: To be documented. \fP"
+.ti -1c
+.RI "EAPI char * \fBecore_file_escape_name\fP (const char *filename)"
+.br
+.RI "\fIAdd the escape sequence ('\\') to the given filename. \fP"
+.ti -1c
+.RI "EAPI char * \fBecore_file_strip_ext\fP (const char *file)"
+.br
+.RI "\fIRemove the extension from a given path. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_file_monitor_del\fP (Ecore_File_Monitor *ecore_file_monitor)"
+.br
+.RI "\fIStop monitoring a path. \fP"
+.ti -1c
+.RI "EAPI const char * \fBecore_file_monitor_path_get\fP (Ecore_File_Monitor *ecore_file_monitor)"
+.br
+.RI "\fIGet the monitored path. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_file_path_dir_exists\fP (const char *in_dir)"
+.br
+.RI "\fICheck if the given directory is in PATH. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_file_app_installed\fP (const char *exe)"
+.br
+.RI "\fICheck if the given application is installed. \fP"
+.ti -1c
+.RI "EAPI Ecore_List * \fBecore_file_app_list\fP (void)"
+.br
+.RI "\fIGet a list of all the applications installed on the system. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_file_download\fP (const char *url, const char *dst, void(*completion_cb)(void *data, const char *file, int status), int(*progress_cb)(void *data, const char *file, long int dltotal, long int dlnow, long int ultotal, long int ulnow), void *data)"
+.br
+.RI "\fIDownload \fCurl\fP to the given \fCdst\fP. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_file_download_protocol_available\fP (const char *protocol)"
+.br
+.RI "\fICheck if the given protocol is available. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Files utility functions. 
+
+
+.SH "Function Documentation"
+.PP 
+.SS "EAPI int ecore_file_app_installed (const char * exe)"
+.PP
+Check if the given application is installed. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIexe\fP The name of the application 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+1 if the exe is in PATH and is executable
+.RE
+.PP
+This function check if the given name exist in PATH and is executable 
+.SS "EAPI Ecore_List* ecore_file_app_list (void)"
+.PP
+Get a list of all the applications installed on the system. 
+.PP
+\fBReturns:\fP
+.RS 4
+An Ecore_List containing all the executable files in the system 
+.RE
+.PP
+
+.SS "EAPI int ecore_file_can_exec (const char * file)"
+.PP
+Check if file can be executed. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIfile\fP The name of the file 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+1 if the file can be executed, 0 otherwise 
+.RE
+.PP
+
+.SS "EAPI int ecore_file_can_read (const char * file)"
+.PP
+Check if file can be read. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIfile\fP The name of the file 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+1 if the file is readable, 0 otherwise 
+.RE
+.PP
+
+.SS "EAPI int ecore_file_can_write (const char * file)"
+.PP
+Check if file can be written. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIfile\fP The name of the file 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+1 if the file is writable, 0 otherwise 
+.RE
+.PP
+
+.SS "EAPI int ecore_file_cp (const char * src, const char * dst)"
+.PP
+Copy a file. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIsrc\fP The name of the source file 
+.br
+\fIdst\fP The name of the destination file 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+1 on success, 0 on failure 
+.RE
+.PP
+
+.SS "EAPI char* ecore_file_dir_get (const char * file)"
+.PP
+Get the directory where file reside. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIfile\fP The name of the file 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The directory name 
+.RE
+.PP
+
+.SS "EAPI int ecore_file_download (const char * url, const char * dst, void(*)(void *data, const char *file, int status) completion_cb, int(*)(void *data, const char *file, long int dltotal, long int dlnow, long int ultotal, long int ulnow) progress_cb, void * data)"
+.PP
+Download \fCurl\fP to the given \fCdst\fP. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIurl\fP The complete url to download 
+.br
+\fIdst\fP The local file to save the downloaded to 
+.br
+\fIcompletion_cb\fP A callback called on download complete 
+.br
+\fIprogress_cb\fP A callback called during the download operation 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+1 if the download start or 0 on failure
+.RE
+.PP
+You must provide the full url, including 'http://', 'ftp://' or 'file://'.
+.br
+ If \fCdst\fP already exist it will not be overwritten and the function will fail.
+.br
+ Ecore must be compiled with CURL to download using http and ftp protocols. 
+.SS "EAPI int ecore_file_download_protocol_available (const char * protocol)"
+.PP
+Check if the given protocol is available. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIprotocol\fP The protocol to check 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+1 if protocol is handled or 0 if not
+.RE
+.PP
+\fCprotocol\fP can be 'http://', 'ftp://' or 'file://'.
+.br
+ Ecore must be compiled with CURL to handle http and ftp protocols. 
+.SS "EAPI char* ecore_file_escape_name (const char * filename)"
+.PP
+Add the escape sequence ('\\') to the given filename. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIfilename\fP The file name 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The file name with special characters escaped; if the length of the resulting string is longer than PATH_MAX it will return NULL 
+.RE
+.PP
+
+.SS "EAPI int ecore_file_exists (const char * file)"
+.PP
+Check if file exists. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIfile\fP The name of the file 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+1 if file exists on local filesystem, 0 otherwise 
+.RE
+.PP
+
+.SS "EAPI const char* ecore_file_file_get (const char * path)"
+.PP
+Get the filename from a give path. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIpath\fP The complete path 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+Only the file name 
+.RE
+.PP
+
+.SS "EAPI int ecore_file_init (void)"
+.PP
+Initialize Ecore_File and the services it will use. 
+.PP
+Call this function once before you use any of the ecore file functions. 
+.PP
+\fBReturns:\fP
+.RS 4
+Return the number howoften \fBecore_file_init()\fP was call succesfully; 0 if it failed. 
+.RE
+.PP
+
+.SS "EAPI int ecore_file_is_dir (const char * file)"
+.PP
+Check if file is a directory. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIfile\fP The name of the file 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+1 if file exist and is a directory, 0 otherwise 
+.RE
+.PP
+
+.SS "EAPI Ecore_List* ecore_file_ls (const char * dir)"
+.PP
+Get the list of the files and directories in a given directory. 
+.PP
+The list will be sorted with strcoll as compare function. That means that you may want to set the current locale for the category LC_COLLATE with setlocale(). For more information see the manual pages of strcoll and setlocale. The list will not contain the directory entries for '.' and '..'. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIdir\fP The name of the directory to list 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+Return an Ecore_List containing all the files in the directory; on failure it returns NULL. 
+.RE
+.PP
+
+.SS "EAPI int ecore_file_mkdir (const char * dir)"
+.PP
+Create a new directory. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIdir\fP The name of the directory to create 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+1 on successfull creation, 0 on failure
+.RE
+.PP
+The directory is created with the mode: S_IRUSR | S_IWUSR | S_IXUSR | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH 
+.SS "EAPI int ecore_file_mkpath (const char * path)"
+.PP
+Create a complete path. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIpath\fP The path to create 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+1 on success, 0 on failure 
+.RE
+.PP
+
+.SS "EAPI long long ecore_file_mod_time (const char * file)"
+.PP
+Get the time of the last modification to the give file. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIfile\fP The name of the file 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+Return the time of the last data modification, if an error should occur it will return 0 
+.RE
+.PP
+
+.SS "EAPI void ecore_file_monitor_del (Ecore_File_Monitor * em)"
+.PP
+Stop monitoring a path. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIem\fP The Ecore_File_Monitor to stop 
+.RE
+.PP
+
+.SS "EAPI const char* ecore_file_monitor_path_get (Ecore_File_Monitor * em)"
+.PP
+Get the monitored path. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIem\fP The Ecore_File_Monitor to query 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The path that is monitored by \fCem\fP 
+.RE
+.PP
+
+.SS "EAPI int ecore_file_mv (const char * src, const char * dst)"
+.PP
+Move a file. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIsrc\fP The name of the source file 
+.br
+\fIdst\fP The name of the destination file 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+1 on success, 0 on failure 
+.RE
+.PP
+
+.SS "EAPI int ecore_file_path_dir_exists (const char * in_dir)"
+.PP
+Check if the given directory is in PATH. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIThe\fP name of the directory to search in PATH 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+1 if the directory exist in PATH, 0 otherwise 
+.RE
+.PP
+
+.SS "EAPI char* ecore_file_readlink (const char * link)"
+.PP
+Get the path pointed by link. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIlink\fP The name of the link 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The path pointed by link or NULL 
+.RE
+.PP
+
+.SS "EAPI char* ecore_file_realpath (const char * file)"
+.PP
+Get the canonicalized absolute pathname. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIfile\fP The file path 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The canonicalized absolute pathname; on failure it will return an empty string 
+.RE
+.PP
+
+.SS "EAPI int ecore_file_recursive_rm (const char * dir)"
+.PP
+Delete a directory and all its contents. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIdir\fP The name of the directory to delete 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+1 on success, 0 on failure
+.RE
+.PP
+If dir is a link only the link is removed 
+.SS "EAPI int ecore_file_rmdir (const char * dir)"
+.PP
+Delete the given dir. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIdir\fP The name of the directory to delete 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+1 on success, 0 on failure 
+.RE
+.PP
+
+.SS "EAPI int ecore_file_shutdown (void)"
+.PP
+Shutdown the Ecore_File. 
+.PP
+\fBReturns:\fP
+.RS 4
+returns the number of libraries that still uses Ecore_File 
+.RE
+.PP
+
+.SS "EAPI long long ecore_file_size (const char * file)"
+.PP
+Get the size of the given file. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIfile\fP The name of the file 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The size of the file in byte 
+.RE
+.PP
+
+.SS "EAPI char* ecore_file_strip_ext (const char * path)"
+.PP
+Remove the extension from a given path. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIpath\fP The name of the file 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+A newly allocated string with the extension stripped out or NULL on errors 
+.RE
+.PP
+
+.SS "EAPI int ecore_file_symlink (const char * src, const char * dest)"
+.PP
+Create a symbolic link. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIsrc\fP The name of the file to link 
+.br
+\fIdest\fP The name of link 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+1 on success, 0 on failure 
+.RE
+.PP
+
+.SS "EAPI int ecore_file_unlink (const char * file)"
+.PP
+Delete the given file. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIfile\fP The name of the file to delete 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+1 on success, 0 on failure 
+.RE
+.PP
+
+.SH "Author"
+.PP 
+Generated automatically by Doxygen for Ecore from the source code.
diff --git a/doc/man/man3/Ecore_IPC_Client_Group.3 b/doc/man/man3/Ecore_IPC_Client_Group.3
new file mode 100644
index 0000000..3f72ad0
--- /dev/null
+++ b/doc/man/man3/Ecore_IPC_Client_Group.3
@@ -0,0 +1,133 @@
+.TH "IPC Client Functions" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+IPC Client Functions \- Functions that deal with IPC client objects.  
+
+.PP
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI int \fBecore_ipc_client_send\fP (\fBEcore_Ipc_Client\fP *cl, int major, int minor, int ref, int ref_to, int response, void *data, int size)"
+.br
+.RI "\fISends a message to the given IPC client. \fP"
+.ti -1c
+.RI "EAPI \fBEcore_Ipc_Server\fP * \fBecore_ipc_client_server_get\fP (\fBEcore_Ipc_Client\fP *cl)"
+.br
+.RI "\fIRetrieves the IPC server that the given IPC client is connected to. \fP"
+.ti -1c
+.RI "EAPI void * \fBecore_ipc_client_del\fP (\fBEcore_Ipc_Client\fP *cl)"
+.br
+.RI "\fICloses the connection and frees memory allocated to the given IPC client. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_ipc_client_data_set\fP (\fBEcore_Ipc_Client\fP *cl, const void *data)"
+.br
+.RI "\fISets the IPC data associated with the given IPC client to \fCdata\fP. \fP"
+.ti -1c
+.RI "EAPI void * \fBecore_ipc_client_data_get\fP (\fBEcore_Ipc_Client\fP *cl)"
+.br
+.RI "\fIRetrieves the data that has been associated with the given IPC client. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Functions that deal with IPC client objects. 
+.PP
+.SH "Function Documentation"
+.PP 
+.SS "EAPI void* ecore_ipc_client_data_get (\fBEcore_Ipc_Client\fP * cl)"
+.PP
+Retrieves the data that has been associated with the given IPC client. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIcl\fP The given client. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The data associated with the IPC client. 
+.RE
+.PP
+
+.SS "EAPI void ecore_ipc_client_data_set (\fBEcore_Ipc_Client\fP * cl, const void * data)"
+.PP
+Sets the IPC data associated with the given IPC client to \fCdata\fP. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIcl\fP The given IPC client. 
+.br
+\fIdata\fP The data to associate with the IPC client. 
+.RE
+.PP
+
+.SS "EAPI void* ecore_ipc_client_del (\fBEcore_Ipc_Client\fP * cl)"
+.PP
+Closes the connection and frees memory allocated to the given IPC client. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIcl\fP The given client. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+Data associated with the client. 
+.RE
+.PP
+
+.SS "EAPI int ecore_ipc_client_send (\fBEcore_Ipc_Client\fP * cl, int major, int minor, int ref, int ref_to, int response, void * data, int size)"
+.PP
+Sends a message to the given IPC client. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIcl\fP The given IPC client. 
+.br
+\fImajor\fP Major opcode of the message. 
+.br
+\fIminor\fP Minor opcode of the message. 
+.br
+\fIref\fP Reference number of the message. 
+.br
+\fIref_to\fP Reference number of the message this message refers to. 
+.br
+\fIresponse\fP Requires response. 
+.br
+\fIdata\fP The data to send as part of the message. 
+.br
+\fIsize\fP Length of the data, in bytes, to send. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The number of bytes sent. \fC0\fP will be returned if there is an error.
+.RE
+.PP
+\fBTodo\fP
+.RS 4
+This function needs to become an IPC message. 
+.RE
+.PP
+\fBTodo\fP
+.RS 4
+Make sure ref_to and response parameters are described correctly. 
+.RE
+.PP
+
+.SS "EAPI \fBEcore_Ipc_Server\fP* ecore_ipc_client_server_get (\fBEcore_Ipc_Client\fP * cl)"
+.PP
+Retrieves the IPC server that the given IPC client is connected to. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIcl\fP The given IPC client. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The IPC server the IPC client is connected to. 
+.RE
+.PP
+
diff --git a/doc/man/man3/Ecore_IPC_Library_Group.3 b/doc/man/man3/Ecore_IPC_Library_Group.3
new file mode 100644
index 0000000..2e4f930
--- /dev/null
+++ b/doc/man/man3/Ecore_IPC_Library_Group.3
@@ -0,0 +1,45 @@
+.TH "IPC Library Functions" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+IPC Library Functions \- Functions that set up and shut down the Ecore IPC Library.  
+
+.PP
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI int \fBecore_ipc_init\fP (void)"
+.br
+.RI "\fIInitialises the Ecore IPC library. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_ipc_shutdown\fP (void)"
+.br
+.RI "\fIShuts down the Ecore IPC library. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Functions that set up and shut down the Ecore IPC Library. 
+.PP
+.SH "Function Documentation"
+.PP 
+.SS "EAPI int ecore_ipc_init (void)"
+.PP
+Initialises the Ecore IPC library. 
+.PP
+\fBReturns:\fP
+.RS 4
+Number of times the library has been initialised without being shut down. 
+.RE
+.PP
+
+.SS "EAPI int ecore_ipc_shutdown (void)"
+.PP
+Shuts down the Ecore IPC library. 
+.PP
+\fBReturns:\fP
+.RS 4
+Number of times the library has been initialised without being shut down. 
+.RE
+.PP
+
diff --git a/doc/man/man3/Ecore_IPC_Server_Group.3 b/doc/man/man3/Ecore_IPC_Server_Group.3
new file mode 100644
index 0000000..f511e19
--- /dev/null
+++ b/doc/man/man3/Ecore_IPC_Server_Group.3
@@ -0,0 +1,202 @@
+.TH "IPC Server Functions" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+IPC Server Functions \- Functions the deal with IPC server objects.  
+
+.PP
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI \fBEcore_Ipc_Server\fP * \fBecore_ipc_server_add\fP (Ecore_Ipc_Type compl_type, const char *name, int port, const void *data)"
+.br
+.RI "\fICreates an IPC server that listens for connections. \fP"
+.ti -1c
+.RI "EAPI \fBEcore_Ipc_Server\fP * \fBecore_ipc_server_connect\fP (Ecore_Ipc_Type compl_type, char *name, int port, const void *data)"
+.br
+.RI "\fICreates an IPC server object to represent the IPC server listening on the given port. \fP"
+.ti -1c
+.RI "EAPI void * \fBecore_ipc_server_del\fP (\fBEcore_Ipc_Server\fP *svr)"
+.br
+.RI "\fICloses the connection and frees the given IPC server. \fP"
+.ti -1c
+.RI "EAPI void * \fBecore_ipc_server_data_get\fP (\fBEcore_Ipc_Server\fP *svr)"
+.br
+.RI "\fIRetrieves the data associated with the given IPC server. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_ipc_server_connected_get\fP (\fBEcore_Ipc_Server\fP *svr)"
+.br
+.RI "\fIRetrieves whether the given IPC server is currently connected. \fP"
+.ti -1c
+.RI "EAPI Ecore_List * \fBecore_ipc_server_clients_get\fP (\fBEcore_Ipc_Server\fP *svr)"
+.br
+.RI "\fIRetrieves the list of clients for this server. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_ipc_server_send\fP (\fBEcore_Ipc_Server\fP *svr, int major, int minor, int ref, int ref_to, int response, void *data, int size)"
+.br
+.RI "\fISends a message to the given IPC server. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Functions the deal with IPC server objects. 
+.PP
+.SH "Function Documentation"
+.PP 
+.SS "EAPI \fBEcore_Ipc_Server\fP* ecore_ipc_server_add (Ecore_Ipc_Type compl_type, const char * name, int port, const void * data)"
+.PP
+Creates an IPC server that listens for connections. 
+.PP
+For more details about the \fCcompl_type\fP, \fCname\fP and \fCport\fP parameters, see the \fBecore_con_server_add\fP documentation.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIcompl_type\fP The connection type. 
+.br
+\fIname\fP Name to associate with the socket used for connection. 
+.br
+\fIport\fP Number to identify with socket used for connection. 
+.br
+\fIdata\fP Data to associate with the IPC server. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+New IPC server. If there is an error, \fCNULL\fP is returned.
+.RE
+.PP
+\fBTodo\fP
+.RS 4
+Need to add protocol type parameter to this function. 
+.RE
+.PP
+
+.SS "EAPI Ecore_List* ecore_ipc_server_clients_get (\fBEcore_Ipc_Server\fP * svr)"
+.PP
+Retrieves the list of clients for this server. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIsvr\fP The given IPC server. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+An Ecore_List with the clients. 
+.RE
+.PP
+
+.SS "EAPI \fBEcore_Ipc_Server\fP* ecore_ipc_server_connect (Ecore_Ipc_Type compl_type, char * name, int port, const void * data)"
+.PP
+Creates an IPC server object to represent the IPC server listening on the given port. 
+.PP
+For more details about the \fCcompl_type\fP, \fCname\fP and \fCport\fP parameters, see the \fBecore_con_server_connect\fP documentation.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIcompl_type\fP The IPC connection type. 
+.br
+\fIname\fP Name used to determine which socket to use for the IPC connection. 
+.br
+\fIport\fP Number used to identify the socket to use for the IPC connection. 
+.br
+\fIdata\fP Data to associate with the server. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+A new IPC server. \fCNULL\fP is returned on error.
+.RE
+.PP
+\fBTodo\fP
+.RS 4
+Need to add protocol type parameter. 
+.RE
+.PP
+
+.SS "EAPI int ecore_ipc_server_connected_get (\fBEcore_Ipc_Server\fP * svr)"
+.PP
+Retrieves whether the given IPC server is currently connected. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIsvr\fP The given IPC server. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+\fC1\fP if the server is connected. \fC0\fP otherwise. 
+.RE
+.PP
+
+.SS "EAPI void* ecore_ipc_server_data_get (\fBEcore_Ipc_Server\fP * svr)"
+.PP
+Retrieves the data associated with the given IPC server. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIsvr\fP The given IPC server. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The associated data. 
+.RE
+.PP
+
+.SS "EAPI void* ecore_ipc_server_del (\fBEcore_Ipc_Server\fP * svr)"
+.PP
+Closes the connection and frees the given IPC server. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIsvr\fP The given IPC server. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The data associated with the server when it was created. 
+.RE
+.PP
+
+.SS "EAPI int ecore_ipc_server_send (\fBEcore_Ipc_Server\fP * svr, int major, int minor, int ref, int ref_to, int response, void * data, int size)"
+.PP
+Sends a message to the given IPC server. 
+.PP
+The content of the parameters, excluding the \fCsvr\fP paramter, is up to the client.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIsvr\fP The given IPC server. 
+.br
+\fImajor\fP Major opcode of the message. 
+.br
+\fIminor\fP Minor opcode of the message. 
+.br
+\fIref\fP Message reference number. 
+.br
+\fIref_to\fP Reference number of the message this message refers to. 
+.br
+\fIresponse\fP Requires response. 
+.br
+\fIdata\fP The data to send as part of the message. 
+.br
+\fIsize\fP Length of the data, in bytes, to send. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+Number of bytes sent. \fC0\fP is returned if there is an error.
+.RE
+.PP
+\fBTodo\fP
+.RS 4
+This function needs to become an IPC message. 
+.RE
+.PP
+\fBTodo\fP
+.RS 4
+Fix up the documentation: Make sure what ref_to and response are. 
+.RE
+.PP
+
diff --git a/doc/man/man3/Ecore_Idle_Enterer.3 b/doc/man/man3/Ecore_Idle_Enterer.3
new file mode 100644
index 0000000..e26b883
--- /dev/null
+++ b/doc/man/man3/Ecore_Idle_Enterer.3
@@ -0,0 +1 @@
+.so man3/Ecore.h.3
diff --git a/doc/man/man3/Ecore_Idle_Exiter.3 b/doc/man/man3/Ecore_Idle_Exiter.3
new file mode 100644
index 0000000..e26b883
--- /dev/null
+++ b/doc/man/man3/Ecore_Idle_Exiter.3
@@ -0,0 +1 @@
+.so man3/Ecore.h.3
diff --git a/doc/man/man3/Ecore_Idler.3 b/doc/man/man3/Ecore_Idler.3
new file mode 100644
index 0000000..e26b883
--- /dev/null
+++ b/doc/man/man3/Ecore_Idler.3
@@ -0,0 +1 @@
+.so man3/Ecore.h.3
diff --git a/doc/man/man3/Ecore_Ipc.h.3 b/doc/man/man3/Ecore_Ipc.h.3
new file mode 100644
index 0000000..210551d
--- /dev/null
+++ b/doc/man/man3/Ecore_Ipc.h.3
@@ -0,0 +1,255 @@
+.TH "Ecore_Ipc.h" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+Ecore_Ipc.h \- Ecore inter-process communication functions. 
+.SH SYNOPSIS
+.br
+.PP
+.SS "Typedefs"
+
+.in +1c
+.ti -1c
+.RI "typedef void \fBEcore_Ipc_Server\fP"
+.br
+.RI "\fIAn IPC connection handle. \fP"
+.ti -1c
+.RI "typedef void \fBEcore_Ipc_Client\fP"
+.br
+.RI "\fIAn IPC connection handle. \fP"
+.in -1c
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI unsigned short \fB_ecore_ipc_swap_16\fP (unsigned short v)"
+.br
+.RI "\fIMacros used for generic data packing. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_ipc_init\fP (void)"
+.br
+.RI "\fIInitialises the Ecore IPC library. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_ipc_shutdown\fP (void)"
+.br
+.RI "\fIShuts down the Ecore IPC library. \fP"
+.ti -1c
+.RI "EAPI \fBEcore_Ipc_Server\fP * \fBecore_ipc_server_add\fP (Ecore_Ipc_Type type, const char *name, int port, const void *data)"
+.br
+.RI "\fICreates an IPC server that listens for connections. \fP"
+.ti -1c
+.RI "EAPI \fBEcore_Ipc_Server\fP * \fBecore_ipc_server_connect\fP (Ecore_Ipc_Type type, char *name, int port, const void *data)"
+.br
+.RI "\fICreates an IPC server object to represent the IPC server listening on the given port. \fP"
+.ti -1c
+.RI "EAPI void * \fBecore_ipc_server_del\fP (\fBEcore_Ipc_Server\fP *svr)"
+.br
+.RI "\fICloses the connection and frees the given IPC server. \fP"
+.ti -1c
+.RI "EAPI void * \fBecore_ipc_server_data_get\fP (\fBEcore_Ipc_Server\fP *svr)"
+.br
+.RI "\fIRetrieves the data associated with the given IPC server. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_ipc_server_connected_get\fP (\fBEcore_Ipc_Server\fP *svr)"
+.br
+.RI "\fIRetrieves whether the given IPC server is currently connected. \fP"
+.ti -1c
+.RI "EAPI Ecore_List * \fBecore_ipc_server_clients_get\fP (\fBEcore_Ipc_Server\fP *svr)"
+.br
+.RI "\fIRetrieves the list of clients for this server. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_ipc_server_send\fP (\fBEcore_Ipc_Server\fP *svr, int major, int minor, int ref, int ref_to, int response, void *data, int size)"
+.br
+.RI "\fISends a message to the given IPC server. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_ipc_server_client_limit_set\fP (\fBEcore_Ipc_Server\fP *svr, int client_limit, char reject_excess_clients)"
+.br
+.RI "\fISets a limit on the number of clients that can be handled concurrently by the given server, and a policy on what to do if excess clients try to connect. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_ipc_server_data_size_max_set\fP (\fBEcore_Ipc_Server\fP *srv, int size)"
+.br
+.RI "\fISets the max data payload size for an Ipc message in bytes. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_ipc_server_data_size_max_get\fP (\fBEcore_Ipc_Server\fP *srv)"
+.br
+.RI "\fIGets the max data payload size for an Ipc message in bytes. \fP"
+.ti -1c
+.RI "EAPI char * \fBecore_ipc_server_ip_get\fP (\fBEcore_Ipc_Server\fP *svr)"
+.br
+.RI "\fIGets the IP address of a server that has been connected to. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_ipc_server_flush\fP (\fBEcore_Ipc_Server\fP *svr)"
+.br
+.RI "\fIFlushes all pending data to the given server. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_ipc_client_send\fP (\fBEcore_Ipc_Client\fP *cl, int major, int minor, int ref, int ref_to, int response, void *data, int size)"
+.br
+.RI "\fISends a message to the given IPC client. \fP"
+.ti -1c
+.RI "EAPI \fBEcore_Ipc_Server\fP * \fBecore_ipc_client_server_get\fP (\fBEcore_Ipc_Client\fP *cl)"
+.br
+.RI "\fIRetrieves the IPC server that the given IPC client is connected to. \fP"
+.ti -1c
+.RI "EAPI void * \fBecore_ipc_client_del\fP (\fBEcore_Ipc_Client\fP *cl)"
+.br
+.RI "\fICloses the connection and frees memory allocated to the given IPC client. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_ipc_client_data_set\fP (\fBEcore_Ipc_Client\fP *cl, const void *data)"
+.br
+.RI "\fISets the IPC data associated with the given IPC client to \fCdata\fP. \fP"
+.ti -1c
+.RI "EAPI void * \fBecore_ipc_client_data_get\fP (\fBEcore_Ipc_Client\fP *cl)"
+.br
+.RI "\fIRetrieves the data that has been associated with the given IPC client. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_ipc_client_data_size_max_set\fP (\fBEcore_Ipc_Client\fP *cl, int size)"
+.br
+.RI "\fISets the max data payload size for an Ipc message in bytes. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_ipc_client_data_size_max_get\fP (\fBEcore_Ipc_Client\fP *cl)"
+.br
+.RI "\fISets the max data payload size for an Ipc message in bytes. \fP"
+.ti -1c
+.RI "EAPI char * \fBecore_ipc_client_ip_get\fP (\fBEcore_Ipc_Client\fP *cl)"
+.br
+.RI "\fIGets the IP address of a client that has been connected to. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_ipc_client_flush\fP (\fBEcore_Ipc_Client\fP *cl)"
+.br
+.RI "\fIFlushes all pending data to the given client. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_ipc_ssl_available_get\fP (void)"
+.br
+.RI "\fIReturns if SSL support is available. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Ecore inter-process communication functions. 
+
+
+.SH "Function Documentation"
+.PP 
+.SS "EAPI int ecore_ipc_client_data_size_max_get (\fBEcore_Ipc_Client\fP * cl)"
+.PP
+Sets the max data payload size for an Ipc message in bytes. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIcl\fP The given client. 
+.br
+\fIsize\fP The maximum data payload size in bytes. 
+.RE
+.PP
+
+.SS "EAPI void ecore_ipc_client_data_size_max_set (\fBEcore_Ipc_Client\fP * cl, int size)"
+.PP
+Sets the max data payload size for an Ipc message in bytes. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIclient\fP The given client. 
+.br
+\fIsize\fP The maximum data payload size in bytes. 
+.RE
+.PP
+
+.SS "EAPI void ecore_ipc_client_flush (\fBEcore_Ipc_Client\fP * cl)"
+.PP
+Flushes all pending data to the given client. 
+.PP
+Will return when done.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIcl\fP The given client. 
+.RE
+.PP
+
+.SS "EAPI char* ecore_ipc_client_ip_get (\fBEcore_Ipc_Client\fP * cl)"
+.PP
+Gets the IP address of a client that has been connected to. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIcl\fP The given client. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+A pointer to an internal string that contains the IP address of the connected server in the form 'XXX.YYY.ZZZ.AAA' IP notation. This string should not be modified or trusted to stay valid after deletion for the \fCcl\fP object. If no IP is known NULL is returned. 
+.RE
+.PP
+
+.SS "EAPI void ecore_ipc_server_client_limit_set (\fBEcore_Ipc_Server\fP * svr, int client_limit, char reject_excess_clients)"
+.PP
+Sets a limit on the number of clients that can be handled concurrently by the given server, and a policy on what to do if excess clients try to connect. 
+.PP
+Beware that if you set this once ecore is already running, you may already have pending CLIENT_ADD events in your event queue. Those clients have already connected and will not be affected by this call. Only clients subsequently trying to connect will be affected. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIsvr\fP The given server. 
+.br
+\fIclient_limit\fP The maximum number of clients to handle concurrently. -1 means unlimited (default). 0 effectively disables the server. 
+.br
+\fIreject_excess_clients\fP Set to 1 to automatically disconnect excess clients as soon as they connect if you are already handling client_limit clients. Set to 0 (default) to just hold off on the 'accept()' system call until the number of active clients drops. This causes the kernel to queue up to 4096 connections (or your kernel's limit, whichever is lower). 
+.RE
+.PP
+
+.SS "EAPI int ecore_ipc_server_data_size_max_get (\fBEcore_Ipc_Server\fP * svr)"
+.PP
+Gets the max data payload size for an Ipc message in bytes. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIsvr\fP The given server. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The maximum data payload in bytes. 
+.RE
+.PP
+
+.SS "EAPI void ecore_ipc_server_data_size_max_set (\fBEcore_Ipc_Server\fP * svr, int size)"
+.PP
+Sets the max data payload size for an Ipc message in bytes. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIsvr\fP The given server. 
+.br
+\fIsize\fP The maximum data payload size in bytes. 
+.RE
+.PP
+
+.SS "EAPI void ecore_ipc_server_flush (\fBEcore_Ipc_Server\fP * svr)"
+.PP
+Flushes all pending data to the given server. 
+.PP
+Will return when done.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIsvr\fP The given server. 
+.RE
+.PP
+
+.SS "EAPI char* ecore_ipc_server_ip_get (\fBEcore_Ipc_Server\fP * svr)"
+.PP
+Gets the IP address of a server that has been connected to. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIsvr\fP The given server. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+A pointer to an internal string that contains the IP address of the connected server in the form 'XXX.YYY.ZZZ.AAA' IP notation. This string should not be modified or trusted to stay valid after deletion for the \fCsvr\fP object. If no IP is known NULL is returned. 
+.RE
+.PP
+
+.SH "Author"
+.PP 
+Generated automatically by Doxygen for Ecore from the source code.
diff --git a/doc/man/man3/Ecore_Ipc_Client.3 b/doc/man/man3/Ecore_Ipc_Client.3
new file mode 100644
index 0000000..00e6f24
--- /dev/null
+++ b/doc/man/man3/Ecore_Ipc_Client.3
@@ -0,0 +1 @@
+.so man3/Ecore_Ipc.h.3
diff --git a/doc/man/man3/Ecore_Ipc_Server.3 b/doc/man/man3/Ecore_Ipc_Server.3
new file mode 100644
index 0000000..00e6f24
--- /dev/null
+++ b/doc/man/man3/Ecore_Ipc_Server.3
@@ -0,0 +1 @@
+.so man3/Ecore_Ipc.h.3
diff --git a/doc/man/man3/Ecore_Job.3 b/doc/man/man3/Ecore_Job.3
new file mode 100644
index 0000000..76fd8fa
--- /dev/null
+++ b/doc/man/man3/Ecore_Job.3
@@ -0,0 +1 @@
+.so man3/Ecore_Job.h.3
diff --git a/doc/man/man3/Ecore_Job.h.3 b/doc/man/man3/Ecore_Job.h.3
new file mode 100644
index 0000000..8b4d069
--- /dev/null
+++ b/doc/man/man3/Ecore_Job.h.3
@@ -0,0 +1,36 @@
+.TH "Ecore_Job.h" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+Ecore_Job.h \- Functions for dealing with Ecore jobs. 
+.SH SYNOPSIS
+.br
+.PP
+.SS "Typedefs"
+
+.in +1c
+.ti -1c
+.RI "typedef void \fBEcore_Job\fP"
+.br
+.RI "\fIA job handle. \fP"
+.in -1c
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI \fBEcore_Job\fP * \fBecore_job_add\fP (void(*func)(void *data), const void *data)"
+.br
+.RI "\fIAdd a job to the event queue. \fP"
+.ti -1c
+.RI "EAPI void * \fBecore_job_del\fP (\fBEcore_Job\fP *job)"
+.br
+.RI "\fIDelete a queued job that has not yet been executed. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Functions for dealing with Ecore jobs. 
+
+
+.SH "Author"
+.PP 
+Generated automatically by Doxygen for Ecore from the source code.
diff --git a/doc/man/man3/Ecore_Job_Group.3 b/doc/man/man3/Ecore_Job_Group.3
new file mode 100644
index 0000000..54e37f5
--- /dev/null
+++ b/doc/man/man3/Ecore_Job_Group.3
@@ -0,0 +1,62 @@
+.TH "Ecore Jobs" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+Ecore Jobs \- You can queue jobs that are to be done by the main loop when the current event is dealt with.  
+
+.PP
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI \fBEcore_Job\fP * \fBecore_job_add\fP (void(*func)(void *data), const void *data)"
+.br
+.RI "\fIAdd a job to the event queue. \fP"
+.ti -1c
+.RI "EAPI void * \fBecore_job_del\fP (\fBEcore_Job\fP *job)"
+.br
+.RI "\fIDelete a queued job that has not yet been executed. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+You can queue jobs that are to be done by the main loop when the current event is dealt with. 
+.PP
+.SH "Function Documentation"
+.PP 
+.SS "EAPI \fBEcore_Job\fP* ecore_job_add (void(*)(void *data) func, const void * data)"
+.PP
+Add a job to the event queue. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIfunc\fP The function to call when the job gets handled. 
+.br
+\fIdata\fP Data pointer to be passed to the job function when the job is handled. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The handle of the job. \fCNULL\fP is returned if the job could not be added to the queue.
+.RE
+.PP
+\fBNote:\fP
+.RS 4
+Once the job has been executed, the job handle is invalid. 
+.RE
+.PP
+
+.SS "EAPI void* ecore_job_del (\fBEcore_Job\fP * job)"
+.PP
+Delete a queued job that has not yet been executed. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIjob\fP Handle of the job to delete. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The data pointer that was to be passed to the job. 
+.RE
+.PP
+
diff --git a/doc/man/man3/Ecore_Main_Loop_Group.3 b/doc/man/man3/Ecore_Main_Loop_Group.3
new file mode 100644
index 0000000..0532943
--- /dev/null
+++ b/doc/man/man3/Ecore_Main_Loop_Group.3
@@ -0,0 +1,41 @@
+.TH "Main Loop Functions" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+Main Loop Functions \- These functions control the Ecore event handling loop.  
+
+.PP
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI void \fBecore_main_loop_iterate\fP (void)"
+.br
+.RI "\fIRuns a single iteration of the main loop to process everything on the queue. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_main_loop_begin\fP (void)"
+.br
+.RI "\fIRuns the application main loop. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_main_loop_quit\fP (void)"
+.br
+.RI "\fIQuits the main loop once all the events currently on the queue have been processed. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+These functions control the Ecore event handling loop. 
+.PP
+This loop is designed to work on embedded systems all the way to large and powerful mutli-cpu workstations.
+.PP
+It serialises all system signals and events into a single event queue, that can be easily processed without needing to worry about concurrency. A properly written, event-driven program using this kind of programming does not need threads. It makes the program very robust and easy to follow.
+.PP
+Here is an example of simple program and its basic event loop flow: 
+.PP
+For examples of setting up and using a main loop, see \fBevent_handler_example::c\fP and \fBtimer_example::c\fP. 
+.SH "Function Documentation"
+.PP 
+.SS "EAPI void ecore_main_loop_begin (void)"
+.PP
+Runs the application main loop. 
+.PP
+This function will not return until \fBecore_main_loop_quit\fP is called. 
diff --git a/doc/man/man3/Ecore_Main_Loop_Page.3 b/doc/man/man3/Ecore_Main_Loop_Page.3
new file mode 100644
index 0000000..74ec6e7
--- /dev/null
+++ b/doc/man/man3/Ecore_Main_Loop_Page.3
@@ -0,0 +1,87 @@
+.TH "Ecore_Main_Loop_Page" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+Ecore_Main_Loop_Page \- The Ecore Main Loop
+.SH "What is Ecore?"
+.PP
+Ecore is a clean and tiny event loop library with many modules to do lots of convenient things for a programmer, to save time and effort.
+.PP
+It's small and lean, designed to work on embedded systems all the way to large and powerful multi-cpu workstations. It serialises all system signals, events etc. into a single event queue, that is easily processed without needing to worry about concurrency. A properly written, event-driven program using this kind of programming doesn't need threads, nor has to worry about concurrency. It turns a program into a state machine, and makes it very robust and easy to follow.
+.PP
+Ecore gives you other handy primitives, such as timers to tick over for you and call specified functions at particular times so the programmer can use this to do things, like animate, or time out on connections or tasks that take too long etc.
+.PP
+Idle handlers are provided too, as well as calls on entering an idle state (often a very good time to update the state of the program). All events that enter the system are passed to specific callback functions that the program sets up to handle those events. Handling them is simple and other Ecore modules produce more events on the queue, coming from other sources such as file descriptors etc.
+.PP
+Ecore also lets you have functions called when file descriptors become active for reading or writing, allowing for streamlined, non-blocking IO.
+.PP
+Here is an exmaple of a simple program and its basic event loop flow:
+.PP
+.SH "How does Ecore work?"
+.PP
+Ecore is very easy to learn and use. All the function calls are designed to be easy to remember, explicit in describing what they do, and heavily name-spaced. Ecore programs can start and be very simple.
+.PP
+For example:
+.PP
+.PP
+.nf
+#include <Ecore.h>
+
+int main(int argc, const char **argv)
+{
+  ecore_init();
+  ecore_app_args_set(argc, argv);
+  ecore_main_loop_begin();
+  ecore_shutdown();
+  return 0;
+}
+.fi
+.PP
+.PP
+This program is very simple and does't check for errors, but it does start up and begin a main loop waiting for events or timers to tick off. This program doesn't set up any, but now we can expand on this simple program a little more by adding some event handlers and timers.
+.PP
+.PP
+.nf
+#include <Ecore.h>
+
+Ecore_Timer         *timer1     = NULL;
+Ecore_Event_Handler *handler1   = NULL;
+double               start_time = 0.0;
+
+int timer_func(void *data)
+{
+  printf('Tick timer. Sec: %3.2f\n', ecore_time_get() - start_time);
+  return 1;
+}
+
+int exit_func(void *data, int ev_type, void *ev)
+{
+  Ecore_Event_Signal_Exit *e;
+
+  e = (Ecore_Event_Signal_Exit *)ev;
+  if (e->interrupt)      printf('Exit: interrupt\n');
+  else if (e->quit)      printf('Exit: quit\n');
+  else if (e->terminate) printf('Exit: terminate\n');
+  ecore_main_loop_quit();
+  return 1;
+}
+
+int main(int argc, const char **argv)
+{
+  ecore_init();
+  ecore_app_args_set(argc, argv);  
+  start_time = ecore_time_get();
+  handler1 = ecore_event_handler_add(ECORE_EVENT_SIGNAL_EXIT, exit_func, NULL);
+  timer1 = ecore_timer_add(0.5, timer_func, NULL);  
+  ecore_main_loop_begin();
+  ecore_shutdown();
+  return 0;
+}
+.fi
+.PP
+.PP
+In the previous example, we initialize our application and get the time at which our program has started so we can calculate an offset. We set up a timer to tick off in 0.5 seconds, and since it returns 1, will keep ticking off every 0.5 seconds until it returns 0, or is deleted by hand. An event handler is set up to call a function - exit_func(), whenever an event of type ECORE_EVENT_SIGNAL_EXIT is received (CTRL-C on the command line will cause such an event to happen). If this event occurs it tells you what kind of exit signal was received, and asks the main loop to quit when it is finished by calling \fBecore_main_loop_quit()\fP.
+.PP
+The handles returned by \fBecore_timer_add()\fP and \fBecore_event_handler_add()\fP are only stored here as an example. If you don't need to address the timer or event handler again you don't need to store the result, so just call the function, and don't assign the result to any variable.
+.PP
+This program looks slightly more complex than needed to do these simple things, but in principle, programs don't get any more complex. You add more event handlers, for more events, will have more timers and such, BUT it all follows the same principles as shown in this example. 
diff --git a/doc/man/man3/Ecore_Path_Group.3 b/doc/man/man3/Ecore_Path_Group.3
new file mode 100644
index 0000000..ad0cc54
--- /dev/null
+++ b/doc/man/man3/Ecore_Path_Group.3
@@ -0,0 +1,128 @@
+.TH "Path Group Functions" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+Path Group Functions \- Functions that make it easier to find a file in a set of search paths.  
+
+.PP
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI int \fBecore_path_group_new\fP (char *group_name)"
+.br
+.RI "\fICreates a new path group. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_path_group_del\fP (int group_id)"
+.br
+.RI "\fIDestroys a previously created path group. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_path_group_add\fP (int group_id, char *path)"
+.br
+.RI "\fIAdds a directory to be searched for files. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_path_group_remove\fP (int group_id, char *path)"
+.br
+.RI "\fIRemoves the given directory from the given group. \fP"
+.ti -1c
+.RI "EAPI char * \fBecore_path_group_find\fP (int group_id, char *name)"
+.br
+.RI "\fIFinds a file in a group of paths. \fP"
+.ti -1c
+.RI "EAPI Ecore_List * \fBecore_path_group_available\fP (int group_id)"
+.br
+.RI "\fIRetrieves a list of all available files in the given path. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Functions that make it easier to find a file in a set of search paths. 
+.PP
+\fBTodo\fP
+.RS 4
+Give this a better description. 
+.RE
+.PP
+
+.SH "Function Documentation"
+.PP 
+.SS "EAPI void ecore_path_group_add (int group_id, char * path)"
+.PP
+Adds a directory to be searched for files. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIgroup_id\fP The unique identifier for the group to add the path. 
+.br
+\fIpath\fP The new path to be added to the group. 
+.RE
+.PP
+
+.SS "EAPI Ecore_List* ecore_path_group_available (int group_id)"
+.PP
+Retrieves a list of all available files in the given path. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIgroup_id\fP The identifier for the given path. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+A pointer to a newly allocated list of all files found in the paths identified by \fCgroup_id\fP. \fCNULL\fP otherwise. 
+.RE
+.PP
+
+.SS "EAPI void ecore_path_group_del (int group_id)"
+.PP
+Destroys a previously created path group. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIgroup_id\fP The unique identifier for the group. 
+.RE
+.PP
+
+.SS "EAPI char* ecore_path_group_find (int group_id, char * name)"
+.PP
+Finds a file in a group of paths. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIgroup_id\fP The path group id to search. 
+.br
+\fIname\fP The name of the file to find. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+A pointer to a newly allocated path location of the found file on success. \fCNULL\fP on failure. 
+.RE
+.PP
+
+.SS "EAPI int ecore_path_group_new (char * group_name)"
+.PP
+Creates a new path group. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIgroup_name\fP The name of the new group. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+\fC0\fP on error, the integer id of the new group on success. 
+.RE
+.PP
+
+.SS "EAPI void ecore_path_group_remove (int group_id, char * path)"
+.PP
+Removes the given directory from the given group. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIgroup_id\fP The identifier for the given group. 
+.br
+\fIpath\fP The path of the directory to be removed. 
+.RE
+.PP
+
diff --git a/doc/man/man3/Ecore_Plugin.3 b/doc/man/man3/Ecore_Plugin.3
new file mode 100644
index 0000000..b11b186
--- /dev/null
+++ b/doc/man/man3/Ecore_Plugin.3
@@ -0,0 +1,52 @@
+.TH "Plugin Functions" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+Plugin Functions \- Functions that load modules of compiled code into memory.  
+
+.PP
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI Ecore_Plugin * \fBecore_plugin_load\fP (int group_id, const char *plugin_name)"
+.br
+.RI "\fILoads the specified plugin from the specified path group. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_plugin_unload\fP (Ecore_Plugin *plugin)"
+.br
+.RI "\fIUnloads the given plugin from memory. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Functions that load modules of compiled code into memory. 
+.PP
+.SH "Function Documentation"
+.PP 
+.SS "EAPI Ecore_Plugin* ecore_plugin_load (int group_id, const char * plugin_name)"
+.PP
+Loads the specified plugin from the specified path group. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIgroup_id\fP The path group to search for the plugin to load 
+.br
+\fIplugin_name\fP The name of the plugin to load. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+A pointer to the newly loaded plugin on success, \fCNULL\fP on failure. 
+.RE
+.PP
+
+.SS "EAPI void ecore_plugin_unload (Ecore_Plugin * plugin)"
+.PP
+Unloads the given plugin from memory. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIplugin\fP The given plugin. 
+.RE
+.PP
+
diff --git a/doc/man/man3/Ecore_Sdl.h.3 b/doc/man/man3/Ecore_Sdl.h.3
new file mode 100644
index 0000000..79e4a83
--- /dev/null
+++ b/doc/man/man3/Ecore_Sdl.h.3
@@ -0,0 +1,100 @@
+.TH "Ecore_Sdl.h" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+Ecore_Sdl.h \- Ecore SDL system functions. 
+.SH SYNOPSIS
+.br
+.PP
+.SS "Data Structures"
+
+.in +1c
+.ti -1c
+.RI "struct \fB_Ecore_Sdl_Event_Key_Down\fP"
+.br
+.RI "\fISDL Key Down event. \fP"
+.ti -1c
+.RI "struct \fB_Ecore_Sdl_Event_Key_Up\fP"
+.br
+.RI "\fISDL Key Up event. \fP"
+.ti -1c
+.RI "struct \fB_Ecore_Sdl_Event_Mouse_Button_Down\fP"
+.br
+.RI "\fISDL Mouse Down event. \fP"
+.ti -1c
+.RI "struct \fB_Ecore_Sdl_Event_Mouse_Button_Up\fP"
+.br
+.RI "\fISDL Mouse Up event. \fP"
+.ti -1c
+.RI "struct \fB_Ecore_Sdl_Event_Mouse_Move\fP"
+.br
+.RI "\fISDL Mouse Move event. \fP"
+.ti -1c
+.RI "struct \fB_Ecore_Sdl_Event_Mouse_Wheel\fP"
+.br
+.RI "\fISDL Mouse Wheel event. \fP"
+.in -1c
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI int \fBecore_sdl_shutdown\fP (void)"
+.br
+.RI "\fIShuts down the Ecore_Sdl library. \fP"
+.in -1c
+.SS "Variables"
+
+.in +1c
+.ti -1c
+.RI "EAPI int \fBECORE_SDL_EVENT_KEY_DOWN\fP"
+.br
+.RI "\fISDL Key Down event. \fP"
+.ti -1c
+.RI "EAPI int \fBECORE_SDL_EVENT_KEY_UP\fP"
+.br
+.RI "\fISDL Key Up event. \fP"
+.ti -1c
+.RI "EAPI int \fBECORE_SDL_EVENT_MOUSE_BUTTON_DOWN\fP"
+.br
+.RI "\fISDL Mouse Down event. \fP"
+.ti -1c
+.RI "EAPI int \fBECORE_SDL_EVENT_MOUSE_BUTTON_UP\fP"
+.br
+.RI "\fISDL Mouse Up event. \fP"
+.ti -1c
+.RI "EAPI int \fBECORE_SDL_EVENT_MOUSE_MOVE\fP"
+.br
+.RI "\fISDL Mouse Move event. \fP"
+.ti -1c
+.RI "EAPI int \fBECORE_SDL_EVENT_MOUSE_WHEEL\fP"
+.br
+.RI "\fISDL Mouse Wheel event. \fP"
+.ti -1c
+.RI "EAPI int \fBECORE_SDL_EVENT_GOT_FOCUS\fP"
+.br
+.RI "\fISDL Mouse Wheel event. \fP"
+.ti -1c
+.RI "EAPI int \fBECORE_SDL_EVENT_LOST_FOCUS\fP"
+.br
+.RI "\fISDL Mouse Wheel event. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Ecore SDL system functions. 
+
+
+.SH "Function Documentation"
+.PP 
+.SS "EAPI int ecore_sdl_shutdown (void)"
+.PP
+Shuts down the Ecore_Sdl library. 
+.PP
+\fBReturns:\fP
+.RS 4
+\fCThe\fP number of times the system has been initialised without being shut down. 
+.RE
+.PP
+
+.SH "Author"
+.PP 
+Generated automatically by Doxygen for Ecore from the source code.
diff --git a/doc/man/man3/Ecore_Sdl_Library_Group.3 b/doc/man/man3/Ecore_Sdl_Library_Group.3
new file mode 100644
index 0000000..6523c53
--- /dev/null
+++ b/doc/man/man3/Ecore_Sdl_Library_Group.3
@@ -0,0 +1,8 @@
+.TH "Framebuffer Library Functions" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+Framebuffer Library Functions \- Functions used to set up and shut down the Ecore_Framebuffer functions.  
+
+.PP
+
diff --git a/doc/man/man3/Ecore_Str.h.3 b/doc/man/man3/Ecore_Str.h.3
new file mode 100644
index 0000000..0e9d100
--- /dev/null
+++ b/doc/man/man3/Ecore_Str.h.3
@@ -0,0 +1,167 @@
+.TH "Ecore_Str.h" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+Ecore_Str.h \- Contains useful C string functions. 
+.SH SYNOPSIS
+.br
+.PP
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI size_t \fBecore_strlcpy\fP (char *dst, const char *src, size_t siz)"
+.br
+.RI "\fI\fBParameters:\fP
+.RS 4
+\fIdst\fP the destination copy a c-string 
+.RE
+.PP
+\fP"
+.ti -1c
+.RI "EAPI size_t \fBecore_strlcat\fP (char *dst, const char *src, size_t siz)"
+.br
+.RI "\fI\fBParameters:\fP
+.RS 4
+\fIdst\fP the destination append a c-string 
+.RE
+.PP
+\fP"
+.ti -1c
+.RI "EAPI int \fBecore_str_has_prefix\fP (const char *str, const char *prefix)"
+.br
+.RI "\fI\fBParameters:\fP
+.RS 4
+\fIstr\fP the string to work with checks if the string has the given prefix 
+.RE
+.PP
+\fP"
+.ti -1c
+.RI "EAPI int \fBecore_str_has_suffix\fP (const char *str, const char *suffix)"
+.br
+.RI "\fI\fBParameters:\fP
+.RS 4
+\fIstr\fP the string to work with checks if the string has the given suffix 
+.RE
+.PP
+\fP"
+.ti -1c
+.RI "EAPI char ** \fBecore_str_split\fP (const char *string, const char *delimiter, int max_tokens)"
+.br
+.RI "\fISplits a string into a maximum of max_tokens pieces, using the given delimiter. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Contains useful C string functions. 
+
+
+.SH "Function Documentation"
+.PP 
+.SS "EAPI int ecore_str_has_prefix (const char * str, const char * prefix)"
+.PP
+\fBParameters:\fP
+.RS 4
+\fIstr\fP the string to work with checks if the string has the given prefix 
+.RE
+.PP
+
+.PP
+\fBParameters:\fP
+.RS 4
+\fIprefix\fP the prefix to check for 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+true if str has the given prefix 
+.RE
+.PP
+
+.SS "EAPI int ecore_str_has_suffix (const char * str, const char * suffix)"
+.PP
+\fBParameters:\fP
+.RS 4
+\fIstr\fP the string to work with checks if the string has the given suffix 
+.RE
+.PP
+
+.PP
+\fBParameters:\fP
+.RS 4
+\fIsuffix\fP the suffix to check for 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+true if str has the given suffix 
+.RE
+.PP
+
+.SS "EAPI char** ecore_str_split (const char * str, const char * delim, int max_tokens)"
+.PP
+Splits a string into a maximum of max_tokens pieces, using the given delimiter. 
+.PP
+If max_tokens is reached, the final string in the returned string array contains the remainder of string.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIstr\fP A string to split. 
+.br
+\fIdelim\fP A string which specifies the places at which to split the string. The delimiter is not included in any of the resulting strings, unless max_tokens is reached. 
+.br
+\fImax_tokens\fP The maximum number of strings to split string into. If this is less than 1, the string is split completely. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+A newly-allocated NULL-terminated array of strings. To free it: free the first element of the array and the array itself. 
+.RE
+.PP
+
+.SS "EAPI size_t ecore_strlcat (char * dst, const char * src, size_t siz)"
+.PP
+\fBParameters:\fP
+.RS 4
+\fIdst\fP the destination append a c-string 
+.RE
+.PP
+
+.PP
+\fBParameters:\fP
+.RS 4
+\fIsrc\fP the source 
+.br
+\fIsiz\fP the size of the destination 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+the length of the source string plus MIN(siz, strlen(initial dst))
+.RE
+.PP
+Appends src to string dst of size siz (unlike strncat, siz is the full size of dst, not space left). At most siz-1 characters will be copied. Always NUL terminates (unless siz <= strlen(dst)). Returns strlen(src) + MIN(siz, strlen(initial dst)). If retval >= siz, truncation occurred. 
+.SS "EAPI size_t ecore_strlcpy (char * dst, const char * src, size_t siz)"
+.PP
+\fBParameters:\fP
+.RS 4
+\fIdst\fP the destination copy a c-string 
+.RE
+.PP
+
+.PP
+\fBParameters:\fP
+.RS 4
+\fIsrc\fP the source 
+.br
+\fIsiz\fP the size of the destination 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+the length of the source string
+.RE
+.PP
+Copy src to string dst of size siz. At most siz-1 characters will be copied. Always NUL terminates (unless siz == 0). Returns strlen(src); if retval >= siz, truncation occurred. 
+.SH "Author"
+.PP 
+Generated automatically by Doxygen for Ecore from the source code.
diff --git a/doc/man/man3/Ecore_String_Group.3 b/doc/man/man3/Ecore_String_Group.3
new file mode 100644
index 0000000..bafb20f
--- /dev/null
+++ b/doc/man/man3/Ecore_String_Group.3
@@ -0,0 +1,55 @@
+.TH "String Instance Functions" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+String Instance Functions \- These functions allow you to store one copy of a string, and use it throughout your program.  
+
+.PP
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI const char * \fBecore_string_instance\fP (const char *string)"
+.br
+.RI "\fIRetrieves an instance of a string for use in an ecore program. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_string_release\fP (const char *string)"
+.br
+.RI "\fINotes that the given string has lost an instance. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+These functions allow you to store one copy of a string, and use it throughout your program. 
+.PP
+This is a method to reduce the number of duplicated strings kept in memory. It's pretty common for the same strings to be dynamically allocated repeatedly between applications and libraries, especially in circumstances where you could have multiple copies of a structure that allocates the string. So rather than duplicating and freeing these strings, you request a read-only pointer to an existing string and only incur the overhead of a hash lookup.
+.PP
+It sounds like micro-optimizing, but profiling has shown this can have a significant impact as you scale the number of copies up. It improves string creation/destruction speed, reduces memory use and decreases memory fragmentation, so a win all-around. 
+.SH "Function Documentation"
+.PP 
+.SS "EAPI const char* ecore_string_instance (const char * string)"
+.PP
+Retrieves an instance of a string for use in an ecore program. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIstring\fP The string to retrieve an instance of. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+A pointer to an instance of the string on success. \fCNULL\fP on failure. 
+.RE
+.PP
+
+.SS "EAPI void ecore_string_release (const char * string)"
+.PP
+Notes that the given string has lost an instance. 
+.PP
+It will free the string if no other instances are left.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIstring\fP The given string. 
+.RE
+.PP
+
diff --git a/doc/man/man3/Ecore_Time_Group.3 b/doc/man/man3/Ecore_Time_Group.3
new file mode 100644
index 0000000..9d60fdf
--- /dev/null
+++ b/doc/man/man3/Ecore_Time_Group.3
@@ -0,0 +1,94 @@
+.TH "Ecore Time Functions" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+Ecore Time Functions \- Functions that deal with time.  
+
+.PP
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI double \fBecore_time_get\fP (void)"
+.br
+.RI "\fIRetrieves the current system time as a floating point value in seconds. \fP"
+.ti -1c
+.RI "EAPI \fBEcore_Timer\fP * \fBecore_timer_add\fP (double in, int(*func)(void *data), const void *data)"
+.br
+.RI "\fICreates a timer to call the given function in the given period of time. \fP"
+.ti -1c
+.RI "EAPI void * \fBecore_timer_del\fP (\fBEcore_Timer\fP *timer)"
+.br
+.RI "\fIDelete the specified timer from the timer list. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_timer_interval_set\fP (\fBEcore_Timer\fP *timer, double in)"
+.br
+.RI "\fIChange the interval the timer ticks of. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Functions that deal with time. 
+.PP
+These functions include those that simply retrieve it in a given format, and those that create events based on it. 
+.SH "Function Documentation"
+.PP 
+.SS "EAPI double ecore_time_get (void)"
+.PP
+Retrieves the current system time as a floating point value in seconds. 
+.PP
+\fBReturns:\fP
+.RS 4
+The number of seconds since 12.00AM 1st January 1970. 
+.RE
+.PP
+
+.SS "EAPI \fBEcore_Timer\fP* ecore_timer_add (double in, int(*)(void *data) func, const void * data)"
+.PP
+Creates a timer to call the given function in the given period of time. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIin\fP The interval in seconds. 
+.br
+\fIfunc\fP The given function. If \fCfunc\fP returns 1, the timer is rescheduled for the next interval \fCin\fP. 
+.br
+\fIdata\fP Data to pass to \fCfunc\fP when it is called. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+A timer object on success. \fCNULL\fP on failure.
+.RE
+.PP
+This function adds a timer and returns its handle on success and NULL on failure. The function \fCfunc\fP will be called every @ seconds. The function will be passed the \fCdata\fP pointer as its parameter.
+.PP
+When the timer \fCfunc\fP is called, it must return a value of either 1 or 0. If it returns 1, it will be called again at the next tick, or if it returns 0 it will be deleted automatically making any references/handles for it invalid. 
+.SS "EAPI void* ecore_timer_del (\fBEcore_Timer\fP * timer)"
+.PP
+Delete the specified timer from the timer list. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fItimer\fP The timer to delete. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The data pointer set for the timer when \fBecore_timer_add\fP was called. \fCNULL\fP is returned if the function is unsuccessful.
+.RE
+.PP
+Note: \fCtimer\fP must be a valid handle. If the timer function has already returned 0, the handle is no longer valid (and does not need to be delete). 
+.SS "EAPI void ecore_timer_interval_set (\fBEcore_Timer\fP * timer, double in)"
+.PP
+Change the interval the timer ticks of. 
+.PP
+If set during a timer call, this will affect the next interval.
+.PP
+\fBParameters:\fP
+.RS 4
+\fItimer\fP The timer to change. 
+.br
+\fIin\fP The interval in seconds. 
+.RE
+.PP
+
diff --git a/doc/man/man3/Ecore_Timer.3 b/doc/man/man3/Ecore_Timer.3
new file mode 100644
index 0000000..e26b883
--- /dev/null
+++ b/doc/man/man3/Ecore_Timer.3
@@ -0,0 +1 @@
+.so man3/Ecore.h.3
diff --git a/doc/man/man3/Ecore_Timer_Group.3 b/doc/man/man3/Ecore_Timer_Group.3
new file mode 100644
index 0000000..7bcfc10
--- /dev/null
+++ b/doc/man/man3/Ecore_Timer_Group.3
@@ -0,0 +1,8 @@
+.TH "Ecore Timer" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+Ecore Timer \- The timer allows callbacks to be called at specific intervals.  
+
+.PP
+
diff --git a/doc/man/man3/Ecore_Txt.h.3 b/doc/man/man3/Ecore_Txt.h.3
new file mode 100644
index 0000000..feaa429
--- /dev/null
+++ b/doc/man/man3/Ecore_Txt.h.3
@@ -0,0 +1,31 @@
+.TH "Ecore_Txt.h" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+Ecore_Txt.h \- Provides a text encoding conversion function. 
+.SH SYNOPSIS
+.br
+.PP
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI char * \fBecore_txt_convert\fP (const char *enc_from, const char *enc_to, const char *text)"
+.br
+.RI "\fITo be documented. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Provides a text encoding conversion function. 
+
+
+.SH "Function Documentation"
+.PP 
+.SS "EAPI char* ecore_txt_convert (const char * enc_from, const char * enc_to, const char * text)"
+.PP
+To be documented. 
+.PP
+FIXME: Finish this. 
+.SH "Author"
+.PP 
+Generated automatically by Doxygen for Ecore from the source code.
diff --git a/doc/man/man3/Ecore_X.h.3 b/doc/man/man3/Ecore_X.h.3
new file mode 100644
index 0000000..cae4071
--- /dev/null
+++ b/doc/man/man3/Ecore_X.h.3
@@ -0,0 +1,2271 @@
+.TH "Ecore_X.h" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+Ecore_X.h \- Ecore functions for dealing with the X Windows System. 
+.SH SYNOPSIS
+.br
+.PP
+.SS "Enumerations"
+
+.in +1c
+.ti -1c
+.RI "enum \fB_Ecore_X_Window_State\fP { \fBECORE_X_WINDOW_STATE_ICONIFIED\fP, \fBECORE_X_WINDOW_STATE_MODAL\fP, \fBECORE_X_WINDOW_STATE_STICKY\fP, \fBECORE_X_WINDOW_STATE_MAXIMIZED_VERT\fP, \fBECORE_X_WINDOW_STATE_MAXIMIZED_HORZ\fP, \fBECORE_X_WINDOW_STATE_SHADED\fP, \fBECORE_X_WINDOW_STATE_SKIP_TASKBAR\fP, \fBECORE_X_WINDOW_STATE_SKIP_PAGER\fP, \fBECORE_X_WINDOW_STATE_HIDDEN\fP, \fBECORE_X_WINDOW_STATE_FULLSCREEN\fP }"
+.br
+.ti -1c
+.RI "enum \fB_Ecore_X_WM_Protocol\fP { \fBECORE_X_WM_PROTOCOL_DELETE_REQUEST\fP, \fBECORE_X_WM_PROTOCOL_TAKE_FOCUS\fP, \fBECORE_X_NET_WM_PROTOCOL_PING\fP, \fBECORE_X_NET_WM_PROTOCOL_SYNC_REQUEST\fP }"
+.br
+.ti -1c
+.RI "enum \fB_Ecore_X_Window_Input_Mode\fP { \fBECORE_X_WINDOW_INPUT_MODE_NONE\fP, \fBECORE_X_WINDOW_INPUT_MODE_PASSIVE\fP, \fBECORE_X_WINDOW_INPUT_MODE_ACTIVE_LOCAL\fP, \fBECORE_X_WINDOW_INPUT_MODE_ACTIVE_GLOBAL\fP }"
+.br
+.ti -1c
+.RI "enum \fB_Ecore_X_Window_State_Hint\fP { \fBECORE_X_WINDOW_STATE_HINT_NONE\fP =  -1, \fBECORE_X_WINDOW_STATE_HINT_WITHDRAWN\fP, \fBECORE_X_WINDOW_STATE_HINT_NORMAL\fP, \fBECORE_X_WINDOW_STATE_HINT_ICONIC\fP }"
+.br
+.in -1c
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI int \fBecore_x_init\fP (const char *name)"
+.br
+.RI "\fIInitialize the X display connection to the given display. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_shutdown\fP (void)"
+.br
+.RI "\fIShuts down the Ecore X library. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_disconnect\fP (void)"
+.br
+.RI "\fIShuts down the Ecore X library. \fP"
+.ti -1c
+.RI "EAPI Ecore_X_Display * \fBecore_x_display_get\fP (void)"
+.br
+.RI "\fIRetrieves the Ecore_X_Display handle used for the current X connection. \fP"
+.ti -1c
+.RI "EAPI Ecore_X_Connection * \fBecore_x_connection_get\fP (void)"
+.br
+.RI "\fIRetrieves the Ecore_X_Connection handle used for the current X connection. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_fd_get\fP (void)"
+.br
+.RI "\fIRetrieves the X display file descriptor. \fP"
+.ti -1c
+.RI "EAPI Ecore_X_Screen * \fBecore_x_default_screen_get\fP (void)"
+.br
+.RI "\fIRetrieves the Ecore_X_Screen handle used for the current X connection. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_double_click_time_set\fP (double t)"
+.br
+.RI "\fISets the timeout for a double and triple clicks to be flagged. \fP"
+.ti -1c
+.RI "EAPI double \fBecore_x_double_click_time_get\fP (void)"
+.br
+.RI "\fIRetrieves the double and triple click flag timeout. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_flush\fP (void)"
+.br
+.RI "\fISends all X commands in the X Display buffer. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_sync\fP (void)"
+.br
+.RI "\fIFlushes the command buffer and waits until all requests have been processed by the server. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_killall\fP (Ecore_X_Window root)"
+.br
+.RI "\fIKill all clients with subwindows under a given window. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_kill\fP (Ecore_X_Window win)"
+.br
+.RI "\fIKill a specific client. \fP"
+.ti -1c
+.RI "EAPI Ecore_X_Time \fBecore_x_current_time_get\fP (void)"
+.br
+.RI "\fIReturn the last event time. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_error_handler_set\fP (void(*func)(void *data), const void *data)"
+.br
+.RI "\fISet the error handler. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_io_error_handler_set\fP (void(*func)(void *data), const void *data)"
+.br
+.RI "\fISet the I/O error handler. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_error_request_get\fP (void)"
+.br
+.RI "\fIGet the request code that caused the error. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_error_code_get\fP (void)"
+.br
+.RI "\fIGet the error code from the error. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_selection_primary_prefetch\fP (void)"
+.br
+.RI "\fISends the GetSelectionOwner request. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_selection_primary_fetch\fP (void)"
+.br
+.RI "\fIGets the reply of the GetSelectionOwner request sent by \fBecore_x_selection_primary_prefetch()\fP. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_selection_primary_set\fP (Ecore_X_Window w, const void *data, int size)"
+.br
+.RI "\fIClaim ownership of the PRIMARY selection and set its data. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_selection_primary_clear\fP (void)"
+.br
+.RI "\fIRelease ownership of the primary selection. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_selection_secondary_prefetch\fP (void)"
+.br
+.RI "\fISends the GetSelectionOwner request. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_selection_secondary_fetch\fP (void)"
+.br
+.RI "\fIGets the reply of the GetSelectionOwner request sent by \fBecore_x_selection_secondary_prefetch()\fP. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_selection_secondary_set\fP (Ecore_X_Window w, const void *data, int size)"
+.br
+.RI "\fIClaim ownership of the SECONDARY selection and set its data. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_selection_secondary_clear\fP (void)"
+.br
+.RI "\fIRelease ownership of the secondary selection. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_selection_xdnd_prefetch\fP (void)"
+.br
+.RI "\fISends the GetSelectionOwner request. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_selection_xdnd_fetch\fP (void)"
+.br
+.RI "\fIGets the reply of the GetSelectionOwner request sent by \fBecore_x_selection_xdnd_prefetch()\fP. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_selection_xdnd_set\fP (Ecore_X_Window w, const void *data, int size)"
+.br
+.RI "\fIClaim ownership of the XDND selection and set its data. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_selection_xdnd_clear\fP (void)"
+.br
+.RI "\fIRelease ownership of the XDND selection. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_selection_clipboard_prefetch\fP (void)"
+.br
+.RI "\fISends the GetSelectionOwner request. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_selection_clipboard_fetch\fP (void)"
+.br
+.RI "\fIGets the reply of the GetSelectionOwner request sent by \fBecore_x_selection_clipboard_prefetch()\fP. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_selection_clipboard_set\fP (Ecore_X_Window w, const void *data, int size)"
+.br
+.RI "\fIClaim ownership of the CLIPBOARD selection and set its data. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_selection_clipboard_clear\fP (void)"
+.br
+.RI "\fIRelease ownership of the clipboard selection. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_dnd_version_get_prefetch\fP (Ecore_X_Window window)"
+.br
+.RI "\fISends the GetProperty request. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_dnd_version_get_fetch\fP (void)"
+.br
+.RI "\fIGets the reply of the GetProperty request sent by \fBecore_x_dnd_version_get_prefetch()\fP. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_dnd_version_get\fP (Ecore_X_Window win)"
+.br
+.RI "\fIGet the DnD version. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_dnd_type_get_prefetch\fP (Ecore_X_Window window)"
+.br
+.RI "\fISends the GetProperty request. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_dnd_type_get_fetch\fP (void)"
+.br
+.RI "\fIGets the reply of the GetProperty request sent by \fBecore_x_dnd_type_get_prefetch()\fP. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_dnd_type_isset\fP (Ecore_X_Window win, const char *type)"
+.br
+.RI "\fICheck if the type is set. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_dnd_type_set\fP (Ecore_X_Window win, const char *type, int on)"
+.br
+.RI "\fISet the type. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_dnd_types_set\fP (Ecore_X_Window win, char **types, unsigned int num_types)"
+.br
+.RI "\fISet the types. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_dnd_begin_prefetch\fP (Ecore_X_Window source)"
+.br
+.RI "\fISends the GetProperty request. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_dnd_begin_fetch\fP (void)"
+.br
+.RI "\fIGets the reply of the GetProperty request sent by \fBecore_x_dnd_begin_prefetch()\fP. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_dnd_begin\fP (Ecore_X_Window source, unsigned char *data, int size)"
+.br
+.RI "\fIBegins the DnD. \fP"
+.ti -1c
+.RI "EAPI Ecore_X_Window \fBecore_x_window_new\fP (Ecore_X_Window parent, int x, int y, int w, int h)"
+.br
+.RI "\fICreates a new window. \fP"
+.ti -1c
+.RI "EAPI Ecore_X_Window \fBecore_x_window_override_new\fP (Ecore_X_Window parent, int x, int y, int w, int h)"
+.br
+.RI "\fICreates a window with the override redirect attribute set to \fCTrue\fP. \fP"
+.ti -1c
+.RI "EAPI Ecore_X_Window \fBecore_x_window_manager_argb_new\fP (Ecore_X_Window parent, int x, int y, int w, int h)"
+.br
+.RI "\fICreates a new window. \fP"
+.ti -1c
+.RI "EAPI Ecore_X_Window \fBecore_x_window_argb_new\fP (Ecore_X_Window parent, int x, int y, int w, int h)"
+.br
+.RI "\fICreates a new window. \fP"
+.ti -1c
+.RI "EAPI Ecore_X_Window \fBecore_x_window_override_argb_new\fP (Ecore_X_Window parent, int x, int y, int w, int h)"
+.br
+.RI "\fICreates a window with the override redirect attribute set to \fCTrue\fP. \fP"
+.ti -1c
+.RI "EAPI Ecore_X_Window \fBecore_x_window_input_new\fP (Ecore_X_Window parent, int x, int y, int w, int h)"
+.br
+.RI "\fICreates a new input window. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_window_configure\fP (Ecore_X_Window win, Ecore_X_Window_Configure_Mask mask, int x, int y, int w, int h, int border_width, Ecore_X_Window sibling, int stack_mode)"
+.br
+.RI "\fIConfigures the given window with the given mask. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_window_cursor_set\fP (Ecore_X_Window win, Ecore_X_Cursor c)"
+.br
+.RI "\fISets the cursor of the given window. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_window_del\fP (Ecore_X_Window win)"
+.br
+.RI "\fIDeletes the given window. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_window_ignore_set\fP (Ecore_X_Window win, int ignore)"
+.br
+.RI "\fISet if a window should be ignored. \fP"
+.ti -1c
+.RI "EAPI Ecore_X_Window * \fBecore_x_window_ignore_list\fP (int *num)"
+.br
+.RI "\fIGet the ignore list. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_window_delete_request_send\fP (Ecore_X_Window win)"
+.br
+.RI "\fISends a delete request to the given window. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_window_show\fP (Ecore_X_Window win)"
+.br
+.RI "\fIShows a window. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_window_hide\fP (Ecore_X_Window win)"
+.br
+.RI "\fIHides a window. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_window_move\fP (Ecore_X_Window win, int x, int y)"
+.br
+.RI "\fIMoves a window to the position \fCx\fP, \fCy\fP. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_window_resize\fP (Ecore_X_Window win, int w, int h)"
+.br
+.RI "\fIResizes a window. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_window_move_resize\fP (Ecore_X_Window win, int x, int y, int w, int h)"
+.br
+.RI "\fIMoves and resizes a window. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_window_focus\fP (Ecore_X_Window win)"
+.br
+.RI "\fISets the focus to the window \fCwin\fP. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_window_focus_at_time\fP (Ecore_X_Window win, Ecore_X_Time t)"
+.br
+.RI "\fISets the focus to the given window at a specific time. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_get_input_focus_prefetch\fP (void)"
+.br
+.RI "\fISends the GetInputFocus request. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_get_input_focus_fetch\fP (void)"
+.br
+.RI "\fIGets the reply of the GetInputFocus request sent by \fBecore_x_get_input_focus_prefetch()\fP. \fP"
+.ti -1c
+.RI "EAPI Ecore_X_Window \fBecore_x_window_focus_get\fP (void)"
+.br
+.RI "\fIgets the focus to the window \fCwin\fP. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_window_raise\fP (Ecore_X_Window win)"
+.br
+.RI "\fIRaises the given window. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_window_lower\fP (Ecore_X_Window win)"
+.br
+.RI "\fILowers the given window. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_window_reparent\fP (Ecore_X_Window win, Ecore_X_Window new_parent, int x, int y)"
+.br
+.RI "\fIMoves a window to within another window at a given position. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_window_size_get\fP (Ecore_X_Window win, int *w, int *h)"
+.br
+.RI "\fIRetrieves the size of the given window. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_window_geometry_get\fP (Ecore_X_Window win, int *x, int *y, int *w, int *h)"
+.br
+.RI "\fIRetrieves the geometry of the given window. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_window_border_width_get\fP (Ecore_X_Window win)"
+.br
+.RI "\fIRetrieves the width of the border of the given window. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_window_border_width_set\fP (Ecore_X_Window win, int width)"
+.br
+.RI "\fISets the width of the border of the given window. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_window_depth_get\fP (Ecore_X_Window win)"
+.br
+.RI "\fIRetrieves the depth of the given window. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_window_cursor_show\fP (Ecore_X_Window win, int show)"
+.br
+.RI "\fITo be documented. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_window_defaults_set\fP (Ecore_X_Window win)"
+.br
+.RI "\fISets the default properties for the given window. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_window_visible_get\fP (Ecore_X_Window win)"
+.br
+.RI "\fIFinds out whether the given window is currently visible. \fP"
+.ti -1c
+.RI "EAPI Ecore_X_Window \fBecore_x_window_at_xy_get\fP (int x, int y)"
+.br
+.RI "\fIRetrieves the top, visible window at the given location. \fP"
+.ti -1c
+.RI "EAPI Ecore_X_Window \fBecore_x_window_at_xy_with_skip_get\fP (int x, int y, Ecore_X_Window *skip, int skip_num)"
+.br
+.RI "\fIRetrieves the top, visible window at the given location, but skips the windows in the list. \fP"
+.ti -1c
+.RI "EAPI Ecore_X_Window \fBecore_x_window_at_xy_begin_get\fP (Ecore_X_Window begin, int x, int y)"
+.br
+.RI "\fIRetrieves the top, visible window at the given location, but begins at the \fCbegin\fP window instead of the root one. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_query_tree_prefetch\fP (Ecore_X_Window window)"
+.br
+.RI "\fISends the QueryTree request. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_query_tree_fetch\fP (void)"
+.br
+.RI "\fIGets the reply of the QueryTree request sent by \fBecore_x_query_tree_prefetch()\fP. \fP"
+.ti -1c
+.RI "EAPI Ecore_X_Window \fBecore_x_window_parent_get\fP (Ecore_X_Window win)"
+.br
+.RI "\fIRetrieves the parent window of the given window. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_window_background_color_set\fP (Ecore_X_Window win, unsigned short r, unsigned short g, unsigned short b)"
+.br
+.RI "\fISets the background color of the given window. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_window_gravity_set\fP (Ecore_X_Window win, Ecore_X_Gravity grav)"
+.br
+.RI "\fISets the gravity of the given window. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_window_pixel_gravity_set\fP (Ecore_X_Window win, Ecore_X_Gravity grav)"
+.br
+.RI "\fISets the bit gravity of the given window. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_window_pixmap_set\fP (Ecore_X_Window win, Ecore_X_Pixmap pmap)"
+.br
+.RI "\fISets the background pixmap of the given window. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_window_area_clear\fP (Ecore_X_Window win, int x, int y, int w, int h)"
+.br
+.RI "\fIClears an area of the given window. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_window_area_expose\fP (Ecore_X_Window win, int x, int y, int w, int h)"
+.br
+.RI "\fIExposes an area of the given window. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_window_override_set\fP (Ecore_X_Window win, int override)"
+.br
+.RI "\fISets the override attribute of the given window. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_window_prop_card32_get_prefetch\fP (Ecore_X_Window window, Ecore_X_Atom atom)"
+.br
+.RI "\fISends the GetProperty request. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_window_prop_card32_get_fetch\fP (void)"
+.br
+.RI "\fIGets the reply of the GetProperty request sent by \fBecore_x_window_prop_card32_get_prefetch()\fP. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_window_prop_xid_get_prefetch\fP (Ecore_X_Window window, Ecore_X_Atom atom, Ecore_X_Atom type)"
+.br
+.RI "\fISends the GetProperty request. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_window_prop_xid_get_fetch\fP (void)"
+.br
+.RI "\fIGets the reply of the GetProperty request sent by \fBecore_x_window_prop_xid_get_prefetch()\fP. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_window_prop_atom_get_prefetch\fP (Ecore_X_Window window, Ecore_X_Atom atom)"
+.br
+.RI "\fISends the GetProperty request. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_window_prop_atom_get_fetch\fP (void)"
+.br
+.RI "\fIGets the reply of the GetProperty request sent by \fBecore_x_window_prop_atom_get_prefetch()\fP. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_window_prop_window_get_prefetch\fP (Ecore_X_Window window, Ecore_X_Atom atom)"
+.br
+.RI "\fISends the GetProperty request. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_window_prop_window_get_fetch\fP (void)"
+.br
+.RI "\fIGets the reply of the GetProperty request sent by \fBecore_x_window_prop_window_get_prefetch()\fP. \fP"
+.ti -1c
+.RI "EAPI Ecore_X_Atom \fBecore_x_window_prop_any_type\fP (void)"
+.br
+.RI "\fITo be documented. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_window_prop_property_set\fP (Ecore_X_Window win, Ecore_X_Atom type, Ecore_X_Atom format, int size, void *data, int number)"
+.br
+.RI "\fITo be documented. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_window_prop_property_get_prefetch\fP (Ecore_X_Window window, Ecore_X_Atom property, Ecore_X_Atom type)"
+.br
+.RI "\fISends the GetProperty request. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_window_prop_property_get_fetch\fP (void)"
+.br
+.RI "\fIGets the reply of the GetProperty request sent by \fBecore_x_window_prop_property_get_prefetch()\fP. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_window_prop_property_get\fP (Ecore_X_Window win, Ecore_X_Atom property, Ecore_X_Atom type, int size, unsigned char **data, int *num)"
+.br
+.RI "\fITo be documented. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_window_prop_list_prefetch\fP (Ecore_X_Window window)"
+.br
+.RI "\fISends the ListProperties request. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_window_prop_list_fetch\fP (void)"
+.br
+.RI "\fIGets the reply of the ListProperties request sent by \fBecore_x_window_prop_list_prefetch()\fP. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_window_prop_string_set\fP (Ecore_X_Window win, Ecore_X_Atom type, const char *str)"
+.br
+.RI "\fISet a window string property. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_window_prop_string_get_prefetch\fP (Ecore_X_Window window, Ecore_X_Atom type)"
+.br
+.RI "\fISends the GetProperty request. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_window_prop_string_get_fetch\fP (void)"
+.br
+.RI "\fIGets the reply of the GetProperty request sent by \fBecore_x_window_prop_string_get_prefetch()\fP. \fP"
+.ti -1c
+.RI "EAPI char * \fBecore_x_window_prop_string_get\fP (Ecore_X_Window win, Ecore_X_Atom type)"
+.br
+.RI "\fIGet a window string property. \fP"
+.ti -1c
+.RI "EAPI Ecore_X_WM_Protocol * \fBecore_x_window_prop_protocol_list_get\fP (Ecore_X_Window win, int *num_ret)"
+.br
+.RI "\fITo be documented. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_window_shape_mask_set\fP (Ecore_X_Window win, Ecore_X_Pixmap mask)"
+.br
+.RI "\fISets the shape of the given window to that given by the pixmap \fCmask\fP. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_window_shape_rectangle_set\fP (Ecore_X_Window win, int x, int y, int w, int h)"
+.br
+.RI "\fISets the shape of the given window to a rectangle. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_window_shape_rectangles_get_prefetch\fP (Ecore_X_Window window)"
+.br
+.RI "\fISends the ShapeGetRectangles request. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_window_shape_rectangles_get_fetch\fP (void)"
+.br
+.RI "\fIGets the reply of the ShapeGetRectangles request sent by \fBecore_x_window_shape_rectangles_get_prefetch()\fP. \fP"
+.ti -1c
+.RI "EAPI Ecore_X_Pixmap \fBecore_x_pixmap_new\fP (Ecore_X_Window win, int w, int h, int dep)"
+.br
+.RI "\fICreates a new pixmap. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_pixmap_del\fP (Ecore_X_Pixmap pmap)"
+.br
+.RI "\fIDeletes the reference to the given pixmap. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_pixmap_paste\fP (Ecore_X_Pixmap pmap, Ecore_X_Drawable dest, Ecore_X_GC gc, int sx, int sy, int w, int h, int dx, int dy)"
+.br
+.RI "\fIPastes a rectangular area of the given pixmap onto the given drawable. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_pixmap_geometry_get\fP (Ecore_X_Pixmap pmap, int *x, int *y, int *w, int *h)"
+.br
+.RI "\fIRetrieves the size of the given pixmap. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_pixmap_depth_get\fP (Ecore_X_Pixmap pmap)"
+.br
+.RI "\fIRetrieves the depth of the given pixmap. \fP"
+.ti -1c
+.RI "EAPI Ecore_X_GC \fBecore_x_gc_new\fP (Ecore_X_Drawable draw)"
+.br
+.RI "\fICreates a new default graphics context associated with the given drawable. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_gc_del\fP (Ecore_X_GC gc)"
+.br
+.RI "\fIDeletes and frees the given graphics context. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_client_message32_send\fP (Ecore_X_Window win, Ecore_X_Atom type, Ecore_X_Event_Mask mask, long d0, long d1, long d2, long d3, long d4)"
+.br
+.RI "\fISend client message with given type and format 32. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_client_message8_send\fP (Ecore_X_Window win, Ecore_X_Atom type, const void *data, int len)"
+.br
+.RI "\fISend client message with given type and format 8. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_drawable_geometry_get_prefetch\fP (Ecore_X_Drawable drawable)"
+.br
+.RI "\fISends the GetGeometry request. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_drawable_geometry_get_fetch\fP (void)"
+.br
+.RI "\fIGets the reply of the GetGeometry request sent by \fBecore_x_atom_get_prefetch()\fP. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_drawable_geometry_get\fP (Ecore_X_Drawable d, int *x, int *y, int *w, int *h)"
+.br
+.RI "\fIRetrieves the geometry of the given drawable. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_drawable_border_width_get\fP (Ecore_X_Drawable d)"
+.br
+.RI "\fIRetrieves the width of the border of the given drawable. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_drawable_depth_get\fP (Ecore_X_Drawable d)"
+.br
+.RI "\fIRetrieves the depth of the given drawable. \fP"
+.ti -1c
+.RI "EAPI Ecore_X_Window * \fBecore_x_window_root_list\fP (int *num_ret)"
+.br
+.RI "\fIGet a list of all the root windows on the server. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_window_container_manage\fP (Ecore_X_Window win)"
+.br
+.RI "\fITodo. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_window_client_manage\fP (Ecore_X_Window win)"
+.br
+.RI "\fITodo. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_window_sniff\fP (Ecore_X_Window win)"
+.br
+.RI "\fITodo. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_window_client_sniff\fP (Ecore_X_Window win)"
+.br
+.RI "\fITodo. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_atom_get_prefetch\fP (const char *name)"
+.br
+.RI "\fISends the InternAtom request. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_atom_get_fetch\fP (void)"
+.br
+.RI "\fIGets the reply of the InternAtom request sent by \fBecore_x_atom_get_prefetch()\fP. \fP"
+.ti -1c
+.RI "EAPI Ecore_X_Atom \fBecore_x_atom_get\fP (const char *name)"
+.br
+.RI "\fIRetrieves the atom value associated with the given name. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_icccm_state_set\fP (Ecore_X_Window win, Ecore_X_Window_State_Hint state)"
+.br
+.RI "\fISets the state of a window. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_icccm_delete_window_send\fP (Ecore_X_Window win, Ecore_X_Time t)"
+.br
+.RI "\fISends the ClientMessage event with the DeleteWindow property. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_icccm_take_focus_send\fP (Ecore_X_Window win, Ecore_X_Time t)"
+.br
+.RI "\fISends the ClientMessage event with the TakeFocus property. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_icccm_save_yourself_send\fP (Ecore_X_Window win, Ecore_X_Time t)"
+.br
+.RI "\fISends the ClientMessage event with the SaveYourself property. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_icccm_move_resize_send\fP (Ecore_X_Window win, int x, int y, int w, int h)"
+.br
+.RI "\fISends the ConfigureNotify event with the StructureNotify property. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_icccm_hints_set\fP (Ecore_X_Window win, int accepts_focus, Ecore_X_Window_State_Hint initial_state, Ecore_X_Pixmap icon_pixmap, Ecore_X_Pixmap icon_mask, Ecore_X_Window icon_window, Ecore_X_Window window_group, int is_urgent)"
+.br
+.RI "\fISets the hints of a window. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_icccm_size_pos_hints_set\fP (Ecore_X_Window win, int request_pos, Ecore_X_Gravity gravity, int min_w, int min_h, int max_w, int max_h, int base_w, int base_h, int step_x, int step_y, double min_aspect, double max_aspect)"
+.br
+.RI "\fISets the hints of a window. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_icccm_title_set\fP (Ecore_X_Window win, const char *t)"
+.br
+.RI "\fISet the title of a window. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_icccm_protocol_set\fP (Ecore_X_Window win, Ecore_X_WM_Protocol protocol, int on)"
+.br
+.RI "\fISet or unset a wm protocol property. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_icccm_protocol_isset\fP (Ecore_X_Window win, Ecore_X_WM_Protocol protocol)"
+.br
+.RI "\fIDetermines whether a protocol is set for a window. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_icccm_name_class_set\fP (Ecore_X_Window win, const char *n, const char *c)"
+.br
+.RI "\fISet a window name & class. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_icccm_name_class_get\fP (Ecore_X_Window win, char **n, char **c)"
+.br
+.RI "\fIGet a window name & class. \fP"
+.ti -1c
+.RI "EAPI char * \fBecore_x_icccm_client_machine_get\fP (Ecore_X_Window win)"
+.br
+.RI "\fIGet a window client machine string. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_icccm_command_set\fP (Ecore_X_Window win, int argc, char **argv)"
+.br
+.RI "\fISets the WM_COMMAND property for \fIwin\fP. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_icccm_command_get\fP (Ecore_X_Window win, int *argc, char ***argv)"
+.br
+.RI "\fIGet the WM_COMMAND property for \fIwin\fP. \fP"
+.ti -1c
+.RI "EAPI char * \fBecore_x_icccm_icon_name_get\fP (Ecore_X_Window win)"
+.br
+.RI "\fIGet a window icon name. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_icccm_icon_name_set\fP (Ecore_X_Window win, const char *t)"
+.br
+.RI "\fISet a window icon name. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_icccm_colormap_window_set\fP (Ecore_X_Window win, Ecore_X_Window subwin)"
+.br
+.RI "\fIAdd a subwindow to the list of windows that need a different colormap installed. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_icccm_colormap_window_unset\fP (Ecore_X_Window win, Ecore_X_Window subwin)"
+.br
+.RI "\fIRemove a window from the list of colormap windows. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_icccm_transient_for_set\fP (Ecore_X_Window win, Ecore_X_Window forwin)"
+.br
+.RI "\fISpecify that a window is transient for another top-level window and should be handled accordingly. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_icccm_transient_for_unset\fP (Ecore_X_Window win)"
+.br
+.RI "\fIRemove the transient_for setting from a window. \fP"
+.ti -1c
+.RI "EAPI Ecore_X_Window \fBecore_x_icccm_transient_for_get\fP (Ecore_X_Window win)"
+.br
+.RI "\fIGet the window this window is transient for, if any. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_icccm_window_role_set\fP (Ecore_X_Window win, const char *role)"
+.br
+.RI "\fISet the window role hint. \fP"
+.ti -1c
+.RI "EAPI char * \fBecore_x_icccm_window_role_get\fP (Ecore_X_Window win)"
+.br
+.RI "\fIGet the window role. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_icccm_client_leader_set\fP (Ecore_X_Window win, Ecore_X_Window l)"
+.br
+.RI "\fISet the window's client leader. \fP"
+.ti -1c
+.RI "EAPI Ecore_X_Window \fBecore_x_icccm_client_leader_get\fP (Ecore_X_Window win)"
+.br
+.RI "\fIGet the window's client leader. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_icccm_iconic_request_send\fP (Ecore_X_Window win, Ecore_X_Window root)"
+.br
+.RI "\fISend the ClientMessage event with the ChangeState property. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_mwm_hints_get_prefetch\fP (Ecore_X_Window window)"
+.br
+.RI "\fISends the GetProperty request. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_mwm_hints_get_fetch\fP (void)"
+.br
+.RI "\fIGets the reply of the GetProperty request sent by \fBecore_x_mwm_hints_get_prefetch()\fP. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_mwm_borderless_set\fP (Ecore_X_Window win, int borderless)"
+.br
+.RI "\fISets the borderless flag of a window using MWM. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_init\fP (void)"
+.br
+.RI "\fIInitialize the NetWM module. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_shutdown\fP (void)"
+.br
+.RI "\fIShutdown the NetWM module. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_wm_identify\fP (Ecore_X_Window root, Ecore_X_Window check, const char *wm_name)"
+.br
+.RI "\fISet the _NET_SUPPORTING_WM_CHECK property. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_supported_set\fP (Ecore_X_Window root, Ecore_X_Atom *supported, int num)"
+.br
+.RI "\fISet the _NET_SUPPORTED property. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_supported_get_prefetch\fP (Ecore_X_Window root)"
+.br
+.RI "\fISends the GetProperty request. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_supported_get_fetch\fP (void)"
+.br
+.RI "\fIGets the reply of the GetProperty request sent by \fBecore_x_netwm_supported_get_prefetch()\fP. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_netwm_supported_get\fP (Ecore_X_Window root, Ecore_X_Atom **supported, int *num)"
+.br
+.RI "\fIGet the hints supported by the Window Manager. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_desk_count_set\fP (Ecore_X_Window root, unsigned int n_desks)"
+.br
+.RI "\fISet the _NET_NUMBER_OF_DESKTOPS property. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_desk_roots_set\fP (Ecore_X_Window root, Ecore_X_Window *vroots, unsigned int n_desks)"
+.br
+.RI "\fISet the _NET_VIRTUAL_ROOTS property. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_desk_names_set\fP (Ecore_X_Window root, const char **names, unsigned int n_desks)"
+.br
+.RI "\fISet the _NET_DESKTOP_NAMES property. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_desk_size_set\fP (Ecore_X_Window root, unsigned int width, unsigned int height)"
+.br
+.RI "\fISet the _NET_DESKTOP_GEOMETRY property. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_desk_workareas_set\fP (Ecore_X_Window root, unsigned int *areas, unsigned int n_desks)"
+.br
+.RI "\fISet the _NET_WORKAREA property. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_desk_current_set\fP (Ecore_X_Window root, unsigned int desk)"
+.br
+.RI "\fISet the _NET_CURRENT_DESKTOP property. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_desk_viewports_set\fP (Ecore_X_Window root, unsigned int *origins, unsigned int n_desks)"
+.br
+.RI "\fISet the _NET_DESKTOP_VIEWPORT property. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_desk_layout_set\fP (Ecore_X_Window root, int orientation, int columns, int rows, int starting_corner)"
+.br
+.RI "\fISet the _NET_DESKTOP_LAYOUT property. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_showing_desktop_set\fP (Ecore_X_Window root, int on)"
+.br
+.RI "\fISet the _NET_SHOWING_DESKTOP property. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_client_list_set\fP (Ecore_X_Window root, Ecore_X_Window *p_clients, unsigned int n_clients)"
+.br
+.RI "\fISet the _NET_CLIENT_LIST property. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_client_list_stacking_set\fP (Ecore_X_Window root, Ecore_X_Window *p_clients, unsigned int n_clients)"
+.br
+.RI "\fISet the _NET_CLIENT_LIST_STACKING property. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_client_active_set\fP (Ecore_X_Window root, Ecore_X_Window win)"
+.br
+.RI "\fISet the _NET_ACTIVE_WINDOW property. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_name_set\fP (Ecore_X_Window win, const char *name)"
+.br
+.RI "\fISet the _NET_WM_NAME property. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_name_get_prefetch\fP (Ecore_X_Window window)"
+.br
+.RI "\fISends the GetProperty request. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_name_get_fetch\fP (void)"
+.br
+.RI "\fIGets the reply of the GetProperty request sent by \fBecore_x_netwm_name_get_prefetch()\fP. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_netwm_name_get\fP (Ecore_X_Window win, char **name)"
+.br
+.RI "\fIGet the title of a window. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_startup_id_set\fP (Ecore_X_Window win, const char *id)"
+.br
+.RI "\fISet the _NET_STARTUP_ID property. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_startup_id_get_prefetch\fP (Ecore_X_Window window)"
+.br
+.RI "\fISends the GetProperty request. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_startup_id_get_fetch\fP (void)"
+.br
+.RI "\fIGets the reply of the GetProperty request sent by \fBecore_x_netwm_startup_id_get_prefetch()\fP. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_netwm_startup_id_get\fP (Ecore_X_Window win, char **id)"
+.br
+.RI "\fIGet the startup ID name of a window. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_visible_name_set\fP (Ecore_X_Window win, const char *name)"
+.br
+.RI "\fISet the _NET_WM_VISIBLE_NAME property. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_visible_name_get_prefetch\fP (Ecore_X_Window window)"
+.br
+.RI "\fISends the GetProperty request. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_visible_name_get_fetch\fP (void)"
+.br
+.RI "\fIGets the reply of the GetProperty request sent by \fBecore_x_netwm_visible_name_get_prefetch()\fP. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_netwm_visible_name_get\fP (Ecore_X_Window win, char **name)"
+.br
+.RI "\fIGet the visible title of a window. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_icon_name_set\fP (Ecore_X_Window win, const char *name)"
+.br
+.RI "\fISet the _NET_WM_ICON_NAME property. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_icon_name_get_prefetch\fP (Ecore_X_Window window)"
+.br
+.RI "\fISends the GetProperty request. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_icon_name_get_fetch\fP (void)"
+.br
+.RI "\fIGets the reply of the GetProperty request sent by \fBecore_x_netwm_icon_name_get_prefetch()\fP. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_netwm_icon_name_get\fP (Ecore_X_Window win, char **name)"
+.br
+.RI "\fIGet the icon name of a window. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_visible_icon_name_set\fP (Ecore_X_Window win, const char *name)"
+.br
+.RI "\fISet the _NET_WM_VISIBLE_ICON_NAME property. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_visible_icon_name_get_prefetch\fP (Ecore_X_Window window)"
+.br
+.RI "\fISends the GetProperty request. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_visible_icon_name_get_fetch\fP (void)"
+.br
+.RI "\fIGets the reply of the GetProperty request sent by \fBecore_x_netwm_visible_icon_name_get_prefetch()\fP. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_netwm_visible_icon_name_get\fP (Ecore_X_Window win, char **name)"
+.br
+.RI "\fIGet the visible icon name of a window. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_desktop_set\fP (Ecore_X_Window win, unsigned int desk)"
+.br
+.RI "\fISet the _NET_WM_DESKTOP property. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_desktop_get_prefetch\fP (Ecore_X_Window window)"
+.br
+.RI "\fISends the GetProperty request. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_desktop_get_fetch\fP (void)"
+.br
+.RI "\fIGets the reply of the GetProperty request sent by \fBecore_x_netwm_desktop_get_prefetch()\fP. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_netwm_desktop_get\fP (Ecore_X_Window win, unsigned int *desk)"
+.br
+.RI "\fIGet the visible icon name of a window. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_strut_set\fP (Ecore_X_Window win, int left, int right, int top, int bottom)"
+.br
+.RI "\fISet the _NET_WM_STRUT property. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_strut_get_prefetch\fP (Ecore_X_Window window)"
+.br
+.RI "\fISends the GetProperty request. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_strut_get_fetch\fP (void)"
+.br
+.RI "\fIGets the reply of the GetProperty request sent by ecore_x_strut_get_prefetch(). \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_netwm_strut_get\fP (Ecore_X_Window win, int *left, int *right, int *top, int *bottom)"
+.br
+.RI "\fIGet the space at the edje of the screen. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_strut_partial_set\fP (Ecore_X_Window win, int left, int right, int top, int bottom, int left_start_y, int left_end_y, int right_start_y, int right_end_y, int top_start_x, int top_end_x, int bottom_start_x, int bottom_end_x)"
+.br
+.RI "\fISet the _NET_WM_STRUT_PARTIAL property. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_strut_partial_get_prefetch\fP (Ecore_X_Window window)"
+.br
+.RI "\fISends the GetProperty request. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_strut_partial_get_fetch\fP (void)"
+.br
+.RI "\fIGets the reply of the GetProperty request sent by ecore_x_strut_partial_get_prefetch(). \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_netwm_strut_partial_get\fP (Ecore_X_Window win, int *left, int *right, int *top, int *bottom, int *left_start_y, int *left_end_y, int *right_start_y, int *right_end_y, int *top_start_x, int *top_end_x, int *bottom_start_x, int *bottom_end_x)"
+.br
+.RI "\fIGet the space at the edje of the screen of a window. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_icons_get_prefetch\fP (Ecore_X_Window window)"
+.br
+.RI "\fISends the GetProperty request. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_icons_get_fetch\fP (void)"
+.br
+.RI "\fIGets the reply of the GetProperty request sent by ecore_x_icons_get_prefetch(). \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_netwm_icons_get\fP (Ecore_X_Window win, Ecore_X_Icon **icon, int *num)"
+.br
+.RI "\fIRetrieve hte possible icons of a window. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_icon_geometry_set\fP (Ecore_X_Window win, int x, int y, int width, int height)"
+.br
+.RI "\fISet the _NET_WM_ICON_GEOMETRY property. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_icon_geometry_get_prefetch\fP (Ecore_X_Window window)"
+.br
+.RI "\fISends the GetProperty request. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_icon_geometry_get_fetch\fP (void)"
+.br
+.RI "\fIGets the reply of the GetProperty request sent by ecore_x_icon_geometry_get_prefetch(). \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_netwm_icon_geometry_get\fP (Ecore_X_Window win, int *x, int *y, int *width, int *height)"
+.br
+.RI "\fIGet the geometry of an icon. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_pid_set\fP (Ecore_X_Window win, int pid)"
+.br
+.RI "\fISet the _NET_WM_PID property. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_pid_get_prefetch\fP (Ecore_X_Window window)"
+.br
+.RI "\fISends the GetProperty request. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_pid_get_fetch\fP (void)"
+.br
+.RI "\fIGets the reply of the GetProperty request sent by ecore_x_pid_get_prefetch(). \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_netwm_pid_get\fP (Ecore_X_Window win, int *pid)"
+.br
+.RI "\fIGet the process ID of a client window. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_handled_icons_set\fP (Ecore_X_Window win)"
+.br
+.RI "\fISet the _NET_WM_HANDLED_ICONS property. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_handled_icons_get_prefetch\fP (Ecore_X_Window window)"
+.br
+.RI "\fISends the GetProperty request. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_handled_icons_get_fetch\fP (void)"
+.br
+.RI "\fIGets the reply of the GetProperty request sent by ecore_x_handled_icons_get_prefetch(). \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_netwm_handled_icons_get\fP (Ecore_X_Window win)"
+.br
+.RI "\fIReturn wheter the Client handles icons or not. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_user_time_set\fP (Ecore_X_Window win, unsigned int time)"
+.br
+.RI "\fISet the _NET_WM_USER_TIME property. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_user_time_get_prefetch\fP (Ecore_X_Window window)"
+.br
+.RI "\fISends the GetProperty request. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_user_time_get_fetch\fP (void)"
+.br
+.RI "\fIGets the reply of the GetProperty request sent by \fBecore_x_netwm_user_time_get_prefetch()\fP. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_netwm_user_time_get\fP (Ecore_X_Window win, unsigned int *time)"
+.br
+.RI "\fIGet the last user activity time in the window. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_window_state_set\fP (Ecore_X_Window win, Ecore_X_Window_State *state, unsigned int num)"
+.br
+.RI "\fISet the _NET_WM_STATE property. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_window_state_get_prefetch\fP (Ecore_X_Window window)"
+.br
+.RI "\fISends the GetProperty request. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_window_state_get_fetch\fP (void)"
+.br
+.RI "\fIGets the reply of the GetProperty request sent by ecore_x_window_state_get_prefetch(). \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_netwm_window_state_get\fP (Ecore_X_Window win, Ecore_X_Window_State **state, unsigned int *num)"
+.br
+.RI "\fIGet the hints describing the window state. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_window_type_set\fP (Ecore_X_Window win, Ecore_X_Window_Type type)"
+.br
+.RI "\fISet the _NET_WM_WINDOW_TYPE property. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_window_type_get_prefetch\fP (Ecore_X_Window window)"
+.br
+.RI "\fISends the GetProperty request. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_window_type_get_fetch\fP (void)"
+.br
+.RI "\fIGets the reply of the GetProperty request sent by ecore_x_window_type_get_prefetch(). \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_netwm_window_type_get\fP (Ecore_X_Window win, Ecore_X_Window_Type *type)"
+.br
+.RI "\fIGet the functional type of a window. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_netwm_allowed_action_isset\fP (Ecore_X_Window win, Ecore_X_Action action)"
+.br
+.RI "\fICheck whether an action is supported by a window. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_allowed_action_set\fP (Ecore_X_Window win, Ecore_X_Action *action, unsigned int num)"
+.br
+.RI "\fISet the _NET_WM_ALLOWED_ACTIONS property. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_allowed_action_get_prefetch\fP (Ecore_X_Window window)"
+.br
+.RI "\fISends the GetProperty request. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_allowed_action_get_fetch\fP (void)"
+.br
+.RI "\fIGets the reply of the GetProperty request sent by ecore_x_allowed_action_get_prefetch(). \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_netwm_allowed_action_get\fP (Ecore_X_Window win, Ecore_X_Action **action, unsigned int *num)"
+.br
+.RI "\fIGet the allowed actions supported by a window. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_opacity_set\fP (Ecore_X_Window win, unsigned int opacity)"
+.br
+.RI "\fISet the _NET_WM_WINDOW_OPACITY property. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_opacity_get_prefetch\fP (Ecore_X_Window window)"
+.br
+.RI "\fISends the GetProperty request. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_opacity_get_fetch\fP (void)"
+.br
+.RI "\fIGets the reply of the GetProperty request sent by \fBecore_x_netwm_opacity_get_prefetch()\fP. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_netwm_opacity_get\fP (Ecore_X_Window win, unsigned int *opacity)"
+.br
+.RI "\fIGet the opacity value of a window. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_frame_size_set\fP (Ecore_X_Window win, int fl, int fr, int ft, int fb)"
+.br
+.RI "\fISet the _NET_FRAME_EXTENTS property. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_frame_size_get_prefetch\fP (Ecore_X_Window window)"
+.br
+.RI "\fISends the GetProperty request. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_frame_size_get_fetch\fP (void)"
+.br
+.RI "\fIGets the reply of the GetProperty request sent by \fBecore_x_netwm_frame_size_get_prefetch()\fP. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_netwm_frame_size_get\fP (Ecore_X_Window win, int *fl, int *fr, int *ft, int *fb)"
+.br
+.RI "\fIGet the frame extent of a window. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_sync_counter_get_prefetch\fP (Ecore_X_Window window)"
+.br
+.RI "\fISends the GetProperty request. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_sync_counter_get_fetch\fP (void)"
+.br
+.RI "\fIGets the reply of the GetProperty request sent by \fBecore_x_netwm_sync_counter_get_prefetch()\fP. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_netwm_sync_counter_get\fP (Ecore_X_Window win, Ecore_X_Sync_Counter *counter)"
+.br
+.RI "\fIGet the X ID of a X Sync counter. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_ping_send\fP (Ecore_X_Window win)"
+.br
+.RI "\fISend a _NET_WM_PING property event. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_sync_request_send\fP (Ecore_X_Window win, unsigned int serial)"
+.br
+.RI "\fISend a _NET_WM_SYNC_REQUEST property event. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_state_request_send\fP (Ecore_X_Window win, Ecore_X_Window root, Ecore_X_Window_State s1, Ecore_X_Window_State s2, int set)"
+.br
+.RI "\fISend a _NET_WM_STATE property event. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_desktop_request_send\fP (Ecore_X_Window win, Ecore_X_Window root, unsigned int desktop)"
+.br
+.RI "\fISend a _NET_WM_DESKTOP property event. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_xinerama_query_screens_prefetch\fP (void)"
+.br
+.RI "\fISends the XineramaQueryScreens request. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_xinerama_query_screens_fetch\fP (void)"
+.br
+.RI "\fIGets the reply of the XineramaQueryScreens request sent by \fBecore_x_xinerama_query_screens_prefetch()\fP. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_xinerama_screen_count_get\fP (void)"
+.br
+.RI "\fIReturn the number of screens. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_xinerama_screen_geometry_get\fP (int screen, int *x, int *y, int *w, int *h)"
+.br
+.RI "\fIGet the geometry of the screen. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_screensaver_event_available_get\fP (void)"
+.br
+.RI "\fIReturn whether the X server supports the ScrenSaver Extension. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_screensaver_idle_time_prefetch\fP (void)"
+.br
+.RI "\fISends the QueryInfo request. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_screensaver_idle_time_fetch\fP (void)"
+.br
+.RI "\fIGets the reply of the QueryInfo request sent by \fBecore_x_get_screensaver_prefetch()\fP. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_screensaver_idle_time_get\fP (void)"
+.br
+.RI "\fIGet the number of seconds since the last input was received. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_get_screensaver_prefetch\fP (void)"
+.br
+.RI "\fISends the GetScreenSaver request. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_get_screensaver_fetch\fP (void)"
+.br
+.RI "\fIGets the reply of the GetScreenSaver request sent by \fBecore_x_get_screensaver_prefetch()\fP. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_screensaver_set\fP (int timeout, int interval, int blank, int expose)"
+.br
+.RI "\fISet the parameters of the screen saver. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_screensaver_timeout_set\fP (double timeout)"
+.br
+.RI "\fISet the timeout of the screen saver. \fP"
+.ti -1c
+.RI "EAPI double \fBecore_x_screensaver_timeout_get\fP (void)"
+.br
+.RI "\fIGet the timeout of the screen saver. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_screensaver_blank_set\fP (double timeout)"
+.br
+.RI "\fISet the screen blanking. \fP"
+.ti -1c
+.RI "EAPI double \fBecore_x_screensaver_blank_get\fP (void)"
+.br
+.RI "\fIGet the screen blanking. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_screensaver_expose_set\fP (double timeout)"
+.br
+.RI "\fISet the screen save control values. \fP"
+.ti -1c
+.RI "EAPI double \fBecore_x_screensaver_expose_get\fP (void)"
+.br
+.RI "\fIGet the screen save control values. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_screensaver_interval_set\fP (double timeout)"
+.br
+.RI "\fISet the interval of the screen saver. \fP"
+.ti -1c
+.RI "EAPI double \fBecore_x_screensaver_interval_get\fP (void)"
+.br
+.RI "\fIGet the interval of the screen saver. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_screensaver_event_listen_set\fP (int on)"
+.br
+.RI "\fISpecifies if the Screen Saver NotifyMask event should be generated. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_get_window_attributes_prefetch\fP (Ecore_X_Window window)"
+.br
+.RI "\fISends the GetWindowAttributes request. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_get_window_attributes_fetch\fP (void)"
+.br
+.RI "\fIGets the reply of the GetWindowAttributes request sent by \fBecore_x_get_window_attributes_prefetch()\fP. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_window_save_set_add\fP (Ecore_X_Window win)"
+.br
+.RI "\fIInserts the window in the client's save-set. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_window_save_set_del\fP (Ecore_X_Window win)"
+.br
+.RI "\fIDeletes the window from the client's save-set. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_pointer_xy_get_prefetch\fP (Ecore_X_Window window)"
+.br
+.RI "\fISends the QueryPointer request. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_pointer_xy_get_fetch\fP (void)"
+.br
+.RI "\fIGets the reply of the QueryPointer request sent by ecore_x_query_pointer_prefetch(). \fP"
+.ti -1c
+.RI "EAPI Ecore_X_Sync_Alarm \fBecore_x_sync_alarm_new\fP (Ecore_X_Sync_Counter counter)"
+.br
+.RI "\fICreate a new alarm. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_sync_alarm_free\fP (Ecore_X_Sync_Alarm alarm)"
+.br
+.RI "\fIDelete an alarm. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_randr_events_select\fP (Ecore_X_Window win, int on)"
+.br
+.RI "\fISelect if the ScreenChangeNotify events will be sent. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_randr_get_screen_info_prefetch\fP (Ecore_X_Window window)"
+.br
+.RI "\fISends the GetScreenInfo request. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_randr_get_screen_info_fetch\fP (void)"
+.br
+.RI "\fIGets the reply of the GetScreenInfo request sent by \fBecore_x_randr_get_screen_info_prefetch()\fP. \fP"
+.ti -1c
+.RI "EAPI Ecore_X_Randr_Rotation \fBecore_x_randr_screen_rotations_get\fP (Ecore_X_Window root)"
+.br
+.RI "\fIGet the set of rotations and reflections. \fP"
+.ti -1c
+.RI "EAPI Ecore_X_Randr_Rotation \fBecore_x_randr_screen_rotation_get\fP (Ecore_X_Window root)"
+.br
+.RI "\fIGet the rotation. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_randr_screen_rotation_set\fP (Ecore_X_Window root, Ecore_X_Randr_Rotation rot)"
+.br
+.RI "\fISet the screen rotation. \fP"
+.ti -1c
+.RI "EAPI Ecore_X_Screen_Size * \fBecore_x_randr_screen_sizes_get\fP (Ecore_X_Window root, int *num)"
+.br
+.RI "\fIGet the frame buffer sizes. \fP"
+.ti -1c
+.RI "EAPI Ecore_X_Screen_Size \fBecore_x_randr_current_screen_size_get\fP (Ecore_X_Window root)"
+.br
+.RI "\fIGet the current frame buffer size. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_randr_screen_size_set\fP (Ecore_X_Window root, Ecore_X_Screen_Size size)"
+.br
+.RI "\fISet the screen size. \fP"
+.ti -1c
+.RI "EAPI Ecore_X_Screen_Refresh_Rate * \fBecore_x_randr_screen_refresh_rates_get\fP (Ecore_X_Window root, int size_id, int *num)"
+.br
+.RI "\fIGet the refresh rates. \fP"
+.ti -1c
+.RI "EAPI Ecore_X_Screen_Refresh_Rate \fBecore_x_randr_current_screen_refresh_rate_get\fP (Ecore_X_Window root)"
+.br
+.RI "\fIGet the current refresh rate. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_randr_screen_refresh_rate_set\fP (Ecore_X_Window root, Ecore_X_Screen_Size size, Ecore_X_Screen_Refresh_Rate rate)"
+.br
+.RI "\fISet the screen refresh rate. \fP"
+.ti -1c
+.RI "EAPI Ecore_X_Region \fBecore_x_region_new\fP (Ecore_X_Rectangle *rects, int num)"
+.br
+.RI "\fICreate a region from rectangles. \fP"
+.ti -1c
+.RI "EAPI Ecore_X_Region \fBecore_x_region_new_from_bitmap\fP (Ecore_X_Pixmap bitmap)"
+.br
+.RI "\fICreate a region from a pixmap. \fP"
+.ti -1c
+.RI "EAPI Ecore_X_Region \fBecore_x_region_new_from_window\fP (Ecore_X_Window win, Ecore_X_Region_Type type)"
+.br
+.RI "\fICreate a region from a window. \fP"
+.ti -1c
+.RI "EAPI Ecore_X_Region \fBecore_x_region_new_from_gc\fP (Ecore_X_GC gc)"
+.br
+.RI "\fICreate a region from a graphic context. \fP"
+.ti -1c
+.RI "EAPI Ecore_X_Region \fBecore_x_region_new_from_picture\fP (Ecore_X_Picture picture)"
+.br
+.RI "\fICreate a region from a picture. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_region_del\fP (Ecore_X_Region region)"
+.br
+.RI "\fIDestroy a region. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_region_set\fP (Ecore_X_Region region, Ecore_X_Rectangle *rects, int num)"
+.br
+.RI "\fISet the content of a region. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_region_copy\fP (Ecore_X_Region dest, Ecore_X_Region source)"
+.br
+.RI "\fICopy the content of a region. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_region_combine\fP (Ecore_X_Region dest, Ecore_X_Region source1, Ecore_X_Region source2)"
+.br
+.RI "\fIMake the union of two regions. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_region_intersect\fP (Ecore_X_Region dest, Ecore_X_Region source1, Ecore_X_Region source2)"
+.br
+.RI "\fIMake the intersection of two regions. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_region_subtract\fP (Ecore_X_Region dest, Ecore_X_Region source1, Ecore_X_Region source2)"
+.br
+.RI "\fIMake the substraction of two regions. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_region_invert\fP (Ecore_X_Region dest, Ecore_X_Rectangle *bounds, Ecore_X_Region source)"
+.br
+.RI "\fIMake the substraction of regions by bounds. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_region_translate\fP (Ecore_X_Region region, int dx, int dy)"
+.br
+.RI "\fITranslate a region. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_region_extents\fP (Ecore_X_Region dest, Ecore_X_Region source)"
+.br
+.RI "\fIExtent a region. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_region_fetch_prefetch\fP (Ecore_X_Region region)"
+.br
+.RI "\fISends the XFixesFetchRegion request. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_region_fetch_fetch\fP (void)"
+.br
+.RI "\fIGets the reply of the XFixesFetchRegion request sent by ecore_xcb_region_fetch_prefetch(). \fP"
+.ti -1c
+.RI "EAPI Ecore_X_Rectangle * \fBecore_x_region_fetch\fP (Ecore_X_Region region, int *num, Ecore_X_Rectangle *bounds)"
+.br
+.RI "\fIReturn the rectangles that compose a region. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_region_expand\fP (Ecore_X_Region dest, Ecore_X_Region source, unsigned int left, unsigned int right, unsigned int top, unsigned int bottom)"
+.br
+.RI "\fIExpand a region. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_region_gc_clip_set\fP (Ecore_X_Region region, Ecore_X_GC gc, int x_origin, int y_origin)"
+.br
+.RI "\fIChange clip-mask in a graphic context to the specified region. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_region_window_shape_set\fP (Ecore_X_Region region, Ecore_X_Window win, Ecore_X_Shape_Type type, int x_offset, int y_offset)"
+.br
+.RI "\fIChange the shape extension of a window. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_region_picture_clip_set\fP (Ecore_X_Region region, Ecore_X_Picture picture, int x_origin, int y_origin)"
+.br
+.RI "\fIChange clip-mask in picture to the specified region. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_damage_query\fP (void)"
+.br
+.RI "\fIReturn whether the Damage Extension is available. \fP"
+.ti -1c
+.RI "EAPI Ecore_X_Damage \fBecore_x_damage_new\fP (Ecore_X_Drawable d, Ecore_X_Damage_Report_Level level)"
+.br
+.RI "\fICreates a damage object. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_damage_del\fP (Ecore_X_Damage damage)"
+.br
+.RI "\fIDestroys a damage object. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_damage_subtract\fP (Ecore_X_Damage damage, Ecore_X_Region repair, Ecore_X_Region parts)"
+.br
+.RI "\fISynchronously modifies the region. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_screen_is_composited\fP (int screen)"
+.br
+.RI "\fICheck whether a screen is composited or not. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_dpms_query\fP (void)"
+.br
+.RI "\fIChecks if the DPMS extension is available or not. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_dpms_capable_get_prefetch\fP (void)"
+.br
+.RI "\fISends the DPMSCapable request. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_dpms_capable_get_fetch\fP (void)"
+.br
+.RI "\fIGets the reply of the DPMSCapable request sent by \fBecore_x_dpms_capable_get_prefetch()\fP. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_dpms_capable_get\fP (void)"
+.br
+.RI "\fIChecks if the X server is capable of DPMS. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_dpms_enable_get_prefetch\fP (void)"
+.br
+.RI "\fISends the DPMSInfo request. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_dpms_enable_get_fetch\fP (void)"
+.br
+.RI "\fIGets the reply of the DPMSInfo request sent by \fBecore_x_dpms_enable_get_prefetch()\fP. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_dpms_enabled_get\fP (void)"
+.br
+.RI "\fIChecks the DPMS state of the display. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_dpms_enabled_set\fP (int enabled)"
+.br
+.RI "\fISets the DPMS state of the display. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_dpms_timeouts_get_prefetch\fP (void)"
+.br
+.RI "\fISends the DPMSGetTimeouts request. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_dpms_timeouts_get_fetch\fP (void)"
+.br
+.RI "\fIGets the reply of the DPMSGetTimeouts request sent by \fBecore_x_dpms_timeouts_get_prefetch()\fP. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_dpms_timeouts_get\fP (unsigned int *standby, unsigned int *suspend, unsigned int *off)"
+.br
+.RI "\fIGets the timeouts. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_dpms_timeouts_set\fP (unsigned int standby, unsigned int suspend, unsigned int off)"
+.br
+.RI "\fISets the timeouts. \fP"
+.ti -1c
+.RI "EAPI unsigned int \fBecore_x_dpms_timeout_standby_get\fP (void)"
+.br
+.RI "\fIReturns the amount of time of inactivity before standby mode is invoked. \fP"
+.ti -1c
+.RI "EAPI unsigned int \fBecore_x_dpms_timeout_suspend_get\fP (void)"
+.br
+.RI "\fIReturns the amount of time of inactivity before the second level of power saving is invoked. \fP"
+.ti -1c
+.RI "EAPI unsigned int \fBecore_x_dpms_timeout_off_get\fP (void)"
+.br
+.RI "\fIReturns the amount of time of inactivity before the third and final level of power saving is invoked. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_dpms_timeout_standby_set\fP (unsigned int new_timeout)"
+.br
+.RI "\fISets the standby timeout (in unit of seconds). \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_dpms_timeout_suspend_set\fP (unsigned int new_timeout)"
+.br
+.RI "\fISets the suspend timeout (in unit of seconds). \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_dpms_timeout_off_set\fP (unsigned int new_timeout)"
+.br
+.RI "\fISets the off timeout (in unit of seconds). \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Ecore functions for dealing with the X Windows System. 
+
+Ecore_X provides a wrapper and convenience functions for using the X Windows System. Function groups for this part of the library include the following: 
+.PD 0
+
+.IP "\(bu" 2
+\fBX Library Init and Shutdown Functions\fP 
+.IP "\(bu" 2
+\fBX Display Attributes\fP 
+.IP "\(bu" 2
+\fBX Synchronization Functions\fP 
+.PP
+
+.SH "Enumeration Type Documentation"
+.PP 
+.SS "enum \fB_Ecore_X_Window_Input_Mode\fP"
+.PP
+\fBEnumerator: \fP
+.in +1c
+.TP
+\fB\fIECORE_X_WINDOW_INPUT_MODE_NONE \fP\fP
+The window can never be focused. 
+.TP
+\fB\fIECORE_X_WINDOW_INPUT_MODE_PASSIVE \fP\fP
+The window can be focused by the WM but doesn't focus itself. 
+.TP
+\fB\fIECORE_X_WINDOW_INPUT_MODE_ACTIVE_LOCAL \fP\fP
+The window sets the focus itself if one of its sub-windows already is focused. 
+.TP
+\fB\fIECORE_X_WINDOW_INPUT_MODE_ACTIVE_GLOBAL \fP\fP
+The window sets the focus itself even if another window is currently focused. 
+.SS "enum \fB_Ecore_X_Window_State\fP"
+.PP
+\fBEnumerator: \fP
+.in +1c
+.TP
+\fB\fIECORE_X_WINDOW_STATE_ICONIFIED \fP\fP
+The window is iconified. 
+.TP
+\fB\fIECORE_X_WINDOW_STATE_MODAL \fP\fP
+The window is a modal dialog box. 
+.TP
+\fB\fIECORE_X_WINDOW_STATE_STICKY \fP\fP
+The window manager should keep the window's position fixed even if the virtual desktop scrolls. 
+.TP
+\fB\fIECORE_X_WINDOW_STATE_MAXIMIZED_VERT \fP\fP
+The window has the maximum vertical size. 
+.TP
+\fB\fIECORE_X_WINDOW_STATE_MAXIMIZED_HORZ \fP\fP
+The window has the maximum horizontal size. 
+.TP
+\fB\fIECORE_X_WINDOW_STATE_SHADED \fP\fP
+The window is shaded. 
+.TP
+\fB\fIECORE_X_WINDOW_STATE_SKIP_TASKBAR \fP\fP
+The window should not be included in the taskbar. 
+.TP
+\fB\fIECORE_X_WINDOW_STATE_SKIP_PAGER \fP\fP
+The window should not be included in the pager. 
+.TP
+\fB\fIECORE_X_WINDOW_STATE_HIDDEN \fP\fP
+The window is invisible (i.e. 
+.PP
+minimized/iconified) 
+.TP
+\fB\fIECORE_X_WINDOW_STATE_FULLSCREEN \fP\fP
+The window should fill the entire screen and have no window border/decorations. 
+.SS "enum \fB_Ecore_X_Window_State_Hint\fP"
+.PP
+\fBEnumerator: \fP
+.in +1c
+.TP
+\fB\fIECORE_X_WINDOW_STATE_HINT_NONE \fP\fP
+Do not provide any state hint to the window manager. 
+.TP
+\fB\fIECORE_X_WINDOW_STATE_HINT_WITHDRAWN \fP\fP
+The window wants to remain hidden and NOT iconified. 
+.TP
+\fB\fIECORE_X_WINDOW_STATE_HINT_NORMAL \fP\fP
+The window wants to be mapped normally. 
+.TP
+\fB\fIECORE_X_WINDOW_STATE_HINT_ICONIC \fP\fP
+The window wants to start in an iconified state. 
+.SS "enum \fB_Ecore_X_WM_Protocol\fP"
+.PP
+\fBEnumerator: \fP
+.in +1c
+.TP
+\fB\fIECORE_X_WM_PROTOCOL_DELETE_REQUEST \fP\fP
+If enabled the window manager will be asked to send a delete message instead of just closing (destroying) the window. 
+.TP
+\fB\fIECORE_X_WM_PROTOCOL_TAKE_FOCUS \fP\fP
+If enabled the window manager will be told that the window explicitly sets input focus. 
+.TP
+\fB\fIECORE_X_NET_WM_PROTOCOL_PING \fP\fP
+If enabled the window manager can ping the window to check if it is alive. 
+.TP
+\fB\fIECORE_X_NET_WM_PROTOCOL_SYNC_REQUEST \fP\fP
+If enabled the window manager can sync updating with the window (?). 
+.SH "Function Documentation"
+.PP 
+.SS "EAPI Ecore_X_Atom ecore_x_atom_get (const char * name)"
+.PP
+Retrieves the atom value associated with the given name. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIname\fP The given name. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+Associated atom value. 
+.RE
+.PP
+
+.SS "EAPI int ecore_x_client_message32_send (Ecore_X_Window window, Ecore_X_Atom type, Ecore_X_Event_Mask mask, long d0, long d1, long d2, long d3, long d4)"
+.PP
+Send client message with given type and format 32. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window the message is sent to. 
+.br
+\fItype\fP The client message type. 
+.br
+\fImask\fP The client message mask. 
+.br
+\fId0\fP The client message data item 1 
+.br
+\fId1\fP The client message data item 2 
+.br
+\fId2\fP The client message data item 3 
+.br
+\fId3\fP The client message data item 4 
+.br
+\fId4\fP The client message data item 5
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+!0 on success. 
+.RE
+.PP
+
+.SS "EAPI int ecore_x_client_message8_send (Ecore_X_Window window, Ecore_X_Atom type, const void * data, int len)"
+.PP
+Send client message with given type and format 8. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window the message is sent to. 
+.br
+\fItype\fP The client message type. 
+.br
+\fIdata\fP Data to be sent. 
+.br
+\fIlen\fP Number of data bytes, max 20.
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+!0 on success. 
+.RE
+.PP
+
+.SS "EAPI int ecore_x_dnd_begin (Ecore_X_Window source, unsigned char * data, int size)"
+.PP
+Begins the DnD. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIsource\fP Unused. 
+.br
+\fIdata\fP The data. 
+.br
+\fIsize\fP The size of the data. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+0 on failure, 1 otherwise.
+.RE
+.PP
+Begins the DnD. Returns 0 on failure, 1 otherwise.
+.PP
+To use this function, you must call before, and in order, \fBecore_x_dnd_begin_prefetch()\fP, which sends the GetProperty request, then \fBecore_x_dnd_begin_fetch()\fP, which gets the reply. 
+.SS "EAPI void ecore_x_dnd_begin_prefetch (Ecore_X_Window source)"
+.PP
+Sends the GetProperty request. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIsource\fP Window whose properties are requested. 
+.RE
+.PP
+
+.SS "EAPI void ecore_x_dnd_type_get_prefetch (Ecore_X_Window window)"
+.PP
+Sends the GetProperty request. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP Window whose properties are requested. 
+.RE
+.PP
+
+.SS "EAPI int ecore_x_dnd_type_isset (Ecore_X_Window window, const char * type)"
+.PP
+Check if the type is set. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP Unused. 
+.br
+\fItype\fP The type to check 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+0 on failure, 1 otherwise.
+.RE
+.PP
+Check if the type is set. 0 on failure, 1 otherwise.
+.PP
+To use this function, you must call before, and in order, \fBecore_x_dnd_type_get_prefetch()\fP, which sends the GetProperty request, then \fBecore_x_dnd_type_get_fetch()\fP, which gets the reply. 
+.SS "EAPI void ecore_x_dnd_type_set (Ecore_X_Window window, const char * type, int on)"
+.PP
+Set the type. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP Unused. 
+.br
+\fItype\fP The type to set 
+.br
+\fIon\fP 0 or non 0...
+.RE
+.PP
+Set the type.
+.PP
+To use this function, you must call before, and in order, \fBecore_x_dnd_type_get_prefetch()\fP, which sends the GetProperty request, then \fBecore_x_dnd_type_get_fetch()\fP, which gets the reply. 
+.SS "EAPI void ecore_x_dnd_types_set (Ecore_X_Window window, char ** types, unsigned int num_types)"
+.PP
+Set the types. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP Unused. 
+.br
+\fItypes\fP The types to set 
+.br
+\fInum_types\fP The number of types
+.RE
+.PP
+Set the types.
+.PP
+To use this function, you must call before, and in order, \fBecore_x_dnd_type_get_prefetch()\fP, which sends the GetProperty request, then \fBecore_x_dnd_type_get_fetch()\fP, which gets the reply. 
+.SS "EAPI int ecore_x_dnd_version_get (Ecore_X_Window window)"
+.PP
+Get the DnD version. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP Unused. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+0 on failure, the version otherwise.
+.RE
+.PP
+Get the DnD version. Returns 0 on failure, the version otherwise.
+.PP
+To use this function, you must call before, and in order, \fBecore_x_dnd_version_get_prefetch()\fP, which sends the GetProperty request, then \fBecore_x_dnd_version_get_fetch()\fP, which gets the reply. 
+.SS "EAPI void ecore_x_dnd_version_get_prefetch (Ecore_X_Window window)"
+.PP
+Sends the GetProperty request. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP Window whose properties are requested. 
+.RE
+.PP
+
+.SS "EAPI int ecore_x_error_code_get (void)"
+.PP
+Get the error code from the error. 
+.PP
+\fBReturns:\fP
+.RS 4
+The error code from the X error
+.RE
+.PP
+Return the error code from the last X error 
+.SS "EAPI void ecore_x_error_handler_set (void(*)(void *data) func, const void * data)"
+.PP
+Set the error handler. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIfunc\fP The error handler function 
+.br
+\fIdata\fP The data to be passed to the handler function
+.RE
+.PP
+Set the X error handler function 
+.SS "EAPI int ecore_x_error_request_get (void)"
+.PP
+Get the request code that caused the error. 
+.PP
+\fBReturns:\fP
+.RS 4
+The request code causing the X error
+.RE
+.PP
+Return the X request code that caused the last X error 
+.SS "EAPI void ecore_x_gc_del (Ecore_X_GC gc)"
+.PP
+Deletes and frees the given graphics context. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIgc\fP The given graphics context.
+.RE
+.PP
+Destroyes the graphic context \fCgc\fP as well as the associated storage. 
+.SS "EAPI Ecore_X_GC ecore_x_gc_new (Ecore_X_Drawable drawable)"
+.PP
+Creates a new default graphics context associated with the given drawable. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIdrawable\fP Drawable to create graphics context with. If \fC0\fP is given instead, the default root window is used. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The new default graphics context.
+.RE
+.PP
+Creates a new default graphics context associated with \fCdrawable\fP. The graphic context can be used with any destination drawable having the same root and depth as \fCdrawable\fP. Use with other drawables results in a BadMatch error. 
+.SS "EAPI void ecore_x_icccm_command_get (Ecore_X_Window win, int * argc, char *** argv)"
+.PP
+Get the WM_COMMAND property for \fIwin\fP. 
+.PP
+Return the command of a window. String must be free'd when done with.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwin\fP The window. 
+.br
+\fIargc\fP Number of arguments. 
+.br
+\fIargv\fP Arguments. 
+.RE
+.PP
+
+.SS "EAPI char* ecore_x_icccm_icon_name_get (Ecore_X_Window win)"
+.PP
+Get a window icon name. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwin\fP The window 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The windows icon name string
+.RE
+.PP
+Return the icon name of a window. String must be free'd when done with. 
+.SS "EAPI void ecore_x_icccm_name_class_get (Ecore_X_Window win, char ** n, char ** c)"
+.PP
+Get a window name & class. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwin\fP The window 
+.br
+\fIn\fP The name string 
+.br
+\fIc\fP The class string
+.RE
+.PP
+Get a window name * class 
+.SS "EAPI int ecore_x_icccm_protocol_isset (Ecore_X_Window win, Ecore_X_WM_Protocol protocol)"
+.PP
+Determines whether a protocol is set for a window. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwin\fP The Window 
+.br
+\fIprotocol\fP The protocol to query 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+1 if the protocol is set, else 0. 
+.RE
+.PP
+
+.SS "EAPI Ecore_X_Window ecore_x_icccm_transient_for_get (Ecore_X_Window win)"
+.PP
+Get the window this window is transient for, if any. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwin\fP The window to check 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The window ID of the top-level window, or 0 if the property does not exist. 
+.RE
+.PP
+
+.SS "EAPI void ecore_x_io_error_handler_set (void(*)(void *data) func, const void * data)"
+.PP
+Set the I/O error handler. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIfunc\fP The I/O error handler function 
+.br
+\fIdata\fP The data to be passed to the handler function
+.RE
+.PP
+Set the X I/O error handler function 
+.SS "EAPI void ecore_x_kill (Ecore_X_Window window)"
+.PP
+Kill a specific client. 
+.PP
+You can kill a specific client woning window \fCwindow\fP 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP Window of the client to be killed 
+.RE
+.PP
+
+.SS "EAPI void ecore_x_killall (Ecore_X_Window root)"
+.PP
+Kill all clients with subwindows under a given window. 
+.PP
+You can kill all clients connected to the X server by using \fBecore_x_window_root_list\fP to get a list of root windows, and then passing each root window to this function.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIroot\fP The window whose children will be killed. 
+.RE
+.PP
+
+.SS "EAPI int ecore_x_selection_clipboard_clear (void)"
+.PP
+Release ownership of the clipboard selection. 
+.PP
+\fBReturns:\fP
+.RS 4
+Returns 1 if the selection was successfully cleared, or 0 if unsuccessful.
+.RE
+.PP
+To use this function, you must call before, and in order, \fBecore_x_selection_clipboard_prefetch()\fP, which sends the GetSelectionOwner request, then \fBecore_x_selection_clipboard_fetch()\fP, which gets the reply. 
+.SS "EAPI int ecore_x_selection_clipboard_set (Ecore_X_Window window, const void * data, int size)"
+.PP
+Claim ownership of the CLIPBOARD selection and set its data. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window to which this selection belongs 
+.br
+\fIdata\fP The data associated with the selection 
+.br
+\fIsize\fP The size of the data buffer in bytes 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+Returns 1 if the ownership of the selection was successfully claimed, or 0 if unsuccessful.
+.RE
+.PP
+Get the converted data from a previous CLIPBOARD selection request. The buffer must be freed when done with.
+.PP
+To use this function, you must call before, and in order, \fBecore_x_selection_clipboard_prefetch()\fP, which sends the GetSelectionOwner request, then \fBecore_x_selection_clipboard_fetch()\fP, which gets the reply. 
+.SS "EAPI int ecore_x_selection_primary_clear (void)"
+.PP
+Release ownership of the primary selection. 
+.PP
+\fBReturns:\fP
+.RS 4
+Returns 1 if the selection was successfully cleared, or 0 if unsuccessful.
+.RE
+.PP
+To use this function, you must call before, and in order, \fBecore_x_selection_primary_prefetch()\fP, which sends the GetSelectionOwner request, then \fBecore_x_selection_primary_fetch()\fP, which gets the reply. 
+.SS "EAPI int ecore_x_selection_primary_set (Ecore_X_Window window, const void * data, int size)"
+.PP
+Claim ownership of the PRIMARY selection and set its data. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window to which this selection belongs 
+.br
+\fIdata\fP The data associated with the selection 
+.br
+\fIsize\fP The size of the data buffer in bytes 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+Returns 1 if the ownership of the selection was successfully claimed, or 0 if unsuccessful.
+.RE
+.PP
+To use this function, you must call before, and in order, \fBecore_x_selection_primary_prefetch()\fP, which sends the GetSelectionOwner request, then \fBecore_x_selection_primary_fetch()\fP, which gets the reply. 
+.SS "EAPI int ecore_x_selection_secondary_clear (void)"
+.PP
+Release ownership of the secondary selection. 
+.PP
+\fBReturns:\fP
+.RS 4
+Returns 1 if the selection was successfully cleared, or 0 if unsuccessful.
+.RE
+.PP
+To use this function, you must call before, and in order, \fBecore_x_selection_secondary_prefetch()\fP, which sends the GetSelectionOwner request, then \fBecore_x_selection_secondary_fetch()\fP, which gets the reply. 
+.SS "EAPI int ecore_x_selection_secondary_set (Ecore_X_Window window, const void * data, int size)"
+.PP
+Claim ownership of the SECONDARY selection and set its data. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window to which this selection belongs 
+.br
+\fIdata\fP The data associated with the selection 
+.br
+\fIsize\fP The size of the data buffer in bytes 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+Returns 1 if the ownership of the selection was successfully claimed, or 0 if unsuccessful.
+.RE
+.PP
+To use this function, you must call before, and in order, \fBecore_x_selection_secondary_prefetch()\fP, which sends the GetSelectionOwner request, then \fBecore_x_selection_secondary_fetch()\fP, which gets the reply. 
+.SS "EAPI int ecore_x_selection_xdnd_clear (void)"
+.PP
+Release ownership of the XDND selection. 
+.PP
+\fBReturns:\fP
+.RS 4
+Returns 1 if the selection was successfully cleared, or 0 if unsuccessful.
+.RE
+.PP
+To use this function, you must call before, and in order, \fBecore_x_selection_xdnd_prefetch()\fP, which sends the GetSelectionOwner request, then \fBecore_x_selection_xdnd_fetch()\fP, which gets the reply. 
+.SS "EAPI int ecore_x_selection_xdnd_set (Ecore_X_Window window, const void * data, int size)"
+.PP
+Claim ownership of the XDND selection and set its data. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window to which this selection belongs 
+.br
+\fIdata\fP The data associated with the selection 
+.br
+\fIsize\fP The size of the data buffer in bytes 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+Returns 1 if the ownership of the selection was successfully claimed, or 0 if unsuccessful.
+.RE
+.PP
+To use this function, you must call before, and in order, \fBecore_x_selection_xdnd_prefetch()\fP, which sends the GetSelectionOwner request, then \fBecore_x_selection_xdnd_fetch()\fP, which gets the reply. 
+.SS "EAPI void ecore_x_window_area_clear (Ecore_X_Window window, int x, int y, int width, int height)"
+.PP
+Clears an area of the given window. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The given window. 
+.br
+\fIx\fP The X coordinate of the area. 
+.br
+\fIy\fP The Y coordinate of the area. 
+.br
+\fIwidth\fP The width of the area. 
+.br
+\fIheight\fP The height of the area. 
+.RE
+.PP
+
+.SS "EAPI void ecore_x_window_area_expose (Ecore_X_Window window, int x, int y, int width, int height)"
+.PP
+Exposes an area of the given window. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The given window. 
+.br
+\fIx\fP The X coordinate of the area. 
+.br
+\fIy\fP The Y coordinate of the area. 
+.br
+\fIwidth\fP The width of the area. 
+.br
+\fIheight\fP The height of the area. 
+.RE
+.PP
+
+.SS "EAPI void ecore_x_window_defaults_set (Ecore_X_Window window)"
+.PP
+Sets the default properties for the given window. 
+.PP
+The default properties set for the window are \fCWM_CLIENT_MACHINE\fP and \fC_NET_WM_PID\fP.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The given window. 
+.RE
+.PP
+
+.SS "EAPI int ecore_x_window_depth_get (Ecore_X_Window win)"
+.PP
+Retrieves the depth of the given window. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwin\fP The given window. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+Depth of the window. 
+.RE
+.PP
+
+.SS "EAPI Ecore_X_Window* ecore_x_window_ignore_list (int * num)"
+.PP
+Get the ignore list. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fInum\fP number of windows in the list 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+list of windows to ignore 
+.RE
+.PP
+
+.SS "EAPI void ecore_x_window_ignore_set (Ecore_X_Window window, int ignore)"
+.PP
+Set if a window should be ignored. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The given window. 
+.br
+\fIignore\fP if to ignore 
+.RE
+.PP
+
+.SS "EAPI Ecore_X_Atom ecore_x_window_prop_any_type (void)"
+.PP
+To be documented. 
+.PP
+FIXME: To be fixed. 
+.SS "EAPI void ecore_x_window_prop_atom_get_prefetch (Ecore_X_Window window, Ecore_X_Atom atom)"
+.PP
+Sends the GetProperty request. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP Window whose properties are requested. 
+.br
+\fIatom\fP Property atom. 
+.RE
+.PP
+
+.SS "EAPI void ecore_x_window_prop_card32_get_prefetch (Ecore_X_Window window, Ecore_X_Atom atom)"
+.PP
+Sends the GetProperty request. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP Window whose properties are requested. 
+.br
+\fIatom\fP The atom. 
+.RE
+.PP
+
+.SS "EAPI void ecore_x_window_prop_list_prefetch (Ecore_X_Window window)"
+.PP
+Sends the ListProperties request. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP Window whose properties are requested. 
+.RE
+.PP
+
+.SS "EAPI int ecore_x_window_prop_property_get (Ecore_X_Window win, Ecore_X_Atom property, Ecore_X_Atom type, int size __UNUSED__, unsigned char ** data, int * num)"
+.PP
+To be documented. 
+.PP
+FIXME: To be fixed. 
+.SS "EAPI void ecore_x_window_prop_property_get_prefetch (Ecore_X_Window window, Ecore_X_Atom property, Ecore_X_Atom type)"
+.PP
+Sends the GetProperty request. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP Window whose properties are requested. 
+.br
+\fIproperty\fP Property atom. 
+.br
+\fItype\fP Type atom. 
+.RE
+.PP
+
+.SS "EAPI void ecore_x_window_prop_property_set (Ecore_X_Window window, Ecore_X_Atom property, Ecore_X_Atom type, int size, void * data, int number)"
+.PP
+To be documented. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window. 
+.br
+\fIproperty\fP The property atom. 
+.br
+\fItype\fP The type atom. 
+.br
+\fIsize\fP The size. 
+.br
+\fIdata\fP The data. 
+.br
+\fInumber\fP The size of the data.
+.RE
+.PP
+FIXME: To be fixed. 
+.SS "EAPI Ecore_X_WM_Protocol* ecore_x_window_prop_protocol_list_get (Ecore_X_Window window, int * num_ret)"
+.PP
+To be documented. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window. 
+.br
+\fInum_ret\fP The number of WM protocols. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The returned WM protocols.
+.RE
+.PP
+FIXME: To be fixed. 
+.SS "EAPI char* ecore_x_window_prop_string_get (Ecore_X_Window win, Ecore_X_Atom type)"
+.PP
+Get a window string property. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwin\fP The window 
+.br
+\fItype\fP The property
+.RE
+.PP
+Return window string property of a window. String must be free'd when done. 
+.SS "EAPI void ecore_x_window_prop_string_get_prefetch (Ecore_X_Window window, Ecore_X_Atom type)"
+.PP
+Sends the GetProperty request. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP Window whose properties are requested. 
+.br
+\fItype\fP The atom. 
+.RE
+.PP
+
+.SS "EAPI void ecore_x_window_prop_string_set (Ecore_X_Window win, Ecore_X_Atom type, const char * str)"
+.PP
+Set a window string property. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwin\fP The window 
+.br
+\fItype\fP The property 
+.br
+\fIstr\fP The string
+.RE
+.PP
+Set a window string property 
+.SS "EAPI void ecore_x_window_prop_window_get_prefetch (Ecore_X_Window window, Ecore_X_Atom atom)"
+.PP
+Sends the GetProperty request. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP Window whose properties are requested. 
+.br
+\fIatom\fP The atom. 
+.RE
+.PP
+
+.SS "EAPI void ecore_x_window_prop_xid_get_prefetch (Ecore_X_Window window, Ecore_X_Atom atom, Ecore_X_Atom type)"
+.PP
+Sends the GetProperty request. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP Window whose properties are requested. 
+.br
+\fIatom\fP The atom. 
+.br
+\fItype\fP The atom type. 
+.RE
+.PP
+
+.SS "EAPI Ecore_X_Window* ecore_x_window_root_list (int * num_ret)"
+.PP
+Get a list of all the root windows on the server. 
+.PP
+\fBNote:\fP
+.RS 4
+The returned array will need to be freed after use. 
+.RE
+.PP
+\fBParameters:\fP
+.RS 4
+\fInum_ret\fP Pointer to integer to put number of windows returned in. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+An array of all the root windows. \fCNULL\fP is returned if memory could not be allocated for the list, or if \fCnum_ret\fP is \fCNULL\fP. 
+.RE
+.PP
+
+.SH "Author"
+.PP 
+Generated automatically by Doxygen for Ecore from the source code.
diff --git a/doc/man/man3/Ecore_X_Atom_Group.3 b/doc/man/man3/Ecore_X_Atom_Group.3
new file mode 100644
index 0000000..9aad4c8
--- /dev/null
+++ b/doc/man/man3/Ecore_X_Atom_Group.3
@@ -0,0 +1,56 @@
+.TH "XCB Atom Functions" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+XCB Atom Functions \- Functions that operate on atoms.  
+
+.PP
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI void \fBecore_x_atom_get_prefetch\fP (const char *name)"
+.br
+.RI "\fISends the InternAtom request. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_atom_get_fetch\fP (void)"
+.br
+.RI "\fIGets the reply of the InternAtom request sent by \fBecore_x_atom_get_prefetch()\fP. \fP"
+.ti -1c
+.RI "EAPI Ecore_X_Atom \fBecore_x_atom_get\fP (const char *name __UNUSED__)"
+.br
+.RI "\fIRetrieves the atom value associated to a name. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Functions that operate on atoms. 
+.PP
+.SH "Function Documentation"
+.PP 
+.SS "EAPI Ecore_X_Atom ecore_x_atom_get (const char *name __UNUSED__)"
+.PP
+Retrieves the atom value associated to a name. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIname\fP Unused. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+Associated atom value.
+.RE
+.PP
+Retrieves the atom value associated to a name. The reply is the returned value of the function ecore_xcb_intern_atom_reply(). If \fCreply\fP is \fCNULL\fP, the NULL atom is returned. Otherwise, the atom associated to the name is returned.
+.PP
+To use this function, you must call before, and in order, \fBecore_x_atom_get_prefetch()\fP, which sends the InternAtom request, then \fBecore_x_atom_get_fetch()\fP, which gets the reply. 
+.SS "EAPI void ecore_x_atom_get_prefetch (const char * name)"
+.PP
+Sends the InternAtom request. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIname\fP Name of the requested atom. 
+.RE
+.PP
+
diff --git a/doc/man/man3/Ecore_X_Atoms.h.3 b/doc/man/man3/Ecore_X_Atoms.h.3
new file mode 100644
index 0000000..f265f56
--- /dev/null
+++ b/doc/man/man3/Ecore_X_Atoms.h.3
@@ -0,0 +1,16 @@
+.TH "Ecore_X_Atoms.h" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+Ecore_X_Atoms.h \- Ecore X atoms. 
+.SH SYNOPSIS
+.br
+.PP
+.SH "Detailed Description"
+.PP 
+Ecore X atoms. 
+
+
+.SH "Author"
+.PP 
+Generated automatically by Doxygen for Ecore from the source code.
diff --git a/doc/man/man3/Ecore_X_Cursor.h.3 b/doc/man/man3/Ecore_X_Cursor.h.3
new file mode 100644
index 0000000..92b0172
--- /dev/null
+++ b/doc/man/man3/Ecore_X_Cursor.h.3
@@ -0,0 +1,16 @@
+.TH "Ecore_X_Cursor.h" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+Ecore_X_Cursor.h \- Defines the various cursor types for the X Windows system. 
+.SH SYNOPSIS
+.br
+.PP
+.SH "Detailed Description"
+.PP 
+Defines the various cursor types for the X Windows system. 
+
+
+.SH "Author"
+.PP 
+Generated automatically by Doxygen for Ecore from the source code.
diff --git a/doc/man/man3/Ecore_X_DPMS_Group.3 b/doc/man/man3/Ecore_X_DPMS_Group.3
new file mode 100644
index 0000000..3f9768a
--- /dev/null
+++ b/doc/man/man3/Ecore_X_DPMS_Group.3
@@ -0,0 +1,235 @@
+.TH "X DPMS Extension Functions" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+X DPMS Extension Functions \- Functions related to the X DPMS extension.  
+
+.PP
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI int \fBecore_x_dpms_query\fP (void)"
+.br
+.RI "\fIChecks if the DPMS extension is available or not. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_dpms_capable_get\fP (void)"
+.br
+.RI "\fIChecks if the X server is capable of DPMS. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_dpms_enabled_get\fP (void)"
+.br
+.RI "\fIChecks the DPMS state of the display. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_dpms_enabled_set\fP (int enabled)"
+.br
+.RI "\fISets the DPMS state of the display. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_dpms_timeouts_get\fP (unsigned int *standby, unsigned int *suspend, unsigned int *off)"
+.br
+.RI "\fIGets the timeouts. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_dpms_timeouts_set\fP (unsigned int standby, unsigned int suspend, unsigned int off)"
+.br
+.RI "\fISets the timeouts. \fP"
+.ti -1c
+.RI "EAPI unsigned int \fBecore_x_dpms_timeout_standby_get\fP ()"
+.br
+.RI "\fIReturns the amount of time of inactivity before standby mode is invoked. \fP"
+.ti -1c
+.RI "EAPI unsigned int \fBecore_x_dpms_timeout_suspend_get\fP ()"
+.br
+.RI "\fIReturns the amount of time of inactivity before the second level of power saving is invoked. \fP"
+.ti -1c
+.RI "EAPI unsigned int \fBecore_x_dpms_timeout_off_get\fP ()"
+.br
+.RI "\fIReturns the amount of time of inactivity before the third and final level of power saving is invoked. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_dpms_timeout_standby_set\fP (unsigned int new_timeout)"
+.br
+.RI "\fISets the standby timeout (in unit of seconds). \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_dpms_timeout_suspend_set\fP (unsigned int new_timeout)"
+.br
+.RI "\fISets the suspend timeout (in unit of seconds). \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_dpms_timeout_off_set\fP (unsigned int new_timeout)"
+.br
+.RI "\fISets the off timeout (in unit of seconds). \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_dpms_capable_get_prefetch\fP (void)"
+.br
+.RI "\fISends the DPMSCapable request. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_dpms_capable_get_fetch\fP (void)"
+.br
+.RI "\fIGets the reply of the DPMSCapable request sent by \fBecore_x_dpms_capable_get_prefetch()\fP. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_dpms_enable_get_prefetch\fP (void)"
+.br
+.RI "\fISends the DPMSInfo request. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_dpms_enable_get_fetch\fP (void)"
+.br
+.RI "\fIGets the reply of the DPMSInfo request sent by \fBecore_x_dpms_enable_get_prefetch()\fP. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_dpms_enable_get\fP (void)"
+.br
+.RI "\fIChecks the DPMS state of the display. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_dpms_timeouts_get_prefetch\fP (void)"
+.br
+.RI "\fISends the DPMSGetTimeouts request. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_dpms_timeouts_get_fetch\fP (void)"
+.br
+.RI "\fIGets the reply of the DPMSGetTimeouts request sent by \fBecore_x_dpms_timeouts_get_prefetch()\fP. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Functions related to the X DPMS extension. 
+.PP
+.SH "Function Documentation"
+.PP 
+.SS "EAPI int ecore_x_dpms_capable_get (void)"
+.PP
+Checks if the X server is capable of DPMS. 
+.PP
+\fBReturns:\fP
+.RS 4
+\fC1\fP if the X server is capable of DPMS, \fC0\fP otherwise. 
+.RE
+.PP
+
+.SS "EAPI int ecore_x_dpms_enable_get (void)"
+.PP
+Checks the DPMS state of the display. 
+.PP
+\fBReturns:\fP
+.RS 4
+\fC1\fP if DPMS is enabled, \fC0\fP otherwise.
+.RE
+.PP
+To use this function, you must call before, and in order, ecore_x_dpms_enapable_get_prefetch(), which sends the DPMSInfo request, then ecore_x_dpms_enapable_get_fetch(), which gets the reply. 
+.SS "EAPI int ecore_x_dpms_enabled_get (void)"
+.PP
+Checks the DPMS state of the display. 
+.PP
+\fBReturns:\fP
+.RS 4
+\fC1\fP if DPMS is enabled, \fC0\fP otherwise. 
+.RE
+.PP
+
+.SS "EAPI void ecore_x_dpms_enabled_set (int enabled)"
+.PP
+Sets the DPMS state of the display. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIenabled\fP \fC0\fP to disable DPMS characteristics of the server, enable it otherwise. 
+.RE
+.PP
+
+.SS "EAPI int ecore_x_dpms_query (void)"
+.PP
+Checks if the DPMS extension is available or not. 
+.PP
+\fBReturns:\fP
+.RS 4
+\fC1\fP if the X DPMS extension is available, \fC0\fP otherwise. 
+.RE
+.PP
+
+.SS "EAPI unsigned int ecore_x_dpms_timeout_off_get (void)"
+.PP
+Returns the amount of time of inactivity before the third and final level of power saving is invoked. 
+.PP
+\fBReturns:\fP
+.RS 4
+The off timeout value. 
+.RE
+.PP
+
+.SS "EAPI void ecore_x_dpms_timeout_off_set (unsigned int new_off)"
+.PP
+Sets the off timeout (in unit of seconds). 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIoff\fP Amount of time of inactivity before the monitor is shut off. 
+.RE
+.PP
+
+.SS "EAPI unsigned int ecore_x_dpms_timeout_standby_get (void)"
+.PP
+Returns the amount of time of inactivity before standby mode is invoked. 
+.PP
+\fBReturns:\fP
+.RS 4
+The standby timeout value. 
+.RE
+.PP
+
+.SS "EAPI void ecore_x_dpms_timeout_standby_set (unsigned int new_standby)"
+.PP
+Sets the standby timeout (in unit of seconds). 
+.PP
+\fBParameters:\fP
+.RS 4
+\fInew_standby\fP Amount of time of inactivity before standby mode will be invoked. 
+.RE
+.PP
+
+.SS "EAPI unsigned int ecore_x_dpms_timeout_suspend_get (void)"
+.PP
+Returns the amount of time of inactivity before the second level of power saving is invoked. 
+.PP
+\fBReturns:\fP
+.RS 4
+The suspend timeout value. 
+.RE
+.PP
+
+.SS "EAPI void ecore_x_dpms_timeout_suspend_set (unsigned int new_suspend)"
+.PP
+Sets the suspend timeout (in unit of seconds). 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIsuspend\fP Amount of time of inactivity before the screen is placed into suspend mode. 
+.RE
+.PP
+
+.SS "EAPI void ecore_x_dpms_timeouts_get (unsigned int * standby, unsigned int * suspend, unsigned int * off)"
+.PP
+Gets the timeouts. 
+.PP
+The values are in unit of seconds. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIstandby\fP Amount of time of inactivity before standby mode will be invoked. 
+.br
+\fIsuspend\fP Amount of time of inactivity before the screen is placed into suspend mode. 
+.br
+\fIoff\fP Amount of time of inactivity before the monitor is shut off. 
+.RE
+.PP
+
+.SS "EAPI int ecore_x_dpms_timeouts_set (unsigned int standby, unsigned int suspend, unsigned int off)"
+.PP
+Sets the timeouts. 
+.PP
+The values are in unit of seconds. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIstandby\fP Amount of time of inactivity before standby mode will be invoked. 
+.br
+\fIsuspend\fP Amount of time of inactivity before the screen is placed into suspend mode. 
+.br
+\fIoff\fP Amount of time of inactivity before the monitor is shut off. 
+.RE
+.PP
+
diff --git a/doc/man/man3/Ecore_X_Damage_Group.3 b/doc/man/man3/Ecore_X_Damage_Group.3
new file mode 100644
index 0000000..9ee39ee
--- /dev/null
+++ b/doc/man/man3/Ecore_X_Damage_Group.3
@@ -0,0 +1,84 @@
+.TH "X Damage Extension Functions" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+X Damage Extension Functions \- Functions related to the X Damage extension.  
+
+.PP
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI int \fBecore_x_damage_query\fP (void)"
+.br
+.RI "\fIReturn whether the Damage Extension is available. \fP"
+.ti -1c
+.RI "EAPI Ecore_X_Damage \fBecore_x_damage_new\fP (Ecore_X_Drawable drawable, Ecore_X_Damage_Report_Level level)"
+.br
+.RI "\fICreates a damage object. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_damage_del\fP (Ecore_X_Damage damage)"
+.br
+.RI "\fIDestroys a damage object. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_damage_subtract\fP (Ecore_X_Damage damage, Ecore_X_Region repair, Ecore_X_Region parts)"
+.br
+.RI "\fISynchronously modifies the region. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Functions related to the X Damage extension. 
+.PP
+.SH "Function Documentation"
+.PP 
+.SS "EAPI void ecore_x_damage_del (Ecore_X_Damage damage)"
+.PP
+Destroys a damage object. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIdamage\fP The damage object to destroy.
+.RE
+.PP
+Destroys the damage object \fCdamage\fP. 
+.SS "EAPI Ecore_X_Damage ecore_x_damage_new (Ecore_X_Drawable drawable, Ecore_X_Damage_Report_Level level)"
+.PP
+Creates a damage object. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIdrawable\fP The drawable to monotor. 
+.br
+\fIlevel\fP The level of the damage report. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The damage object.
+.RE
+.PP
+Creates a damage object to monitor changes to \fCdrawable\fP, with the level \fClevel\fP. 
+.SS "EAPI int ecore_x_damage_query (void)"
+.PP
+Return whether the Damage Extension is available. 
+.PP
+\fBReturns:\fP
+.RS 4
+1 if the Damage Extension is available, 0 if not.
+.RE
+.PP
+Return 1 if the X server supports the Damage Extension version 1.0, 0 otherwise. 
+.SS "EAPI void ecore_x_damage_subtract (Ecore_X_Damage damage, Ecore_X_Region repair, Ecore_X_Region parts)"
+.PP
+Synchronously modifies the region. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIdamage\fP The damage object to destroy. 
+.br
+\fIrepair\fP The repair region. 
+.br
+\fIparts\fP The parts region.
+.RE
+.PP
+Synchronously modifies the regions in the following manner: If \fCrepair\fP is \fCXCB_NONE:\fP 1) parts = damage 2) damage = <empty> Otherwise: 1) parts = damage INTERSECT repair 2) damage = damage - parts 3) Generate DamageNotify for remaining damage areas 
diff --git a/doc/man/man3/Ecore_X_Display_Attr_Group.3 b/doc/man/man3/Ecore_X_Display_Attr_Group.3
new file mode 100644
index 0000000..5564ab7
--- /dev/null
+++ b/doc/man/man3/Ecore_X_Display_Attr_Group.3
@@ -0,0 +1,77 @@
+.TH "X Display Attributes" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+X Display Attributes \- Functions that set and retrieve X display attributes.  
+
+.PP
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI Ecore_X_Display * \fBecore_x_display_get\fP (void)"
+.br
+.RI "\fIRetrieves the Ecore_X_Display handle used for the current X connection. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_fd_get\fP (void)"
+.br
+.RI "\fIRetrieves the X display file descriptor. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_double_click_time_set\fP (double t)"
+.br
+.RI "\fISets the timeout for a double and triple clicks to be flagged. \fP"
+.ti -1c
+.RI "EAPI double \fBecore_x_double_click_time_get\fP (void)"
+.br
+.RI "\fIRetrieves the double and triple click flag timeout. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Functions that set and retrieve X display attributes. 
+.PP
+.SH "Function Documentation"
+.PP 
+.SS "EAPI Ecore_X_Display* ecore_x_display_get (void)"
+.PP
+Retrieves the Ecore_X_Display handle used for the current X connection. 
+.PP
+\fBReturns:\fP
+.RS 4
+The current X display. 
+.RE
+.PP
+
+.SS "EAPI double ecore_x_double_click_time_get (void)"
+.PP
+Retrieves the double and triple click flag timeout. 
+.PP
+See \fBecore_x_double_click_time_set\fP for more information.
+.PP
+\fBReturns:\fP
+.RS 4
+The timeout for double clicks in seconds. 
+.RE
+.PP
+
+.SS "EAPI void ecore_x_double_click_time_set (double t)"
+.PP
+Sets the timeout for a double and triple clicks to be flagged. 
+.PP
+This sets the time between clicks before the double_click flag is set in a button down event. If 3 clicks occur within double this time, the triple_click flag is also set.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIt\fP The time in seconds 
+.RE
+.PP
+
+.SS "EAPI int ecore_x_fd_get (void)"
+.PP
+Retrieves the X display file descriptor. 
+.PP
+\fBReturns:\fP
+.RS 4
+The current X display file descriptor. 
+.RE
+.PP
+
diff --git a/doc/man/man3/Ecore_X_Drawable_Group.3 b/doc/man/man3/Ecore_X_Drawable_Group.3
new file mode 100644
index 0000000..c1b52d9
--- /dev/null
+++ b/doc/man/man3/Ecore_X_Drawable_Group.3
@@ -0,0 +1,155 @@
+.TH "X Drawable Functions" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+X Drawable Functions \- Functions that operate on drawables.  
+
+.PP
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI void \fBecore_x_drawable_geometry_get\fP (Ecore_X_Drawable d, int *x, int *y, int *w, int *h)"
+.br
+.RI "\fIRetrieves the geometry of the given drawable. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_drawable_border_width_get\fP (Ecore_X_Drawable d)"
+.br
+.RI "\fIRetrieves the width of the border of the given drawable. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_drawable_depth_get\fP (Ecore_X_Drawable d)"
+.br
+.RI "\fIRetrieves the depth of the given drawable. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_drawable_geometry_get_prefetch\fP (Ecore_X_Drawable drawable)"
+.br
+.RI "\fISends the GetGeometry request. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_drawable_geometry_get_fetch\fP (void)"
+.br
+.RI "\fIGets the reply of the GetGeometry request sent by \fBecore_x_atom_get_prefetch()\fP. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_drawable_geometry_get\fP (Ecore_X_Drawable drawable __UNUSED__, int *x, int *y, int *width, int *height)"
+.br
+.RI "\fIRetrieves the geometry of the given drawable. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_drawable_border_width_get\fP (Ecore_X_Drawable drawable __UNUSED__)"
+.br
+.RI "\fIRetrieves the width of the border of the given drawable. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_drawable_depth_get\fP (Ecore_X_Drawable drawable __UNUSED__)"
+.br
+.RI "\fIRetrieves the depth of the given drawable. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Functions that operate on drawables. 
+.PP
+.SH "Function Documentation"
+.PP 
+.SS "EAPI int ecore_x_drawable_border_width_get (Ecore_X_Drawable drawable __UNUSED__)"
+.PP
+Retrieves the width of the border of the given drawable. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIdrawable\fP Unused. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The border width of the given drawable.
+.RE
+.PP
+To use this function, you must call before, and in order, \fBecore_x_drawable_geometry_get_prefetch()\fP, which sends the GetGeometry request, then \fBecore_x_drawable_geometry_get_fetch()\fP, which gets the reply. 
+.SS "EAPI int ecore_x_drawable_border_width_get (Ecore_X_Drawable d)"
+.PP
+Retrieves the width of the border of the given drawable. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fId\fP The given drawable. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The border width of the given drawable. 
+.RE
+.PP
+
+.SS "EAPI int ecore_x_drawable_depth_get (Ecore_X_Drawable drawable __UNUSED__)"
+.PP
+Retrieves the depth of the given drawable. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIdrawable\fP Unused. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The depth of the given drawable.
+.RE
+.PP
+To use this function, you must call before, and in order, \fBecore_x_drawable_geometry_get_prefetch()\fP, which sends the GetGeometry request, then \fBecore_x_drawable_geometry_get_fetch()\fP, which gets the reply. 
+.SS "EAPI int ecore_x_drawable_depth_get (Ecore_X_Drawable d)"
+.PP
+Retrieves the depth of the given drawable. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fId\fP The given drawable. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The depth of the given drawable. 
+.RE
+.PP
+
+.SS "EAPI void ecore_x_drawable_geometry_get (Ecore_X_Drawable drawable __UNUSED__, int * x, int * y, int * width, int * height)"
+.PP
+Retrieves the geometry of the given drawable. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIdrawable\fP Unused. 
+.br
+\fIx\fP Pointer to an integer into which the X position is to be stored. 
+.br
+\fIy\fP Pointer to an integer into which the Y position is to be stored. 
+.br
+\fIwidth\fP Pointer to an integer into which the width is to be stored. 
+.br
+\fIheight\fP Pointer to an integer into which the height is to be stored.
+.RE
+.PP
+To use this function, you must call before, and in order, \fBecore_x_drawable_geometry_get_prefetch()\fP, which sends the GetGeometry request, then \fBecore_x_drawable_geometry_get_fetch()\fP, which gets the reply. 
+.SS "EAPI void ecore_x_drawable_geometry_get (Ecore_X_Drawable d, int * x, int * y, int * w, int * h)"
+.PP
+Retrieves the geometry of the given drawable. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fId\fP The given drawable. 
+.br
+\fIx\fP Pointer to an integer into which the X position is to be stored. 
+.br
+\fIy\fP Pointer to an integer into which the Y position is to be stored. 
+.br
+\fIw\fP Pointer to an integer into which the width is to be stored. 
+.br
+\fIh\fP Pointer to an integer into which the height is to be stored. 
+.RE
+.PP
+
+.SS "EAPI void ecore_x_drawable_geometry_get_prefetch (Ecore_X_Drawable drawable)"
+.PP
+Sends the GetGeometry request. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIdrawable\fP Drawable whose characteristics are sought. 
+.RE
+.PP
+
diff --git a/doc/man/man3/Ecore_X_Fixes_Group.3 b/doc/man/man3/Ecore_X_Fixes_Group.3
new file mode 100644
index 0000000..b4ad4ed
--- /dev/null
+++ b/doc/man/man3/Ecore_X_Fixes_Group.3
@@ -0,0 +1,413 @@
+.TH "X Fixes Extension Functions" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+X Fixes Extension Functions \- Functions related to the X Fixes extension.  
+
+.PP
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI int \fBecore_x_xfixes_query\fP (void)"
+.br
+.RI "\fIReturn whether the X server supports the Fixes Extension. \fP"
+.ti -1c
+.RI "EAPI Ecore_X_Region \fBecore_x_region_new\fP (Ecore_X_Rectangle *rects, int num)"
+.br
+.RI "\fICreate a region from rectangles. \fP"
+.ti -1c
+.RI "EAPI Ecore_X_Region \fBecore_x_region_new_from_bitmap\fP (Ecore_X_Pixmap bitmap)"
+.br
+.RI "\fICreate a region from a pixmap. \fP"
+.ti -1c
+.RI "EAPI Ecore_X_Region \fBecore_x_region_new_from_window\fP (Ecore_X_Window window, Ecore_X_Region_Type type)"
+.br
+.RI "\fICreate a region from a window. \fP"
+.ti -1c
+.RI "EAPI Ecore_X_Region \fBecore_x_region_new_from_gc\fP (Ecore_X_GC gc)"
+.br
+.RI "\fICreate a region from a graphic context. \fP"
+.ti -1c
+.RI "EAPI Ecore_X_Region \fBecore_x_region_new_from_picture\fP (Ecore_X_Picture picture)"
+.br
+.RI "\fICreate a region from a picture. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_region_del\fP (Ecore_X_Region region)"
+.br
+.RI "\fIDestroy a region. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_region_set\fP (Ecore_X_Region region, Ecore_X_Rectangle *rects, int num)"
+.br
+.RI "\fISet the content of a region. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_region_copy\fP (Ecore_X_Region dest, Ecore_X_Region source)"
+.br
+.RI "\fICopy the content of a region. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_region_combine\fP (Ecore_X_Region dest, Ecore_X_Region source1, Ecore_X_Region source2)"
+.br
+.RI "\fIMake the union of two regions. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_region_intersect\fP (Ecore_X_Region dest, Ecore_X_Region source1, Ecore_X_Region source2)"
+.br
+.RI "\fIMake the intersection of two regions. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_region_subtract\fP (Ecore_X_Region dest, Ecore_X_Region source1, Ecore_X_Region source2)"
+.br
+.RI "\fIMake the substraction of two regions. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_region_invert\fP (Ecore_X_Region dest, Ecore_X_Rectangle *bounds, Ecore_X_Region source)"
+.br
+.RI "\fIMake the substraction of regions by bounds. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_region_translate\fP (Ecore_X_Region region, int dx, int dy)"
+.br
+.RI "\fITranslate a region. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_region_extents\fP (Ecore_X_Region dest, Ecore_X_Region source)"
+.br
+.RI "\fIExtent a region. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_region_fetch_prefetch\fP (Ecore_X_Region region)"
+.br
+.RI "\fISends the XFixesFetchRegion request. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_region_fetch_fetch\fP (void)"
+.br
+.RI "\fIGets the reply of the XFixesFetchRegion request sent by ecore_xcb_region_fetch_prefetch(). \fP"
+.ti -1c
+.RI "EAPI Ecore_X_Rectangle * \fBecore_x_region_fetch\fP (Ecore_X_Region region __UNUSED__, int *num, Ecore_X_Rectangle *bounds)"
+.br
+.RI "\fIReturn the rectangles that compose a region. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_region_expand\fP (Ecore_X_Region dest, Ecore_X_Region source, unsigned int left, unsigned int right, unsigned int top, unsigned int bottom)"
+.br
+.RI "\fIExpand a region. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_region_gc_clip_set\fP (Ecore_X_Region region, Ecore_X_GC gc, int x_origin, int y_origin)"
+.br
+.RI "\fIChange clip-mask in a graphic context to the specified region. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_region_window_shape_set\fP (Ecore_X_Region region, Ecore_X_Window dest, Ecore_X_Shape_Type type, int x_offset, int y_offset)"
+.br
+.RI "\fIChange the shape extension of a window. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_region_picture_clip_set\fP (Ecore_X_Region region, Ecore_X_Picture picture, int x_origin, int y_origin)"
+.br
+.RI "\fIChange clip-mask in picture to the specified region. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Functions related to the X Fixes extension. 
+.PP
+.SH "Function Documentation"
+.PP 
+.SS "EAPI void ecore_x_region_combine (Ecore_X_Region dest, Ecore_X_Region source1, Ecore_X_Region source2)"
+.PP
+Make the union of two regions. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIdest\fP The destination region. 
+.br
+\fIsource1\fP The first source region. 
+.br
+\fIsource2\fP The second source region.
+.RE
+.PP
+Replace the contents of \fCdest\fP with the union of \fCsource1\fP and \fCsource2\fP. 
+.SS "EAPI void ecore_x_region_copy (Ecore_X_Region dest, Ecore_X_Region source)"
+.PP
+Copy the content of a region. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIdest\fP The destination region. 
+.br
+\fIsource\fP The source region.
+.RE
+.PP
+Replace the contents of \fCdest\fP with the contents of \fCsource\fP. 
+.SS "EAPI void ecore_x_region_del (Ecore_X_Region region)"
+.PP
+Destroy a region. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIregion\fP The region to destroy.
+.RE
+.PP
+Destroy the specified \fCregion\fP. 
+.SS "EAPI void ecore_x_region_expand (Ecore_X_Region dest, Ecore_X_Region source, unsigned int left, unsigned int right, unsigned int top, unsigned int bottom)"
+.PP
+Expand a region. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIdest\fP The destination region. 
+.br
+\fIsource\fP The source region. 
+.br
+\fIleft\fP The number of pixels to add on the left. 
+.br
+\fIright\fP The number of pixels to add on the right. 
+.br
+\fItop\fP The number of pixels to add at the top. 
+.br
+\fIbottom\fP The number of pixels to add at the bottom.
+.RE
+.PP
+Put in \fCdest\fP the area specified by expanding each rectangle in the \fCsource\fP region by the specified number of pixels to the \fCleft\fP, \fCright\fP, \fCtop\fP and \fCbottom\fP. 
+.SS "EAPI void ecore_x_region_extents (Ecore_X_Region dest, Ecore_X_Region source)"
+.PP
+Extent a region. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIdest\fP The destination region. 
+.br
+\fIsource\fP The source region.
+.RE
+.PP
+The extents of the \fCsource\fP region are placed in \fCdest\fP. 
+.SS "EAPI Ecore_X_Rectangle* ecore_x_region_fetch (Ecore_X_Region region __UNUSED__, int * num, Ecore_X_Rectangle * bounds)"
+.PP
+Return the rectangles that compose a region. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIregion\fP The region (Unused). 
+.br
+\fInum\fP The number of returned rectangles. 
+.br
+\fIbounds\fP The returned bounds of the region. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The returned rectangles.
+.RE
+.PP
+The \fCregion\fP passed to ecore_xcb_region_fetch_prefetch() is returned as a list of rectagles in XY-banded order.
+.PP
+To use this function, you must call before, and in order, ecore_xcb_region_fetch_prefetch(), which sends the XFixesFetchRegion request, then ecore_xcb_region_fetch_fetch(), which gets the reply. 
+.SS "EAPI void ecore_x_region_fetch_prefetch (Ecore_X_Region region)"
+.PP
+Sends the XFixesFetchRegion request. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIregion\fP Requested region. 
+.RE
+.PP
+
+.SS "EAPI void ecore_x_region_gc_clip_set (Ecore_X_Region region, Ecore_X_GC gc, int x_origin, int y_origin)"
+.PP
+Change clip-mask in a graphic context to the specified region. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIregion\fP The region to change. 
+.br
+\fIgc\fP The clip-mask graphic context. 
+.br
+\fIx_origin\fP The horizontal translation. 
+.br
+\fIy_origin\fP The vertical translation.
+.RE
+.PP
+Changes clip-mask in \fCgc\fP to the specified \fCregion\fP and sets the clip origin with the values of \fCx_origin\fP and \fCy_origin\fP. Output will be clippped to remain contained within the region. The clip origin is interpreted relative to the origin of whatever destination drawable is specified in a graphics request. The region is interpreted relative to the clip origin. Future changes to region have no effect on the gc clip-mask. 
+.SS "EAPI void ecore_x_region_intersect (Ecore_X_Region dest, Ecore_X_Region source1, Ecore_X_Region source2)"
+.PP
+Make the intersection of two regions. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIdest\fP The destination region. 
+.br
+\fIsource1\fP The first source region. 
+.br
+\fIsource2\fP The second source region.
+.RE
+.PP
+Replace the contents of \fCdest\fP with the intersection of \fCsource1\fP and \fCsource2\fP. 
+.SS "EAPI void ecore_x_region_invert (Ecore_X_Region dest, Ecore_X_Rectangle * bounds, Ecore_X_Region source)"
+.PP
+Make the substraction of regions by bounds. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIdest\fP The destination region. 
+.br
+\fIbounds\fP The bounds. 
+.br
+\fIsource\fP The source region.
+.RE
+.PP
+The \fCsource\fP region is subtracted from the region specified by \fCbounds\fP. The result is placed in \fCdest\fP, replacing its contents. 
+.SS "EAPI Ecore_X_Region ecore_x_region_new (Ecore_X_Rectangle * rects, int num)"
+.PP
+Create a region from rectangles. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIrects\fP The rectangles used to initialize the region. 
+.br
+\fInum\fP The number of rectangles. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The newly created region.
+.RE
+.PP
+Create a region initialized to the specified list of rectangles \fCrects\fP. The rectangles may be specified in any order, their union becomes the region. 
+.SS "EAPI Ecore_X_Region ecore_x_region_new_from_bitmap (Ecore_X_Pixmap bitmap)"
+.PP
+Create a region from a pixmap. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIbitmap\fP The bitmap used to initialize the region. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The newly created region.
+.RE
+.PP
+Creates a region initialized to the set of 'one' pixels in \fCbitmap\fP (which must be of depth 1, else Match error). 
+.SS "EAPI Ecore_X_Region ecore_x_region_new_from_gc (Ecore_X_GC gc)"
+.PP
+Create a region from a graphic context. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIgc\fP The graphic context used to initialize the region. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The newly created region.
+.RE
+.PP
+Creates a region initialized from the clip list of \fCgc\fP. 
+.SS "EAPI Ecore_X_Region ecore_x_region_new_from_picture (Ecore_X_Picture picture)"
+.PP
+Create a region from a picture. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIpicture\fP The picture used to initialize the region. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The newly created region.
+.RE
+.PP
+Creates a region initialized from the clip list of \fCpicture\fP. 
+.SS "EAPI Ecore_X_Region ecore_x_region_new_from_window (Ecore_X_Window window, Ecore_X_Region_Type type)"
+.PP
+Create a region from a window. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window used to initialize the region. 
+.br
+\fItype\fP The type of the region. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The newly created region.
+.RE
+.PP
+Creates a region initialized to the specified \fCwindow\fP region. See the Shape extension for the definition of Bounding and Clip regions. 
+.SS "EAPI void ecore_x_region_picture_clip_set (Ecore_X_Region region, Ecore_X_Picture picture, int x_origin, int y_origin)"
+.PP
+Change clip-mask in picture to the specified region. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIregion\fP The region. 
+.br
+\fIpicture\fP The picture. 
+.br
+\fIx_origin\fP The X coordinate of the origin. 
+.br
+\fIy_origin\fP The Y coordinate of the origin.
+.RE
+.PP
+Changes clip-mask in picture to the specified \fCregion\fP and sets the clip origin. Input and output will be clipped to remain contained within the region. The clip origin is interpreted relative to the origin of the drawable associated with \fCpicture\fP. The region is interpreted relative to the clip origin. Future changes to region have no effect on the picture clip-mask. 
+.SS "EAPI void ecore_x_region_set (Ecore_X_Region region, Ecore_X_Rectangle * rects, int num)"
+.PP
+Set the content of a region. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIregion\fP The region to destroy. 
+.br
+\fIrects\fP The rectangles used to set the region. 
+.br
+\fInum\fP The number of rectangles.
+.RE
+.PP
+Replace the current contents of \fCregion\fP with the region formed by the union of the rectangles \fCrects\fP. 
+.SS "EAPI void ecore_x_region_subtract (Ecore_X_Region dest, Ecore_X_Region source1, Ecore_X_Region source2)"
+.PP
+Make the substraction of two regions. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIdest\fP The destination region. 
+.br
+\fIsource1\fP The first source region. 
+.br
+\fIsource2\fP The second source region.
+.RE
+.PP
+Replace the contents of \fCdest\fP with the substraction of \fCsource1\fP by \fCsource2\fP. 
+.SS "EAPI void ecore_x_region_translate (Ecore_X_Region region, int dx, int dy)"
+.PP
+Translate a region. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIregion\fP The region to translate. 
+.br
+\fIdx\fP The horizontal translation. 
+.br
+\fIdy\fP The vertical translation.
+.RE
+.PP
+The \fCregion\fP is translated by \fCdx\fP and \fCdy\fP in place. 
+.SS "EAPI void ecore_x_region_window_shape_set (Ecore_X_Region region, Ecore_X_Window dest, Ecore_X_Shape_Type type, int x_offset, int y_offset)"
+.PP
+Change the shape extension of a window. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIregion\fP The region. 
+.br
+\fIdest\fP The window whose shape is changed. 
+.br
+\fItype\fP The kind of shape. 
+.br
+\fIx_offset\fP The horizontal offset. 
+.br
+\fIy_offset\fP The vertical offset.
+.RE
+.PP
+Set the specified Shape extension region of \fCwindow\fP to \fCregion\fP, offset by \fCx_offset\fP and \fCy_offset\fP. Future changes to region have no effect on the window shape. 
+.SS "EAPI int ecore_x_xfixes_query (void)"
+.PP
+Return whether the X server supports the Fixes Extension. 
+.PP
+\fBReturns:\fP
+.RS 4
+1 if the X Fixes Extension is available, 0 otherwise.
+.RE
+.PP
+Return 1 if the X server supports the Fixes Extension version 3.0, 0 otherwise. 
diff --git a/doc/man/man3/Ecore_X_Flush_Group.3 b/doc/man/man3/Ecore_X_Flush_Group.3
new file mode 100644
index 0000000..7d86060
--- /dev/null
+++ b/doc/man/man3/Ecore_X_Flush_Group.3
@@ -0,0 +1,24 @@
+.TH "X Synchronization Functions" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+X Synchronization Functions \- Functions that ensure that all commands that have been issued by the Ecore X library have been sent to the server.  
+
+.PP
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI void \fBecore_x_flush\fP (void)"
+.br
+.RI "\fISends all X commands in the X Display buffer. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_sync\fP (void)"
+.br
+.RI "\fIFlushes the command buffer and waits until all requests have been processed by the server. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Functions that ensure that all commands that have been issued by the Ecore X library have been sent to the server. 
+.PP
+
diff --git a/doc/man/man3/Ecore_X_ICCCM_Group.3 b/doc/man/man3/Ecore_X_ICCCM_Group.3
new file mode 100644
index 0000000..fa59065
--- /dev/null
+++ b/doc/man/man3/Ecore_X_ICCCM_Group.3
@@ -0,0 +1,679 @@
+.TH "ICCCM related functions." 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+ICCCM related functions. \- Functions related to ICCCM.  
+
+.PP
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI void \fBecore_x_icccm_state_set\fP (Ecore_X_Window window, Ecore_X_Window_State_Hint state)"
+.br
+.RI "\fISets the state of a window. \fP"
+.ti -1c
+.RI "EAPI Ecore_X_Window_State_Hint \fBecore_x_icccm_state_get\fP (Ecore_X_Window window __UNUSED__)"
+.br
+.RI "\fIGets the state of a window. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_icccm_delete_window_send\fP (Ecore_X_Window window, Ecore_X_Time time)"
+.br
+.RI "\fISends the ClientMessage event with the DeleteWindow property. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_icccm_take_focus_send\fP (Ecore_X_Window window, Ecore_X_Time time)"
+.br
+.RI "\fISends the ClientMessage event with the TakeFocus property. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_icccm_save_yourself_send\fP (Ecore_X_Window window, Ecore_X_Time time)"
+.br
+.RI "\fISends the ClientMessage event with the SaveYourself property. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_icccm_move_resize_send\fP (Ecore_X_Window window, int x, int y, int width, int height)"
+.br
+.RI "\fISends the ConfigureNotify event with the StructureNotify property. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_icccm_hints_set\fP (Ecore_X_Window window, int accepts_focus, Ecore_X_Window_State_Hint initial_state, Ecore_X_Pixmap icon_pixmap, Ecore_X_Pixmap icon_mask, Ecore_X_Window icon_window, Ecore_X_Window window_group, int is_urgent)"
+.br
+.RI "\fISets the hints of a window. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_icccm_hints_get\fP (Ecore_X_Window window __UNUSED__, int *accepts_focus, Ecore_X_Window_State_Hint *initial_state, Ecore_X_Pixmap *icon_pixmap, Ecore_X_Pixmap *icon_mask, Ecore_X_Window *icon_window, Ecore_X_Window *window_group, int *is_urgent)"
+.br
+.RI "\fIGets the hints of a window. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_icccm_size_pos_hints_set\fP (Ecore_X_Window window, int request_pos, Ecore_X_Gravity gravity, int min_w, int min_h, int max_w, int max_h, int base_w, int base_h, int step_x, int step_y, double min_aspect, double max_aspect)"
+.br
+.RI "\fISets the hints of a window. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_icccm_size_pos_hints_get\fP (Ecore_X_Window window __UNUSED__, int *request_pos, Ecore_X_Gravity *gravity, int *min_w, int *min_h, int *max_w, int *max_h, int *base_w, int *base_h, int *step_x, int *step_y, double *min_aspect, double *max_aspect)"
+.br
+.RI "\fIGets the hints of a window. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_icccm_title_set\fP (Ecore_X_Window window, const char *title)"
+.br
+.RI "\fISet the title of a window. \fP"
+.ti -1c
+.RI "EAPI char * \fBecore_x_icccm_title_get\fP (Ecore_X_Window window __UNUSED__)"
+.br
+.RI "\fIGets the title of a window. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_icccm_protocol_set\fP (Ecore_X_Window window, Ecore_X_WM_Protocol protocol, int on)"
+.br
+.RI "\fISet or unset a wm protocol property. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_icccm_protocol_isset\fP (Ecore_X_Window window __UNUSED__, Ecore_X_WM_Protocol protocol)"
+.br
+.RI "\fIDetermines whether a protocol is set for a window. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_icccm_name_class_set\fP (Ecore_X_Window window, const char *name, const char *class)"
+.br
+.RI "\fISet a window name & class. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_icccm_name_class_get\fP (Ecore_X_Window window __UNUSED__, char **name, char **class)"
+.br
+.RI "\fIGet a window name and class. \fP"
+.ti -1c
+.RI "EAPI char * \fBecore_x_icccm_client_machine_get\fP (Ecore_X_Window window)"
+.br
+.RI "\fIGet a window client machine string. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_icccm_command_set\fP (Ecore_X_Window window, int argc, char **argv)"
+.br
+.RI "\fISets the WM_COMMAND property for \fIwin\fP. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_icccm_command_get\fP (Ecore_X_Window window __UNUSED__, int *argc, char ***argv)"
+.br
+.RI "\fIGet the WM_COMMAND property for a window. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_icccm_icon_name_set\fP (Ecore_X_Window window, const char *title)"
+.br
+.RI "\fISet a window icon name. \fP"
+.ti -1c
+.RI "EAPI char * \fBecore_x_icccm_icon_name_get\fP (Ecore_X_Window window __UNUSED__)"
+.br
+.RI "\fIGet a window icon name. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_icccm_colormap_window_set\fP (Ecore_X_Window window, Ecore_X_Window sub_window)"
+.br
+.RI "\fIAdd a subwindow to the list of windows that need a different colormap installed. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_icccm_colormap_window_unset\fP (Ecore_X_Window window, Ecore_X_Window sub_window)"
+.br
+.RI "\fIRemove a window from the list of colormap windows. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_icccm_transient_for_set\fP (Ecore_X_Window window, Ecore_X_Window forwindow)"
+.br
+.RI "\fISpecify that a window is transient for another top-level window and should be handled accordingly. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_icccm_transient_for_unset\fP (Ecore_X_Window window)"
+.br
+.RI "\fIRemove the transient_for setting from a window. \fP"
+.ti -1c
+.RI "EAPI Ecore_X_Window \fBecore_x_icccm_transient_for_get\fP (Ecore_X_Window window __UNUSED__)"
+.br
+.RI "\fIGet the window this window is transient for, if any. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_icccm_window_role_set\fP (Ecore_X_Window window, const char *role)"
+.br
+.RI "\fISet the window role hint. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_icccm_window_role_get_prefetch\fP (Ecore_X_Window window)"
+.br
+.RI "\fISends the GetProperty request. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_icccm_window_role_get_fetch\fP (void)"
+.br
+.RI "\fIGets the reply of the GetProperty request sent by \fBecore_x_icccm_window_role_get_prefetch()\fP. \fP"
+.ti -1c
+.RI "EAPI char * \fBecore_x_icccm_window_role_get\fP (Ecore_X_Window window)"
+.br
+.RI "\fIGet the window role. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_icccm_client_leader_set\fP (Ecore_X_Window window, Ecore_X_Window leader)"
+.br
+.RI "\fISet the window's client leader. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_icccm_client_leader_get_prefetch\fP (Ecore_X_Window window)"
+.br
+.RI "\fISends the GetProperty request. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_icccm_client_leader_get_fetch\fP (void)"
+.br
+.RI "\fIGets the reply of the GetProperty request sent by \fBecore_x_icccm_client_leader_get_prefetch()\fP. \fP"
+.ti -1c
+.RI "EAPI Ecore_X_Window \fBecore_x_icccm_client_leader_get\fP (Ecore_X_Window window)"
+.br
+.RI "\fIGet the window's client leader. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_icccm_iconic_request_send\fP (Ecore_X_Window window, Ecore_X_Window root)"
+.br
+.RI "\fISend the ClientMessage event with the ChangeState property. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Functions related to ICCCM. 
+.PP
+.SH "Function Documentation"
+.PP 
+.SS "EAPI Ecore_X_Window ecore_x_icccm_client_leader_get (Ecore_X_Window window)"
+.PP
+Get the window's client leader. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The window's client leader window, or 0 if unset.
+.RE
+.PP
+To use this function, you must call before, and in order, \fBecore_x_icccm_client_leader_get_prefetch()\fP, which sends the GetProperty request, then \fBecore_x_icccm_client_leader_get_fetch()\fP, which gets the reply. 
+.SS "EAPI void ecore_x_icccm_client_leader_get_prefetch (Ecore_X_Window window)"
+.PP
+Sends the GetProperty request. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP Window whose properties are requested. 
+.RE
+.PP
+
+.SS "EAPI void ecore_x_icccm_client_leader_set (Ecore_X_Window window, Ecore_X_Window leader)"
+.PP
+Set the window's client leader. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window 
+.br
+\fIleader\fP The client leader window
+.RE
+.PP
+All non-transient top-level windows created by an app other than the main window must have this property set to the app's main window. 
+.SS "EAPI char* ecore_x_icccm_client_machine_get (Ecore_X_Window window)"
+.PP
+Get a window client machine string. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The windows client machine string
+.RE
+.PP
+Return the client machine of a window. String must be free'd when done with.
+.PP
+To use this function, you must call before, and in order, ecore_x_icccm_client_machine_get_prefetch(), which sends the GetProperty request, then ecore_x_icccm_client_machine_get_fetch(), which gets the reply. 
+.SS "EAPI void ecore_x_icccm_colormap_window_set (Ecore_X_Window window, Ecore_X_Window sub_window)"
+.PP
+Add a subwindow to the list of windows that need a different colormap installed. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The toplevel window 
+.br
+\fIsub_window\fP The subwindow to be added to the colormap windows list
+.RE
+.PP
+Add \fCsub_window\fP to the list of windows that need a different colormap installed.
+.PP
+To use this function, you must call before, and in order, ecore_x_icccm_colormap_window_get_prefetch(), which sends the GetProperty request, then ecore_x_icccm_colormap_window_get_fetch(), which gets the reply. 
+.SS "EAPI void ecore_x_icccm_colormap_window_unset (Ecore_X_Window window, Ecore_X_Window sub_window)"
+.PP
+Remove a window from the list of colormap windows. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The toplevel window 
+.br
+\fIsub_window\fP The window to be removed from the colormap window list.
+.RE
+.PP
+Remove \fCsub_window\fP from the list of colormap windows.
+.PP
+To use this function, you must call before, and in order, ecore_x_icccm_colormap_window_get_prefetch(), which sends the GetProperty request, then ecore_x_icccm_colormap_window_get_fetch(), which gets the reply. 
+.SS "EAPI void ecore_x_icccm_command_get (Ecore_X_Window window __UNUSED__, int * argc, char *** argv)"
+.PP
+Get the WM_COMMAND property for a window. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwin\fP The window. 
+.br
+\fIargc\fP Number of arguments. 
+.br
+\fIargv\fP Arguments.
+.RE
+.PP
+Return the command of \fCwindow\fP and store it in \fCargv\fP. \fCargc\fP contains the number of arguments. String must be free'd when done with.
+.PP
+To use this function, you must call before, and in order, ecore_x_icccm_command_get_prefetch(), which sends the GetProperty request, then ecore_x_icccm_command_get_fetch(), which gets the reply. 
+.SS "EAPI void ecore_x_icccm_command_set (Ecore_X_Window window, int argc, char ** argv)"
+.PP
+Sets the WM_COMMAND property for \fIwin\fP. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window. 
+.br
+\fIargc\fP Number of arguments. 
+.br
+\fIargv\fP Arguments. 
+.RE
+.PP
+
+.SS "EAPI void ecore_x_icccm_delete_window_send (Ecore_X_Window window, Ecore_X_Time time)"
+.PP
+Sends the ClientMessage event with the DeleteWindow property. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window. 
+.br
+\fItime\fP The time. 
+.RE
+.PP
+
+.SS "EAPI int ecore_x_icccm_hints_get (Ecore_X_Window window __UNUSED__, int * accepts_focus, Ecore_X_Window_State_Hint * initial_state, Ecore_X_Pixmap * icon_pixmap, Ecore_X_Pixmap * icon_mask, Ecore_X_Window * icon_window, Ecore_X_Window * window_group, int * is_urgent)"
+.PP
+Gets the hints of a window. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window. 
+.br
+\fIaccepts_focus\fP AcceptFocus hint 
+.br
+\fIinitial_state\fP Initial state flags. 
+.br
+\fIicon_pixmap\fP Icon pixmap. 
+.br
+\fIicon_mask\fP Icon mask. 
+.br
+\fIicon_window\fP Icon window. 
+.br
+\fIwindow_group\fP Group window. 
+.br
+\fIis_urgent\fP IsUrgent flag. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+1 on success, 0 otherwise.
+.RE
+.PP
+To use this function, you must call before, and in order, ecore_x_icccm_hints_get_prefetch(), which sends the GetProperty request, then ecore_x_icccm_hints_get_fetch(), which gets the reply. 
+.SS "EAPI void ecore_x_icccm_hints_set (Ecore_X_Window window, int accepts_focus, Ecore_X_Window_State_Hint initial_state, Ecore_X_Pixmap icon_pixmap, Ecore_X_Pixmap icon_mask, Ecore_X_Window icon_window, Ecore_X_Window window_group, int is_urgent)"
+.PP
+Sets the hints of a window. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window. 
+.br
+\fIaccepts_focus\fP AcceptFocus hint 
+.br
+\fIinitial_state\fP Initial state flags. 
+.br
+\fIicon_pixmap\fP Icon pixmap. 
+.br
+\fIicon_mask\fP Icon mask. 
+.br
+\fIicon_window\fP Icon window. 
+.br
+\fIwindow_group\fP Group window. 
+.br
+\fIis_urgent\fP IsUrgent flag. 
+.RE
+.PP
+
+.SS "EAPI char* ecore_x_icccm_icon_name_get (Ecore_X_Window window __UNUSED__)"
+.PP
+Get a window icon name. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The windows icon name string.
+.RE
+.PP
+Return the icon name of \fCwindow\fP. String must be free'd when done with.
+.PP
+To use this function, you must call before, and in order, ecore_x_icccm_icon_name_get_prefetch(), which sends the GetProperty request, then ecore_x_icccm_icon_name_get_fetch(), which gets the reply. 
+.SS "EAPI void ecore_x_icccm_icon_name_set (Ecore_X_Window window, const char * title)"
+.PP
+Set a window icon name. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window. 
+.br
+\fItitle\fP The icon name string.
+.RE
+.PP
+Set \fCwindow\fP icon name. 
+.SS "EAPI void ecore_x_icccm_iconic_request_send (Ecore_X_Window window, Ecore_X_Window root)"
+.PP
+Send the ClientMessage event with the ChangeState property. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window. 
+.br
+\fIroot\fP The root window. 
+.RE
+.PP
+
+.SS "EAPI void ecore_x_icccm_move_resize_send (Ecore_X_Window window, int x, int y, int width, int height)"
+.PP
+Sends the ConfigureNotify event with the StructureNotify property. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window. 
+.br
+\fIx\fP The X coordinate. 
+.br
+\fIy\fP The Y coordinate. 
+.br
+\fIwidth\fP The width. 
+.br
+\fIheight\fP The height. 
+.RE
+.PP
+
+.SS "EAPI void ecore_x_icccm_name_class_get (Ecore_X_Window window __UNUSED__, char ** name, char ** class)"
+.PP
+Get a window name and class. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window (Unused). 
+.br
+\fIname\fP The name string. 
+.br
+\fIclass\fP The class string.
+.RE
+.PP
+Store the name and class of \fCwindow\fP into respectively \fCname\fP and \fCclass\fP.
+.PP
+To use this function, you must call before, and in order, ecore_x_icccm_name_class_get_prefetch(), which sends the GetProperty request, then ecore_x_icccm_name_class_get_fetch(), which gets the reply. 
+.SS "EAPI void ecore_x_icccm_name_class_set (Ecore_X_Window window, const char * name, const char * class)"
+.PP
+Set a window name & class. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window 
+.br
+\fIname\fP The name string 
+.br
+\fIclass\fP The class string
+.RE
+.PP
+Set the name and class of \fCwindow\fP to respectively \fCname\fP and \fCclass\fP. 
+.SS "EAPI int ecore_x_icccm_protocol_isset (Ecore_X_Window window __UNUSED__, Ecore_X_WM_Protocol protocol)"
+.PP
+Determines whether a protocol is set for a window. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The Window (Unused). 
+.br
+\fIprotocol\fP The protocol to query. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+1 if the protocol is set, else 0.
+.RE
+.PP
+To use this function, you must call before, and in order, ecore_x_icccm_protocol_get_prefetch(), which sends the GetProperty request, then ecore_x_icccm_protocol_get_fetch(), which gets the reply. 
+.SS "EAPI void ecore_x_icccm_protocol_set (Ecore_X_Window window, Ecore_X_WM_Protocol protocol, int on)"
+.PP
+Set or unset a wm protocol property. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The Window 
+.br
+\fIprotocol\fP The protocol to enable/disable 
+.br
+\fIon\fP On/Off
+.RE
+.PP
+To use this function, you must call before, and in order, ecore_x_icccm_protocol_get_prefetch(), which sends the GetProperty request, then ecore_x_icccm_protocol_get_fetch(), which gets the reply. 
+.SS "EAPI void ecore_x_icccm_save_yourself_send (Ecore_X_Window window, Ecore_X_Time time)"
+.PP
+Sends the ClientMessage event with the SaveYourself property. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window. 
+.br
+\fItime\fP The time. 
+.RE
+.PP
+
+.SS "EAPI int ecore_x_icccm_size_pos_hints_get (Ecore_X_Window window __UNUSED__, int * request_pos, Ecore_X_Gravity * gravity, int * min_w, int * min_h, int * max_w, int * max_h, int * base_w, int * base_h, int * step_x, int * step_y, double * min_aspect, double * max_aspect)"
+.PP
+Gets the hints of a window. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window. 
+.br
+\fIrequest_pos\fP Request position flag. 
+.br
+\fIgravity\fP Gravity. 
+.br
+\fImin_w\fP Minimum width. 
+.br
+\fImin_h\fP Minimum height. 
+.br
+\fImax_w\fP Maximum width. 
+.br
+\fImax_h\fP Maximum height. 
+.br
+\fIbase_w\fP Base width 
+.br
+\fIbase_h\fP Base height 
+.br
+\fIstep_x\fP X step coordinate. 
+.br
+\fIstep_y\fP Y step coordinate. 
+.br
+\fImin_aspect\fP Minimum aspect ratio. 
+.br
+\fImax_aspect\fP M 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+1 on success, 0 otherwise.
+.RE
+.PP
+To use this function, you must call before, and in order, ecore_x_icccm_size_pos_hints_get_prefetch(), which sends the GetProperty request, then ecore_x_icccm_size_pos_hints_get_fetch(), which gets the reply. 
+.SS "EAPI void ecore_x_icccm_size_pos_hints_set (Ecore_X_Window window, int request_pos, Ecore_X_Gravity gravity, int min_w, int min_h, int max_w, int max_h, int base_w, int base_h, int step_x, int step_y, double min_aspect, double max_aspect)"
+.PP
+Sets the hints of a window. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window. 
+.br
+\fIrequest_pos\fP Request position flag. 
+.br
+\fIgravity\fP Gravity. 
+.br
+\fImin_w\fP Minimum width. 
+.br
+\fImin_h\fP Minimum height. 
+.br
+\fImax_w\fP Maximum width. 
+.br
+\fImax_h\fP Maximum height. 
+.br
+\fIbase_w\fP Base width 
+.br
+\fIbase_h\fP Base height 
+.br
+\fIstep_x\fP X step coordinate. 
+.br
+\fIstep_y\fP Y step coordinate. 
+.br
+\fImin_aspect\fP Minimum aspect ratio. 
+.br
+\fImax_aspect\fP Maximum aspect ratio.
+.RE
+.PP
+To use this function, you must call before, and in order, ecore_x_icccm_size_pos_hints_get_prefetch(), which sends the GetProperty request, then ecore_x_icccm_size_pos_hints_get_fetch(), which gets the reply. 
+.SS "EAPI Ecore_X_Window_State_Hint ecore_x_icccm_state_get (Ecore_X_Window window __UNUSED__)"
+.PP
+Gets the state of a window. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The state of the window
+.RE
+.PP
+To use this function, you must call before, and in order, ecore_x_icccm_state_get_prefetch(), which sends the GetProperty request, then ecore_x_icccm_state_get_fetch(), which gets the reply. 
+.SS "EAPI void ecore_x_icccm_state_set (Ecore_X_Window window, Ecore_X_Window_State_Hint state)"
+.PP
+Sets the state of a window. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window. 
+.br
+\fIstate\fP The state. 
+.RE
+.PP
+
+.SS "EAPI void ecore_x_icccm_take_focus_send (Ecore_X_Window window, Ecore_X_Time time)"
+.PP
+Sends the ClientMessage event with the TakeFocus property. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window. 
+.br
+\fItime\fP The time. 
+.RE
+.PP
+
+.SS "EAPI char* ecore_x_icccm_title_get (Ecore_X_Window window __UNUSED__)"
+.PP
+Gets the title of a window. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window (Unused). 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The title of the window
+.RE
+.PP
+To use this function, you must call before, and in order, ecore_x_icccm_title_get_prefetch(), which sends the GetProperty request, then ecore_x_icccm_title_get_fetch(), which gets the reply. 
+.SS "EAPI void ecore_x_icccm_title_set (Ecore_X_Window window, const char * title)"
+.PP
+Set the title of a window. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window. 
+.br
+\fItitle\fP The title. 
+.RE
+.PP
+
+.SS "EAPI Ecore_X_Window ecore_x_icccm_transient_for_get (Ecore_X_Window window __UNUSED__)"
+.PP
+Get the window this window is transient for, if any. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window to check (Unused). 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The window ID of the top-level window, or 0 if the property does not exist.
+.RE
+.PP
+To use this function, you must call before, and in order, ecore_x_icccm_transient_for_get_prefetch(), which sends the GetProperty request, then ecore_x_icccm_transient_for_get_fetch(), which gets the reply. 
+.SS "EAPI void ecore_x_icccm_transient_for_set (Ecore_X_Window window, Ecore_X_Window forwindow)"
+.PP
+Specify that a window is transient for another top-level window and should be handled accordingly. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The transient window 
+.br
+\fIforwindow\fP The toplevel window 
+.RE
+.PP
+
+.SS "EAPI void ecore_x_icccm_transient_for_unset (Ecore_X_Window window)"
+.PP
+Remove the transient_for setting from a window. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window. 
+.RE
+.PP
+
+.SS "EAPI char* ecore_x_icccm_window_role_get (Ecore_X_Window window)"
+.PP
+Get the window role. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The window's role string.
+.RE
+.PP
+To use this function, you must call before, and in order, \fBecore_x_icccm_window_role_get_prefetch()\fP, which sends the GetProperty request, then \fBecore_x_icccm_window_role_get_fetch()\fP, which gets the reply. 
+.SS "EAPI void ecore_x_icccm_window_role_get_prefetch (Ecore_X_Window window)"
+.PP
+Sends the GetProperty request. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP Window whose properties are requested. 
+.RE
+.PP
+
+.SS "EAPI void ecore_x_icccm_window_role_set (Ecore_X_Window window, const char * role)"
+.PP
+Set the window role hint. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window 
+.br
+\fIrole\fP The role string. 
+.RE
+.PP
+
diff --git a/doc/man/man3/Ecore_X_Init_Group.3 b/doc/man/man3/Ecore_X_Init_Group.3
new file mode 100644
index 0000000..69bcbb3
--- /dev/null
+++ b/doc/man/man3/Ecore_X_Init_Group.3
@@ -0,0 +1,61 @@
+.TH "X Library Init and Shutdown Functions" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+X Library Init and Shutdown Functions \- Functions that start and shut down the Ecore X Library.  
+
+.PP
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI int \fBecore_x_init\fP (const char *name)"
+.br
+.RI "\fIInitialize the X display connection to the given display. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_shutdown\fP (void)"
+.br
+.RI "\fIShuts down the Ecore X library. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_disconnect\fP (void)"
+.br
+.RI "\fIShuts down the Ecore X library. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Functions that start and shut down the Ecore X Library. 
+.PP
+.SH "Function Documentation"
+.PP 
+.SS "EAPI int ecore_x_disconnect (void)"
+.PP
+Shuts down the Ecore X library. 
+.PP
+As ecore_x_shutdown, except do not close Display, only connection. 
+.SS "EAPI int ecore_x_init (const char * name)"
+.PP
+Initialize the X display connection to the given display. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIname\fP Display target name. If \fCNULL\fP, the default display is assumed. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The number of times the library has been initialized without being shut down. 0 is returned if an error occurs. 
+.RE
+.PP
+
+.SS "EAPI int ecore_x_shutdown (void)"
+.PP
+Shuts down the Ecore X library. 
+.PP
+In shutting down the library, the X display connection is terminated and any event handlers for it are removed.
+.PP
+\fBReturns:\fP
+.RS 4
+The number of times the library has been initialized without being shut down. 
+.RE
+.PP
+
diff --git a/doc/man/man3/Ecore_X_MWM_Group.3 b/doc/man/man3/Ecore_X_MWM_Group.3
new file mode 100644
index 0000000..0e28a3d
--- /dev/null
+++ b/doc/man/man3/Ecore_X_MWM_Group.3
@@ -0,0 +1,76 @@
+.TH "MWM related functions." 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+MWM related functions. \- Functions related to MWM.  
+
+.PP
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI void \fBecore_x_mwm_hints_get_prefetch\fP (Ecore_X_Window window)"
+.br
+.RI "\fISends the GetProperty request. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_mwm_hints_get_fetch\fP (void)"
+.br
+.RI "\fIGets the reply of the GetProperty request sent by \fBecore_x_mwm_hints_get_prefetch()\fP. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_mwm_hints_get\fP (Ecore_X_Window window __UNUSED__, Ecore_X_MWM_Hint_Func *fhint, Ecore_X_MWM_Hint_Decor *dhint, Ecore_X_MWM_Hint_Input *ihint)"
+.br
+.RI "\fITo document. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_mwm_borderless_set\fP (Ecore_X_Window window, int borderless)"
+.br
+.RI "\fISets the borderless flag of a window using MWM. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Functions related to MWM. 
+.PP
+.SH "Function Documentation"
+.PP 
+.SS "EAPI void ecore_x_mwm_borderless_set (Ecore_X_Window window, int borderless)"
+.PP
+Sets the borderless flag of a window using MWM. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window. 
+.br
+\fIborderless\fP The borderless flag. 
+.RE
+.PP
+
+.SS "EAPI int ecore_x_mwm_hints_get (Ecore_X_Window window __UNUSED__, Ecore_X_MWM_Hint_Func * fhint, Ecore_X_MWM_Hint_Decor * dhint, Ecore_X_MWM_Hint_Input * ihint)"
+.PP
+To document. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP Unused. 
+.br
+\fIfhint\fP To document. 
+.br
+\fIdhint\fP To document. 
+.br
+\fIihint\fP To document. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+1 on success, 0 otherwise.
+.RE
+.PP
+To use this function, you must call before, and in order, \fBecore_x_mwm_hints_get_prefetch()\fP, which sends the GetProperty request, then \fBecore_x_mwm_hints_get_fetch()\fP, which gets the reply. 
+.SS "EAPI void ecore_x_mwm_hints_get_prefetch (Ecore_X_Window window)"
+.PP
+Sends the GetProperty request. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP Window whose MWM hints are requested. 
+.RE
+.PP
+
diff --git a/doc/man/man3/Ecore_X_NetWM_Group.3 b/doc/man/man3/Ecore_X_NetWM_Group.3
new file mode 100644
index 0000000..027d67f
--- /dev/null
+++ b/doc/man/man3/Ecore_X_NetWM_Group.3
@@ -0,0 +1,1640 @@
+.TH "Extended Window Manager Hint (EWMH) functions" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+Extended Window Manager Hint (EWMH) functions \- Functions related to the Extended Window Manager Hint (EWMH).  
+
+.PP
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_wm_identify\fP (Ecore_X_Window root, Ecore_X_Window check, const char *wm_name)"
+.br
+.RI "\fISet the _NET_SUPPORTING_WM_CHECK property. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_supported_set\fP (Ecore_X_Window root, Ecore_X_Atom *supported, int num)"
+.br
+.RI "\fISet the _NET_SUPPORTED property. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_supported_get_prefetch\fP (Ecore_X_Window root)"
+.br
+.RI "\fISends the GetProperty request. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_supported_get_fetch\fP (void)"
+.br
+.RI "\fIGets the reply of the GetProperty request sent by \fBecore_x_netwm_supported_get_prefetch()\fP. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_netwm_supported_get\fP (Ecore_X_Window root, Ecore_X_Atom **supported, int *num)"
+.br
+.RI "\fIGet the hints supported by the Window Manager. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_desk_count_set\fP (Ecore_X_Window root, unsigned int n_desks)"
+.br
+.RI "\fISet the _NET_NUMBER_OF_DESKTOPS property. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_desk_roots_set\fP (Ecore_X_Window root, Ecore_X_Window *vroots, unsigned int n_desks)"
+.br
+.RI "\fISet the _NET_VIRTUAL_ROOTS property. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_desk_names_set\fP (Ecore_X_Window root, const char **names, unsigned int n_desks)"
+.br
+.RI "\fISet the _NET_DESKTOP_NAMES property. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_desk_size_set\fP (Ecore_X_Window root, unsigned int width, unsigned int height)"
+.br
+.RI "\fISet the _NET_DESKTOP_GEOMETRY property. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_desk_viewports_set\fP (Ecore_X_Window root, unsigned int *origins, unsigned int n_desks)"
+.br
+.RI "\fISet the _NET_DESKTOP_VIEWPORT property. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_desk_layout_set\fP (Ecore_X_Window root, int orientation, int columns, int rows, int starting_corner)"
+.br
+.RI "\fISet the _NET_DESKTOP_LAYOUT property. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_desk_workareas_set\fP (Ecore_X_Window root, unsigned int *areas, unsigned int n_desks)"
+.br
+.RI "\fISet the _NET_WORKAREA property. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_desk_current_set\fP (Ecore_X_Window root, unsigned int desk)"
+.br
+.RI "\fISet the _NET_CURRENT_DESKTOP property. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_showing_desktop_set\fP (Ecore_X_Window root, int on)"
+.br
+.RI "\fISet the _NET_SHOWING_DESKTOP property. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_client_list_set\fP (Ecore_X_Window root, Ecore_X_Window *p_clients, unsigned int n_clients)"
+.br
+.RI "\fISet the _NET_CLIENT_LIST property. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_client_list_stacking_set\fP (Ecore_X_Window root, Ecore_X_Window *p_clients, unsigned int n_clients)"
+.br
+.RI "\fISet the _NET_CLIENT_LIST_STACKING property. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_client_active_set\fP (Ecore_X_Window root, Ecore_X_Window window)"
+.br
+.RI "\fISet the _NET_ACTIVE_WINDOW property. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_name_set\fP (Ecore_X_Window window, const char *name)"
+.br
+.RI "\fISet the _NET_WM_NAME property. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_name_get_prefetch\fP (Ecore_X_Window window)"
+.br
+.RI "\fISends the GetProperty request. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_name_get_fetch\fP (void)"
+.br
+.RI "\fIGets the reply of the GetProperty request sent by \fBecore_x_netwm_name_get_prefetch()\fP. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_netwm_name_get\fP (Ecore_X_Window window, char **name)"
+.br
+.RI "\fIGet the title of a window. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_startup_id_set\fP (Ecore_X_Window window, const char *id)"
+.br
+.RI "\fISet the _NET_STARTUP_ID property. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_startup_id_get_prefetch\fP (Ecore_X_Window window)"
+.br
+.RI "\fISends the GetProperty request. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_startup_id_get_fetch\fP (void)"
+.br
+.RI "\fIGets the reply of the GetProperty request sent by \fBecore_x_netwm_startup_id_get_prefetch()\fP. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_netwm_startup_id_get\fP (Ecore_X_Window window, char **id)"
+.br
+.RI "\fIGet the startup ID name of a window. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_visible_name_set\fP (Ecore_X_Window window, const char *name)"
+.br
+.RI "\fISet the _NET_WM_VISIBLE_NAME property. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_visible_name_get_prefetch\fP (Ecore_X_Window window)"
+.br
+.RI "\fISends the GetProperty request. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_visible_name_get_fetch\fP (void)"
+.br
+.RI "\fIGets the reply of the GetProperty request sent by \fBecore_x_netwm_visible_name_get_prefetch()\fP. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_netwm_visible_name_get\fP (Ecore_X_Window window, char **name)"
+.br
+.RI "\fIGet the visible title of a window. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_icon_name_set\fP (Ecore_X_Window window, const char *name)"
+.br
+.RI "\fISet the _NET_WM_ICON_NAME property. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_icon_name_get_prefetch\fP (Ecore_X_Window window)"
+.br
+.RI "\fISends the GetProperty request. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_icon_name_get_fetch\fP (void)"
+.br
+.RI "\fIGets the reply of the GetProperty request sent by \fBecore_x_netwm_icon_name_get_prefetch()\fP. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_netwm_icon_name_get\fP (Ecore_X_Window window, char **name)"
+.br
+.RI "\fIGet the icon name of a window. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_visible_icon_name_set\fP (Ecore_X_Window window, const char *name)"
+.br
+.RI "\fISet the _NET_WM_VISIBLE_ICON_NAME property. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_visible_icon_name_get_prefetch\fP (Ecore_X_Window window)"
+.br
+.RI "\fISends the GetProperty request. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_visible_icon_name_get_fetch\fP (void)"
+.br
+.RI "\fIGets the reply of the GetProperty request sent by \fBecore_x_netwm_visible_icon_name_get_prefetch()\fP. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_netwm_visible_icon_name_get\fP (Ecore_X_Window window, char **name)"
+.br
+.RI "\fIGet the visible icon name of a window. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_desktop_set\fP (Ecore_X_Window window, unsigned int desk)"
+.br
+.RI "\fISet the _NET_WM_DESKTOP property. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_desktop_get_prefetch\fP (Ecore_X_Window window)"
+.br
+.RI "\fISends the GetProperty request. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_desktop_get_fetch\fP (void)"
+.br
+.RI "\fIGets the reply of the GetProperty request sent by \fBecore_x_netwm_desktop_get_prefetch()\fP. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_netwm_desktop_get\fP (Ecore_X_Window window, unsigned int *desk)"
+.br
+.RI "\fIGet the visible icon name of a window. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_strut_set\fP (Ecore_X_Window window, int left, int right, int top, int bottom)"
+.br
+.RI "\fISet the _NET_WM_STRUT property. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_strut_get_prefetch\fP (Ecore_X_Window window)"
+.br
+.RI "\fISends the GetProperty request. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_strut_get_fetch\fP (void)"
+.br
+.RI "\fIGets the reply of the GetProperty request sent by ecore_x_strut_get_prefetch(). \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_netwm_strut_get\fP (Ecore_X_Window window, int *left, int *right, int *top, int *bottom)"
+.br
+.RI "\fIGet the space at the edje of the screen. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_strut_partial_set\fP (Ecore_X_Window window, int left, int right, int top, int bottom, int left_start_y, int left_end_y, int right_start_y, int right_end_y, int top_start_x, int top_end_x, int bottom_start_x, int bottom_end_x)"
+.br
+.RI "\fISet the _NET_WM_STRUT_PARTIAL property. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_strut_partial_get_prefetch\fP (Ecore_X_Window window)"
+.br
+.RI "\fISends the GetProperty request. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_strut_partial_get_fetch\fP (void)"
+.br
+.RI "\fIGets the reply of the GetProperty request sent by ecore_x_strut_partial_get_prefetch(). \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_netwm_strut_partial_get\fP (Ecore_X_Window window, int *left, int *right, int *top, int *bottom, int *left_start_y, int *left_end_y, int *right_start_y, int *right_end_y, int *top_start_x, int *top_end_x, int *bottom_start_x, int *bottom_end_x)"
+.br
+.RI "\fIGet the space at the edje of the screen of a window. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_icons_get_prefetch\fP (Ecore_X_Window window)"
+.br
+.RI "\fISends the GetProperty request. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_icons_get_fetch\fP (void)"
+.br
+.RI "\fIGets the reply of the GetProperty request sent by ecore_x_icons_get_prefetch(). \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_netwm_icons_get\fP (Ecore_X_Window window, Ecore_X_Icon **icon, int *num)"
+.br
+.RI "\fIRetrieve hte possible icons of a window. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_icon_geometry_set\fP (Ecore_X_Window window, int x, int y, int width, int height)"
+.br
+.RI "\fISet the _NET_WM_ICON_GEOMETRY property. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_icon_geometry_get_prefetch\fP (Ecore_X_Window window)"
+.br
+.RI "\fISends the GetProperty request. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_icon_geometry_get_fetch\fP (void)"
+.br
+.RI "\fIGets the reply of the GetProperty request sent by ecore_x_icon_geometry_get_prefetch(). \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_netwm_icon_geometry_get\fP (Ecore_X_Window window, int *x, int *y, int *width, int *height)"
+.br
+.RI "\fIGet the geometry of an icon. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_pid_set\fP (Ecore_X_Window window, int pid)"
+.br
+.RI "\fISet the _NET_WM_PID property. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_pid_get_prefetch\fP (Ecore_X_Window window)"
+.br
+.RI "\fISends the GetProperty request. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_pid_get_fetch\fP (void)"
+.br
+.RI "\fIGets the reply of the GetProperty request sent by ecore_x_pid_get_prefetch(). \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_netwm_pid_get\fP (Ecore_X_Window window, int *pid)"
+.br
+.RI "\fIGet the process ID of a client window. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_handled_icons_set\fP (Ecore_X_Window window)"
+.br
+.RI "\fISet the _NET_WM_HANDLED_ICONS property. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_handled_icons_get_prefetch\fP (Ecore_X_Window window)"
+.br
+.RI "\fISends the GetProperty request. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_handled_icons_get_fetch\fP (void)"
+.br
+.RI "\fIGets the reply of the GetProperty request sent by ecore_x_handled_icons_get_prefetch(). \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_netwm_handled_icons_get\fP (Ecore_X_Window window)"
+.br
+.RI "\fIReturn wheter the Client handles icons or not. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_user_time_set\fP (Ecore_X_Window window, unsigned int time)"
+.br
+.RI "\fISet the _NET_WM_USER_TIME property. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_user_time_get_prefetch\fP (Ecore_X_Window window)"
+.br
+.RI "\fISends the GetProperty request. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_user_time_get_fetch\fP (void)"
+.br
+.RI "\fIGets the reply of the GetProperty request sent by \fBecore_x_netwm_user_time_get_prefetch()\fP. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_netwm_user_time_get\fP (Ecore_X_Window window, unsigned int *time)"
+.br
+.RI "\fIGet the last user activity time in the window. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_window_state_set\fP (Ecore_X_Window window, Ecore_X_Window_State *state, unsigned int num)"
+.br
+.RI "\fISet the _NET_WM_STATE property. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_window_state_get_prefetch\fP (Ecore_X_Window window)"
+.br
+.RI "\fISends the GetProperty request. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_window_state_get_fetch\fP (void)"
+.br
+.RI "\fIGets the reply of the GetProperty request sent by ecore_x_window_state_get_prefetch(). \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_netwm_window_state_get\fP (Ecore_X_Window window, Ecore_X_Window_State **state, unsigned int *num)"
+.br
+.RI "\fIGet the hints describing the window state. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_window_type_set\fP (Ecore_X_Window window, Ecore_X_Window_Type type)"
+.br
+.RI "\fISet the _NET_WM_WINDOW_TYPE property. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_window_type_get_prefetch\fP (Ecore_X_Window window)"
+.br
+.RI "\fISends the GetProperty request. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_window_type_get_fetch\fP (void)"
+.br
+.RI "\fIGets the reply of the GetProperty request sent by ecore_x_window_type_get_prefetch(). \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_netwm_window_type_get\fP (Ecore_X_Window window, Ecore_X_Window_Type *type)"
+.br
+.RI "\fIGet the functional type of a window. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_allowed_action_get_prefetch\fP (Ecore_X_Window window)"
+.br
+.RI "\fISends the GetProperty request. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_allowed_action_get_fetch\fP (void)"
+.br
+.RI "\fIGets the reply of the GetProperty request sent by ecore_x_allowed_action_get_prefetch(). \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_netwm_allowed_action_isset\fP (Ecore_X_Window window, Ecore_X_Action action)"
+.br
+.RI "\fICheck whether an action is supported by a window. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_allowed_action_set\fP (Ecore_X_Window window, Ecore_X_Action *action, unsigned int num)"
+.br
+.RI "\fISet the _NET_WM_ALLOWED_ACTIONS property. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_netwm_allowed_action_get\fP (Ecore_X_Window window, Ecore_X_Action **action, unsigned int *num)"
+.br
+.RI "\fIGet the allowed actions supported by a window. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_opacity_set\fP (Ecore_X_Window window, unsigned int opacity)"
+.br
+.RI "\fISet the _NET_WM_WINDOW_OPACITY property. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_opacity_get_prefetch\fP (Ecore_X_Window window)"
+.br
+.RI "\fISends the GetProperty request. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_opacity_get_fetch\fP (void)"
+.br
+.RI "\fIGets the reply of the GetProperty request sent by \fBecore_x_netwm_opacity_get_prefetch()\fP. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_netwm_opacity_get\fP (Ecore_X_Window window, unsigned int *opacity)"
+.br
+.RI "\fIGet the opacity value of a window. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_frame_size_set\fP (Ecore_X_Window window, int fl, int fr, int ft, int fb)"
+.br
+.RI "\fISet the _NET_FRAME_EXTENTS property. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_frame_size_get_prefetch\fP (Ecore_X_Window window)"
+.br
+.RI "\fISends the GetProperty request. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_frame_size_get_fetch\fP (void)"
+.br
+.RI "\fIGets the reply of the GetProperty request sent by \fBecore_x_netwm_frame_size_get_prefetch()\fP. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_netwm_frame_size_get\fP (Ecore_X_Window window, int *fl, int *fr, int *ft, int *fb)"
+.br
+.RI "\fIGet the frame extent of a window. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_sync_counter_get_prefetch\fP (Ecore_X_Window window)"
+.br
+.RI "\fISends the GetProperty request. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_sync_counter_get_fetch\fP (void)"
+.br
+.RI "\fIGets the reply of the GetProperty request sent by \fBecore_x_netwm_sync_counter_get_prefetch()\fP. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_netwm_sync_counter_get\fP (Ecore_X_Window window, Ecore_X_Sync_Counter *counter)"
+.br
+.RI "\fIGet the X ID of a X Sync counter. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_ping_send\fP (Ecore_X_Window window)"
+.br
+.RI "\fISend a _NET_WM_PING property event. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_sync_request_send\fP (Ecore_X_Window window, unsigned int serial)"
+.br
+.RI "\fISend a _NET_WM_SYNC_REQUEST property event. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_state_request_send\fP (Ecore_X_Window window, Ecore_X_Window root, Ecore_X_Window_State s1, Ecore_X_Window_State s2, int set)"
+.br
+.RI "\fISend a _NET_WM_STATE property event. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_netwm_desktop_request_send\fP (Ecore_X_Window window, Ecore_X_Window root, unsigned int desktop)"
+.br
+.RI "\fISend a _NET_WM_DESKTOP property event. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_screen_is_composited\fP (int screen)"
+.br
+.RI "\fICheck whether a screen is composited or not. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Functions related to the Extended Window Manager Hint (EWMH). 
+.PP
+.SH "Function Documentation"
+.PP 
+.SS "EAPI int ecore_x_netwm_allowed_action_get (Ecore_X_Window window, Ecore_X_Action ** action, unsigned int * num)"
+.PP
+Get the allowed actions supported by a window. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window. 
+.br
+\fIaction\fP The returned array of the actions. 
+.br
+\fInum\fP The number of actions. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+1 on success, 0 otherwise.
+.RE
+.PP
+Retrieve the user operations that the Window Manager supports for \fCwindow\fP and store them in \fCaction\fP. The number of actions is stored in \fCnum\fP. This function returns 1 on success, 0 otherwise.
+.PP
+To use this function, you must call before, and in order, \fBecore_x_netwm_allowed_action_get_prefetch()\fP, which sends the GetProperty request, then \fBecore_x_netwm_allowed_action_get_fetch()\fP, which gets the reply. 
+.SS "EAPI void ecore_x_netwm_allowed_action_get_prefetch (Ecore_X_Window window)"
+.PP
+Sends the GetProperty request. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window. 
+.RE
+.PP
+
+.SS "EAPI int ecore_x_netwm_allowed_action_isset (Ecore_X_Window window, Ecore_X_Action action)"
+.PP
+Check whether an action is supported by a window. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window 
+.br
+\fIaction\fP The action 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+1 if set, 0 otherwise.
+.RE
+.PP
+Return whether the user operation \fCaction\fP is supported by the Window Manager for \fCwindow\fP.
+.PP
+To use this function, you must call before, and in order, \fBecore_x_netwm_allowed_action_get_prefetch()\fP, which sends the GetProperty request, then \fBecore_x_netwm_allowed_action_get_fetch()\fP, which gets the reply. 
+.SS "EAPI void ecore_x_netwm_allowed_action_set (Ecore_X_Window window, Ecore_X_Action * action, unsigned int num)"
+.PP
+Set the _NET_WM_ALLOWED_ACTIONS property. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window. 
+.br
+\fIaction\fP An array of allowed actions. 
+.br
+\fInum\fP The number of actions.
+.RE
+.PP
+Set the user operations that the Window Manager supports for \fCwindow\fP by sending the _NET_WM_ALLOWED_ACTIONS property to \fCwindow\fP. \fCaction\fP stores \fCnum\fP actions.
+.PP
+To use this function, you must call before, and in order, \fBecore_x_netwm_allowed_action_get_prefetch()\fP, which sends the GetProperty request, then \fBecore_x_netwm_allowed_action_get_fetch()\fP, which gets the reply. 
+.SS "EAPI void ecore_x_netwm_client_active_set (Ecore_X_Window root, Ecore_X_Window window)"
+.PP
+Set the _NET_ACTIVE_WINDOW property. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIroot\fP The root window. 
+.br
+\fIwindow\fP The widow to activate.
+.RE
+.PP
+Activate \fCwindow\fP by sending the _NET_ACTIVE_WINDOW property to the \fCroot\fP window.
+.PP
+If a Client wants to activate another window, it MUST call this function. 
+.SS "EAPI void ecore_x_netwm_client_list_set (Ecore_X_Window root, Ecore_X_Window * p_clients, unsigned int n_clients)"
+.PP
+Set the _NET_CLIENT_LIST property. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIroot\fP The root window. 
+.br
+\fIp_clients\fP An array of windows. 
+.br
+\fIn_clients\fP The number of windows.
+.RE
+.PP
+Map all the X windows managed by the window manager from the oldest to the newest by sending the _NET_CLIENT_LIST property to the \fCroot\fP window. The X windows are stored in \fCp_clients\fP and their number in \fCn_clients\fP.
+.PP
+This function SHOULD be called by the Window Manager. 
+.SS "EAPI void ecore_x_netwm_client_list_stacking_set (Ecore_X_Window root, Ecore_X_Window * p_clients, unsigned int n_clients)"
+.PP
+Set the _NET_CLIENT_LIST_STACKING property. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIroot\fP The root window. 
+.br
+\fIp_clients\fP An array of windows. 
+.br
+\fIn_clients\fP The number of windows.
+.RE
+.PP
+Stack all the X windows managed by the window manager from bottom to top order by sending the _NET_CLIENT_LIST_STACKING property to the \fCroot\fP window. The X windows are stored in \fCp_clients\fP and their number in \fCn_clients\fP.
+.PP
+This function SHOULD be called by the Window Manager. 
+.SS "EAPI void ecore_x_netwm_desk_count_set (Ecore_X_Window root, unsigned int n_desks)"
+.PP
+Set the _NET_NUMBER_OF_DESKTOPS property. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIroot\fP The root window. 
+.br
+\fIn_desks\fP The number of desktops.
+.RE
+.PP
+Set the number of desktops \fCn_desks\fP of the Window Manager by sending the _NET_NUMBER_OF_DESKTOPS to the \fCroot\fP window.
+.PP
+The Window Manager SHOULD set and update this property to indicate the number of virtual desktops. A Pager can request a change in the number of desktops by using that function. 
+.SS "EAPI void ecore_x_netwm_desk_current_set (Ecore_X_Window root, unsigned int desk)"
+.PP
+Set the _NET_CURRENT_DESKTOP property. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIroot\fP The root window. 
+.br
+\fIdesk\fP The index of the current desktop.
+.RE
+.PP
+Set the current desktop by sending the _NET_CURRENT_DESKTOP to the \fCroot\fP window. \fCdeskmust\fP be an integer number between 0 and the number of desks (set by \fBecore_x_netwm_desk_count_set()\fP) -1.
+.PP
+This function MUST be called by the Window Manager. If a Pagerwants to switch to naother desktop, it MUST call that function. 
+.SS "EAPI void ecore_x_netwm_desk_layout_set (Ecore_X_Window root, int orientation, int columns, int rows, int starting_corner)"
+.PP
+Set the _NET_DESKTOP_LAYOUT property. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIroot\fP The root window. 
+.br
+\fIorientation\fP 
+.br
+\fIcolumns\fP 
+.br
+\fIrows\fP 
+.br
+\fIstarting_corner\fP Set the layout of virtual desktops relative to each other by sending the _NET_DESKTOP_LAYOUT to the \fCroot\fP window. \fCorientation\fP defines the orientation of the virtual desktop. 0 means horizontal layout, 1 means vertical layout. \fCcolumns\fP is the number of desktops in the X direction and \fCrows\fP is the number in the Y direction. \fCstarting_corner\fP is the corner containing the first desktop. The values for \fCstarting_corner\fP are 0 (top-left), 1 (top-right), 2 (bottom-right) and 3 (bottom-left).
+.RE
+.PP
+When the orientation is horizontal the desktops are laid out in rows, with the first desktop in the specified starting corner. So a layout with four columns and three rows starting in the top-left corner looks like this:
+.PP
++--+--+--+--+ | 0| 1| 2| 3| +--+--+--+--+ | 4| 5| 6| 7| +--+--+--+--+ | 8| 9|10|11| +--+--+--+--+
+.PP
+With \fCstarting_corner\fP being bottom-right, it looks like this:
+.PP
++--+--+--+--+ |11|10| 9| 8| +--+--+--+--+ | 7| 6| 5| 4| +--+--+--+--+ | 3| 2| 1| 0| +--+--+--+--+
+.PP
+When the orientation is vertical the layout with four columns and three rows starting in the top-left corner looks like:
+.PP
++--+--+--+--+ | 0| 3| 6| 9| +--+--+--+--+ | 1| 4| 7|10| +--+--+--+--+ | 2| 5| 8|11| +--+--+--+--+
+.PP
+With \fCstarting_corner\fP being top-right, it looks like:
+.PP
++--+--+--+--+ | 9| 6| 3| 0| +--+--+--+--+ |10| 7| 4| 1| +--+--+--+--+ |11| 8| 5| 2| +--+--+--+--+
+.PP
+This function MUST be used by a Pager and NOT by the Window Manager. When using this function, the Pager must own a manager selection. 
+.SS "EAPI void ecore_x_netwm_desk_names_set (Ecore_X_Window root, const char ** names, unsigned int n_desks)"
+.PP
+Set the _NET_DESKTOP_NAMES property. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIroot\fP The root window. 
+.br
+\fInames\fP The names of the virtual desktops. 
+.br
+\fIn_desks\fP The number of virtual desktops.
+.RE
+.PP
+Set the name of each virtual desktop by sending the _NET_DESKTOP_NAMES to the \fCroot\fP window. \fCnames\fP are the names of the virtual desktops and \fCn_desks\fP is the number of virtual desktops.
+.PP
+A Pager MAY use that function. \fCn_desks\fP may be different from the one passed to \fBecore_x_netwm_desk_count_set()\fP. If it less or equal, then the desktops with high numbers are unnamed. If it is larger, then the excess names are considered to be reserved in case the number of desktops is increased. 
+.SS "EAPI void ecore_x_netwm_desk_roots_set (Ecore_X_Window root, Ecore_X_Window * vroots, unsigned int n_desks)"
+.PP
+Set the _NET_VIRTUAL_ROOTS property. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIroot\fP The root window. 
+.br
+\fIvroots\fP The virtual root windows. 
+.br
+\fIn_desks\fP The number of desks.
+.RE
+.PP
+Set the number of virtual desktops by sending the _NET_VIRTUAL_ROOTS property to the \fCroot\fP window. \fCvroots\fP is an array of window and \fCn_desks\fP is the number of windows.
+.PP
+A Window Manager that implements virtual desktops by reparent client windows to a child of the root window MUST use that function. 
+.SS "EAPI void ecore_x_netwm_desk_size_set (Ecore_X_Window root, unsigned int width, unsigned int height)"
+.PP
+Set the _NET_DESKTOP_GEOMETRY property. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIroot\fP The root window. 
+.br
+\fIwidth\fP The width of the desktop. 
+.br
+\fIheight\fP The height of the desktop.
+.RE
+.PP
+Set the common \fCwidth\fP and \fCheight\fP of all desktops by sending the _NET_DESKTOP_GEOMETRY to the \fCroot\fP window.
+.PP
+This size is equal to the screen size if the Window Manager doesn't support large desktops, otherwise it's equal to the virtual size of the desktop. The Window Manager SHOULD set this property. A Pager can request a change in the desktop geometry by using this function. 
+.SS "EAPI void ecore_x_netwm_desk_viewports_set (Ecore_X_Window root, unsigned int * origins, unsigned int n_desks)"
+.PP
+Set the _NET_DESKTOP_VIEWPORT property. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIroot\fP The root window. 
+.br
+\fIorigins\fP An array of paris of coordiantes. 
+.br
+\fIn_desks\fP The number of virtual desktops.
+.RE
+.PP
+Set the top left corner of each desktop's viewport by sending the _NET_DESKTOP_VIEWPORT property to the \fCroot\fP window. \fCorigins\fP contains each pair of X coordinate and Y coordinate of the top left corner of each desktop's viewport.
+.PP
+If the Window Manager does not support large desktops, the coordinates MUST be (0,0). A Pager can request to change the viewport for the current desktop by using this function. 
+.SS "EAPI void ecore_x_netwm_desk_workareas_set (Ecore_X_Window root, unsigned int * areas, unsigned int n_desks)"
+.PP
+Set the _NET_WORKAREA property. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIroot\fP The root window. 
+.br
+\fIareas\fP An array of areas. 
+.br
+\fIn_desks\fP The number of desks.
+.RE
+.PP
+Set the work area for each desktop by sending the _NET_WORKAREA property to the \fCroot\fP window. An area contains the geometry (X and Y coordinates, width and height). These geometries are specified relative to the viewport on each desktop and specify an area that is completely contained within the viewport. \fCareas\fP stores these geometries. \fCn_desks\fP is the number of geometry to set.
+.PP
+This function MUST be set by the Window Manager. It is used by desktop applications to place desktop icons appropriately. 
+.SS "EAPI int ecore_x_netwm_desktop_get (Ecore_X_Window window, unsigned int * desk)"
+.PP
+Get the visible icon name of a window. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window. 
+.br
+\fIdesk\fP The desktop index. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+1 on success, 0 otherwise.
+.RE
+.PP
+Retrieve the desktop index in which \fCwindow\fP is displayed and store it in \fCdesk\fP. If \fCdesk\fP value is 0xFFFFFFFF, the window appears on all desktops. The function returns 1 on success, 0 otherwise.
+.PP
+To use this function, you must call before, and in order, \fBecore_x_netwm_desktop_get_prefetch()\fP, which sends the GetProperty request, then \fBecore_x_netwm_desktop_get_fetch()\fP, which gets the reply. 
+.SS "EAPI void ecore_x_netwm_desktop_get_prefetch (Ecore_X_Window window)"
+.PP
+Sends the GetProperty request. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window. 
+.RE
+.PP
+
+.SS "EAPI void ecore_x_netwm_desktop_request_send (Ecore_X_Window window, Ecore_X_Window root, unsigned int desktop)"
+.PP
+Send a _NET_WM_DESKTOP property event. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window. 
+.br
+\fIroot\fP The root window. 
+.br
+\fIdesktop\fP The new desktop index.
+.RE
+.PP
+Send a ClientMessage event from \fCwindow\fP to the \fCroot\fP window with the _NET_WM_DESKTOP property set. This change the state of a non-withdrawn window. \fCdesktop\fP is the new desktop index to set. 
+.SS "EAPI void ecore_x_netwm_desktop_set (Ecore_X_Window window, unsigned int desk)"
+.PP
+Set the _NET_WM_DESKTOP property. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window. 
+.br
+\fIdesk\fP The desktop index.
+.RE
+.PP
+Set on which desktop the \fCwindow\fP is in by sending the _NET_WM_DESKTOP property to \fCwindow\fP. \fCdesk\fP is the index of the desktop, starting from 0. To indicate that the window should appear on all desktops, \fCdesk\fP must be equal to 0xFFFFFFFF.
+.PP
+A Client MAY choose not to set this property, in which case the Window Manager SHOULD place it as it wishes.
+.PP
+The Window Manager should honor _NET_WM_DESKTOP whenever a withdrawn window requests to be mapped.
+.PP
+A Client can request a change of desktop for a non-withdrawn window by sending a _NET_WM_DESKTOP client message to the root window. 
+.SS "EAPI int ecore_x_netwm_frame_size_get (Ecore_X_Window window, int * fl, int * fr, int * ft, int * fb)"
+.PP
+Get the frame extent of a window. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window. 
+.br
+\fIfl\fP The number of pixels of the left border of the window. 
+.br
+\fIfr\fP The number of pixels of the right border of the window. 
+.br
+\fIft\fP The number of pixels of the top border of the window. 
+.br
+\fIfb\fP The number of pixels of the bottom border of the window. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+1 on success, 0 otherwise.
+.RE
+.PP
+Retrieve the frame extents of \fCwindow\fP. The number of pixels of the left, right, top and bottom border of \fCwindow\fP are respectively stored in \fCfl\fP, \fCfr\fP, \fCft\fP anfd \fCfb\fP. TYhis function retuirns 1 on success, 0 otherwise.
+.PP
+To use this function, you must call before, and in order, \fBecore_x_netwm_frame_size_get_prefetch()\fP, which sends the GetProperty request, then \fBecore_x_netwm_frame_size_get_fetch()\fP, which gets the reply. 
+.SS "EAPI void ecore_x_netwm_frame_size_get_prefetch (Ecore_X_Window window)"
+.PP
+Sends the GetProperty request. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window. 
+.RE
+.PP
+
+.SS "EAPI void ecore_x_netwm_frame_size_set (Ecore_X_Window window, int fl, int fr, int ft, int fb)"
+.PP
+Set the _NET_FRAME_EXTENTS property. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window. 
+.br
+\fIfl\fP The number of pixels of the left border of the window. 
+.br
+\fIfr\fP The number of pixels of the right border of the window. 
+.br
+\fIft\fP The number of pixels of the top border of the window. 
+.br
+\fIfb\fP The number of pixels of the bottom border of the window.
+.RE
+.PP
+Set the border witdh of \fCwindow\fP by sending the _NET_FRAME_EXTENTS property to \fCwindow\fP. \fCfl\fP, \fCfr\fP, \fCft\fP and \fCfb\fP are respectively the number of pixels of the left, right, top and bottom border of \fCwindow\fP.
+.PP
+The Window Manager MUST set _NET_FRAME_EXTENTS to the extents of the window's frame. 
+.SS "EAPI int ecore_x_netwm_handled_icons_get (Ecore_X_Window window)"
+.PP
+Return wheter the Client handles icons or not. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+1 if icons are handled, 0 otherwise.
+.RE
+.PP
+Return whether the client handles icons or not if \fCwindow\fP is iconified.
+.PP
+To use this function, you must call before, and in order, \fBecore_x_netwm_handled_icons_get_prefetch()\fP, which sends the GetProperty request, then \fBecore_x_netwm_handled_icons_get_fetch()\fP, which gets the reply. 
+.SS "EAPI void ecore_x_netwm_handled_icons_get_prefetch (Ecore_X_Window window)"
+.PP
+Sends the GetProperty request. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window. 
+.RE
+.PP
+
+.SS "EAPI void ecore_x_netwm_handled_icons_set (Ecore_X_Window window)"
+.PP
+Set the _NET_WM_HANDLED_ICONS property. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window.
+.RE
+.PP
+Indicate to the Window Manager that it does not need to provide icons for the iconified \fCwindow\fP by sending the _NET_WM_HANDLED_ICONS property to \fCwindow\fP.
+.PP
+This function can be used by a Pager on one of its own toplevel windows (for example if the Client is a taskbar and provides buttons for iconified windows). 
+.SS "EAPI int ecore_x_netwm_icon_geometry_get (Ecore_X_Window window, int * x, int * y, int * width, int * height)"
+.PP
+Get the geometry of an icon. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window 
+.br
+\fIx\fP x 
+.br
+\fIx\fP The X coordinate of the icon. 
+.br
+\fIy\fP The Y coordinate of the icon. 
+.br
+\fIwidth\fP The width of the icon. 
+.br
+\fIheight\fP The height of the icon. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+1 on success, 0 othrwise.
+.RE
+.PP
+Retrieve the geometry of the icon of \fCwindow\fP. The geometry is stored in \fCx\fP, \fCy\fP, \fCwidth\fP and \fCheight\fP. The function returns 1 on success, 0 otherwise.
+.PP
+To use this function, you must call before, and in order, \fBecore_x_netwm_icon_geometry_get_prefetch()\fP, which sends the GetProperty request, then \fBecore_x_netwm_icon_geometry_get_fetch()\fP, which gets the reply. 
+.SS "EAPI void ecore_x_netwm_icon_geometry_get_prefetch (Ecore_X_Window window)"
+.PP
+Sends the GetProperty request. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window. 
+.RE
+.PP
+
+.SS "EAPI void ecore_x_netwm_icon_geometry_set (Ecore_X_Window window, int x, int y, int width, int height)"
+.PP
+Set the _NET_WM_ICON_GEOMETRY property. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window. 
+.br
+\fIx\fP The X coordinate of the icon. 
+.br
+\fIy\fP The Y coordinate of the icon. 
+.br
+\fIwidth\fP The width of the icon. 
+.br
+\fIheight\fP The height of the icon.
+.RE
+.PP
+Set the geometry of the icon of \fCwindow\fP by sending the _NET_WM_ICON_GEOMETRY property to \fCwindow\fP. \fCx\fP, \fCy\fP, \fCwidth\fP and \fCheight\fP specify respectively the X coordinate, the Y coordinate, the width and the height of the icon.
+.PP
+Stand alone tools like a taskbar or an iconbox MAY use this function. This functions makes possible for a Window Manager to display a nice animation like morphing the window into its icon. 
+.SS "EAPI int ecore_x_netwm_icon_name_get (Ecore_X_Window window, char ** name)"
+.PP
+Get the icon name of a window. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window. 
+.br
+\fIname\fP The icon name. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+Returns always 1.
+.RE
+.PP
+Retrieve the icon name of \fCwindow\fP and store it in \fCname\fP. The function returns always 1.
+.PP
+To use this function, you must call before, and in order, \fBecore_x_netwm_icon_name_get_prefetch()\fP, which sends the GetProperty request, then \fBecore_x_netwm_icon_name_get_fetch()\fP, which gets the reply. 
+.SS "EAPI void ecore_x_netwm_icon_name_get_prefetch (Ecore_X_Window window)"
+.PP
+Sends the GetProperty request. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window. 
+.RE
+.PP
+
+.SS "EAPI void ecore_x_netwm_icon_name_set (Ecore_X_Window window, const char * name)"
+.PP
+Set the _NET_WM_ICON_NAME property. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The widow to activate. 
+.br
+\fIname\fP The icon name of the window.
+.RE
+.PP
+Set the icon name of \fCwindow\fP to \fCname\fP by sending the _NET_WM_ICON_NAME property to \fCwindow\fP.
+.PP
+The Client SHOULD set the title of \fCwindow\fP in UTF-8 encoding. If set, the Window Manager should use this in preference to WM_ICON_NAME. 
+.SS "EAPI int ecore_x_netwm_icons_get (Ecore_X_Window window, Ecore_X_Icon ** icon, int * num)"
+.PP
+Retrieve hte possible icons of a window. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window 
+.br
+\fIicon\fP An array of icons. 
+.br
+\fInum\fP The number of icons. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+1 on success, 0 otherwise.
+.RE
+.PP
+Retrieve an array of possible icons of \fCwindow\fP. The icons are stored in \fCicon\fP and their number in \fCnum\fP.
+.PP
+To use this function, you must call before, and in order, \fBecore_x_netwm_icons_get_prefetch()\fP, which sends the GetProperty request, then \fBecore_x_netwm_icons_get_fetch()\fP, which gets the reply. 
+.SS "EAPI void ecore_x_netwm_icons_get_prefetch (Ecore_X_Window window)"
+.PP
+Sends the GetProperty request. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window. 
+.RE
+.PP
+
+.SS "EAPI int ecore_x_netwm_name_get (Ecore_X_Window window, char ** name)"
+.PP
+Get the title of a window. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window. 
+.br
+\fIname\fP The title name. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+Returns always 1.
+.RE
+.PP
+Retrieve the title name of \fCwindow\fP and store it in \fCname\fP. The function returns always 1.
+.PP
+To use this function, you must call before, and in order, \fBecore_x_netwm_name_get_prefetch()\fP, which sends the GetProperty request, then \fBecore_x_netwm_name_get_fetch()\fP, which gets the reply. 
+.SS "EAPI void ecore_x_netwm_name_get_prefetch (Ecore_X_Window window)"
+.PP
+Sends the GetProperty request. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window. 
+.RE
+.PP
+
+.SS "EAPI void ecore_x_netwm_name_set (Ecore_X_Window window, const char * name)"
+.PP
+Set the _NET_WM_NAME property. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The widow to activate. 
+.br
+\fIname\fP The title name of the window.
+.RE
+.PP
+Set the title name of \fCwindow\fP to \fCname\fP by sending the _NET_WM_NAME property to \fCwindow\fP.
+.PP
+The Client SHOULD set the title of \fCwindow\fP in UTF-8 encoding. If set, the Window Manager should use this in preference to WM_NAME. 
+.SS "EAPI int ecore_x_netwm_opacity_get (Ecore_X_Window window, unsigned int * opacity)"
+.PP
+Get the opacity value of a window. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window. 
+.br
+\fIopacity\fP The returned opacity. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+1 on success, 0 otherwise.
+.RE
+.PP
+Retriee the opacity value of \fCwindow\fP and store it in \fCopacity\fP. This function returns 1 on sucess, 0 otherwise.
+.PP
+To use this function, you must call before, and in order, \fBecore_x_netwm_opacity_get_prefetch()\fP, which sends the GetProperty request, then \fBecore_x_netwm_opacity_get_fetch()\fP, which gets the reply. 
+.SS "EAPI void ecore_x_netwm_opacity_get_prefetch (Ecore_X_Window window)"
+.PP
+Sends the GetProperty request. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window. 
+.RE
+.PP
+
+.SS "EAPI void ecore_x_netwm_opacity_set (Ecore_X_Window window, unsigned int opacity)"
+.PP
+Set the _NET_WM_WINDOW_OPACITY property. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window. 
+.br
+\fIopacity\fP The opacity value.
+.RE
+.PP
+Set the desired opacity of \fCwindow\fP by sending the _NET_WM_WINDOW_OPACITY property to \fCwindow\fP. \fCopacity\fP is 0 for a transparent window and 0xffffffff for an opaque window. \fCopacity\fP must be multiplied with the original alpha value of \fCwindow\fP (which is 1 for visuals not including an alpha component) so that \fCwindow\fP content is modulated by the opacity value.
+.PP
+Window Managers acting as compositing managers MAY take this into account when displaying a window. Window Managers MUST forward the value of this property to any enclosing frame window. This property MAY change while the window is mapped and the Window Manager MUST respect changes while the window is mapped. 
+.SS "EAPI int ecore_x_netwm_pid_get (Ecore_X_Window window, int * pid)"
+.PP
+Get the process ID of a client window. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window. 
+.br
+\fIpid\fP The process ID. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+1 on success, 0 otherwise.
+.RE
+.PP
+Retrieve the process ID of \fCwindow\fP and store it in \fCpid\fP. This function returns 1 on success, 0 otherwise.
+.PP
+To use this function, you must call before, and in order, \fBecore_x_netwm_pid_get_prefetch()\fP, which sends the GetProperty request, then \fBecore_x_netwm_pid_get_fetch()\fP, which gets the reply. 
+.SS "EAPI void ecore_x_netwm_pid_get_prefetch (Ecore_X_Window window)"
+.PP
+Sends the GetProperty request. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window. 
+.RE
+.PP
+
+.SS "EAPI void ecore_x_netwm_pid_set (Ecore_X_Window window, int pid)"
+.PP
+Set the _NET_WM_PID property. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window. 
+.br
+\fIpid\fP The process ID.
+.RE
+.PP
+Set the process ID of the client owning \fCwindow\fP by sending the _NET_WM_PID property to \fCwindow\fP.
+.PP
+This function MAY be used by the Window Manager to kill windows which do not respond to the _NET_WM_PING protocol.
+.PP
+If _NET_WM_PID is set, the ICCCM-specified property WM_CLIENT_MACHINE MUST also be set. 
+.SS "EAPI void ecore_x_netwm_ping_send (Ecore_X_Window window)"
+.PP
+Send a _NET_WM_PING property event. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window.
+.RE
+.PP
+Send a ClientMessage event from \fCwindow\fP with the _NET_WM_PING property set. 
+.SS "EAPI void ecore_x_netwm_showing_desktop_set (Ecore_X_Window root, int on)"
+.PP
+Set the _NET_SHOWING_DESKTOP property. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIroot\fP The root window 
+.br
+\fIon\fP 0 to hide the desktop, non 0 to show it.
+.RE
+.PP
+Set or unset the desktop in a 'showing mode' by sending the _NET_SHOWING_DESKTOP property to the \fCroot\fP window. If \fCon\fP is 0, the windows are hidden and the desktop background is displayed and focused.
+.PP
+If a Pager wants to enter or leave the mode, it MUST use this function. 
+.SS "EAPI int ecore_x_netwm_startup_id_get (Ecore_X_Window window, char ** id)"
+.PP
+Get the startup ID name of a window. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window 
+.br
+\fIid\fP The ID name 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+Return always 1.
+.RE
+.PP
+To use this function, you must call before, and in order, \fBecore_x_netwm_startup_id_get_prefetch()\fP, which sends the GetProperty request, then \fBecore_x_netwm_startup_id_get_fetch()\fP, which gets the reply. 
+.SS "EAPI void ecore_x_netwm_startup_id_get_prefetch (Ecore_X_Window window)"
+.PP
+Sends the GetProperty request. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window. 
+.RE
+.PP
+
+.SS "EAPI void ecore_x_netwm_startup_id_set (Ecore_X_Window window, const char * id)"
+.PP
+Set the _NET_STARTUP_ID property. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window. 
+.br
+\fIid\fP The ID name.
+.RE
+.PP
+Set the ID \fCid\fP used for the startup sequence by sending the property _NET_STARTUP_ID to \fCwindow\fP. The ID name should be encoded in UTF-8.
+.PP
+If a new value for the property is set, the Window Manager should update the window's status accordingly (update its virtual desktop, etc.). 
+.SS "EAPI void ecore_x_netwm_state_request_send (Ecore_X_Window window, Ecore_X_Window root, Ecore_X_Window_State s1, Ecore_X_Window_State s2, int set)"
+.PP
+Send a _NET_WM_STATE property event. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window. 
+.br
+\fIroot\fP The root window. 
+.br
+\fIs1\fP The first state to alter. 
+.br
+\fIs2\fP The second state to alter. 
+.br
+\fIset\fP 0 to unset the property, set it otherwise.
+.RE
+.PP
+Send a ClientMessage event from \fCwindow\fP to the \fCroot\fP window with the _NET_WM_STATE property set. This change the state of a mapped window. \fCs1\fP is the first state to alter. \fCs2\fP is the second state to alter. If \fCset\fP value is 0, the property is removed (or unset), otherwise, the property is set. 
+.SS "EAPI int ecore_x_netwm_strut_get (Ecore_X_Window window, int * left, int * right, int * top, int * bottom)"
+.PP
+Get the space at the edje of the screen. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window 
+.br
+\fIleft\fP The number of pixels at the left of the screen. 
+.br
+\fIright\fP The number of pixels at the right of the screen. 
+.br
+\fItop\fP The number of pixels at the top of the screen. 
+.br
+\fIbottom\fP The number of pixels at the bottom of the screen. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+1 on success, 0 otherwise.
+.RE
+.PP
+Retrieve the space at the edje of the screen if \fCwindow\fP is to reserve such space. The number of pixels at the left, right, top and bottom of the screen are respectively stored in \fCleft\fP, \fCright\fP, \fCtop\fP and \fCbottom\fP. This function returns 1 on success, 0 otherwise.
+.PP
+This property is deprecated. See \fBecore_x_netwm_strut_set()\fP for more informations.
+.PP
+To use this function, you must call before, and in order, \fBecore_x_netwm_strut_get_prefetch()\fP, which sends the GetProperty request, then \fBecore_x_netwm_strut_get_fetch()\fP, which gets the reply. 
+.SS "EAPI void ecore_x_netwm_strut_get_prefetch (Ecore_X_Window window)"
+.PP
+Sends the GetProperty request. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window. 
+.RE
+.PP
+
+.SS "EAPI int ecore_x_netwm_strut_partial_get (Ecore_X_Window window, int * left, int * right, int * top, int * bottom, int * left_start_y, int * left_end_y, int * right_start_y, int * right_end_y, int * top_start_x, int * top_end_x, int * bottom_start_x, int * bottom_end_x)"
+.PP
+Get the space at the edje of the screen of a window. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window 
+.br
+\fIleft\fP The number of pixels at the left of the screen. 
+.br
+\fIright\fP The number of pixels at the right of the screen. 
+.br
+\fItop\fP The number of pixels at the top of the screen. 
+.br
+\fIbottom\fP The number of pixels at the bottom of the screen. 
+.br
+\fIleft_start_y\fP The number of pixels. 
+.br
+\fIleft_end_y\fP The number of pixels. 
+.br
+\fIright_start_y\fP The number of pixels. 
+.br
+\fIright_end_y\fP The number of pixels. 
+.br
+\fItop_start_x\fP The number of pixels. 
+.br
+\fItop_end_x\fP The number of pixels. 
+.br
+\fIbottom_start_x\fP The number of pixels. 
+.br
+\fIbottom_end_x\fP The number of pixels.
+.RE
+.PP
+Retrieve the space at the edje of the screen if \fCwindow\fP is to reserve such space. The number of pixels at the left, right, top and bottom of the screen are respectively stored in \fCleft\fP, \fCright\fP, \fCtop\fP and \fCbottom\fP. This function returns 1 on success, 0 otherwise.
+.PP
+TODO: more description for that function.
+.PP
+To use this function, you must call before, and in order, \fBecore_x_netwm_strut_partial_get_prefetch()\fP, which sends the GetProperty request, then \fBecore_x_netwm_strut_partial_get_fetch()\fP, which gets the reply. 
+.SS "EAPI void ecore_x_netwm_strut_partial_get_prefetch (Ecore_X_Window window)"
+.PP
+Sends the GetProperty request. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window. 
+.RE
+.PP
+
+.SS "EAPI void ecore_x_netwm_strut_partial_set (Ecore_X_Window window, int left, int right, int top, int bottom, int left_start_y, int left_end_y, int right_start_y, int right_end_y, int top_start_x, int top_end_x, int bottom_start_x, int bottom_end_x)"
+.PP
+Set the _NET_WM_STRUT_PARTIAL property. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window 
+.br
+\fIleft\fP The number of pixels at the left of the screen. 
+.br
+\fIright\fP The number of pixels at the right of the screen. 
+.br
+\fItop\fP The number of pixels at the top of the screen. 
+.br
+\fIbottom\fP The number of pixels at the bottom of the screen. 
+.br
+\fIleft_start_y\fP The number of pixels. 
+.br
+\fIleft_end_y\fP The number of pixels. 
+.br
+\fIright_start_y\fP The number of pixels. 
+.br
+\fIright_end_y\fP The number of pixels. 
+.br
+\fItop_start_x\fP The number of pixels. 
+.br
+\fItop_end_x\fP The number of pixels. 
+.br
+\fIbottom_start_x\fP The number of pixels. 
+.br
+\fIbottom_end_x\fP The number of pixels.
+.RE
+.PP
+Set space at the edje of the screen by sending the _NET_WM_STRUT_PARTIAL property to \fCwindow\fP if \fCwindow\fP is to reserve that space. \fCleft\fP, \fCright\fP, \fCtop\fP and \fCbottom\fP are respectively the number of pixels at the left, right, top and bottom of the screen.
+.PP
+TODO: more description for that function. 
+.SS "EAPI void ecore_x_netwm_strut_set (Ecore_X_Window window, int left, int right, int top, int bottom)"
+.PP
+Set the _NET_WM_STRUT property. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window 
+.br
+\fIleft\fP The number of pixels at the left of the screen. 
+.br
+\fIright\fP The number of pixels at the right of the screen. 
+.br
+\fItop\fP The number of pixels at the top of the screen. 
+.br
+\fIbottom\fP The number of pixels at the bottom of the screen.
+.RE
+.PP
+Set space at the edje of the screen by sending the _NET_WM_STRUT property to \fCwindow\fP if \fCwindow\fP is to reserve that space. \fCleft\fP, \fCright\fP, \fCtop\fP and \fCbottom\fP are respectively the number of pixels at the left, right, top and bottom of the screen.
+.PP
+This property is deprecated and \fBecore_x_netwm_strut_partial_set()\fP should be used instead. However, Clients MAY set this property in addition to _NET_WM_STRUT_PARTIAL to ensure backward compatibility with Window Managers supporting older versions of the Specification. 
+.SS "EAPI int ecore_x_netwm_supported_get (Ecore_X_Window root, Ecore_X_Atom ** supported, int * num)"
+.PP
+Get the hints supported by the Window Manager. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIroot\fP The root window. 
+.br
+\fIsupported\fP The supported hints. 
+.br
+\fInum\fP The number of atoms. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+1 on success, 0 otherwise.
+.RE
+.PP
+Get the hints supported by the Window Manager. \fCroot\fP is the root window. The hints are stored in \fCsupported\fP. The number of hints is stored in \fCnum\fP.
+.PP
+To use this function, you must call before, and in order, \fBecore_x_netwm_supported_get_prefetch()\fP, which sends the GetProperty request, then \fBecore_x_netwm_supported_get_fetch()\fP, which gets the reply. 
+.SS "EAPI void ecore_x_netwm_supported_get_prefetch (Ecore_X_Window root)"
+.PP
+Sends the GetProperty request. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIroot\fP The root window 
+.RE
+.PP
+
+.SS "EAPI void ecore_x_netwm_supported_set (Ecore_X_Window root, Ecore_X_Atom * supported, int num)"
+.PP
+Set the _NET_SUPPORTED property. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIroot\fP The root window. 
+.br
+\fIsupported\fP The supported hints. 
+.br
+\fInum\fP The number of hints.
+.RE
+.PP
+Set the _NET_SUPPORTED property on the \fCroot\fP window. The hints that the Window Manager supports are stored in \fCsupported\fP.
+.PP
+The Window Manager MUST set this property to indicate which hints it supports. 
+.SS "EAPI int ecore_x_netwm_sync_counter_get (Ecore_X_Window window, Ecore_X_Sync_Counter * counter)"
+.PP
+Get the X ID of a X Sync counter. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window. 
+.br
+\fIcounter\fP The X ID of the Sync counter. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+1 on success, 0 otherwise.
+.RE
+.PP
+Retrieve the X ID of the X Sync counter of \fCwindow\fP and store it in \fCcounter\fP. This function returns 1 on success, 0 otherwise.
+.PP
+To use this function, you must call before, and in order, \fBecore_x_netwm_frame_size_get_prefetch()\fP, which sends the GetProperty request, then \fBecore_x_netwm_frame_size_get_fetch()\fP, which gets the reply. 
+.SS "EAPI void ecore_x_netwm_sync_counter_get_prefetch (Ecore_X_Window window)"
+.PP
+Sends the GetProperty request. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window. 
+.RE
+.PP
+
+.SS "EAPI void ecore_x_netwm_sync_request_send (Ecore_X_Window window, unsigned int serial)"
+.PP
+Send a _NET_WM_SYNC_REQUEST property event. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window. 
+.br
+\fIserial\fP The update request number.
+.RE
+.PP
+Send a ClientMessage event from \fCwindow\fP with the _NET_WM_SYNC_REQUEST property set. 
+.SS "EAPI int ecore_x_netwm_user_time_get (Ecore_X_Window window, unsigned int * time)"
+.PP
+Get the last user activity time in the window. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window. 
+.br
+\fItime\fP The returned time. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+1 on success, 0 otherwise.
+.RE
+.PP
+Return the XServer time at which last user activity in \fCwindow\fP took place. The time is stored in \fCtime\fP.
+.PP
+To use this function, you must call before, and in order, \fBecore_x_netwm_user_time_get_prefetch()\fP, which sends the GetProperty request, then \fBecore_x_netwm_user_time_get_fetch()\fP, which gets the reply. 
+.SS "EAPI void ecore_x_netwm_user_time_get_prefetch (Ecore_X_Window window)"
+.PP
+Sends the GetProperty request. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window. 
+.RE
+.PP
+
+.SS "EAPI void ecore_x_netwm_user_time_set (Ecore_X_Window window, unsigned int time)"
+.PP
+Set the _NET_WM_USER_TIME property. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window. 
+.br
+\fItime\fP The last user activity time in the window.
+.RE
+.PP
+Set the XServer time at which last user activity in \fCwindow\fP took place by sending the _NET_WM_USER_TIME property to \fCwindow\fP. \fCtime\fP contains that XServer time in seconds.
+.PP
+This function allows a Window Manager to alter the focus, stacking, and/or placement behavior of windows when they are mapped depending on whether the new window was created by a user action or is a 'pop-up' window activated by a timer or some other event. 
+.SS "EAPI int ecore_x_netwm_visible_icon_name_get (Ecore_X_Window window, char ** name)"
+.PP
+Get the visible icon name of a window. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window. 
+.br
+\fIname\fP The icon name. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+Returns always 1.
+.RE
+.PP
+Retrieve the visible icon name of \fCwindow\fP and store it in \fCname\fP. The function returns always 1.
+.PP
+To use this function, you must call before, and in order, \fBecore_x_netwm_visible_icon_name_get_prefetch()\fP, which sends the GetProperty request, then \fBecore_x_netwm_visible_icon_name_get_fetch()\fP, which gets the reply. 
+.SS "EAPI void ecore_x_netwm_visible_icon_name_get_prefetch (Ecore_X_Window window)"
+.PP
+Sends the GetProperty request. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window. 
+.RE
+.PP
+
+.SS "EAPI void ecore_x_netwm_visible_icon_name_set (Ecore_X_Window window, const char * name)"
+.PP
+Set the _NET_WM_VISIBLE_ICON_NAME property. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The widow to activate. 
+.br
+\fIname\fP The title name of the window.
+.RE
+.PP
+Set the icon name of \fCwindow\fP to \fCname\fP by sending the _NET_WM_VISIBLE_ICON_NAME property to \fCwindow\fP, when the Window Manager displays a icon name other than by calling \fBecore_x_netwm_icon_name_set()\fP.
+.PP
+The Client SHOULD set the icon name in UTF-8 encoding. The Window Manager MUST use this function is it display an icon name other than with \fBecore_x_netwm_icon_name_set()\fP. 
+.SS "EAPI int ecore_x_netwm_visible_name_get (Ecore_X_Window window, char ** name)"
+.PP
+Get the visible title of a window. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window. 
+.br
+\fIname\fP The title name. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+Returns always 1.
+.RE
+.PP
+Retrieve the visible title name of \fCwindow\fP and store it in \fCname\fP. The function returns always 1. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window
+.RE
+.PP
+To use this function, you must call before, and in order, \fBecore_x_netwm_visible_name_get_prefetch()\fP, which sends the GetProperty request, then \fBecore_x_netwm_visible_name_get_fetch()\fP, which gets the reply. 
+.SS "EAPI void ecore_x_netwm_visible_name_get_prefetch (Ecore_X_Window window)"
+.PP
+Sends the GetProperty request. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window. 
+.RE
+.PP
+
+.SS "EAPI void ecore_x_netwm_visible_name_set (Ecore_X_Window window, const char * name)"
+.PP
+Set the _NET_WM_VISIBLE_NAME property. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The widow to activate. 
+.br
+\fIname\fP The title name of the window.
+.RE
+.PP
+Set the title name of \fCwindow\fP to \fCname\fP by sending the _NET_WM_VISIBLE_NAME property to \fCwindow\fP, when the Window Manager displays a window name other than by calling \fBecore_x_netwm_name_set()\fP.
+.PP
+The Client SHOULD set the title of \fCwindow\fP in UTF-8 encoding. This function is used for displaying title windows like [xterm1], [xterm2], ... thereby allowing Pagers to display the same title as the Window Manager. 
+.SS "EAPI int ecore_x_netwm_window_state_get (Ecore_X_Window window, Ecore_X_Window_State ** state, unsigned int * num)"
+.PP
+Get the hints describing the window state. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window. 
+.br
+\fIstate\fP The returned hins. 
+.br
+\fInum\fP The number of hints. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+1 on success, 0 otherwise.
+.RE
+.PP
+Retrieve the hints describing \fCwindow\fP state. The state is returned in \fCstate\fP. The nummber of hints is stored in \fCnum\fP. This function returns 1 on success, 0 otherwise.
+.PP
+To use this function, you must call before, and in order, \fBecore_x_netwm_window_state_get_prefetch()\fP, which sends the GetProperty request, then \fBecore_x_netwm_window_state_get_fetch()\fP, which gets the reply. 
+.SS "EAPI void ecore_x_netwm_window_state_get_prefetch (Ecore_X_Window window)"
+.PP
+Sends the GetProperty request. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window. 
+.RE
+.PP
+
+.SS "EAPI void ecore_x_netwm_window_state_set (Ecore_X_Window window, Ecore_X_Window_State * state, unsigned int num)"
+.PP
+Set the _NET_WM_STATE property. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window. 
+.br
+\fIstate\fP An array of window hints. 
+.br
+\fInum\fP The number of hints.
+.RE
+.PP
+Set a list of hints describing \fCwindow\fP state by sending the _NET_WM_STATE property to \fCwindow\fP. The hints are stored in the array \fCstate\fP. \fCnum\fP must contain the number of hints.
+.PP
+The Window Manager SHOULD honor _NET_WM_STATE whenever a withdrawn window requests to be mapped. A Client wishing to change the state of a window MUST send a _NET_WM_STATE client message to the root window. The Window Manager MUST keep this property updated to reflect the current state of the window. 
+.SS "EAPI int ecore_x_netwm_window_type_get (Ecore_X_Window window, Ecore_X_Window_Type * type)"
+.PP
+Get the functional type of a window. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window. 
+.br
+\fItype\fP The function type of the window. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+1 on success, 0 otherwise.
+.RE
+.PP
+Retrieve the functional type of \fCwindow\fP. The type is stored in \fCtype\fP. This function returns 1 on success, 0 otherwise.
+.PP
+To use this function, you must call before, and in order, \fBecore_x_netwm_window_type_get_prefetch()\fP, which sends the GetProperty request, then \fBecore_x_netwm_window_type_get_fetch()\fP, which gets the reply. 
+.SS "EAPI void ecore_x_netwm_window_type_get_prefetch (Ecore_X_Window window)"
+.PP
+Sends the GetProperty request. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window. 
+.RE
+.PP
+
+.SS "EAPI void ecore_x_netwm_window_type_set (Ecore_X_Window window, Ecore_X_Window_Type type)"
+.PP
+Set the _NET_WM_WINDOW_TYPE property. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window. 
+.br
+\fItype\fP The functional type of the window.
+.RE
+.PP
+Set the functional \fCtype\fP of \fCwindow\fP by sending _NET_WM_WINDOW_TYPE property to \fCwindow\fP.
+.PP
+This property SHOULD be set by the Client before mapping. This property SHOULD be used by the window manager in determining the decoration, stacking position and other behavior of the window. The Client SHOULD specify window types in order of preference (the first being most preferable).
+.PP
+This hint is intended to replace the MOTIF hints. 
+.SS "EAPI void ecore_x_netwm_wm_identify (Ecore_X_Window root, Ecore_X_Window check, const char * wm_name)"
+.PP
+Set the _NET_SUPPORTING_WM_CHECK property. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIroot\fP The root window. 
+.br
+\fIcheck\fP The child window. 
+.br
+\fIwm_name\fP The name of the Window Manager.
+.RE
+.PP
+Set the _NET_SUPPORTING_WM_CHECK property on the \fCroot\fP window to be the ID of the child window \fCcheck\fP created by the Window Manager. \fCcheck\fP also have the _NET_WM_NAME property set to the name \fCwm_name\fP of the Window Manager.
+.PP
+The Window MUST call that function to indicate that a compliant window manager is active. 
+.SS "EAPI int ecore_x_screen_is_composited (int screen)"
+.PP
+Check whether a screen is composited or not. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIscreen\fP The screen index.
+.RE
+.PP
+Return 1 if \fCscreen\fP is composited, 0 otherwise. 
diff --git a/doc/man/man3/Ecore_X_Pixmap_Group.3 b/doc/man/man3/Ecore_X_Pixmap_Group.3
new file mode 100644
index 0000000..77f2b9d
--- /dev/null
+++ b/doc/man/man3/Ecore_X_Pixmap_Group.3
@@ -0,0 +1,129 @@
+.TH "X Pixmap Functions" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+X Pixmap Functions \- Functions that operate on pixmaps.  
+
+.PP
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI Ecore_X_Pixmap \fBecore_x_pixmap_new\fP (Ecore_X_Window win, int w, int h, int dep)"
+.br
+.RI "\fICreates a new pixmap. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_pixmap_del\fP (Ecore_X_Pixmap pmap)"
+.br
+.RI "\fIDeletes the reference to the given pixmap. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_pixmap_paste\fP (Ecore_X_Pixmap pmap, Ecore_X_Drawable dest, Ecore_X_GC gc, int sx, int sy, int w, int h, int dx, int dy)"
+.br
+.RI "\fIPastes a rectangular area of the given pixmap onto the given drawable. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_pixmap_geometry_get\fP (Ecore_X_Pixmap pmap, int *x, int *y, int *w, int *h)"
+.br
+.RI "\fIRetrieves the size of the given pixmap. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_pixmap_depth_get\fP (Ecore_X_Pixmap pmap)"
+.br
+.RI "\fIRetrieves the depth of the given pixmap. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Functions that operate on pixmaps. 
+.PP
+.SH "Function Documentation"
+.PP 
+.SS "EAPI void ecore_x_pixmap_del (Ecore_X_Pixmap pmap)"
+.PP
+Deletes the reference to the given pixmap. 
+.PP
+If no other clients have a reference to the given pixmap, the server will destroy it.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIpmap\fP The given pixmap. 
+.RE
+.PP
+
+.SS "EAPI int ecore_x_pixmap_depth_get (Ecore_X_Pixmap pmap)"
+.PP
+Retrieves the depth of the given pixmap. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIpmap\fP The given pixmap. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The depth of the pixmap. 
+.RE
+.PP
+
+.SS "EAPI void ecore_x_pixmap_geometry_get (Ecore_X_Pixmap pmap, int * x, int * y, int * w, int * h)"
+.PP
+Retrieves the size of the given pixmap. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIpmap\fP The given pixmap. 
+.br
+\fIx\fP Pointer to an integer in which to store the X position. 
+.br
+\fIy\fP Pointer to an integer in which to store the Y position. 
+.br
+\fIw\fP Pointer to an integer in which to store the width. 
+.br
+\fIh\fP Pointer to an integer in which to store the height. 
+.RE
+.PP
+
+.SS "EAPI Ecore_X_Pixmap ecore_x_pixmap_new (Ecore_X_Window win, int w, int h, int dep)"
+.PP
+Creates a new pixmap. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwin\fP Window used to determine which screen of the display the pixmap should be created on. If 0, the default root window is used. 
+.br
+\fIw\fP Width of the new pixmap. 
+.br
+\fIh\fP Height of the new pixmap. 
+.br
+\fIdep\fP Depth of the pixmap. If 0, the default depth of the default screen is used. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+New pixmap. 
+.RE
+.PP
+
+.SS "EAPI void ecore_x_pixmap_paste (Ecore_X_Pixmap pmap, Ecore_X_Drawable dest, Ecore_X_GC gc, int sx, int sy, int w, int h, int dx, int dy)"
+.PP
+Pastes a rectangular area of the given pixmap onto the given drawable. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIpmap\fP The given pixmap. 
+.br
+\fIdest\fP The given drawable. 
+.br
+\fIgc\fP The graphics context which governs which operation will be used to paste the area onto the drawable. 
+.br
+\fIsx\fP The X position of the area on the pixmap. 
+.br
+\fIsy\fP The Y position of the area on the pixmap. 
+.br
+\fIw\fP The width of the area. 
+.br
+\fIh\fP The height of the area. 
+.br
+\fIdx\fP The X position at which to paste the area on \fCdest\fP. 
+.br
+\fIdy\fP The Y position at which to paste the area on \fCdest\fP. 
+.RE
+.PP
+
diff --git a/doc/man/man3/Ecore_X_RandR_Group.3 b/doc/man/man3/Ecore_X_RandR_Group.3
new file mode 100644
index 0000000..2693220
--- /dev/null
+++ b/doc/man/man3/Ecore_X_RandR_Group.3
@@ -0,0 +1,256 @@
+.TH "X RandR Extension Functions" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+X RandR Extension Functions \- Functions related to the X RandR extension.  
+
+.PP
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI int \fBecore_x_randr_query\fP (void)"
+.br
+.RI "\fIReturn whether the X server supports the RandR Extension. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_randr_events_select\fP (Ecore_X_Window window, int on)"
+.br
+.RI "\fISelect if the ScreenChangeNotify events will be sent. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_randr_get_screen_info_prefetch\fP (Ecore_X_Window window)"
+.br
+.RI "\fISends the GetScreenInfo request. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_randr_get_screen_info_fetch\fP (void)"
+.br
+.RI "\fIGets the reply of the GetScreenInfo request sent by \fBecore_x_randr_get_screen_info_prefetch()\fP. \fP"
+.ti -1c
+.RI "EAPI Ecore_X_Randr_Rotation \fBecore_x_randr_screen_rotations_get\fP (Ecore_X_Window root __UNUSED__)"
+.br
+.RI "\fIGet the set of rotations and reflections. \fP"
+.ti -1c
+.RI "EAPI Ecore_X_Randr_Rotation \fBecore_x_randr_screen_rotation_get\fP (Ecore_X_Window root __UNUSED__)"
+.br
+.RI "\fIGet the rotation. \fP"
+.ti -1c
+.RI "EAPI Ecore_X_Screen_Size * \fBecore_x_randr_screen_sizes_get\fP (Ecore_X_Window root __UNUSED__, int *num)"
+.br
+.RI "\fIGet the frame buffer sizes. \fP"
+.ti -1c
+.RI "EAPI Ecore_X_Screen_Size \fBecore_x_randr_current_screen_size_get\fP (Ecore_X_Window root __UNUSED__)"
+.br
+.RI "\fIGet the current frame buffer size. \fP"
+.ti -1c
+.RI "EAPI Ecore_X_Screen_Refresh_Rate \fBecore_x_randr_current_screen_refresh_rate_get\fP (Ecore_X_Window root __UNUSED__)"
+.br
+.RI "\fIGet the current refresh rate. \fP"
+.ti -1c
+.RI "EAPI Ecore_X_Screen_Refresh_Rate * \fBecore_x_randr_screen_refresh_rates_get\fP (Ecore_X_Window root __UNUSED__, int size_id __UNUSED__, int *num)"
+.br
+.RI "\fIGet the refresh rates. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_randr_screen_rotation_set\fP (Ecore_X_Window root, Ecore_X_Randr_Rotation rot)"
+.br
+.RI "\fISet the screen rotation. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_randr_screen_size_set\fP (Ecore_X_Window root, Ecore_X_Screen_Size size)"
+.br
+.RI "\fISet the screen size. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_randr_screen_refresh_rate_set\fP (Ecore_X_Window root, Ecore_X_Screen_Size size, Ecore_X_Screen_Refresh_Rate rate)"
+.br
+.RI "\fISet the screen refresh rate. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Functions related to the X RandR extension. 
+.PP
+.SH "Function Documentation"
+.PP 
+.SS "EAPI Ecore_X_Screen_Refresh_Rate ecore_x_randr_current_screen_refresh_rate_get (Ecore_X_Window root __UNUSED__)"
+.PP
+Get the current refresh rate. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIroot\fP The window (Unused). 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The current refresh rate.
+.RE
+.PP
+Get the current refresh rate supported by the screen associated to \fCwindow\fP (passed to \fBecore_x_randr_get_screen_info_prefetch()\fP).
+.PP
+To use this function, you must call before, and in order, \fBecore_x_randr_get_screen_info_prefetch()\fP, which sends the GetScreenInfo request, then \fBecore_x_randr_get_screen_info_fetch()\fP, which gets the reply. 
+.SS "EAPI Ecore_X_Screen_Size ecore_x_randr_current_screen_size_get (Ecore_X_Window root __UNUSED__)"
+.PP
+Get the current frame buffer size. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIroot\fP The window (Unused). 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The active size.
+.RE
+.PP
+Get the active frame buffer size supported by the screen associated to \fCwindow\fP (passed to \fBecore_x_randr_get_screen_info_prefetch()\fP).
+.PP
+To use this function, you must call before, and in order, \fBecore_x_randr_get_screen_info_prefetch()\fP, which sends the GetScreenInfo request, then \fBecore_x_randr_get_screen_info_fetch()\fP, which gets the reply. 
+.SS "EAPI int ecore_x_randr_events_select (Ecore_X_Window window, int on)"
+.PP
+Select if the ScreenChangeNotify events will be sent. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window. 
+.br
+\fIon\fP 1 to enable, 0 to disable. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+1 on success, 0 otherwise.
+.RE
+.PP
+If \fCon\fP value is \fC1\fP, ScreenChangeNotify events will be sent when the screen configuration changes, either from this protocol extension, or due to detected external screen configuration changes. ScreenChangeNotify may also be sent when this request executes if the screen configuration has changed since the client connected, to avoid race conditions. 
+.SS "EAPI void ecore_x_randr_get_screen_info_prefetch (Ecore_X_Window window)"
+.PP
+Sends the GetScreenInfo request. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP Window whose properties are requested. 
+.RE
+.PP
+
+.SS "EAPI int ecore_x_randr_query (void)"
+.PP
+Return whether the X server supports the RandR Extension. 
+.PP
+\fBReturns:\fP
+.RS 4
+1 if the X RandR Extension is available, 0 otherwise.
+.RE
+.PP
+Return 1 if the X server supports the RandR Extension version 1.1, 0 otherwise. 
+.SS "EAPI int ecore_x_randr_screen_refresh_rate_set (Ecore_X_Window root, Ecore_X_Screen_Size size, Ecore_X_Screen_Refresh_Rate rate)"
+.PP
+Set the screen refresh rate. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIroot\fP The root window. 
+.br
+\fIsize\fP The size. 
+.br
+\fIrate\fP The refresh rate.
+.RE
+.PP
+Set the size and the refresh rate of the screen associated to \fCroot\fP.
+.PP
+Note that that function is blocking. 
+.SS "EAPI Ecore_X_Screen_Refresh_Rate* ecore_x_randr_screen_refresh_rates_get (Ecore_X_Window root __UNUSED__, int size_id __UNUSED__, int * num)"
+.PP
+Get the refresh rates. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIroot\fP The window (Unused). 
+.br
+\fInum\fP The number of refresh rates. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The refresh rates.
+.RE
+.PP
+Get the list of refresh rates for each size supported by the screen associated to \fCwindow\fP (passed to \fBecore_x_randr_get_screen_info_prefetch()\fP). Each element of 'sizes' has a corresponding element in 'refresh'. An empty list indicates no known rates, or a device for which refresh is not relevant.
+.PP
+To use this function, you must call before, and in order, \fBecore_x_randr_get_screen_info_prefetch()\fP, which sends the GetScreenInfo request, then \fBecore_x_randr_get_screen_info_fetch()\fP, which gets the reply. 
+.SS "EAPI Ecore_X_Randr_Rotation ecore_x_randr_screen_rotation_get (Ecore_X_Window root __UNUSED__)"
+.PP
+Get the rotation. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIroot\fP The window (Unused). 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The rotation.
+.RE
+.PP
+Get the rotation supported by the screen associated to \fCwindow\fP (passed to \fBecore_x_randr_get_screen_info_prefetch()\fP).
+.PP
+To use this function, you must call before, and in order, \fBecore_x_randr_get_screen_info_prefetch()\fP, which sends the GetScreenInfo request, then \fBecore_x_randr_get_screen_info_fetch()\fP, which gets the reply. 
+.SS "EAPI void ecore_x_randr_screen_rotation_set (Ecore_X_Window root, Ecore_X_Randr_Rotation rot)"
+.PP
+Set the screen rotation. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIroot\fP The root window. 
+.br
+\fIrot\fP The rotation.
+.RE
+.PP
+Set the rotation of the screen associated to \fCroot\fP.
+.PP
+Note that that function is blocking. 
+.SS "EAPI Ecore_X_Randr_Rotation ecore_x_randr_screen_rotations_get (Ecore_X_Window root __UNUSED__)"
+.PP
+Get the set of rotations and reflections. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIroot\fP The window (Unused). 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The set of rotations and reflections.
+.RE
+.PP
+Get the set of rotations and reflections supported by the screen associated to \fCwindow\fP (passed to \fBecore_x_randr_get_screen_info_prefetch()\fP).
+.PP
+To use this function, you must call before, and in order, \fBecore_x_randr_get_screen_info_prefetch()\fP, which sends the GetScreenInfo request, then \fBecore_x_randr_get_screen_info_fetch()\fP, which gets the reply. 
+.SS "EAPI int ecore_x_randr_screen_size_set (Ecore_X_Window root, Ecore_X_Screen_Size size)"
+.PP
+Set the screen size. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIroot\fP The root window. 
+.br
+\fIsize\fP The size.
+.RE
+.PP
+Set the size of the screen associated to \fCroot\fP.
+.PP
+Note that that function is blocking. 
+.SS "EAPI Ecore_X_Screen_Size* ecore_x_randr_screen_sizes_get (Ecore_X_Window root __UNUSED__, int * num)"
+.PP
+Get the frame buffer sizes. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIroot\fP The window (Unused). 
+.br
+\fInum\fP The number of sizes. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The sizes.
+.RE
+.PP
+Get the list of possible frame buffer sizes (at the normal orientation supported by the screen associated to \fCwindow\fP (passed to \fBecore_x_randr_get_screen_info_prefetch()\fP). Each size indicates both the linear physical size of the screen and the pixel size.
+.PP
+To use this function, you must call before, and in order, \fBecore_x_randr_get_screen_info_prefetch()\fP, which sends the GetScreenInfo request, then \fBecore_x_randr_get_screen_info_fetch()\fP, which gets the reply. 
diff --git a/doc/man/man3/Ecore_X_ScrenSaver_Group.3 b/doc/man/man3/Ecore_X_ScrenSaver_Group.3
new file mode 100644
index 0000000..1ef0808
--- /dev/null
+++ b/doc/man/man3/Ecore_X_ScrenSaver_Group.3
@@ -0,0 +1,225 @@
+.TH "X Shape extension" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+X Shape extension \- These functions use the shape extension of the X server to change shape of given windows.  
+
+.PP
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI int \fBecore_x_screensaver_event_available_get\fP (void)"
+.br
+.RI "\fIReturn whether the X server supports the ScrenSaver Extension. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_screensaver_idle_time_prefetch\fP (void)"
+.br
+.RI "\fISends the QueryInfo request. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_screensaver_idle_time_fetch\fP (void)"
+.br
+.RI "\fIGets the reply of the QueryInfo request sent by \fBecore_x_get_screensaver_prefetch()\fP. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_screensaver_idle_time_get\fP (void)"
+.br
+.RI "\fIGet the number of seconds since the last input was received. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_screensaver_set\fP (int timeout, int interval, int blank, int expose)"
+.br
+.RI "\fISet the parameters of the screen saver. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_get_screensaver_prefetch\fP (void)"
+.br
+.RI "\fISends the GetScreenSaver request. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_get_screensaver_fetch\fP (void)"
+.br
+.RI "\fIGets the reply of the GetScreenSaver request sent by \fBecore_x_get_screensaver_prefetch()\fP. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_screensaver_timeout_set\fP (double timeout)"
+.br
+.RI "\fISet the timeout of the screen saver. \fP"
+.ti -1c
+.RI "EAPI double \fBecore_x_screensaver_timeout_get\fP (void)"
+.br
+.RI "\fIGet the timeout of the screen saver. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_screensaver_interval_set\fP (double interval)"
+.br
+.RI "\fISet the interval of the screen saver. \fP"
+.ti -1c
+.RI "EAPI double \fBecore_x_screensaver_interval_get\fP (void)"
+.br
+.RI "\fIGet the interval of the screen saver. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_screensaver_blank_set\fP (double blank)"
+.br
+.RI "\fISet the screen blanking. \fP"
+.ti -1c
+.RI "EAPI double \fBecore_x_screensaver_blank_get\fP (void)"
+.br
+.RI "\fIGet the screen blanking. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_screensaver_expose_set\fP (double expose)"
+.br
+.RI "\fISet the screen save control values. \fP"
+.ti -1c
+.RI "EAPI double \fBecore_x_screensaver_expose_get\fP (void)"
+.br
+.RI "\fIGet the screen save control values. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_screensaver_event_listen_set\fP (int on)"
+.br
+.RI "\fISpecifies if the Screen Saver NotifyMask event should be generated. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+These functions use the shape extension of the X server to change shape of given windows. 
+.PP
+.SH "Function Documentation"
+.PP 
+.SS "EAPI double ecore_x_screensaver_blank_get (void)"
+.PP
+Get the screen blanking. 
+.PP
+\fBReturns:\fP
+.RS 4
+The blanking.
+.RE
+.PP
+Get the screen blanking.
+.PP
+To use this function, you must call before, and in order, \fBecore_x_get_screensaver_prefetch()\fP, which sends the GetScreenSaver request, then \fBecore_x_get_screensaver_fetch()\fP, which gets the reply. 
+.SS "EAPI void ecore_x_screensaver_blank_set (double blank)"
+.PP
+Set the screen blanking. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIblank\fP The blank to set.
+.RE
+.PP
+\fCblank\fP specifies how to enable screen blanking.
+.PP
+To use this function, you must call before, and in order, \fBecore_x_get_screensaver_prefetch()\fP, which sends the GetScreenSaver request, then \fBecore_x_get_screensaver_fetch()\fP, which gets the reply. 
+.SS "EAPI int ecore_x_screensaver_event_available_get (void)"
+.PP
+Return whether the X server supports the ScrenSaver Extension. 
+.PP
+\fBReturns:\fP
+.RS 4
+1 if the X ScrenSaver Extension is available, 0 otherwise.
+.RE
+.PP
+Return 1 if the X server supports the ScrenSaver Extension version 1.0, 0 otherwise. 
+.SS "EAPI void ecore_x_screensaver_event_listen_set (int on)"
+.PP
+Specifies if the Screen Saver NotifyMask event should be generated. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIon\fP 0 to disable the generation of the event, otherwise enable it.
+.RE
+.PP
+Specifies if the Screen Saver NotifyMask event on the screen associated with drawable should be generated for this client. If \fCon\fP is set to \fC0\fP, the generation is disabled, otherwise, it is enabled. 
+.SS "EAPI double ecore_x_screensaver_expose_get (void)"
+.PP
+Get the screen save control values. 
+.PP
+\fBReturns:\fP
+.RS 4
+The expose.
+.RE
+.PP
+Get the screen save control values.
+.PP
+To use this function, you must call before, and in order, \fBecore_x_get_screensaver_prefetch()\fP, which sends the GetScreenSaver request, then \fBecore_x_get_screensaver_fetch()\fP, which gets the reply. 
+.SS "EAPI void ecore_x_screensaver_expose_set (double expose)"
+.PP
+Set the screen save control values. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIexpose\fP The expose to set.
+.RE
+.PP
+Set the screen save control values.
+.PP
+To use this function, you must call before, and in order, \fBecore_x_get_screensaver_prefetch()\fP, which sends the GetScreenSaver request, then \fBecore_x_get_screensaver_fetch()\fP, which gets the reply. 
+.SS "EAPI int ecore_x_screensaver_idle_time_get (void)"
+.PP
+Get the number of seconds since the last input was received. 
+.PP
+\fBReturns:\fP
+.RS 4
+The number of seconds.
+.RE
+.PP
+Get the number of milliseconds since the last input was received from the user on any of the input devices.
+.PP
+To use this function, you must call before, and in order, \fBecore_x_get_screensaver_prefetch()\fP, which sends the GetScreenSaver request, then \fBecore_x_get_screensaver_fetch()\fP, which gets the reply. 
+.SS "EAPI double ecore_x_screensaver_interval_get (void)"
+.PP
+Get the interval of the screen saver. 
+.PP
+\fBReturns:\fP
+.RS 4
+The interval.
+.RE
+.PP
+Get the \fCinterval\fP, in seconds, between screen saver alterations.
+.PP
+To use this function, you must call before, and in order, \fBecore_x_get_screensaver_prefetch()\fP, which sends the GetScreenSaver request, then \fBecore_x_get_screensaver_fetch()\fP, which gets the reply. 
+.SS "EAPI void ecore_x_screensaver_interval_set (double interval)"
+.PP
+Set the interval of the screen saver. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIinterval\fP The interval to set.
+.RE
+.PP
+Set the \fCinterval\fP, in seconds, between screen saver alterations.
+.PP
+To use this function, you must call before, and in order, \fBecore_x_get_screensaver_prefetch()\fP, which sends the GetScreenSaver request, then \fBecore_x_get_screensaver_fetch()\fP, which gets the reply. 
+.SS "EAPI void ecore_x_screensaver_set (int timeout, int interval, int blank, int expose)"
+.PP
+Set the parameters of the screen saver. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fItimeout\fP The timeout, in second. 
+.br
+\fIinterval\fP The interval, in seconds. 
+.br
+\fIblank\fP 0 to disable screen blanking, otherwise enable it. 
+.br
+\fIexpose\fP Allow Expose generation event or not.
+.RE
+.PP
+Set the parameters of the screen saver. \fCtimeout\fP is the timeout, in seconds, until the screen saver turns on. \fCinterval\fP is the interval, in seconds, between screen saver alterations. \fCblank\fP specifies how to enable screen blanking. \fCexpose\fP specifies the screen save control values. 
+.SS "EAPI double ecore_x_screensaver_timeout_get (void)"
+.PP
+Get the timeout of the screen saver. 
+.PP
+\fBReturns:\fP
+.RS 4
+The timeout.
+.RE
+.PP
+Get the \fCtimeout\fP, in seconds, until the screen saver turns on.
+.PP
+To use this function, you must call before, and in order, \fBecore_x_get_screensaver_prefetch()\fP, which sends the GetScreenSaver request, then \fBecore_x_get_screensaver_fetch()\fP, which gets the reply. 
+.SS "EAPI void ecore_x_screensaver_timeout_set (double timeout)"
+.PP
+Set the timeout of the screen saver. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fItimeout\fP The timeout to set.
+.RE
+.PP
+Set the \fCtimeout\fP, in seconds, until the screen saver turns on.
+.PP
+To use this function, you must call before, and in order, \fBecore_x_get_screensaver_prefetch()\fP, which sends the GetScreenSaver request, then \fBecore_x_get_screensaver_fetch()\fP, which gets the reply. 
diff --git a/doc/man/man3/Ecore_X_Shape_Group.3 b/doc/man/man3/Ecore_X_Shape_Group.3
new file mode 100644
index 0000000..3a651d3
--- /dev/null
+++ b/doc/man/man3/Ecore_X_Shape_Group.3
@@ -0,0 +1,94 @@
+.TH "X Shape extension" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+X Shape extension \- Functions that use the shape extension of the X server to change shape of given windows.  
+
+.PP
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI void \fBecore_x_window_shape_mask_set\fP (Ecore_X_Window dest_win, Ecore_X_Pixmap source_mask)"
+.br
+.RI "\fISets the shape of the given window to that given by the pixmap \fCmask\fP. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_window_shape_rectangle_set\fP (Ecore_X_Window dest_win, int x, int y, int width, int height)"
+.br
+.RI "\fISets the shape of the given window to a rectangle. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_window_shape_rectangles_get_prefetch\fP (Ecore_X_Window window)"
+.br
+.RI "\fISends the ShapeGetRectangles request. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_window_shape_rectangles_get_fetch\fP (void)"
+.br
+.RI "\fIGets the reply of the ShapeGetRectangles request sent by \fBecore_x_window_shape_rectangles_get_prefetch()\fP. \fP"
+.ti -1c
+.RI "EAPI Ecore_X_Rectangle * \fBecore_x_window_shape_rectangles_get\fP (Ecore_X_Window window __UNUSED__, int *num_ret)"
+.br
+.RI "\fITo document. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Functions that use the shape extension of the X server to change shape of given windows. 
+.PP
+.SH "Function Documentation"
+.PP 
+.SS "EAPI void ecore_x_window_shape_mask_set (Ecore_X_Window dest_win, Ecore_X_Pixmap source_mask)"
+.PP
+Sets the shape of the given window to that given by the pixmap \fCmask\fP. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIdest_win\fP The given window. 
+.br
+\fIsource_mask\fP A 2-bit depth pixmap that provides the new shape of the window.
+.RE
+.PP
+Sets the shape of the window \fCdest_win\fP to the pixmap \fCsource_mask\fP. 
+.SS "EAPI void ecore_x_window_shape_rectangle_set (Ecore_X_Window dest_win, int x, int y, int width, int height)"
+.PP
+Sets the shape of the given window to a rectangle. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIdest_win\fP The given window. 
+.br
+\fIx\fP The X coordinate of the top left corner of the rectangle. 
+.br
+\fIy\fP The Y coordinate of the top left corner of the rectangle. 
+.br
+\fIwidth\fP The width of the rectangle. 
+.br
+\fIheight\fP The height of the rectangle.
+.RE
+.PP
+Sets the shape of the window \fCdest_win\fP to a rectangle defined by \fCx\fP, \fCy\fP, \fCwidth\fP and \fCheight\fP. 
+.SS "EAPI Ecore_X_Rectangle* ecore_x_window_shape_rectangles_get (Ecore_X_Window window __UNUSED__, int * num_ret)"
+.PP
+To document. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP Unused. 
+.br
+\fInum_ret\fP To document. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+To document.
+.RE
+.PP
+To use this function, you must call before, and in order, \fBecore_x_window_shape_rectangles_get_prefetch()\fP, which sends the ShapeGetRectangles request, then \fBecore_x_window_shape_rectangles_get_fetch()\fP, which gets the reply. 
+.SS "EAPI void ecore_x_window_shape_rectangles_get_prefetch (Ecore_X_Window window)"
+.PP
+Sends the ShapeGetRectangles request. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP Requested window. 
+.RE
+.PP
+
diff --git a/doc/man/man3/Ecore_X_Sync_Group.3 b/doc/man/man3/Ecore_X_Sync_Group.3
new file mode 100644
index 0000000..d5235ae
--- /dev/null
+++ b/doc/man/man3/Ecore_X_Sync_Group.3
@@ -0,0 +1,69 @@
+.TH "X Sync Extension Functions" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+X Sync Extension Functions \- Functions related to the X Sync extension.  
+
+.PP
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI int \fBecore_x_sync_query\fP (void)"
+.br
+.RI "\fIReturn whether the X server supports the Sync Extension. \fP"
+.ti -1c
+.RI "EAPI Ecore_X_Sync_Alarm \fBecore_x_sync_alarm_new\fP (Ecore_X_Sync_Counter counter)"
+.br
+.RI "\fICreate a new alarm. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_sync_alarm_free\fP (Ecore_X_Sync_Alarm alarm)"
+.br
+.RI "\fIDelete an alarm. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Functions related to the X Sync extension. 
+.PP
+.SH "Function Documentation"
+.PP 
+.SS "EAPI int ecore_x_sync_alarm_free (Ecore_X_Sync_Alarm alarm)"
+.PP
+Delete an alarm. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIalarm\fP The alarm to delete. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+1 on success, 0 otherwise.
+.RE
+.PP
+Delete the \fCalarm\fP. Returns 1 on success, 0 otherwise. 
+.SS "EAPI Ecore_X_Sync_Alarm ecore_x_sync_alarm_new (Ecore_X_Sync_Counter counter)"
+.PP
+Create a new alarm. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIcounter\fP A counter. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+A newly created alarm.
+.RE
+.PP
+Create a new alarm. 
+.SS "EAPI int ecore_x_sync_query (void)"
+.PP
+Return whether the X server supports the Sync Extension. 
+.PP
+\fBReturns:\fP
+.RS 4
+1 if the X Sync Extension is available, 0 otherwise.
+.RE
+.PP
+Return 1 if the X server supports the Sync Extension version 3.0, 0 otherwise. 
diff --git a/doc/man/man3/Ecore_X_Window_Change_Attributes_Group.3 b/doc/man/man3/Ecore_X_Window_Change_Attributes_Group.3
new file mode 100644
index 0000000..76728c4
--- /dev/null
+++ b/doc/man/man3/Ecore_X_Window_Change_Attributes_Group.3
@@ -0,0 +1,189 @@
+.TH "X Window Change Attributes Functions" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+X Window Change Attributes Functions \- Functions that change the attributes of a window.  
+
+.PP
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI void \fBecore_x_window_pixmap_set\fP (Ecore_X_Window window, Ecore_X_Pixmap pixmap)"
+.br
+.RI "\fISets the background pixmap of the given window. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_window_background_color_set\fP (Ecore_X_Window window, unsigned short red, unsigned short green, unsigned short blue)"
+.br
+.RI "\fISets the background color of the given window. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_window_pixel_gravity_set\fP (Ecore_X_Window window, Ecore_X_Gravity gravity)"
+.br
+.RI "\fISets the bit gravity of the given window. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_window_gravity_set\fP (Ecore_X_Window window, Ecore_X_Gravity gravity)"
+.br
+.RI "\fISets the gravity of the given window. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_window_override_set\fP (Ecore_X_Window window, int override_redirect)"
+.br
+.RI "\fISets the override attribute of the given window. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_window_cursor_show\fP (Ecore_X_Window window, int show)"
+.br
+.RI "\fITo be documented. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_window_cursor_set\fP (Ecore_X_Window window, Ecore_X_Cursor cursor)"
+.br
+.RI "\fISets the cursor of the given window. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_window_container_manage\fP (Ecore_X_Window window)"
+.br
+.RI "\fITodo. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_window_client_manage\fP (Ecore_X_Window window)"
+.br
+.RI "\fITodo. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_window_sniff\fP (Ecore_X_Window window)"
+.br
+.RI "\fITodo. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_window_client_sniff\fP (Ecore_X_Window window)"
+.br
+.RI "\fITodo. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Functions that change the attributes of a window. 
+.PP
+.SH "Function Documentation"
+.PP 
+.SS "EAPI void ecore_x_window_background_color_set (Ecore_X_Window window, unsigned short red, unsigned short green, unsigned short blue)"
+.PP
+Sets the background color of the given window. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The given window. 
+.br
+\fIred\fP The red component of the color to set to. 
+.br
+\fIgreen\fP The green component of the color to set to. 
+.br
+\fIblue\fP The blue component of the color to set to. 
+.RE
+.PP
+
+.SS "EAPI void ecore_x_window_client_manage (Ecore_X_Window window)"
+.PP
+Todo. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The given window. 
+.RE
+.PP
+
+.SS "EAPI void ecore_x_window_client_sniff (Ecore_X_Window window)"
+.PP
+Todo. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The given window. 
+.RE
+.PP
+
+.SS "EAPI void ecore_x_window_container_manage (Ecore_X_Window window)"
+.PP
+Todo. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The given window. 
+.RE
+.PP
+
+.SS "EAPI void ecore_x_window_cursor_set (Ecore_X_Window window, Ecore_X_Cursor cursor)"
+.PP
+Sets the cursor of the given window. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The given window. 
+.br
+\fIcursor\fP The given cursor. 
+.RE
+.PP
+
+.SS "EAPI void ecore_x_window_cursor_show (Ecore_X_Window window, int show)"
+.PP
+To be documented. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The given window. 
+.br
+\fIshow\fP If set to \fC0\fP, hide the cursor. Show it otherwise. 
+.RE
+.PP
+
+.SS "EAPI void ecore_x_window_gravity_set (Ecore_X_Window window, Ecore_X_Gravity gravity)"
+.PP
+Sets the gravity of the given window. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The given window. 
+.br
+\fIgravity\fP The gravity. 
+.RE
+.PP
+
+.SS "EAPI void ecore_x_window_override_set (Ecore_X_Window window, int override_redirect)"
+.PP
+Sets the override attribute of the given window. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The given window. 
+.br
+\fIoverride_redirect\fP The override_redirect boolean. 
+.RE
+.PP
+
+.SS "EAPI void ecore_x_window_pixel_gravity_set (Ecore_X_Window window, Ecore_X_Gravity gravity)"
+.PP
+Sets the bit gravity of the given window. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The given window. 
+.br
+\fIgravity\fP The gravity. 
+.RE
+.PP
+
+.SS "EAPI void ecore_x_window_pixmap_set (Ecore_X_Window window, Ecore_X_Pixmap pixmap)"
+.PP
+Sets the background pixmap of the given window. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The given window. 
+.br
+\fIpixmap\fP The pixmap to set to. 
+.RE
+.PP
+
+.SS "EAPI void ecore_x_window_sniff (Ecore_X_Window window)"
+.PP
+Todo. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The given window. 
+.RE
+.PP
+
diff --git a/doc/man/man3/Ecore_X_Window_Configure_Group.3 b/doc/man/man3/Ecore_X_Window_Configure_Group.3
new file mode 100644
index 0000000..ebf5e9a
--- /dev/null
+++ b/doc/man/man3/Ecore_X_Window_Configure_Group.3
@@ -0,0 +1,151 @@
+.TH "X Window Configure Functions" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+X Window Configure Functions \- Functions to configure X windows.  
+
+.PP
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI void \fBecore_x_window_configure\fP (Ecore_X_Window window, Ecore_X_Window_Configure_Mask mask, int x, int y, int width, int height, int border_width, Ecore_X_Window sibling, int stack_mode)"
+.br
+.RI "\fIConfigures the given window with the given mask. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_window_move\fP (Ecore_X_Window window, int x, int y)"
+.br
+.RI "\fIMoves a window to the position \fCx\fP, \fCy\fP. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_window_resize\fP (Ecore_X_Window window, int width, int height)"
+.br
+.RI "\fIResizes a window. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_window_move_resize\fP (Ecore_X_Window window, int x, int y, int width, int height)"
+.br
+.RI "\fIMoves and resizes a window. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_window_border_width_set\fP (Ecore_X_Window window, int border_width)"
+.br
+.RI "\fISets the width of the border of the given window. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_window_raise\fP (Ecore_X_Window window)"
+.br
+.RI "\fIRaises the given window. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_window_lower\fP (Ecore_X_Window window)"
+.br
+.RI "\fILowers the given window. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Functions to configure X windows. 
+.PP
+.SH "Function Documentation"
+.PP 
+.SS "EAPI void ecore_x_window_border_width_set (Ecore_X_Window window, int border_width)"
+.PP
+Sets the width of the border of the given window. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The given window. 
+.br
+\fIborder_width\fP The new border width. 
+.RE
+.PP
+
+.SS "EAPI void ecore_x_window_configure (Ecore_X_Window window, Ecore_X_Window_Configure_Mask mask, int x, int y, int width, int height, int border_width, Ecore_X_Window sibling, int stack_mode)"
+.PP
+Configures the given window with the given mask. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The given window. 
+.br
+\fImask\fP The given mask. 
+.br
+\fIx\fP The X coordinate of the window. 
+.br
+\fIy\fP The Y coordinate of the window. 
+.br
+\fIwidth\fP The width of the window. 
+.br
+\fIheight\fP The height of the window. 
+.br
+\fIborder_width\fP The border width of the window. 
+.br
+\fIsibling\fP The sibling window of the window. 
+.br
+\fIstack_mode\fP The stack mode of the window. 
+.RE
+.PP
+
+.SS "EAPI void ecore_x_window_lower (Ecore_X_Window window)"
+.PP
+Lowers the given window. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window to lower. 
+.RE
+.PP
+
+.SS "EAPI void ecore_x_window_move (Ecore_X_Window window, int x, int y)"
+.PP
+Moves a window to the position \fCx\fP, \fCy\fP. 
+.PP
+The position is relative to the upper left hand corner of the parent window.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window to move. 
+.br
+\fIx\fP X position. 
+.br
+\fIy\fP Y position. 
+.RE
+.PP
+
+.SS "EAPI void ecore_x_window_move_resize (Ecore_X_Window window, int x, int y, int width, int height)"
+.PP
+Moves and resizes a window. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window to move and resize. 
+.br
+\fIx\fP New X position of the window. 
+.br
+\fIy\fP New Y position of the window. 
+.br
+\fIwidth\fP New width of the window. 
+.br
+\fIheight\fP New height of the window. 
+.RE
+.PP
+
+.SS "EAPI void ecore_x_window_raise (Ecore_X_Window window)"
+.PP
+Raises the given window. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window to raise. 
+.RE
+.PP
+
+.SS "EAPI void ecore_x_window_resize (Ecore_X_Window window, int width, int height)"
+.PP
+Resizes a window. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window to resize. 
+.br
+\fIwidth\fP New width of the window. 
+.br
+\fIheight\fP New height of the window. 
+.RE
+.PP
+
diff --git a/doc/man/man3/Ecore_X_Window_Create_Group.3 b/doc/man/man3/Ecore_X_Window_Create_Group.3
new file mode 100644
index 0000000..76ad59d
--- /dev/null
+++ b/doc/man/man3/Ecore_X_Window_Create_Group.3
@@ -0,0 +1,179 @@
+.TH "X Window Creation Functions" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+X Window Creation Functions \- Functions that can be used to create an X window.  
+
+.PP
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI Ecore_X_Window \fBecore_x_window_new\fP (Ecore_X_Window parent, int x, int y, int w, int h)"
+.br
+.RI "\fICreates a new window. \fP"
+.ti -1c
+.RI "EAPI Ecore_X_Window \fBecore_x_window_override_new\fP (Ecore_X_Window parent, int x, int y, int w, int h)"
+.br
+.RI "\fICreates a window with the override redirect attribute set to \fCTrue\fP. \fP"
+.ti -1c
+.RI "EAPI Ecore_X_Window \fBecore_x_window_input_new\fP (Ecore_X_Window parent, int x, int y, int w, int h)"
+.br
+.RI "\fICreates a new input window. \fP"
+.ti -1c
+.RI "EAPI Ecore_X_Window \fBecore_x_window_manager_argb_new\fP (Ecore_X_Window parent, int x, int y, int w, int h)"
+.br
+.RI "\fICreates a new window. \fP"
+.ti -1c
+.RI "EAPI Ecore_X_Window \fBecore_x_window_argb_new\fP (Ecore_X_Window parent, int x, int y, int w, int h)"
+.br
+.RI "\fICreates a new window. \fP"
+.ti -1c
+.RI "EAPI Ecore_X_Window \fBecore_x_window_override_argb_new\fP (Ecore_X_Window parent, int x, int y, int w, int h)"
+.br
+.RI "\fICreates a window with the override redirect attribute set to \fCTrue\fP. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Functions that can be used to create an X window. 
+.PP
+.SH "Function Documentation"
+.PP 
+.SS "EAPI Ecore_X_Window ecore_x_window_argb_new (Ecore_X_Window parent, int x, int y, int width, int height)"
+.PP
+Creates a new window. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIparent\fP The parent window to use. If \fCparent\fP is \fC0\fP, the root window of the default display is used. 
+.br
+\fIx\fP X position. 
+.br
+\fIy\fP Y position. 
+.br
+\fIw\fP Width. 
+.br
+\fIh\fP Height. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The new window handle. 
+.RE
+.PP
+
+.SS "EAPI Ecore_X_Window ecore_x_window_input_new (Ecore_X_Window parent, int x, int y, int width, int height)"
+.PP
+Creates a new input window. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIparent\fP The parent window to use. If \fCparent\fP is \fC0\fP, the root window of the default display is used. 
+.br
+\fIx\fP X position. 
+.br
+\fIy\fP Y position. 
+.br
+\fIw\fP Width. 
+.br
+\fIh\fP Height. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The new window. 
+.RE
+.PP
+
+.SS "EAPI Ecore_X_Window ecore_x_window_manager_argb_new (Ecore_X_Window parent, int x, int y, int width, int height)"
+.PP
+Creates a new window. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIparent\fP The parent window to use. If \fCparent\fP is \fC0\fP, the root window of the default display is used. 
+.br
+\fIx\fP X position. 
+.br
+\fIy\fP Y position. 
+.br
+\fIw\fP Width. 
+.br
+\fIh\fP Height. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The new window handle. 
+.RE
+.PP
+
+.SS "EAPI Ecore_X_Window ecore_x_window_new (Ecore_X_Window parent, int x, int y, int width, int height)"
+.PP
+Creates a new window. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIparent\fP The parent window to use. If \fCparent\fP is \fC0\fP, the root window of the default display is used. 
+.br
+\fIx\fP X position. 
+.br
+\fIy\fP Y position. 
+.br
+\fIw\fP Width. 
+.br
+\fIh\fP Height. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The new window handle. 
+.RE
+.PP
+
+.SS "EAPI Ecore_X_Window ecore_x_window_override_argb_new (Ecore_X_Window parent, int x, int y, int width, int height)"
+.PP
+Creates a window with the override redirect attribute set to \fCTrue\fP. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIparent\fP The parent window to use. If \fCparent\fP is \fC0\fP, the root window of the default display is used. 
+.br
+\fIx\fP X position. 
+.br
+\fIy\fP Y position. 
+.br
+\fIw\fP Width. 
+.br
+\fIh\fP Height. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The new window handle. 
+.RE
+.PP
+
+.SS "EAPI Ecore_X_Window ecore_x_window_override_new (Ecore_X_Window parent, int x, int y, int width, int height)"
+.PP
+Creates a window with the override redirect attribute set to \fCTrue\fP. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIparent\fP The parent window to use. If \fCparent\fP is \fC0\fP, the root window of the default display is used. 
+.br
+\fIx\fP X position. 
+.br
+\fIy\fP Y position. 
+.br
+\fIw\fP Width. 
+.br
+\fIh\fP Height. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The new window handle. 
+.RE
+.PP
+
diff --git a/doc/man/man3/Ecore_X_Window_Destroy_Group.3 b/doc/man/man3/Ecore_X_Window_Destroy_Group.3
new file mode 100644
index 0000000..517a500
--- /dev/null
+++ b/doc/man/man3/Ecore_X_Window_Destroy_Group.3
@@ -0,0 +1,45 @@
+.TH "X Window Destroy Functions" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+X Window Destroy Functions \- Functions to destroy X windows.  
+
+.PP
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI void \fBecore_x_window_del\fP (Ecore_X_Window window)"
+.br
+.RI "\fIDeletes the given window. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_window_delete_request_send\fP (Ecore_X_Window window)"
+.br
+.RI "\fISends a delete request to the given window. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Functions to destroy X windows. 
+.PP
+.SH "Function Documentation"
+.PP 
+.SS "EAPI void ecore_x_window_del (Ecore_X_Window window)"
+.PP
+Deletes the given window. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The given window. 
+.RE
+.PP
+
+.SS "EAPI void ecore_x_window_delete_request_send (Ecore_X_Window window)"
+.PP
+Sends a delete request to the given window. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The given window. 
+.RE
+.PP
+
diff --git a/doc/man/man3/Ecore_X_Window_Focus_Functions.3 b/doc/man/man3/Ecore_X_Window_Focus_Functions.3
new file mode 100644
index 0000000..711f6f4
--- /dev/null
+++ b/doc/man/man3/Ecore_X_Window_Focus_Functions.3
@@ -0,0 +1,61 @@
+.TH "X Window Focus Functions" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+X Window Focus Functions \- Functions that give the focus to an X Window.  
+
+.PP
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI void \fBecore_x_window_focus\fP (Ecore_X_Window win)"
+.br
+.RI "\fISets the focus to the window \fCwin\fP. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_window_focus_at_time\fP (Ecore_X_Window win, Ecore_X_Time t)"
+.br
+.RI "\fISets the focus to the given window at a specific time. \fP"
+.ti -1c
+.RI "EAPI Ecore_X_Window \fBecore_x_window_focus_get\fP (void)"
+.br
+.RI "\fIgets the focus to the window \fCwin\fP. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Functions that give the focus to an X Window. 
+.PP
+.SH "Function Documentation"
+.PP 
+.SS "EAPI void ecore_x_window_focus (Ecore_X_Window win)"
+.PP
+Sets the focus to the window \fCwin\fP. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwin\fP The window to focus. 
+.RE
+.PP
+
+.SS "EAPI void ecore_x_window_focus_at_time (Ecore_X_Window win, Ecore_X_Time t)"
+.PP
+Sets the focus to the given window at a specific time. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwin\fP The window to focus. 
+.br
+\fIt\fP When to set the focus to the window. 
+.RE
+.PP
+
+.SS "EAPI Ecore_X_Window ecore_x_window_focus_get (void)"
+.PP
+gets the focus to the window \fCwin\fP. 
+.PP
+\fBReturns:\fP
+.RS 4
+The window that has focus. 
+.RE
+.PP
+
diff --git a/doc/man/man3/Ecore_X_Window_Geometry_Group.3 b/doc/man/man3/Ecore_X_Window_Geometry_Group.3
new file mode 100644
index 0000000..3d702db
--- /dev/null
+++ b/doc/man/man3/Ecore_X_Window_Geometry_Group.3
@@ -0,0 +1,217 @@
+.TH "X Window Geometry Functions" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+X Window Geometry Functions \- Functions that change or retrieve the geometry of X windows.  
+
+.PP
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI void \fBecore_x_window_move\fP (Ecore_X_Window win, int x, int y)"
+.br
+.RI "\fIMoves a window to the position \fCx\fP, \fCy\fP. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_window_resize\fP (Ecore_X_Window win, int w, int h)"
+.br
+.RI "\fIResizes a window. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_window_move_resize\fP (Ecore_X_Window win, int x, int y, int w, int h)"
+.br
+.RI "\fIMoves and resizes a window. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_window_size_get\fP (Ecore_X_Window win, int *w, int *h)"
+.br
+.RI "\fIRetrieves the size of the given window. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_window_geometry_get\fP (Ecore_X_Window win, int *x, int *y, int *w, int *h)"
+.br
+.RI "\fIRetrieves the geometry of the given window. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_window_border_width_get\fP (Ecore_X_Window win)"
+.br
+.RI "\fIRetrieves the width of the border of the given window. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_window_border_width_set\fP (Ecore_X_Window win, int width)"
+.br
+.RI "\fISets the width of the border of the given window. \fP"
+.ti -1c
+.RI "EAPI Ecore_X_Window \fBecore_x_window_at_xy_get\fP (int x, int y)"
+.br
+.RI "\fIRetrieves the top, visible window at the given location. \fP"
+.ti -1c
+.RI "EAPI Ecore_X_Window \fBecore_x_window_at_xy_with_skip_get\fP (int x, int y, Ecore_X_Window *skip, int skip_num)"
+.br
+.RI "\fIRetrieves the top, visible window at the given location, but skips the windows in the list. \fP"
+.ti -1c
+.RI "EAPI Ecore_X_Window \fBecore_x_window_at_xy_begin_get\fP (Ecore_X_Window begin, int x, int y)"
+.br
+.RI "\fIRetrieves the top, visible window at the given location, but begins at the \fCbegin\fP window instead of the root one. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Functions that change or retrieve the geometry of X windows. 
+.PP
+.SH "Function Documentation"
+.PP 
+.SS "EAPI Ecore_X_Window ecore_x_window_at_xy_begin_get (Ecore_X_Window begin, int x, int y)"
+.PP
+Retrieves the top, visible window at the given location, but begins at the \fCbegin\fP window instead of the root one. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIbegin\fP The window from which we begin. 
+.br
+\fIx\fP The given X position. 
+.br
+\fIy\fP The given Y position. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The window at that position. 
+.RE
+.PP
+
+.SS "EAPI Ecore_X_Window ecore_x_window_at_xy_get (int x, int y)"
+.PP
+Retrieves the top, visible window at the given location. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIx\fP The given X position. 
+.br
+\fIy\fP The given Y position. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The window at that position. 
+.RE
+.PP
+
+.SS "EAPI Ecore_X_Window ecore_x_window_at_xy_with_skip_get (int x, int y, Ecore_X_Window * skip, int skip_num)"
+.PP
+Retrieves the top, visible window at the given location, but skips the windows in the list. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIx\fP The given X position. 
+.br
+\fIy\fP The given Y position. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The window at that position. 
+.RE
+.PP
+
+.SS "EAPI int ecore_x_window_border_width_get (Ecore_X_Window win)"
+.PP
+Retrieves the width of the border of the given window. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwin\fP The given window. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+Width of the border of \fCwin\fP. 
+.RE
+.PP
+
+.SS "EAPI void ecore_x_window_border_width_set (Ecore_X_Window win, int width)"
+.PP
+Sets the width of the border of the given window. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwin\fP The given window. 
+.br
+\fIwidth\fP The new border width. 
+.RE
+.PP
+
+.SS "EAPI void ecore_x_window_geometry_get (Ecore_X_Window window, int * x, int * y, int * width, int * height)"
+.PP
+Retrieves the geometry of the given window. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwin\fP The given window. 
+.br
+\fIx\fP Pointer to an integer in which the X position is to be stored. 
+.br
+\fIy\fP Pointer to an integer in which the Y position is to be stored. 
+.br
+\fIw\fP Pointer to an integer in which the width is to be stored. 
+.br
+\fIh\fP Pointer to an integer in which the height is to be stored. 
+.RE
+.PP
+
+.SS "EAPI void ecore_x_window_move (Ecore_X_Window win, int x, int y)"
+.PP
+Moves a window to the position \fCx\fP, \fCy\fP. 
+.PP
+The position is relative to the upper left hand corner of the parent window.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwin\fP The window to move. 
+.br
+\fIx\fP X position. 
+.br
+\fIy\fP Y position. 
+.RE
+.PP
+
+.SS "EAPI void ecore_x_window_move_resize (Ecore_X_Window win, int x, int y, int w, int h)"
+.PP
+Moves and resizes a window. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwin\fP The window to move and resize. 
+.br
+\fIx\fP New X position of the window. 
+.br
+\fIy\fP New Y position of the window. 
+.br
+\fIw\fP New width of the window. 
+.br
+\fIh\fP New height of the window. 
+.RE
+.PP
+
+.SS "EAPI void ecore_x_window_resize (Ecore_X_Window win, int w, int h)"
+.PP
+Resizes a window. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwin\fP The window to resize. 
+.br
+\fIw\fP New width of the window. 
+.br
+\fIh\fP New height of the window. 
+.RE
+.PP
+
+.SS "EAPI void ecore_x_window_size_get (Ecore_X_Window window, int * width, int * height)"
+.PP
+Retrieves the size of the given window. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwin\fP The given window. 
+.br
+\fIw\fP Pointer to an integer into which the width is to be stored. 
+.br
+\fIh\fP Pointer to an integer into which the height is to be stored. 
+.RE
+.PP
+
diff --git a/doc/man/man3/Ecore_X_Window_Get_Attributes_Group.3 b/doc/man/man3/Ecore_X_Window_Get_Attributes_Group.3
new file mode 100644
index 0000000..9097b3e
--- /dev/null
+++ b/doc/man/man3/Ecore_X_Window_Get_Attributes_Group.3
@@ -0,0 +1,64 @@
+.TH "X Window Get Attributes Functions" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+X Window Get Attributes Functions \- Functions that get the attributes of a window.  
+
+.PP
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI void \fBecore_x_get_window_attributes_prefetch\fP (Ecore_X_Window window)"
+.br
+.RI "\fISends the GetWindowAttributes request. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_get_window_attributes_fetch\fP (void)"
+.br
+.RI "\fIGets the reply of the GetWindowAttributes request sent by \fBecore_x_get_window_attributes_prefetch()\fP. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_window_attributes_get\fP (Ecore_X_Window window __UNUSED__, Ecore_X_Window_Attributes *att_ret)"
+.br
+.RI "\fIRetrieves the attributes of a window. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_window_visible_get\fP (Ecore_X_Window window __UNUSED__)"
+.br
+.RI "\fIFinds out whether the given window is currently visible. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Functions that get the attributes of a window. 
+.PP
+.SH "Function Documentation"
+.PP 
+.SS "EAPI int ecore_x_window_attributes_get (Ecore_X_Window window __UNUSED__, Ecore_X_Window_Attributes * att_ret)"
+.PP
+Retrieves the attributes of a window. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindows\fP Unused. 
+.br
+\fIatt_ret\fP Pointer to an Ecore_X_Window_Attributes structure in which the attributes of a window are to be stored.
+.RE
+.PP
+Retrieves the attributes of a window. If \fCatt_ret\fP is \fCNULL\fP, the function does nothing. If an error occurred, \fCatt_ret\fP is set to 0. Otherwise, the \fCatt_ret\fP structure is filled with the attributes os the requested window.
+.PP
+To use this function, you must call before, and in order, \fBecore_x_get_window_attributes_prefetch()\fP, which sends the GetWindowAttributes request, then \fBecore_x_get_window_attributes_fetch()\fP, which gets the reply. 
+.SS "EAPI int ecore_x_window_visible_get (Ecore_X_Window window __UNUSED__)"
+.PP
+Finds out whether the given window is currently visible. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP Unused. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+1 if the window is visible, otherwise 0.
+.RE
+.PP
+Finds out whether the given window is currently visible. If an error occurred, or if the window is not visible, 0 is returned. Otherwise 1 is returned.
+.PP
+To use this function, you must call before, and in order, \fBecore_x_get_window_attributes_prefetch()\fP, which sends the GetWindowAttributes request, then \fBecore_x_get_window_attributes_fetch()\fP, which gets the reply. 
diff --git a/doc/man/man3/Ecore_X_Window_Input_Focus_Group.3 b/doc/man/man3/Ecore_X_Window_Input_Focus_Group.3
new file mode 100644
index 0000000..07d9a70
--- /dev/null
+++ b/doc/man/man3/Ecore_X_Window_Input_Focus_Group.3
@@ -0,0 +1,71 @@
+.TH "X Window Input Focus Functions" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+X Window Input Focus Functions \- Functions that manage the focus of an X Window.  
+
+.PP
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI void \fBecore_x_window_focus\fP (Ecore_X_Window window)"
+.br
+.RI "\fISets the focus to the window \fCwin\fP. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_window_focus_at_time\fP (Ecore_X_Window window, Ecore_X_Time time)"
+.br
+.RI "\fISets the focus to the given window at a specific time. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_get_input_focus_prefetch\fP (void)"
+.br
+.RI "\fISends the GetInputFocus request. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_get_input_focus_fetch\fP (void)"
+.br
+.RI "\fIGets the reply of the GetInputFocus request sent by \fBecore_x_get_input_focus_prefetch()\fP. \fP"
+.ti -1c
+.RI "EAPI Ecore_X_Window \fBecore_x_window_focus_get\fP (void)"
+.br
+.RI "\fIgets the focus to the window \fCwin\fP. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Functions that manage the focus of an X Window. 
+.PP
+.SH "Function Documentation"
+.PP 
+.SS "EAPI void ecore_x_window_focus (Ecore_X_Window window)"
+.PP
+Sets the focus to the window \fCwin\fP. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window to focus. 
+.RE
+.PP
+
+.SS "EAPI void ecore_x_window_focus_at_time (Ecore_X_Window window, Ecore_X_Time time)"
+.PP
+Sets the focus to the given window at a specific time. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window to focus. 
+.br
+\fItime\fP When to set the focus to the window. 
+.RE
+.PP
+
+.SS "EAPI Ecore_X_Window ecore_x_window_focus_get (void)"
+.PP
+gets the focus to the window \fCwin\fP. 
+.PP
+\fBReturns:\fP
+.RS 4
+The window that has focus.
+.RE
+.PP
+Returns the window that has the focus. If an error aoocured, \fC0\fP is returned, otherwise the function returns the window that has focus.
+.PP
+To use this function, you must call before, and in order, \fBecore_x_get_input_focus_prefetch()\fP, which sends the GetInputFocus request, then \fBecore_x_get_input_focus_fetch()\fP, which gets the reply. 
diff --git a/doc/man/man3/Ecore_X_Window_Parent_Group.3 b/doc/man/man3/Ecore_X_Window_Parent_Group.3
new file mode 100644
index 0000000..0b9b7a7
--- /dev/null
+++ b/doc/man/man3/Ecore_X_Window_Parent_Group.3
@@ -0,0 +1,136 @@
+.TH "X Window Parent Functions" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+X Window Parent Functions \- Functions that retrieve or changes the parent window of a window.  
+
+.PP
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI void \fBecore_x_window_reparent\fP (Ecore_X_Window win, Ecore_X_Window new_parent, int x, int y)"
+.br
+.RI "\fIMoves a window to within another window at a given position. \fP"
+.ti -1c
+.RI "EAPI Ecore_X_Window \fBecore_x_window_parent_get\fP (Ecore_X_Window win)"
+.br
+.RI "\fIRetrieves the parent window of the given window. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_pointer_xy_get_prefetch\fP (Ecore_X_Window window)"
+.br
+.RI "\fISends the QueryPointer request. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_pointer_xy_get_fetch\fP (void)"
+.br
+.RI "\fIGets the reply of the QueryPointer request sent by ecore_x_query_pointer_prefetch(). \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_pointer_xy_get\fP (Ecore_X_Window window __UNUSED__, int *x, int *y)"
+.br
+.RI "\fIRetrieves the coordinates of the pointer. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_query_tree_prefetch\fP (Ecore_X_Window window)"
+.br
+.RI "\fISends the QueryTree request. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_query_tree_fetch\fP (void)"
+.br
+.RI "\fIGets the reply of the QueryTree request sent by \fBecore_x_query_tree_prefetch()\fP. \fP"
+.ti -1c
+.RI "EAPI Ecore_X_Window \fBecore_x_window_parent_get\fP (Ecore_X_Window window __UNUSED__)"
+.br
+.RI "\fIRetrieves the parent window of the given window. \fP"
+.ti -1c
+.RI "EAPI Ecore_X_Window * \fBecore_x_window_children_get\fP (Ecore_X_Window window __UNUSED__, int *num)"
+.br
+.RI "\fIRetrieves the children windows of the given window. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Functions that retrieve or changes the parent window of a window. 
+.PP
+.SH "Function Documentation"
+.PP 
+.SS "EAPI void ecore_x_pointer_xy_get (Ecore_X_Window window __UNUSED__, int * x, int * y)"
+.PP
+Retrieves the coordinates of the pointer. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP Unused. 
+.br
+\fIx\fP The X coordinate of the pointer. 
+.br
+\fIy\fP The Y coordinate of the pointer.
+.RE
+.PP
+Retrieves the coordinates of the pointer. If the window used in ecore_x_query_pointer_prefetch() is not on the same screen than the root window or if an error occured, \fCx\fP and \fCy\fP are set to 0. Otherwise, they are respectively set to the X and Y coordinates of the pointer.
+.PP
+To use this function, you must call before, and in order, ecore_x_query_pointer_prefetch(), which sends the QueryPointer request, then ecore_x_query_pointer_fetch(), which gets the reply. 
+.SS "EAPI Ecore_X_Window* ecore_x_window_children_get (Ecore_X_Window window __UNUSED__, int * num)"
+.PP
+Retrieves the children windows of the given window. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP Unused. 
+.br
+\fInum\fP children windows count. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The children windows.
+.RE
+.PP
+Retrieves the children windows of the given window. If an error occured, \fC0\fP is returned.
+.PP
+To use this function, you must call before, and in order, \fBecore_x_query_tree_prefetch()\fP, which sends the QueryTree request, then \fBecore_x_query_tree_fetch()\fP, which gets the reply. 
+.SS "EAPI Ecore_X_Window ecore_x_window_parent_get (Ecore_X_Window window __UNUSED__)"
+.PP
+Retrieves the parent window of the given window. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP Unused. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The parent window of \fCwindow\fP.
+.RE
+.PP
+Retrieves the parent window of the given window. If an error occured, \fC0\fP is returned.
+.PP
+To use this function, you must call before, and in order, \fBecore_x_query_tree_prefetch()\fP, which sends the QueryTree request, then \fBecore_x_query_tree_fetch()\fP, which gets the reply. 
+.SS "EAPI Ecore_X_Window ecore_x_window_parent_get (Ecore_X_Window win)"
+.PP
+Retrieves the parent window of the given window. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwin\fP The given window. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The parent window of \fCwin\fP. 
+.RE
+.PP
+
+.SS "EAPI void ecore_x_window_reparent (Ecore_X_Window win, Ecore_X_Window new_parent, int x, int y)"
+.PP
+Moves a window to within another window at a given position. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwin\fP The window to reparent. 
+.br
+\fInew_parent\fP The new parent window. 
+.br
+\fIx\fP X position within new parent window. 
+.br
+\fIy\fP Y position within new parent window. 
+.RE
+.PP
+
diff --git a/doc/man/man3/Ecore_X_Window_Reparent_Group.3 b/doc/man/man3/Ecore_X_Window_Reparent_Group.3
new file mode 100644
index 0000000..bd7fc1f
--- /dev/null
+++ b/doc/man/man3/Ecore_X_Window_Reparent_Group.3
@@ -0,0 +1,37 @@
+.TH "X Window Reparent Functions" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+X Window Reparent Functions \- Functions that retrieve or changes the parent window of a window.  
+
+.PP
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI void \fBecore_x_window_reparent\fP (Ecore_X_Window window, Ecore_X_Window new_parent, int x, int y)"
+.br
+.RI "\fIMoves a window to within another window at a given position. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Functions that retrieve or changes the parent window of a window. 
+.PP
+.SH "Function Documentation"
+.PP 
+.SS "EAPI void ecore_x_window_reparent (Ecore_X_Window window, Ecore_X_Window new_parent, int x, int y)"
+.PP
+Moves a window to within another window at a given position. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window to reparent. 
+.br
+\fInew_parent\fP The new parent window. 
+.br
+\fIx\fP X position within new parent window. 
+.br
+\fIy\fP Y position within new parent window. 
+.RE
+.PP
+
diff --git a/doc/man/man3/Ecore_X_Window_Save_Set_Group.3 b/doc/man/man3/Ecore_X_Window_Save_Set_Group.3
new file mode 100644
index 0000000..5c39a97
--- /dev/null
+++ b/doc/man/man3/Ecore_X_Window_Save_Set_Group.3
@@ -0,0 +1,45 @@
+.TH "X Window Change Save Set Functions" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+X Window Change Save Set Functions \- Functions that either inserts or deletes the specified window from the client's save-set.  
+
+.PP
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI void \fBecore_x_window_save_set_add\fP (Ecore_X_Window window)"
+.br
+.RI "\fIInserts the window in the client's save-set. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_window_save_set_del\fP (Ecore_X_Window window)"
+.br
+.RI "\fIDeletes the window from the client's save-set. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Functions that either inserts or deletes the specified window from the client's save-set. 
+.PP
+.SH "Function Documentation"
+.PP 
+.SS "EAPI void ecore_x_window_save_set_add (Ecore_X_Window window)"
+.PP
+Inserts the window in the client's save-set. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window to insert in the client's save-set. 
+.RE
+.PP
+
+.SS "EAPI void ecore_x_window_save_set_del (Ecore_X_Window window)"
+.PP
+Deletes the window from the client's save-set. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window to delete from the client's save-set. 
+.RE
+.PP
+
diff --git a/doc/man/man3/Ecore_X_Window_Shape.3 b/doc/man/man3/Ecore_X_Window_Shape.3
new file mode 100644
index 0000000..da1103a
--- /dev/null
+++ b/doc/man/man3/Ecore_X_Window_Shape.3
@@ -0,0 +1,33 @@
+.TH "X Window Shape Functions" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+X Window Shape Functions \- These functions use the shape extension of the X server to change shape of given windows.  
+
+.PP
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI void \fBecore_x_window_shape_mask_set\fP (Ecore_X_Window win, Ecore_X_Pixmap mask)"
+.br
+.RI "\fISets the shape of the given window to that given by the pixmap \fCmask\fP. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+These functions use the shape extension of the X server to change shape of given windows. 
+.PP
+.SH "Function Documentation"
+.PP 
+.SS "EAPI void ecore_x_window_shape_mask_set (Ecore_X_Window win, Ecore_X_Pixmap mask)"
+.PP
+Sets the shape of the given window to that given by the pixmap \fCmask\fP. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwin\fP The given window. 
+.br
+\fImask\fP A 2-bit depth pixmap that provides the new shape of the window. 
+.RE
+.PP
+
diff --git a/doc/man/man3/Ecore_X_Window_Visibility_Group.3 b/doc/man/man3/Ecore_X_Window_Visibility_Group.3
new file mode 100644
index 0000000..3e7c91d
--- /dev/null
+++ b/doc/man/man3/Ecore_X_Window_Visibility_Group.3
@@ -0,0 +1,68 @@
+.TH "X Window Visibility Functions" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+X Window Visibility Functions \- Functions to change the visibility of X windows.  
+
+.PP
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI int \fBecore_x_window_visible_get\fP (Ecore_X_Window win)"
+.br
+.RI "\fIFinds out whether the given window is currently visible. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_window_show\fP (Ecore_X_Window window)"
+.br
+.RI "\fIShows a window. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_window_hide\fP (Ecore_X_Window window)"
+.br
+.RI "\fIHides a window. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Functions to change the visibility of X windows. 
+.PP
+.SH "Function Documentation"
+.PP 
+.SS "EAPI void ecore_x_window_hide (Ecore_X_Window window)"
+.PP
+Hides a window. 
+.PP
+Synonymous to 'unmapping' a window in X Window System terminology.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window to hide. 
+.RE
+.PP
+
+.SS "EAPI void ecore_x_window_show (Ecore_X_Window window)"
+.PP
+Shows a window. 
+.PP
+Synonymous to 'mapping' a window in X Window System terminology.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwindow\fP The window to show. 
+.RE
+.PP
+
+.SS "EAPI int ecore_x_window_visible_get (Ecore_X_Window win)"
+.PP
+Finds out whether the given window is currently visible. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwin\fP The given window. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+1 if the window is visible, otherwise 0. 
+.RE
+.PP
+
diff --git a/doc/man/man3/Ecore_X_Window_Z_Order_Group.3 b/doc/man/man3/Ecore_X_Window_Z_Order_Group.3
new file mode 100644
index 0000000..b45561b
--- /dev/null
+++ b/doc/man/man3/Ecore_X_Window_Z_Order_Group.3
@@ -0,0 +1,45 @@
+.TH "X Window Z Order Functions" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+X Window Z Order Functions \- Functions that change the Z order of X windows.  
+
+.PP
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI void \fBecore_x_window_raise\fP (Ecore_X_Window win)"
+.br
+.RI "\fIRaises the given window. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_window_lower\fP (Ecore_X_Window win)"
+.br
+.RI "\fILowers the given window. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Functions that change the Z order of X windows. 
+.PP
+.SH "Function Documentation"
+.PP 
+.SS "EAPI void ecore_x_window_lower (Ecore_X_Window win)"
+.PP
+Lowers the given window. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwin\fP The window to lower. 
+.RE
+.PP
+
+.SS "EAPI void ecore_x_window_raise (Ecore_X_Window win)"
+.PP
+Raises the given window. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwin\fP The window to raise. 
+.RE
+.PP
+
diff --git a/doc/man/man3/Ecore_X_Xinerama_Group.3 b/doc/man/man3/Ecore_X_Xinerama_Group.3
new file mode 100644
index 0000000..68fca57
--- /dev/null
+++ b/doc/man/man3/Ecore_X_Xinerama_Group.3
@@ -0,0 +1,84 @@
+.TH "X Xinerama Extension Functions" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+X Xinerama Extension Functions \- Functions related to the X Xinerama extension.  
+
+.PP
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI int \fBecore_x_xinerama_query\fP (void)"
+.br
+.RI "\fIReturn whether the X server supports the Xinerama Extension. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_xinerama_query_screens_prefetch\fP (void)"
+.br
+.RI "\fISends the XineramaQueryScreens request. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_xinerama_query_screens_fetch\fP (void)"
+.br
+.RI "\fIGets the reply of the XineramaQueryScreens request sent by \fBecore_x_xinerama_query_screens_prefetch()\fP. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_xinerama_screen_count_get\fP (void)"
+.br
+.RI "\fIReturn the number of screens. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_xinerama_screen_geometry_get\fP (int screen, int *x, int *y, int *width, int *height)"
+.br
+.RI "\fIGet the geometry of the screen. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Functions related to the X Xinerama extension. 
+.PP
+.SH "Function Documentation"
+.PP 
+.SS "EAPI int ecore_x_xinerama_query (void)"
+.PP
+Return whether the X server supports the Xinerama Extension. 
+.PP
+\fBReturns:\fP
+.RS 4
+1 if the X Xinerama Extension is available, 0 otherwise.
+.RE
+.PP
+Return 1 if the X server supports the Fixes Xinerama version 1.1, 0 otherwise. 
+.SS "EAPI int ecore_x_xinerama_screen_count_get (void)"
+.PP
+Return the number of screens. 
+.PP
+\fBReturns:\fP
+.RS 4
+The screen count.
+.RE
+.PP
+Return the number of screens.
+.PP
+To use this function, you must call before, and in order, \fBecore_x_xinerama_query_screens_prefetch()\fP, which sends the XineramaQueryScreens request, then \fBecore_x_xinerama_query_screens_fetch()\fP, which gets the reply. 
+.SS "EAPI int ecore_x_xinerama_screen_geometry_get (int screen, int * x, int * y, int * width, int * height)"
+.PP
+Get the geometry of the screen. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIscreen\fP The screen (Unused). 
+.br
+\fIx\fP The X coordinate of the screen. 
+.br
+\fIy\fP The Y coordinate of the screen 
+.br
+\fIwidth\fP The width of the screen 
+.br
+\fIheight\fP The height of the screen 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+1 on success, 0 otherwise.
+.RE
+.PP
+Get the geometry of the screen whose number is \fCscreen\fP. The returned values are stored in \fCx\fP, \fCy\fP, \fCwidth\fP and \fCheight\fP.
+.PP
+To use this function, you must call before, and in order, \fBecore_x_xinerama_query_screens_prefetch()\fP, which sends the XineramaQueryScreens request, then \fBecore_x_xinerama_query_screens_fetch()\fP, which gets the reply. 
diff --git a/doc/man/man3/Ecore_Xcb_Display_Attr_Group.3 b/doc/man/man3/Ecore_Xcb_Display_Attr_Group.3
new file mode 100644
index 0000000..dd1b2cc
--- /dev/null
+++ b/doc/man/man3/Ecore_Xcb_Display_Attr_Group.3
@@ -0,0 +1,91 @@
+.TH "X Display Attributes" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+X Display Attributes \- Functions that set and retrieve X display attributes.  
+
+.PP
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI Ecore_X_Connection * \fBecore_x_connection_get\fP (void)"
+.br
+.RI "\fIRetrieves the Ecore_X_Connection handle used for the current X connection. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_fd_get\fP (void)"
+.br
+.RI "\fIRetrieves the X display file descriptor. \fP"
+.ti -1c
+.RI "EAPI Ecore_X_Screen * \fBecore_x_default_screen_get\fP (void)"
+.br
+.RI "\fIRetrieves the Ecore_X_Screen handle used for the current X connection. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_double_click_time_set\fP (double t)"
+.br
+.RI "\fISets the timeout for a double and triple clicks to be flagged. \fP"
+.ti -1c
+.RI "EAPI double \fBecore_x_double_click_time_get\fP (void)"
+.br
+.RI "\fIRetrieves the double and triple click flag timeout. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Functions that set and retrieve X display attributes. 
+.PP
+.SH "Function Documentation"
+.PP 
+.SS "EAPI Ecore_X_Connection* ecore_x_connection_get (void)"
+.PP
+Retrieves the Ecore_X_Connection handle used for the current X connection. 
+.PP
+\fBReturns:\fP
+.RS 4
+The current X connection. 
+.RE
+.PP
+
+.SS "EAPI Ecore_X_Screen* ecore_x_default_screen_get (void)"
+.PP
+Retrieves the Ecore_X_Screen handle used for the current X connection. 
+.PP
+\fBReturns:\fP
+.RS 4
+The current default screen. 
+.RE
+.PP
+
+.SS "EAPI double ecore_x_double_click_time_get (void)"
+.PP
+Retrieves the double and triple click flag timeout. 
+.PP
+See \fBecore_xcb_double_click_time_set\fP for more information.
+.PP
+\fBReturns:\fP
+.RS 4
+The timeout for double clicks in seconds. 
+.RE
+.PP
+
+.SS "EAPI void ecore_x_double_click_time_set (double t)"
+.PP
+Sets the timeout for a double and triple clicks to be flagged. 
+.PP
+This sets the time between clicks before the double_click flag is set in a button down event. If 3 clicks occur within double this time, the triple_click flag is also set.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIt\fP The time in seconds 
+.RE
+.PP
+
+.SS "EAPI int ecore_x_fd_get (void)"
+.PP
+Retrieves the X display file descriptor. 
+.PP
+\fBReturns:\fP
+.RS 4
+The current X display file descriptor. 
+.RE
+.PP
+
diff --git a/doc/man/man3/Ecore_Xcb_Flush_Group.3 b/doc/man/man3/Ecore_Xcb_Flush_Group.3
new file mode 100644
index 0000000..7d86060
--- /dev/null
+++ b/doc/man/man3/Ecore_Xcb_Flush_Group.3
@@ -0,0 +1,24 @@
+.TH "X Synchronization Functions" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+X Synchronization Functions \- Functions that ensure that all commands that have been issued by the Ecore X library have been sent to the server.  
+
+.PP
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI void \fBecore_x_flush\fP (void)"
+.br
+.RI "\fISends all X commands in the X Display buffer. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_sync\fP (void)"
+.br
+.RI "\fIFlushes the command buffer and waits until all requests have been processed by the server. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Functions that ensure that all commands that have been issued by the Ecore X library have been sent to the server. 
+.PP
+
diff --git a/doc/man/man3/Ecore_Xcb_Init_Group.3 b/doc/man/man3/Ecore_Xcb_Init_Group.3
new file mode 100644
index 0000000..ed047f8
--- /dev/null
+++ b/doc/man/man3/Ecore_Xcb_Init_Group.3
@@ -0,0 +1,61 @@
+.TH "X Library Init and Shutdown Functions" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+X Library Init and Shutdown Functions \- Functions that start and shut down the Ecore X Library.  
+
+.PP
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI int \fBecore_x_init\fP (const char *name)"
+.br
+.RI "\fIInitialize the X display connection to the given display. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_shutdown\fP (void)"
+.br
+.RI "\fIShuts down the Ecore X library. \fP"
+.ti -1c
+.RI "EAPI int \fBecore_x_disconnect\fP (void)"
+.br
+.RI "\fIShuts down the Ecore X library. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Functions that start and shut down the Ecore X Library. 
+.PP
+.SH "Function Documentation"
+.PP 
+.SS "EAPI int ecore_x_disconnect (void)"
+.PP
+Shuts down the Ecore X library. 
+.PP
+As ecore_xcb_shutdown, except do not close Display, only connection. 
+.SS "EAPI int ecore_x_init (const char * name)"
+.PP
+Initialize the X display connection to the given display. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIname\fP Display target name. If \fCNULL\fP, the default display is assumed. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The number of times the library has been initialized without being shut down. 0 is returned if an error occurs. 
+.RE
+.PP
+
+.SS "EAPI int ecore_x_shutdown (void)"
+.PP
+Shuts down the Ecore X library. 
+.PP
+In shutting down the library, the X display connection is terminated and any event handlers for it are removed.
+.PP
+\fBReturns:\fP
+.RS 4
+The number of times the library has been initialized without being shut down. 
+.RE
+.PP
+
diff --git a/doc/man/man3/Evas_X_Window_Change_Properties_Group.3 b/doc/man/man3/Evas_X_Window_Change_Properties_Group.3
new file mode 100644
index 0000000..ca30e3c
--- /dev/null
+++ b/doc/man/man3/Evas_X_Window_Change_Properties_Group.3
@@ -0,0 +1,8 @@
+.TH "X Window Change Property Functions" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+X Window Change Property Functions \- Functions that change window properties.  
+
+.PP
+
diff --git a/doc/man/man3/Evas_X_Window_Destroy_Group.3 b/doc/man/man3/Evas_X_Window_Destroy_Group.3
new file mode 100644
index 0000000..99a62b8
--- /dev/null
+++ b/doc/man/man3/Evas_X_Window_Destroy_Group.3
@@ -0,0 +1,45 @@
+.TH "X Window Destroy Functions" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+X Window Destroy Functions \- Functions to destroy X windows.  
+
+.PP
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI void \fBecore_x_window_del\fP (Ecore_X_Window win)"
+.br
+.RI "\fIDeletes the given window. \fP"
+.ti -1c
+.RI "EAPI void \fBecore_x_window_delete_request_send\fP (Ecore_X_Window win)"
+.br
+.RI "\fISends a delete request to the given window. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Functions to destroy X windows. 
+.PP
+.SH "Function Documentation"
+.PP 
+.SS "EAPI void ecore_x_window_del (Ecore_X_Window win)"
+.PP
+Deletes the given window. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwin\fP The given window. 
+.RE
+.PP
+
+.SS "EAPI void ecore_x_window_delete_request_send (Ecore_X_Window win)"
+.PP
+Sends a delete request to the given window. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIwin\fP The given window. 
+.RE
+.PP
+
diff --git a/doc/man/man3/Evas_X_Window_Properties_Group.3 b/doc/man/man3/Evas_X_Window_Properties_Group.3
new file mode 100644
index 0000000..9cfedce
--- /dev/null
+++ b/doc/man/man3/Evas_X_Window_Properties_Group.3
@@ -0,0 +1,8 @@
+.TH "X Window Property Functions" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+X Window Property Functions \- Functions that set window properties.  
+
+.PP
+
diff --git a/doc/man/man3/Evas_X_Window_Visibility_Group.3 b/doc/man/man3/Evas_X_Window_Visibility_Group.3
new file mode 100644
index 0000000..89a7b78
--- /dev/null
+++ b/doc/man/man3/Evas_X_Window_Visibility_Group.3
@@ -0,0 +1,8 @@
+.TH "X Window Visibility Functions" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+X Window Visibility Functions \- Functions to access and change the visibility of X windows.  
+
+.PP
+
diff --git a/doc/man/man3/Idle_Group.3 b/doc/man/man3/Idle_Group.3
new file mode 100644
index 0000000..cc8093b
--- /dev/null
+++ b/doc/man/man3/Idle_Group.3
@@ -0,0 +1,148 @@
+.TH "Idle Handlers" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+Idle Handlers \- Callbacks that are called when the program enters or exits an idle state.  
+
+.PP
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI \fBEcore_Idle_Enterer\fP * \fBecore_idle_enterer_add\fP (int(*func)(void *data), const void *data)"
+.br
+.RI "\fIAdd an idle enterer handler. \fP"
+.ti -1c
+.RI "EAPI void * \fBecore_idle_enterer_del\fP (\fBEcore_Idle_Enterer\fP *idle_enterer)"
+.br
+.RI "\fIDelete an idle enterer callback. \fP"
+.ti -1c
+.RI "EAPI \fBEcore_Idle_Exiter\fP * \fBecore_idle_exiter_add\fP (int(*func)(void *data), const void *data)"
+.br
+.RI "\fIAdd an idle exiter handler. \fP"
+.ti -1c
+.RI "EAPI void * \fBecore_idle_exiter_del\fP (\fBEcore_Idle_Exiter\fP *idle_exiter)"
+.br
+.RI "\fIDelete an idle exiter handler from the list to be run on exiting idle state. \fP"
+.ti -1c
+.RI "EAPI \fBEcore_Idler\fP * \fBecore_idler_add\fP (int(*func)(void *data), const void *data)"
+.br
+.RI "\fIAdd an idler handler. \fP"
+.ti -1c
+.RI "EAPI void * \fBecore_idler_del\fP (\fBEcore_Idler\fP *idler)"
+.br
+.RI "\fIDelete an idler callback from the list to be executed. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Callbacks that are called when the program enters or exits an idle state. 
+.PP
+The ecore main loop enters an idle state when it is waiting for timers to time out, data to come in on a file descriptor or any other event to occur. You can set callbacks to be called when the main loop enters an idle state, during an idle state or just after the program wakes up.
+.PP
+Enterer callbacks are good for updating your program's state, if it has a state engine. Once all of the enterer handlers are called, the program will enter a 'sleeping' state.
+.PP
+Idler callbacks are called when the main loop has called all enterer handlers. They are useful for interfaces that require polling and timers would be too slow to use.
+.PP
+If no idler callbacks are specified, then the process literally goes to sleep. Otherwise, the idler callbacks are called continuously while the loop is 'idle', using as much CPU as is available to the process.
+.PP
+Exiter callbacks are called when the main loop wakes up from an idle state. 
+.SH "Function Documentation"
+.PP 
+.SS "EAPI \fBEcore_Idle_Enterer\fP* ecore_idle_enterer_add (int(*)(void *data) func, const void * data)"
+.PP
+Add an idle enterer handler. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIfunc\fP The function to call when entering an idle state. 
+.br
+\fIdata\fP The data to be passed to the \fCfunc\fP call 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+A handle to the idle enterer callback if successful. Otherwise, NULL is returned. 
+.RE
+.PP
+
+.SS "EAPI void* ecore_idle_enterer_del (\fBEcore_Idle_Enterer\fP * idle_enterer)"
+.PP
+Delete an idle enterer callback. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIidle_enterer\fP The idle enterer to delete 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The data pointer passed to the idler enterer callback on success. NULL otherwise. 
+.RE
+.PP
+
+.SS "EAPI \fBEcore_Idle_Exiter\fP* ecore_idle_exiter_add (int(*)(void *data) func, const void * data)"
+.PP
+Add an idle exiter handler. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIfunc\fP The function to call when exiting an idle state. 
+.br
+\fIdata\fP The data to be passed to the \fCfunc\fP call 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+A handle to the idle exiter callback on success. NULL otherwise. 
+.RE
+.PP
+
+.SS "EAPI void* ecore_idle_exiter_del (\fBEcore_Idle_Exiter\fP * idle_exiter)"
+.PP
+Delete an idle exiter handler from the list to be run on exiting idle state. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIidle_exiter\fP The idle exiter to delete 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The data pointer that was being being passed to the handler if successful. NULL otherwise. 
+.RE
+.PP
+
+.SS "EAPI \fBEcore_Idler\fP* ecore_idler_add (int(*)(void *data) func, const void * data)"
+.PP
+Add an idler handler. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIfunc\fP The function to call when idling. 
+.br
+\fIdata\fP The data to be passed to this \fCfunc\fP call. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+A idler handle if successfully added. NULL otherwise.
+.RE
+.PP
+Add an idler handle to the event loop, returning a handle on success and NULL otherwise. The function \fCfunc\fP will be called repeatedly while no other events are ready to be processed, as long as it returns 1. A return of 0 deletes the idler.
+.PP
+Idlers are useful for progressively prossessing data without blocking. 
+.SS "EAPI void* ecore_idler_del (\fBEcore_Idler\fP * idler)"
+.PP
+Delete an idler callback from the list to be executed. 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIidler\fP The handle of the idler callback to delete 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The data pointer passed to the idler callback on success. NULL otherwise. 
+.RE
+.PP
+
diff --git a/doc/man/man3/X_Window_System_Page.3 b/doc/man/man3/X_Window_System_Page.3
new file mode 100644
index 0000000..09ebcb2
--- /dev/null
+++ b/doc/man/man3/X_Window_System_Page.3
@@ -0,0 +1,8 @@
+.TH "X_Window_System_Page" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+X_Window_System_Page \- X Window System
+The Ecore library includes a wrapper for handling the X window system.
+.PP
+This page briefly explains what the X window system is and various terms that are used. 
diff --git a/doc/man/man3/_Ecore_DirectFB_Event_Key_Down.3 b/doc/man/man3/_Ecore_DirectFB_Event_Key_Down.3
new file mode 100644
index 0000000..bca39ae
--- /dev/null
+++ b/doc/man/man3/_Ecore_DirectFB_Event_Key_Down.3
@@ -0,0 +1,35 @@
+.TH "_Ecore_DirectFB_Event_Key_Down" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+_Ecore_DirectFB_Event_Key_Down \- DirectFB Key Down event.  
+
+.PP
+.SH SYNOPSIS
+.br
+.PP
+.SS "Data Fields"
+
+.in +1c
+.ti -1c
+.RI "char * \fBname\fP"
+.br
+.RI "\fIThe name of the key that was released. \fP"
+.ti -1c
+.RI "char * \fBstring\fP"
+.br
+.RI "\fIThe logical symbol of the key that was pressed. \fP"
+.ti -1c
+.RI "char * \fBkey_compose\fP"
+.br
+.RI "\fIThe UTF-8 string conversion if any. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+DirectFB Key Down event. 
+.PP
+
+
+.SH "Author"
+.PP 
+Generated automatically by Doxygen for Ecore from the source code.
diff --git a/doc/man/man3/_Ecore_DirectFB_Event_Key_Up.3 b/doc/man/man3/_Ecore_DirectFB_Event_Key_Up.3
new file mode 100644
index 0000000..c50d8e0
--- /dev/null
+++ b/doc/man/man3/_Ecore_DirectFB_Event_Key_Up.3
@@ -0,0 +1,35 @@
+.TH "_Ecore_DirectFB_Event_Key_Up" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+_Ecore_DirectFB_Event_Key_Up \- DirectFB Key Up event.  
+
+.PP
+.SH SYNOPSIS
+.br
+.PP
+.SS "Data Fields"
+
+.in +1c
+.ti -1c
+.RI "char * \fBname\fP"
+.br
+.RI "\fIThe name of the key that was released. \fP"
+.ti -1c
+.RI "char * \fBstring\fP"
+.br
+.RI "\fIThe logical symbol of the key that was pressed. \fP"
+.ti -1c
+.RI "char * \fBkey_compose\fP"
+.br
+.RI "\fIThe UTF-8 string conversion if any. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+DirectFB Key Up event. 
+.PP
+
+
+.SH "Author"
+.PP 
+Generated automatically by Doxygen for Ecore from the source code.
diff --git a/doc/man/man3/_Ecore_Event_Signal_Exit.3 b/doc/man/man3/_Ecore_Event_Signal_Exit.3
new file mode 100644
index 0000000..1975f71
--- /dev/null
+++ b/doc/man/man3/_Ecore_Event_Signal_Exit.3
@@ -0,0 +1,43 @@
+.TH "_Ecore_Event_Signal_Exit" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+_Ecore_Event_Signal_Exit \- Exit request event.  
+
+.PP
+.SH SYNOPSIS
+.br
+.PP
+.SS "Data Fields"
+
+.in +1c
+.ti -1c
+.RI "int \fBinterrupt\fP: 1"
+.br
+.RI "\fISet if the exit request was an interrupt signal. \fP"
+.ti -1c
+.RI "int \fBquit\fP: 1"
+.br
+.RI "\fIset if the exit request was a quit signal \fP"
+.ti -1c
+.RI "int \fBterminate\fP: 1"
+.br
+.RI "\fISet if the exit request was a terminate singal. \fP"
+.ti -1c
+.RI "void * \fBext_data\fP"
+.br
+.RI "\fIExtension data - not used. \fP"
+.ti -1c
+.RI "siginfo_t \fBdata\fP"
+.br
+.RI "\fISignal info. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Exit request event. 
+.PP
+
+
+.SH "Author"
+.PP 
+Generated automatically by Doxygen for Ecore from the source code.
diff --git a/doc/man/man3/_Ecore_Event_Signal_Hup.3 b/doc/man/man3/_Ecore_Event_Signal_Hup.3
new file mode 100644
index 0000000..eb7fc0d
--- /dev/null
+++ b/doc/man/man3/_Ecore_Event_Signal_Hup.3
@@ -0,0 +1,31 @@
+.TH "_Ecore_Event_Signal_Hup" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+_Ecore_Event_Signal_Hup \- Hup signal event.  
+
+.PP
+.SH SYNOPSIS
+.br
+.PP
+.SS "Data Fields"
+
+.in +1c
+.ti -1c
+.RI "void * \fBext_data\fP"
+.br
+.RI "\fIExtension data - not used. \fP"
+.ti -1c
+.RI "siginfo_t \fBdata\fP"
+.br
+.RI "\fISignal info. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Hup signal event. 
+.PP
+
+
+.SH "Author"
+.PP 
+Generated automatically by Doxygen for Ecore from the source code.
diff --git a/doc/man/man3/_Ecore_Event_Signal_Power.3 b/doc/man/man3/_Ecore_Event_Signal_Power.3
new file mode 100644
index 0000000..c9a5604
--- /dev/null
+++ b/doc/man/man3/_Ecore_Event_Signal_Power.3
@@ -0,0 +1,31 @@
+.TH "_Ecore_Event_Signal_Power" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+_Ecore_Event_Signal_Power \- Power event.  
+
+.PP
+.SH SYNOPSIS
+.br
+.PP
+.SS "Data Fields"
+
+.in +1c
+.ti -1c
+.RI "void * \fBext_data\fP"
+.br
+.RI "\fIExtension data - not used. \fP"
+.ti -1c
+.RI "siginfo_t \fBdata\fP"
+.br
+.RI "\fISignal info. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Power event. 
+.PP
+
+
+.SH "Author"
+.PP 
+Generated automatically by Doxygen for Ecore from the source code.
diff --git a/doc/man/man3/_Ecore_Event_Signal_Realtime.3 b/doc/man/man3/_Ecore_Event_Signal_Realtime.3
new file mode 100644
index 0000000..030954c
--- /dev/null
+++ b/doc/man/man3/_Ecore_Event_Signal_Realtime.3
@@ -0,0 +1,31 @@
+.TH "_Ecore_Event_Signal_Realtime" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+_Ecore_Event_Signal_Realtime \- Realtime event.  
+
+.PP
+.SH SYNOPSIS
+.br
+.PP
+.SS "Data Fields"
+
+.in +1c
+.ti -1c
+.RI "int \fBnum\fP"
+.br
+.RI "\fIThe realtime signal's number. \fP"
+.ti -1c
+.RI "siginfo_t \fBdata\fP"
+.br
+.RI "\fISignal info. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Realtime event. 
+.PP
+
+
+.SH "Author"
+.PP 
+Generated automatically by Doxygen for Ecore from the source code.
diff --git a/doc/man/man3/_Ecore_Event_Signal_User.3 b/doc/man/man3/_Ecore_Event_Signal_User.3
new file mode 100644
index 0000000..84b237a
--- /dev/null
+++ b/doc/man/man3/_Ecore_Event_Signal_User.3
@@ -0,0 +1,41 @@
+.TH "_Ecore_Event_Signal_User" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+_Ecore_Event_Signal_User \- User signal event.  
+
+.PP
+.SH SYNOPSIS
+.br
+.PP
+.SS "Data Fields"
+
+.in +1c
+.ti -1c
+.RI "int \fBnumber\fP"
+.br
+.RI "\fIThe signal number. \fP"
+.ti -1c
+.RI "void * \fBext_data\fP"
+.br
+.RI "\fIExtension data - not used. \fP"
+.ti -1c
+.RI "siginfo_t \fBdata\fP"
+.br
+.RI "\fISignal info. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+User signal event. 
+.PP
+.SH "Field Documentation"
+.PP 
+.SS "int \fB_Ecore_Event_Signal_User::number\fP"
+.PP
+The signal number. 
+.PP
+Either 1 or 2 
+
+.SH "Author"
+.PP 
+Generated automatically by Doxygen for Ecore from the source code.
diff --git a/doc/man/man3/_Ecore_Exe_Event_Add.3 b/doc/man/man3/_Ecore_Exe_Event_Add.3
new file mode 100644
index 0000000..3c10198
--- /dev/null
+++ b/doc/man/man3/_Ecore_Exe_Event_Add.3
@@ -0,0 +1,31 @@
+.TH "_Ecore_Exe_Event_Add" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+_Ecore_Exe_Event_Add \- Process add event.  
+
+.PP
+.SH SYNOPSIS
+.br
+.PP
+.SS "Data Fields"
+
+.in +1c
+.ti -1c
+.RI "\fBEcore_Exe\fP * \fBexe\fP"
+.br
+.RI "\fIThe handle to the added process. \fP"
+.ti -1c
+.RI "void * \fBext_data\fP"
+.br
+.RI "\fIExtension data - not used. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Process add event. 
+.PP
+
+
+.SH "Author"
+.PP 
+Generated automatically by Doxygen for Ecore from the source code.
diff --git a/doc/man/man3/_Ecore_Exe_Event_Data.3 b/doc/man/man3/_Ecore_Exe_Event_Data.3
new file mode 100644
index 0000000..94e9a44
--- /dev/null
+++ b/doc/man/man3/_Ecore_Exe_Event_Data.3
@@ -0,0 +1,39 @@
+.TH "_Ecore_Exe_Event_Data" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+_Ecore_Exe_Event_Data \- Data from a child process event.  
+
+.PP
+.SH SYNOPSIS
+.br
+.PP
+.SS "Data Fields"
+
+.in +1c
+.ti -1c
+.RI "\fBEcore_Exe\fP * \fBexe\fP"
+.br
+.RI "\fIThe handle to the process. \fP"
+.ti -1c
+.RI "void * \fBdata\fP"
+.br
+.RI "\fIthe raw binary data from the child process that was recieved \fP"
+.ti -1c
+.RI "int \fBsize\fP"
+.br
+.RI "\fIthe size of this data in bytes \fP"
+.ti -1c
+.RI "\fBEcore_Exe_Event_Data_Line\fP * \fBlines\fP"
+.br
+.RI "\fIan array of line data if line buffered, the last one has it's line member set to NULL \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Data from a child process event. 
+.PP
+
+
+.SH "Author"
+.PP 
+Generated automatically by Doxygen for Ecore from the source code.
diff --git a/doc/man/man3/_Ecore_Exe_Event_Data_Line.3 b/doc/man/man3/_Ecore_Exe_Event_Data_Line.3
new file mode 100644
index 0000000..b836d1a
--- /dev/null
+++ b/doc/man/man3/_Ecore_Exe_Event_Data_Line.3
@@ -0,0 +1,19 @@
+.TH "_Ecore_Exe_Event_Data_Line" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+_Ecore_Exe_Event_Data_Line \- < Lines from a child process  
+
+.PP
+.SH SYNOPSIS
+.br
+.PP
+.SH "Detailed Description"
+.PP 
+< Lines from a child process 
+.PP
+
+
+.SH "Author"
+.PP 
+Generated automatically by Doxygen for Ecore from the source code.
diff --git a/doc/man/man3/_Ecore_Exe_Event_Del.3 b/doc/man/man3/_Ecore_Exe_Event_Del.3
new file mode 100644
index 0000000..04e0613
--- /dev/null
+++ b/doc/man/man3/_Ecore_Exe_Event_Del.3
@@ -0,0 +1,51 @@
+.TH "_Ecore_Exe_Event_Del" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+_Ecore_Exe_Event_Del \- Process exit event.  
+
+.PP
+.SH SYNOPSIS
+.br
+.PP
+.SS "Data Fields"
+
+.in +1c
+.ti -1c
+.RI "pid_t \fBpid\fP"
+.br
+.RI "\fIThe process ID of the process that exited. \fP"
+.ti -1c
+.RI "int \fBexit_code\fP"
+.br
+.RI "\fIThe exit code of the process. \fP"
+.ti -1c
+.RI "\fBEcore_Exe\fP * \fBexe\fP"
+.br
+.RI "\fIThe handle to the exited process, or NULL if not found. \fP"
+.ti -1c
+.RI "char \fBexited\fP: 1"
+.br
+.RI "\fI< The signal that caused the process to exit \fP"
+.ti -1c
+.RI "char \fBsignalled\fP: 1"
+.br
+.RI "\fI< set to 1 if the process exited of its own accord \fP"
+.ti -1c
+.RI "void * \fBext_data\fP"
+.br
+.RI "\fI< set to 1 id the process exited due to uncaught signal Extension data - not used \fP"
+.ti -1c
+.RI "siginfo_t \fBdata\fP"
+.br
+.RI "\fISignal info. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Process exit event. 
+.PP
+
+
+.SH "Author"
+.PP 
+Generated automatically by Doxygen for Ecore from the source code.
diff --git a/doc/man/man3/_Ecore_Exe_Flags.3 b/doc/man/man3/_Ecore_Exe_Flags.3
new file mode 100644
index 0000000..e26b883
--- /dev/null
+++ b/doc/man/man3/_Ecore_Exe_Flags.3
@@ -0,0 +1 @@
+.so man3/Ecore.h.3
diff --git a/doc/man/man3/_Ecore_Fb_Event_Key_Down.3 b/doc/man/man3/_Ecore_Fb_Event_Key_Down.3
new file mode 100644
index 0000000..98110ee
--- /dev/null
+++ b/doc/man/man3/_Ecore_Fb_Event_Key_Down.3
@@ -0,0 +1,39 @@
+.TH "_Ecore_Fb_Event_Key_Down" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+_Ecore_Fb_Event_Key_Down \- FB Key Down event.  
+
+.PP
+.SH SYNOPSIS
+.br
+.PP
+.SS "Data Fields"
+
+.in +1c
+.ti -1c
+.RI "Ecore_Fb_Input_Device * \fBdev\fP"
+.br
+.RI "\fIThe device associated with the event. \fP"
+.ti -1c
+.RI "char * \fBkeyname\fP"
+.br
+.RI "\fIThe name of the key that was pressed. \fP"
+.ti -1c
+.RI "char * \fBkeysymbol\fP"
+.br
+.RI "\fIThe logical symbol of the key that was pressed. \fP"
+.ti -1c
+.RI "char * \fBkey_compose\fP"
+.br
+.RI "\fIThe UTF-8 string conversion if any. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+FB Key Down event. 
+.PP
+
+
+.SH "Author"
+.PP 
+Generated automatically by Doxygen for Ecore from the source code.
diff --git a/doc/man/man3/_Ecore_Fb_Event_Key_Up.3 b/doc/man/man3/_Ecore_Fb_Event_Key_Up.3
new file mode 100644
index 0000000..9412f7f
--- /dev/null
+++ b/doc/man/man3/_Ecore_Fb_Event_Key_Up.3
@@ -0,0 +1,39 @@
+.TH "_Ecore_Fb_Event_Key_Up" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+_Ecore_Fb_Event_Key_Up \- FB Key Up event.  
+
+.PP
+.SH SYNOPSIS
+.br
+.PP
+.SS "Data Fields"
+
+.in +1c
+.ti -1c
+.RI "Ecore_Fb_Input_Device * \fBdev\fP"
+.br
+.RI "\fIThe device associated with the event. \fP"
+.ti -1c
+.RI "char * \fBkeyname\fP"
+.br
+.RI "\fIThe name of the key that was released. \fP"
+.ti -1c
+.RI "char * \fBkeysymbol\fP"
+.br
+.RI "\fIThe logical symbol of the key that was pressed. \fP"
+.ti -1c
+.RI "char * \fBkey_compose\fP"
+.br
+.RI "\fIThe UTF-8 string conversion if any. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+FB Key Up event. 
+.PP
+
+
+.SH "Author"
+.PP 
+Generated automatically by Doxygen for Ecore from the source code.
diff --git a/doc/man/man3/_Ecore_Fb_Event_Mouse_Button_Down.3 b/doc/man/man3/_Ecore_Fb_Event_Mouse_Button_Down.3
new file mode 100644
index 0000000..765a433
--- /dev/null
+++ b/doc/man/man3/_Ecore_Fb_Event_Mouse_Button_Down.3
@@ -0,0 +1,47 @@
+.TH "_Ecore_Fb_Event_Mouse_Button_Down" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+_Ecore_Fb_Event_Mouse_Button_Down \- FB Mouse Down event.  
+
+.PP
+.SH SYNOPSIS
+.br
+.PP
+.SS "Data Fields"
+
+.in +1c
+.ti -1c
+.RI "Ecore_Fb_Input_Device * \fBdev\fP"
+.br
+.RI "\fIThe device associated with the event. \fP"
+.ti -1c
+.RI "int \fBbutton\fP"
+.br
+.RI "\fIMouse button that was pressed (1 - 32). \fP"
+.ti -1c
+.RI "int \fBx\fP"
+.br
+.RI "\fIMouse co-ordinates when mouse button was pressed. \fP"
+.ti -1c
+.RI "int \fBy\fP"
+.br
+.RI "\fIMouse co-ordinates when mouse button was pressed. \fP"
+.ti -1c
+.RI "int \fBdouble_click\fP: 1"
+.br
+.RI "\fISet if click was a double click. \fP"
+.ti -1c
+.RI "int \fBtriple_click\fP: 1"
+.br
+.RI "\fISet if click was a triple click. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+FB Mouse Down event. 
+.PP
+
+
+.SH "Author"
+.PP 
+Generated automatically by Doxygen for Ecore from the source code.
diff --git a/doc/man/man3/_Ecore_Fb_Event_Mouse_Button_Up.3 b/doc/man/man3/_Ecore_Fb_Event_Mouse_Button_Up.3
new file mode 100644
index 0000000..3524106
--- /dev/null
+++ b/doc/man/man3/_Ecore_Fb_Event_Mouse_Button_Up.3
@@ -0,0 +1,39 @@
+.TH "_Ecore_Fb_Event_Mouse_Button_Up" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+_Ecore_Fb_Event_Mouse_Button_Up \- FB Mouse Up event.  
+
+.PP
+.SH SYNOPSIS
+.br
+.PP
+.SS "Data Fields"
+
+.in +1c
+.ti -1c
+.RI "Ecore_Fb_Input_Device * \fBdev\fP"
+.br
+.RI "\fIThe device associated with the event. \fP"
+.ti -1c
+.RI "int \fBbutton\fP"
+.br
+.RI "\fIMouse button that was released (1 - 32). \fP"
+.ti -1c
+.RI "int \fBx\fP"
+.br
+.RI "\fIMouse co-ordinates when mouse button was raised. \fP"
+.ti -1c
+.RI "int \fBy\fP"
+.br
+.RI "\fIMouse co-ordinates when mouse button was raised. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+FB Mouse Up event. 
+.PP
+
+
+.SH "Author"
+.PP 
+Generated automatically by Doxygen for Ecore from the source code.
diff --git a/doc/man/man3/_Ecore_Fb_Event_Mouse_Move.3 b/doc/man/man3/_Ecore_Fb_Event_Mouse_Move.3
new file mode 100644
index 0000000..e91779e
--- /dev/null
+++ b/doc/man/man3/_Ecore_Fb_Event_Mouse_Move.3
@@ -0,0 +1,35 @@
+.TH "_Ecore_Fb_Event_Mouse_Move" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+_Ecore_Fb_Event_Mouse_Move \- FB Mouse Move event.  
+
+.PP
+.SH SYNOPSIS
+.br
+.PP
+.SS "Data Fields"
+
+.in +1c
+.ti -1c
+.RI "Ecore_Fb_Input_Device * \fBdev\fP"
+.br
+.RI "\fIThe device associated with the event. \fP"
+.ti -1c
+.RI "int \fBx\fP"
+.br
+.RI "\fIMouse co-ordinates where the mouse cursor moved to. \fP"
+.ti -1c
+.RI "int \fBy\fP"
+.br
+.RI "\fIMouse co-ordinates where the mouse cursor moved to. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+FB Mouse Move event. 
+.PP
+
+
+.SH "Author"
+.PP 
+Generated automatically by Doxygen for Ecore from the source code.
diff --git a/doc/man/man3/_Ecore_Fb_Event_Mouse_Wheel.3 b/doc/man/man3/_Ecore_Fb_Event_Mouse_Wheel.3
new file mode 100644
index 0000000..ad21076
--- /dev/null
+++ b/doc/man/man3/_Ecore_Fb_Event_Mouse_Wheel.3
@@ -0,0 +1,19 @@
+.TH "_Ecore_Fb_Event_Mouse_Wheel" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+_Ecore_Fb_Event_Mouse_Wheel \- FB Mouse Wheel event.  
+
+.PP
+.SH SYNOPSIS
+.br
+.PP
+.SH "Detailed Description"
+.PP 
+FB Mouse Wheel event. 
+.PP
+
+
+.SH "Author"
+.PP 
+Generated automatically by Doxygen for Ecore from the source code.
diff --git a/doc/man/man3/_Ecore_Fd_Handler_Flags.3 b/doc/man/man3/_Ecore_Fd_Handler_Flags.3
new file mode 100644
index 0000000..e26b883
--- /dev/null
+++ b/doc/man/man3/_Ecore_Fd_Handler_Flags.3
@@ -0,0 +1 @@
+.so man3/Ecore.h.3
diff --git a/doc/man/man3/_Ecore_Sdl_Event_Key_Down.3 b/doc/man/man3/_Ecore_Sdl_Event_Key_Down.3
new file mode 100644
index 0000000..20dd8ba
--- /dev/null
+++ b/doc/man/man3/_Ecore_Sdl_Event_Key_Down.3
@@ -0,0 +1,31 @@
+.TH "_Ecore_Sdl_Event_Key_Down" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+_Ecore_Sdl_Event_Key_Down \- SDL Key Down event.  
+
+.PP
+.SH SYNOPSIS
+.br
+.PP
+.SS "Data Fields"
+
+.in +1c
+.ti -1c
+.RI "const char * \fBkeyname\fP"
+.br
+.RI "\fIThe name of the key that was pressed. \fP"
+.ti -1c
+.RI "const char * \fBkeycompose\fP"
+.br
+.RI "\fIThe UTF-8 string conversion if any. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+SDL Key Down event. 
+.PP
+
+
+.SH "Author"
+.PP 
+Generated automatically by Doxygen for Ecore from the source code.
diff --git a/doc/man/man3/_Ecore_Sdl_Event_Key_Up.3 b/doc/man/man3/_Ecore_Sdl_Event_Key_Up.3
new file mode 100644
index 0000000..1f3fee1
--- /dev/null
+++ b/doc/man/man3/_Ecore_Sdl_Event_Key_Up.3
@@ -0,0 +1,31 @@
+.TH "_Ecore_Sdl_Event_Key_Up" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+_Ecore_Sdl_Event_Key_Up \- SDL Key Up event.  
+
+.PP
+.SH SYNOPSIS
+.br
+.PP
+.SS "Data Fields"
+
+.in +1c
+.ti -1c
+.RI "const char * \fBkeyname\fP"
+.br
+.RI "\fIThe name of the key that was released. \fP"
+.ti -1c
+.RI "const char * \fBkeycompose\fP"
+.br
+.RI "\fIThe UTF-8 string conversion if any. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+SDL Key Up event. 
+.PP
+
+
+.SH "Author"
+.PP 
+Generated automatically by Doxygen for Ecore from the source code.
diff --git a/doc/man/man3/_Ecore_Sdl_Event_Mouse_Button_Down.3 b/doc/man/man3/_Ecore_Sdl_Event_Mouse_Button_Down.3
new file mode 100644
index 0000000..2d5db6b
--- /dev/null
+++ b/doc/man/man3/_Ecore_Sdl_Event_Mouse_Button_Down.3
@@ -0,0 +1,43 @@
+.TH "_Ecore_Sdl_Event_Mouse_Button_Down" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+_Ecore_Sdl_Event_Mouse_Button_Down \- SDL Mouse Down event.  
+
+.PP
+.SH SYNOPSIS
+.br
+.PP
+.SS "Data Fields"
+
+.in +1c
+.ti -1c
+.RI "int \fBbutton\fP"
+.br
+.RI "\fIMouse button that was pressed (1 - 32). \fP"
+.ti -1c
+.RI "int \fBx\fP"
+.br
+.RI "\fIMouse co-ordinates when mouse button was pressed. \fP"
+.ti -1c
+.RI "int \fBy\fP"
+.br
+.RI "\fIMouse co-ordinates when mouse button was pressed. \fP"
+.ti -1c
+.RI "int \fBdouble_click\fP: 1"
+.br
+.RI "\fISet if click was a double click. \fP"
+.ti -1c
+.RI "int \fBtriple_click\fP: 1"
+.br
+.RI "\fISet if click was a triple click. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+SDL Mouse Down event. 
+.PP
+
+
+.SH "Author"
+.PP 
+Generated automatically by Doxygen for Ecore from the source code.
diff --git a/doc/man/man3/_Ecore_Sdl_Event_Mouse_Button_Up.3 b/doc/man/man3/_Ecore_Sdl_Event_Mouse_Button_Up.3
new file mode 100644
index 0000000..ff2fe69
--- /dev/null
+++ b/doc/man/man3/_Ecore_Sdl_Event_Mouse_Button_Up.3
@@ -0,0 +1,43 @@
+.TH "_Ecore_Sdl_Event_Mouse_Button_Up" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+_Ecore_Sdl_Event_Mouse_Button_Up \- SDL Mouse Up event.  
+
+.PP
+.SH SYNOPSIS
+.br
+.PP
+.SS "Data Fields"
+
+.in +1c
+.ti -1c
+.RI "int \fBbutton\fP"
+.br
+.RI "\fIMouse button that was released (1 - 32). \fP"
+.ti -1c
+.RI "int \fBx\fP"
+.br
+.RI "\fIMouse co-ordinates when mouse button was raised. \fP"
+.ti -1c
+.RI "int \fBy\fP"
+.br
+.RI "\fIMouse co-ordinates when mouse button was raised. \fP"
+.ti -1c
+.RI "int \fBdouble_click\fP: 1"
+.br
+.RI "\fISet if click was a double click. \fP"
+.ti -1c
+.RI "int \fBtriple_click\fP: 1"
+.br
+.RI "\fISet if click was a triple click. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+SDL Mouse Up event. 
+.PP
+
+
+.SH "Author"
+.PP 
+Generated automatically by Doxygen for Ecore from the source code.
diff --git a/doc/man/man3/_Ecore_Sdl_Event_Mouse_Move.3 b/doc/man/man3/_Ecore_Sdl_Event_Mouse_Move.3
new file mode 100644
index 0000000..533f254
--- /dev/null
+++ b/doc/man/man3/_Ecore_Sdl_Event_Mouse_Move.3
@@ -0,0 +1,31 @@
+.TH "_Ecore_Sdl_Event_Mouse_Move" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+_Ecore_Sdl_Event_Mouse_Move \- SDL Mouse Move event.  
+
+.PP
+.SH SYNOPSIS
+.br
+.PP
+.SS "Data Fields"
+
+.in +1c
+.ti -1c
+.RI "int \fBx\fP"
+.br
+.RI "\fIMouse co-ordinates where the mouse cursor moved to. \fP"
+.ti -1c
+.RI "int \fBy\fP"
+.br
+.RI "\fIMouse co-ordinates where the mouse cursor moved to. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+SDL Mouse Move event. 
+.PP
+
+
+.SH "Author"
+.PP 
+Generated automatically by Doxygen for Ecore from the source code.
diff --git a/doc/man/man3/_Ecore_Sdl_Event_Mouse_Wheel.3 b/doc/man/man3/_Ecore_Sdl_Event_Mouse_Wheel.3
new file mode 100644
index 0000000..2205c38
--- /dev/null
+++ b/doc/man/man3/_Ecore_Sdl_Event_Mouse_Wheel.3
@@ -0,0 +1,19 @@
+.TH "_Ecore_Sdl_Event_Mouse_Wheel" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+_Ecore_Sdl_Event_Mouse_Wheel \- SDL Mouse Wheel event.  
+
+.PP
+.SH SYNOPSIS
+.br
+.PP
+.SH "Detailed Description"
+.PP 
+SDL Mouse Wheel event. 
+.PP
+
+
+.SH "Author"
+.PP 
+Generated automatically by Doxygen for Ecore from the source code.
diff --git a/doc/man/man3/_Ecore_X_WM_Protocol.3 b/doc/man/man3/_Ecore_X_WM_Protocol.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/_Ecore_X_WM_Protocol.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/_Ecore_X_Window_Input_Mode.3 b/doc/man/man3/_Ecore_X_Window_Input_Mode.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/_Ecore_X_Window_Input_Mode.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/_Ecore_X_Window_State.3 b/doc/man/man3/_Ecore_X_Window_State.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/_Ecore_X_Window_State.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/_Ecore_X_Window_State_Hint.3 b/doc/man/man3/_Ecore_X_Window_State_Hint.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/_Ecore_X_Window_State_Hint.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/_ecore_ipc_swap_16.3 b/doc/man/man3/_ecore_ipc_swap_16.3
new file mode 100644
index 0000000..00e6f24
--- /dev/null
+++ b/doc/man/man3/_ecore_ipc_swap_16.3
@@ -0,0 +1 @@
+.so man3/Ecore_Ipc.h.3
diff --git a/doc/man/man3/button.3 b/doc/man/man3/button.3
new file mode 100644
index 0000000..20a9804
--- /dev/null
+++ b/doc/man/man3/button.3
@@ -0,0 +1 @@
+.so man3/_Ecore_Fb_Event_Mouse_Button_Down.3
diff --git a/doc/man/man3/data.3 b/doc/man/man3/data.3
new file mode 100644
index 0000000..7827787
--- /dev/null
+++ b/doc/man/man3/data.3
@@ -0,0 +1 @@
+.so man3/_Ecore_Event_Signal_Exit.3
diff --git a/doc/man/man3/dev.3 b/doc/man/man3/dev.3
new file mode 100644
index 0000000..676af3c
--- /dev/null
+++ b/doc/man/man3/dev.3
@@ -0,0 +1 @@
+.so man3/_Ecore_Fb_Event_Key_Down.3
diff --git a/doc/man/man3/double_click.3 b/doc/man/man3/double_click.3
new file mode 100644
index 0000000..20a9804
--- /dev/null
+++ b/doc/man/man3/double_click.3
@@ -0,0 +1 @@
+.so man3/_Ecore_Fb_Event_Mouse_Button_Down.3
diff --git a/doc/man/man3/ecore_animator_add.3 b/doc/man/man3/ecore_animator_add.3
new file mode 100644
index 0000000..e26b883
--- /dev/null
+++ b/doc/man/man3/ecore_animator_add.3
@@ -0,0 +1 @@
+.so man3/Ecore.h.3
diff --git a/doc/man/man3/ecore_animator_del.3 b/doc/man/man3/ecore_animator_del.3
new file mode 100644
index 0000000..e26b883
--- /dev/null
+++ b/doc/man/man3/ecore_animator_del.3
@@ -0,0 +1 @@
+.so man3/Ecore.h.3
diff --git a/doc/man/man3/ecore_animator_frametime_get.3 b/doc/man/man3/ecore_animator_frametime_get.3
new file mode 100644
index 0000000..e26b883
--- /dev/null
+++ b/doc/man/man3/ecore_animator_frametime_get.3
@@ -0,0 +1 @@
+.so man3/Ecore.h.3
diff --git a/doc/man/man3/ecore_animator_frametime_set.3 b/doc/man/man3/ecore_animator_frametime_set.3
new file mode 100644
index 0000000..e26b883
--- /dev/null
+++ b/doc/man/man3/ecore_animator_frametime_set.3
@@ -0,0 +1 @@
+.so man3/Ecore.h.3
diff --git a/doc/man/man3/ecore_app_args_get.3 b/doc/man/man3/ecore_app_args_get.3
new file mode 100644
index 0000000..e26b883
--- /dev/null
+++ b/doc/man/man3/ecore_app_args_get.3
@@ -0,0 +1 @@
+.so man3/Ecore.h.3
diff --git a/doc/man/man3/ecore_app_args_set.3 b/doc/man/man3/ecore_app_args_set.3
new file mode 100644
index 0000000..e26b883
--- /dev/null
+++ b/doc/man/man3/ecore_app_args_set.3
@@ -0,0 +1 @@
+.so man3/Ecore.h.3
diff --git a/doc/man/man3/ecore_app_restart.3 b/doc/man/man3/ecore_app_restart.3
new file mode 100644
index 0000000..e26b883
--- /dev/null
+++ b/doc/man/man3/ecore_app_restart.3
@@ -0,0 +1 @@
+.so man3/Ecore.h.3
diff --git a/doc/man/man3/ecore_con_client_data_get.3 b/doc/man/man3/ecore_con_client_data_get.3
new file mode 100644
index 0000000..b10fb6b
--- /dev/null
+++ b/doc/man/man3/ecore_con_client_data_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_Con_Client_Group.3
diff --git a/doc/man/man3/ecore_con_client_data_set.3 b/doc/man/man3/ecore_con_client_data_set.3
new file mode 100644
index 0000000..b10fb6b
--- /dev/null
+++ b/doc/man/man3/ecore_con_client_data_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_Con_Client_Group.3
diff --git a/doc/man/man3/ecore_con_client_del.3 b/doc/man/man3/ecore_con_client_del.3
new file mode 100644
index 0000000..b10fb6b
--- /dev/null
+++ b/doc/man/man3/ecore_con_client_del.3
@@ -0,0 +1 @@
+.so man3/Ecore_Con_Client_Group.3
diff --git a/doc/man/man3/ecore_con_client_flush.3 b/doc/man/man3/ecore_con_client_flush.3
new file mode 100644
index 0000000..b10fb6b
--- /dev/null
+++ b/doc/man/man3/ecore_con_client_flush.3
@@ -0,0 +1 @@
+.so man3/Ecore_Con_Client_Group.3
diff --git a/doc/man/man3/ecore_con_client_ip_get.3 b/doc/man/man3/ecore_con_client_ip_get.3
new file mode 100644
index 0000000..b10fb6b
--- /dev/null
+++ b/doc/man/man3/ecore_con_client_ip_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_Con_Client_Group.3
diff --git a/doc/man/man3/ecore_con_client_send.3 b/doc/man/man3/ecore_con_client_send.3
new file mode 100644
index 0000000..b10fb6b
--- /dev/null
+++ b/doc/man/man3/ecore_con_client_send.3
@@ -0,0 +1 @@
+.so man3/Ecore_Con_Client_Group.3
diff --git a/doc/man/man3/ecore_con_client_server_get.3 b/doc/man/man3/ecore_con_client_server_get.3
new file mode 100644
index 0000000..b10fb6b
--- /dev/null
+++ b/doc/man/man3/ecore_con_client_server_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_Con_Client_Group.3
diff --git a/doc/man/man3/ecore_con_init.3 b/doc/man/man3/ecore_con_init.3
new file mode 100644
index 0000000..87122eb
--- /dev/null
+++ b/doc/man/man3/ecore_con_init.3
@@ -0,0 +1 @@
+.so man3/Ecore_Con_Lib_Group.3
diff --git a/doc/man/man3/ecore_con_server_add.3 b/doc/man/man3/ecore_con_server_add.3
new file mode 100644
index 0000000..9a3f805
--- /dev/null
+++ b/doc/man/man3/ecore_con_server_add.3
@@ -0,0 +1 @@
+.so man3/Ecore_Con_Server_Group.3
diff --git a/doc/man/man3/ecore_con_server_client_limit_set.3 b/doc/man/man3/ecore_con_server_client_limit_set.3
new file mode 100644
index 0000000..9a3f805
--- /dev/null
+++ b/doc/man/man3/ecore_con_server_client_limit_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_Con_Server_Group.3
diff --git a/doc/man/man3/ecore_con_server_clients_get.3 b/doc/man/man3/ecore_con_server_clients_get.3
new file mode 100644
index 0000000..9a3f805
--- /dev/null
+++ b/doc/man/man3/ecore_con_server_clients_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_Con_Server_Group.3
diff --git a/doc/man/man3/ecore_con_server_connect.3 b/doc/man/man3/ecore_con_server_connect.3
new file mode 100644
index 0000000..9a3f805
--- /dev/null
+++ b/doc/man/man3/ecore_con_server_connect.3
@@ -0,0 +1 @@
+.so man3/Ecore_Con_Server_Group.3
diff --git a/doc/man/man3/ecore_con_server_connected_get.3 b/doc/man/man3/ecore_con_server_connected_get.3
new file mode 100644
index 0000000..9a3f805
--- /dev/null
+++ b/doc/man/man3/ecore_con_server_connected_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_Con_Server_Group.3
diff --git a/doc/man/man3/ecore_con_server_data_get.3 b/doc/man/man3/ecore_con_server_data_get.3
new file mode 100644
index 0000000..9a3f805
--- /dev/null
+++ b/doc/man/man3/ecore_con_server_data_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_Con_Server_Group.3
diff --git a/doc/man/man3/ecore_con_server_del.3 b/doc/man/man3/ecore_con_server_del.3
new file mode 100644
index 0000000..9a3f805
--- /dev/null
+++ b/doc/man/man3/ecore_con_server_del.3
@@ -0,0 +1 @@
+.so man3/Ecore_Con_Server_Group.3
diff --git a/doc/man/man3/ecore_con_server_flush.3 b/doc/man/man3/ecore_con_server_flush.3
new file mode 100644
index 0000000..9a3f805
--- /dev/null
+++ b/doc/man/man3/ecore_con_server_flush.3
@@ -0,0 +1 @@
+.so man3/Ecore_Con_Server_Group.3
diff --git a/doc/man/man3/ecore_con_server_ip_get.3 b/doc/man/man3/ecore_con_server_ip_get.3
new file mode 100644
index 0000000..9a3f805
--- /dev/null
+++ b/doc/man/man3/ecore_con_server_ip_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_Con_Server_Group.3
diff --git a/doc/man/man3/ecore_con_server_send.3 b/doc/man/man3/ecore_con_server_send.3
new file mode 100644
index 0000000..9a3f805
--- /dev/null
+++ b/doc/man/man3/ecore_con_server_send.3
@@ -0,0 +1 @@
+.so man3/Ecore_Con_Server_Group.3
diff --git a/doc/man/man3/ecore_con_shutdown.3 b/doc/man/man3/ecore_con_shutdown.3
new file mode 100644
index 0000000..87122eb
--- /dev/null
+++ b/doc/man/man3/ecore_con_shutdown.3
@@ -0,0 +1 @@
+.so man3/Ecore_Con_Lib_Group.3
diff --git a/doc/man/man3/ecore_con_ssl_available_get.3 b/doc/man/man3/ecore_con_ssl_available_get.3
new file mode 100644
index 0000000..b10fb6b
--- /dev/null
+++ b/doc/man/man3/ecore_con_ssl_available_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_Con_Client_Group.3
diff --git a/doc/man/man3/ecore_config_app_describe.3 b/doc/man/man3/ecore_config_app_describe.3
new file mode 100644
index 0000000..c456545
--- /dev/null
+++ b/doc/man/man3/ecore_config_app_describe.3
@@ -0,0 +1 @@
+.so man3/Ecore_Config.h.3
diff --git a/doc/man/man3/ecore_config_argb_create.3 b/doc/man/man3/ecore_config_argb_create.3
new file mode 100644
index 0000000..207199d
--- /dev/null
+++ b/doc/man/man3/ecore_config_argb_create.3
@@ -0,0 +1 @@
+.so man3/Ecore_Config_Create_Group.3
diff --git a/doc/man/man3/ecore_config_argb_default.3 b/doc/man/man3/ecore_config_argb_default.3
new file mode 100644
index 0000000..cecf1b3
--- /dev/null
+++ b/doc/man/man3/ecore_config_argb_default.3
@@ -0,0 +1 @@
+.so man3/Ecore_Config_Default_Group.3
diff --git a/doc/man/man3/ecore_config_argb_get.3 b/doc/man/man3/ecore_config_argb_get.3
new file mode 100644
index 0000000..4fff90a
--- /dev/null
+++ b/doc/man/man3/ecore_config_argb_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_Config_Get_Group.3
diff --git a/doc/man/man3/ecore_config_argb_set.3 b/doc/man/man3/ecore_config_argb_set.3
new file mode 100644
index 0000000..9fd38a9
--- /dev/null
+++ b/doc/man/man3/ecore_config_argb_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_Config_Set_Group.3
diff --git a/doc/man/man3/ecore_config_argbint_default.3 b/doc/man/man3/ecore_config_argbint_default.3
new file mode 100644
index 0000000..cecf1b3
--- /dev/null
+++ b/doc/man/man3/ecore_config_argbint_default.3
@@ -0,0 +1 @@
+.so man3/Ecore_Config_Default_Group.3
diff --git a/doc/man/man3/ecore_config_argbint_get.3 b/doc/man/man3/ecore_config_argbint_get.3
new file mode 100644
index 0000000..4fff90a
--- /dev/null
+++ b/doc/man/man3/ecore_config_argbint_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_Config_Get_Group.3
diff --git a/doc/man/man3/ecore_config_argbint_set.3 b/doc/man/man3/ecore_config_argbint_set.3
new file mode 100644
index 0000000..9fd38a9
--- /dev/null
+++ b/doc/man/man3/ecore_config_argbint_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_Config_Set_Group.3
diff --git a/doc/man/man3/ecore_config_argbstr_default.3 b/doc/man/man3/ecore_config_argbstr_default.3
new file mode 100644
index 0000000..cecf1b3
--- /dev/null
+++ b/doc/man/man3/ecore_config_argbstr_default.3
@@ -0,0 +1 @@
+.so man3/Ecore_Config_Default_Group.3
diff --git a/doc/man/man3/ecore_config_argbstr_get.3 b/doc/man/man3/ecore_config_argbstr_get.3
new file mode 100644
index 0000000..4fff90a
--- /dev/null
+++ b/doc/man/man3/ecore_config_argbstr_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_Config_Get_Group.3
diff --git a/doc/man/man3/ecore_config_argbstr_set.3 b/doc/man/man3/ecore_config_argbstr_set.3
new file mode 100644
index 0000000..9fd38a9
--- /dev/null
+++ b/doc/man/man3/ecore_config_argbstr_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_Config_Set_Group.3
diff --git a/doc/man/man3/ecore_config_args_display.3 b/doc/man/man3/ecore_config_args_display.3
new file mode 100644
index 0000000..c456545
--- /dev/null
+++ b/doc/man/man3/ecore_config_args_display.3
@@ -0,0 +1 @@
+.so man3/Ecore_Config.h.3
diff --git a/doc/man/man3/ecore_config_args_parse.3 b/doc/man/man3/ecore_config_args_parse.3
new file mode 100644
index 0000000..c456545
--- /dev/null
+++ b/doc/man/man3/ecore_config_args_parse.3
@@ -0,0 +1 @@
+.so man3/Ecore_Config.h.3
diff --git a/doc/man/man3/ecore_config_as_string_get.3 b/doc/man/man3/ecore_config_as_string_get.3
new file mode 100644
index 0000000..4fff90a
--- /dev/null
+++ b/doc/man/man3/ecore_config_as_string_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_Config_Get_Group.3
diff --git a/doc/man/man3/ecore_config_as_string_set.3 b/doc/man/man3/ecore_config_as_string_set.3
new file mode 100644
index 0000000..9fd38a9
--- /dev/null
+++ b/doc/man/man3/ecore_config_as_string_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_Config_Set_Group.3
diff --git a/doc/man/man3/ecore_config_boolean_create.3 b/doc/man/man3/ecore_config_boolean_create.3
new file mode 100644
index 0000000..207199d
--- /dev/null
+++ b/doc/man/man3/ecore_config_boolean_create.3
@@ -0,0 +1 @@
+.so man3/Ecore_Config_Create_Group.3
diff --git a/doc/man/man3/ecore_config_boolean_default.3 b/doc/man/man3/ecore_config_boolean_default.3
new file mode 100644
index 0000000..cecf1b3
--- /dev/null
+++ b/doc/man/man3/ecore_config_boolean_default.3
@@ -0,0 +1 @@
+.so man3/Ecore_Config_Default_Group.3
diff --git a/doc/man/man3/ecore_config_boolean_get.3 b/doc/man/man3/ecore_config_boolean_get.3
new file mode 100644
index 0000000..4fff90a
--- /dev/null
+++ b/doc/man/man3/ecore_config_boolean_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_Config_Get_Group.3
diff --git a/doc/man/man3/ecore_config_boolean_set.3 b/doc/man/man3/ecore_config_boolean_set.3
new file mode 100644
index 0000000..9fd38a9
--- /dev/null
+++ b/doc/man/man3/ecore_config_boolean_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_Config_Set_Group.3
diff --git a/doc/man/man3/ecore_config_bundle_1st_get.3 b/doc/man/man3/ecore_config_bundle_1st_get.3
new file mode 100644
index 0000000..c456545
--- /dev/null
+++ b/doc/man/man3/ecore_config_bundle_1st_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_Config.h.3
diff --git a/doc/man/man3/ecore_config_bundle_by_label_get.3 b/doc/man/man3/ecore_config_bundle_by_label_get.3
new file mode 100644
index 0000000..c456545
--- /dev/null
+++ b/doc/man/man3/ecore_config_bundle_by_label_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_Config.h.3
diff --git a/doc/man/man3/ecore_config_bundle_by_serial_get.3 b/doc/man/man3/ecore_config_bundle_by_serial_get.3
new file mode 100644
index 0000000..c456545
--- /dev/null
+++ b/doc/man/man3/ecore_config_bundle_by_serial_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_Config.h.3
diff --git a/doc/man/man3/ecore_config_bundle_label_get.3 b/doc/man/man3/ecore_config_bundle_label_get.3
new file mode 100644
index 0000000..c456545
--- /dev/null
+++ b/doc/man/man3/ecore_config_bundle_label_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_Config.h.3
diff --git a/doc/man/man3/ecore_config_bundle_new.3 b/doc/man/man3/ecore_config_bundle_new.3
new file mode 100644
index 0000000..c456545
--- /dev/null
+++ b/doc/man/man3/ecore_config_bundle_new.3
@@ -0,0 +1 @@
+.so man3/Ecore_Config.h.3
diff --git a/doc/man/man3/ecore_config_bundle_next_get.3 b/doc/man/man3/ecore_config_bundle_next_get.3
new file mode 100644
index 0000000..c456545
--- /dev/null
+++ b/doc/man/man3/ecore_config_bundle_next_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_Config.h.3
diff --git a/doc/man/man3/ecore_config_bundle_serial_get.3 b/doc/man/man3/ecore_config_bundle_serial_get.3
new file mode 100644
index 0000000..c456545
--- /dev/null
+++ b/doc/man/man3/ecore_config_bundle_serial_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_Config.h.3
diff --git a/doc/man/man3/ecore_config_create.3 b/doc/man/man3/ecore_config_create.3
new file mode 100644
index 0000000..207199d
--- /dev/null
+++ b/doc/man/man3/ecore_config_create.3
@@ -0,0 +1 @@
+.so man3/Ecore_Config_Create_Group.3
diff --git a/doc/man/man3/ecore_config_deaf.3 b/doc/man/man3/ecore_config_deaf.3
new file mode 100644
index 0000000..3be9edb
--- /dev/null
+++ b/doc/man/man3/ecore_config_deaf.3
@@ -0,0 +1 @@
+.so man3/Ecore_Config_Listeners_Group.3
diff --git a/doc/man/man3/ecore_config_default.3 b/doc/man/man3/ecore_config_default.3
new file mode 100644
index 0000000..cecf1b3
--- /dev/null
+++ b/doc/man/man3/ecore_config_default.3
@@ -0,0 +1 @@
+.so man3/Ecore_Config_Default_Group.3
diff --git a/doc/man/man3/ecore_config_describe.3 b/doc/man/man3/ecore_config_describe.3
new file mode 100644
index 0000000..8cb74b9
--- /dev/null
+++ b/doc/man/man3/ecore_config_describe.3
@@ -0,0 +1 @@
+.so man3/Ecore_Config_Property_Group.3
diff --git a/doc/man/man3/ecore_config_dst.3 b/doc/man/man3/ecore_config_dst.3
new file mode 100644
index 0000000..8cb74b9
--- /dev/null
+++ b/doc/man/man3/ecore_config_dst.3
@@ -0,0 +1 @@
+.so man3/Ecore_Config_Property_Group.3
diff --git a/doc/man/man3/ecore_config_evas_font_path_apply.3 b/doc/man/man3/ecore_config_evas_font_path_apply.3
new file mode 100644
index 0000000..c456545
--- /dev/null
+++ b/doc/man/man3/ecore_config_evas_font_path_apply.3
@@ -0,0 +1 @@
+.so man3/Ecore_Config.h.3
diff --git a/doc/man/man3/ecore_config_file_load.3 b/doc/man/man3/ecore_config_file_load.3
new file mode 100644
index 0000000..157e8d0
--- /dev/null
+++ b/doc/man/man3/ecore_config_file_load.3
@@ -0,0 +1 @@
+.so man3/Ecore_Config_File_Group.3
diff --git a/doc/man/man3/ecore_config_file_save.3 b/doc/man/man3/ecore_config_file_save.3
new file mode 100644
index 0000000..157e8d0
--- /dev/null
+++ b/doc/man/man3/ecore_config_file_save.3
@@ -0,0 +1 @@
+.so man3/Ecore_Config_File_Group.3
diff --git a/doc/man/man3/ecore_config_float_create.3 b/doc/man/man3/ecore_config_float_create.3
new file mode 100644
index 0000000..207199d
--- /dev/null
+++ b/doc/man/man3/ecore_config_float_create.3
@@ -0,0 +1 @@
+.so man3/Ecore_Config_Create_Group.3
diff --git a/doc/man/man3/ecore_config_float_create_bound.3 b/doc/man/man3/ecore_config_float_create_bound.3
new file mode 100644
index 0000000..207199d
--- /dev/null
+++ b/doc/man/man3/ecore_config_float_create_bound.3
@@ -0,0 +1 @@
+.so man3/Ecore_Config_Create_Group.3
diff --git a/doc/man/man3/ecore_config_float_default.3 b/doc/man/man3/ecore_config_float_default.3
new file mode 100644
index 0000000..cecf1b3
--- /dev/null
+++ b/doc/man/man3/ecore_config_float_default.3
@@ -0,0 +1 @@
+.so man3/Ecore_Config_Default_Group.3
diff --git a/doc/man/man3/ecore_config_float_default_bound.3 b/doc/man/man3/ecore_config_float_default_bound.3
new file mode 100644
index 0000000..cecf1b3
--- /dev/null
+++ b/doc/man/man3/ecore_config_float_default_bound.3
@@ -0,0 +1 @@
+.so man3/Ecore_Config_Default_Group.3
diff --git a/doc/man/man3/ecore_config_float_get.3 b/doc/man/man3/ecore_config_float_get.3
new file mode 100644
index 0000000..4fff90a
--- /dev/null
+++ b/doc/man/man3/ecore_config_float_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_Config_Get_Group.3
diff --git a/doc/man/man3/ecore_config_float_set.3 b/doc/man/man3/ecore_config_float_set.3
new file mode 100644
index 0000000..9fd38a9
--- /dev/null
+++ b/doc/man/man3/ecore_config_float_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_Config_Set_Group.3
diff --git a/doc/man/man3/ecore_config_get.3 b/doc/man/man3/ecore_config_get.3
new file mode 100644
index 0000000..4fff90a
--- /dev/null
+++ b/doc/man/man3/ecore_config_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_Config_Get_Group.3
diff --git a/doc/man/man3/ecore_config_init.3 b/doc/man/man3/ecore_config_init.3
new file mode 100644
index 0000000..a8ec4fc
--- /dev/null
+++ b/doc/man/man3/ecore_config_init.3
@@ -0,0 +1 @@
+.so man3/Ecore_Config_App_Lib_Group.3
diff --git a/doc/man/man3/ecore_config_int_create.3 b/doc/man/man3/ecore_config_int_create.3
new file mode 100644
index 0000000..207199d
--- /dev/null
+++ b/doc/man/man3/ecore_config_int_create.3
@@ -0,0 +1 @@
+.so man3/Ecore_Config_Create_Group.3
diff --git a/doc/man/man3/ecore_config_int_create_bound.3 b/doc/man/man3/ecore_config_int_create_bound.3
new file mode 100644
index 0000000..207199d
--- /dev/null
+++ b/doc/man/man3/ecore_config_int_create_bound.3
@@ -0,0 +1 @@
+.so man3/Ecore_Config_Create_Group.3
diff --git a/doc/man/man3/ecore_config_int_default.3 b/doc/man/man3/ecore_config_int_default.3
new file mode 100644
index 0000000..cecf1b3
--- /dev/null
+++ b/doc/man/man3/ecore_config_int_default.3
@@ -0,0 +1 @@
+.so man3/Ecore_Config_Default_Group.3
diff --git a/doc/man/man3/ecore_config_int_default_bound.3 b/doc/man/man3/ecore_config_int_default_bound.3
new file mode 100644
index 0000000..cecf1b3
--- /dev/null
+++ b/doc/man/man3/ecore_config_int_default_bound.3
@@ -0,0 +1 @@
+.so man3/Ecore_Config_Default_Group.3
diff --git a/doc/man/man3/ecore_config_int_get.3 b/doc/man/man3/ecore_config_int_get.3
new file mode 100644
index 0000000..4fff90a
--- /dev/null
+++ b/doc/man/man3/ecore_config_int_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_Config_Get_Group.3
diff --git a/doc/man/man3/ecore_config_int_set.3 b/doc/man/man3/ecore_config_int_set.3
new file mode 100644
index 0000000..9fd38a9
--- /dev/null
+++ b/doc/man/man3/ecore_config_int_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_Config_Set_Group.3
diff --git a/doc/man/man3/ecore_config_listen.3 b/doc/man/man3/ecore_config_listen.3
new file mode 100644
index 0000000..3be9edb
--- /dev/null
+++ b/doc/man/man3/ecore_config_listen.3
@@ -0,0 +1 @@
+.so man3/Ecore_Config_Listeners_Group.3
diff --git a/doc/man/man3/ecore_config_load.3 b/doc/man/man3/ecore_config_load.3
new file mode 100644
index 0000000..157e8d0
--- /dev/null
+++ b/doc/man/man3/ecore_config_load.3
@@ -0,0 +1 @@
+.so man3/Ecore_Config_File_Group.3
diff --git a/doc/man/man3/ecore_config_long_opt_set.3 b/doc/man/man3/ecore_config_long_opt_set.3
new file mode 100644
index 0000000..8cb74b9
--- /dev/null
+++ b/doc/man/man3/ecore_config_long_opt_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_Config_Property_Group.3
diff --git a/doc/man/man3/ecore_config_save.3 b/doc/man/man3/ecore_config_save.3
new file mode 100644
index 0000000..157e8d0
--- /dev/null
+++ b/doc/man/man3/ecore_config_save.3
@@ -0,0 +1 @@
+.so man3/Ecore_Config_File_Group.3
diff --git a/doc/man/man3/ecore_config_set.3 b/doc/man/man3/ecore_config_set.3
new file mode 100644
index 0000000..9fd38a9
--- /dev/null
+++ b/doc/man/man3/ecore_config_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_Config_Set_Group.3
diff --git a/doc/man/man3/ecore_config_short_opt_set.3 b/doc/man/man3/ecore_config_short_opt_set.3
new file mode 100644
index 0000000..8cb74b9
--- /dev/null
+++ b/doc/man/man3/ecore_config_short_opt_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_Config_Property_Group.3
diff --git a/doc/man/man3/ecore_config_shutdown.3 b/doc/man/man3/ecore_config_shutdown.3
new file mode 100644
index 0000000..a8ec4fc
--- /dev/null
+++ b/doc/man/man3/ecore_config_shutdown.3
@@ -0,0 +1 @@
+.so man3/Ecore_Config_App_Lib_Group.3
diff --git a/doc/man/man3/ecore_config_string_create.3 b/doc/man/man3/ecore_config_string_create.3
new file mode 100644
index 0000000..207199d
--- /dev/null
+++ b/doc/man/man3/ecore_config_string_create.3
@@ -0,0 +1 @@
+.so man3/Ecore_Config_Create_Group.3
diff --git a/doc/man/man3/ecore_config_string_default.3 b/doc/man/man3/ecore_config_string_default.3
new file mode 100644
index 0000000..cecf1b3
--- /dev/null
+++ b/doc/man/man3/ecore_config_string_default.3
@@ -0,0 +1 @@
+.so man3/Ecore_Config_Default_Group.3
diff --git a/doc/man/man3/ecore_config_string_get.3 b/doc/man/man3/ecore_config_string_get.3
new file mode 100644
index 0000000..4fff90a
--- /dev/null
+++ b/doc/man/man3/ecore_config_string_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_Config_Get_Group.3
diff --git a/doc/man/man3/ecore_config_string_set.3 b/doc/man/man3/ecore_config_string_set.3
new file mode 100644
index 0000000..9fd38a9
--- /dev/null
+++ b/doc/man/man3/ecore_config_string_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_Config_Set_Group.3
diff --git a/doc/man/man3/ecore_config_struct_argb_add.3 b/doc/man/man3/ecore_config_struct_argb_add.3
new file mode 100644
index 0000000..908541e
--- /dev/null
+++ b/doc/man/man3/ecore_config_struct_argb_add.3
@@ -0,0 +1 @@
+.so man3/Ecore_Config_Struct_Group.3
diff --git a/doc/man/man3/ecore_config_struct_boolean_add.3 b/doc/man/man3/ecore_config_struct_boolean_add.3
new file mode 100644
index 0000000..908541e
--- /dev/null
+++ b/doc/man/man3/ecore_config_struct_boolean_add.3
@@ -0,0 +1 @@
+.so man3/Ecore_Config_Struct_Group.3
diff --git a/doc/man/man3/ecore_config_struct_create.3 b/doc/man/man3/ecore_config_struct_create.3
new file mode 100644
index 0000000..908541e
--- /dev/null
+++ b/doc/man/man3/ecore_config_struct_create.3
@@ -0,0 +1 @@
+.so man3/Ecore_Config_Struct_Group.3
diff --git a/doc/man/man3/ecore_config_struct_float_add.3 b/doc/man/man3/ecore_config_struct_float_add.3
new file mode 100644
index 0000000..908541e
--- /dev/null
+++ b/doc/man/man3/ecore_config_struct_float_add.3
@@ -0,0 +1 @@
+.so man3/Ecore_Config_Struct_Group.3
diff --git a/doc/man/man3/ecore_config_struct_get.3 b/doc/man/man3/ecore_config_struct_get.3
new file mode 100644
index 0000000..908541e
--- /dev/null
+++ b/doc/man/man3/ecore_config_struct_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_Config_Struct_Group.3
diff --git a/doc/man/man3/ecore_config_struct_int_add.3 b/doc/man/man3/ecore_config_struct_int_add.3
new file mode 100644
index 0000000..908541e
--- /dev/null
+++ b/doc/man/man3/ecore_config_struct_int_add.3
@@ -0,0 +1 @@
+.so man3/Ecore_Config_Struct_Group.3
diff --git a/doc/man/man3/ecore_config_struct_string_add.3 b/doc/man/man3/ecore_config_struct_string_add.3
new file mode 100644
index 0000000..908541e
--- /dev/null
+++ b/doc/man/man3/ecore_config_struct_string_add.3
@@ -0,0 +1 @@
+.so man3/Ecore_Config_Struct_Group.3
diff --git a/doc/man/man3/ecore_config_struct_theme_add.3 b/doc/man/man3/ecore_config_struct_theme_add.3
new file mode 100644
index 0000000..908541e
--- /dev/null
+++ b/doc/man/man3/ecore_config_struct_theme_add.3
@@ -0,0 +1 @@
+.so man3/Ecore_Config_Struct_Group.3
diff --git a/doc/man/man3/ecore_config_system_init.3 b/doc/man/man3/ecore_config_system_init.3
new file mode 100644
index 0000000..60d601c
--- /dev/null
+++ b/doc/man/man3/ecore_config_system_init.3
@@ -0,0 +1 @@
+.so man3/Ecore_Config_Lib_Lib_Group.3
diff --git a/doc/man/man3/ecore_config_system_shutdown.3 b/doc/man/man3/ecore_config_system_shutdown.3
new file mode 100644
index 0000000..60d601c
--- /dev/null
+++ b/doc/man/man3/ecore_config_system_shutdown.3
@@ -0,0 +1 @@
+.so man3/Ecore_Config_Lib_Lib_Group.3
diff --git a/doc/man/man3/ecore_config_theme_create.3 b/doc/man/man3/ecore_config_theme_create.3
new file mode 100644
index 0000000..207199d
--- /dev/null
+++ b/doc/man/man3/ecore_config_theme_create.3
@@ -0,0 +1 @@
+.so man3/Ecore_Config_Create_Group.3
diff --git a/doc/man/man3/ecore_config_theme_default.3 b/doc/man/man3/ecore_config_theme_default.3
new file mode 100644
index 0000000..cecf1b3
--- /dev/null
+++ b/doc/man/man3/ecore_config_theme_default.3
@@ -0,0 +1 @@
+.so man3/Ecore_Config_Default_Group.3
diff --git a/doc/man/man3/ecore_config_theme_default_path_get.3 b/doc/man/man3/ecore_config_theme_default_path_get.3
new file mode 100644
index 0000000..c456545
--- /dev/null
+++ b/doc/man/man3/ecore_config_theme_default_path_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_Config.h.3
diff --git a/doc/man/man3/ecore_config_theme_get.3 b/doc/man/man3/ecore_config_theme_get.3
new file mode 100644
index 0000000..4fff90a
--- /dev/null
+++ b/doc/man/man3/ecore_config_theme_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_Config_Get_Group.3
diff --git a/doc/man/man3/ecore_config_theme_preview_group_set.3 b/doc/man/man3/ecore_config_theme_preview_group_set.3
new file mode 100644
index 0000000..9fd38a9
--- /dev/null
+++ b/doc/man/man3/ecore_config_theme_preview_group_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_Config_Set_Group.3
diff --git a/doc/man/man3/ecore_config_theme_search_path_append.3 b/doc/man/man3/ecore_config_theme_search_path_append.3
new file mode 100644
index 0000000..c456545
--- /dev/null
+++ b/doc/man/man3/ecore_config_theme_search_path_append.3
@@ -0,0 +1 @@
+.so man3/Ecore_Config.h.3
diff --git a/doc/man/man3/ecore_config_theme_search_path_get.3 b/doc/man/man3/ecore_config_theme_search_path_get.3
new file mode 100644
index 0000000..c456545
--- /dev/null
+++ b/doc/man/man3/ecore_config_theme_search_path_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_Config.h.3
diff --git a/doc/man/man3/ecore_config_theme_set.3 b/doc/man/man3/ecore_config_theme_set.3
new file mode 100644
index 0000000..9fd38a9
--- /dev/null
+++ b/doc/man/man3/ecore_config_theme_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_Config_Set_Group.3
diff --git a/doc/man/man3/ecore_config_theme_with_path_from_name_get.3 b/doc/man/man3/ecore_config_theme_with_path_from_name_get.3
new file mode 100644
index 0000000..c456545
--- /dev/null
+++ b/doc/man/man3/ecore_config_theme_with_path_from_name_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_Config.h.3
diff --git a/doc/man/man3/ecore_config_theme_with_path_get.3 b/doc/man/man3/ecore_config_theme_with_path_get.3
new file mode 100644
index 0000000..c456545
--- /dev/null
+++ b/doc/man/man3/ecore_config_theme_with_path_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_Config.h.3
diff --git a/doc/man/man3/ecore_config_type_get.3 b/doc/man/man3/ecore_config_type_get.3
new file mode 100644
index 0000000..8cb74b9
--- /dev/null
+++ b/doc/man/man3/ecore_config_type_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_Config_Property_Group.3
diff --git a/doc/man/man3/ecore_config_type_guess.3 b/doc/man/man3/ecore_config_type_guess.3
new file mode 100644
index 0000000..c456545
--- /dev/null
+++ b/doc/man/man3/ecore_config_type_guess.3
@@ -0,0 +1 @@
+.so man3/Ecore_Config.h.3
diff --git a/doc/man/man3/ecore_config_typed_create.3 b/doc/man/man3/ecore_config_typed_create.3
new file mode 100644
index 0000000..207199d
--- /dev/null
+++ b/doc/man/man3/ecore_config_typed_create.3
@@ -0,0 +1 @@
+.so man3/Ecore_Config_Create_Group.3
diff --git a/doc/man/man3/ecore_config_typed_set.3 b/doc/man/man3/ecore_config_typed_set.3
new file mode 100644
index 0000000..8cb74b9
--- /dev/null
+++ b/doc/man/man3/ecore_config_typed_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_Config_Property_Group.3
diff --git a/doc/man/man3/ecore_desktop_destroy.3 b/doc/man/man3/ecore_desktop_destroy.3
new file mode 100644
index 0000000..69481da
--- /dev/null
+++ b/doc/man/man3/ecore_desktop_destroy.3
@@ -0,0 +1 @@
+.so man3/Ecore_Desktop_Main_Group.3
diff --git a/doc/man/man3/ecore_desktop_get.3 b/doc/man/man3/ecore_desktop_get.3
new file mode 100644
index 0000000..69481da
--- /dev/null
+++ b/doc/man/man3/ecore_desktop_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_Desktop_Main_Group.3
diff --git a/doc/man/man3/ecore_desktop_home_get.3 b/doc/man/man3/ecore_desktop_home_get.3
new file mode 100644
index 0000000..69481da
--- /dev/null
+++ b/doc/man/man3/ecore_desktop_home_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_Desktop_Main_Group.3
diff --git a/doc/man/man3/ecore_desktop_icon_find.3 b/doc/man/man3/ecore_desktop_icon_find.3
new file mode 100644
index 0000000..0ed94d5
--- /dev/null
+++ b/doc/man/man3/ecore_desktop_icon_find.3
@@ -0,0 +1 @@
+.so man3/Ecore_Desktop_Icon_Group.3
diff --git a/doc/man/man3/ecore_desktop_icon_init.3 b/doc/man/man3/ecore_desktop_icon_init.3
new file mode 100644
index 0000000..0ed94d5
--- /dev/null
+++ b/doc/man/man3/ecore_desktop_icon_init.3
@@ -0,0 +1 @@
+.so man3/Ecore_Desktop_Icon_Group.3
diff --git a/doc/man/man3/ecore_desktop_icon_shutdown.3 b/doc/man/man3/ecore_desktop_icon_shutdown.3
new file mode 100644
index 0000000..0ed94d5
--- /dev/null
+++ b/doc/man/man3/ecore_desktop_icon_shutdown.3
@@ -0,0 +1 @@
+.so man3/Ecore_Desktop_Icon_Group.3
diff --git a/doc/man/man3/ecore_desktop_icon_theme_destroy.3 b/doc/man/man3/ecore_desktop_icon_theme_destroy.3
new file mode 100644
index 0000000..0ed94d5
--- /dev/null
+++ b/doc/man/man3/ecore_desktop_icon_theme_destroy.3
@@ -0,0 +1 @@
+.so man3/Ecore_Desktop_Icon_Group.3
diff --git a/doc/man/man3/ecore_desktop_icon_theme_get.3 b/doc/man/man3/ecore_desktop_icon_theme_get.3
new file mode 100644
index 0000000..0ed94d5
--- /dev/null
+++ b/doc/man/man3/ecore_desktop_icon_theme_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_Desktop_Icon_Group.3
diff --git a/doc/man/man3/ecore_desktop_ini_get.3 b/doc/man/man3/ecore_desktop_ini_get.3
new file mode 100644
index 0000000..69481da
--- /dev/null
+++ b/doc/man/man3/ecore_desktop_ini_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_Desktop_Main_Group.3
diff --git a/doc/man/man3/ecore_desktop_init.3 b/doc/man/man3/ecore_desktop_init.3
new file mode 100644
index 0000000..69481da
--- /dev/null
+++ b/doc/man/man3/ecore_desktop_init.3
@@ -0,0 +1 @@
+.so man3/Ecore_Desktop_Main_Group.3
diff --git a/doc/man/man3/ecore_desktop_menu_get.3 b/doc/man/man3/ecore_desktop_menu_get.3
new file mode 100644
index 0000000..f87de43
--- /dev/null
+++ b/doc/man/man3/ecore_desktop_menu_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_Desktop_Menu_Group.3
diff --git a/doc/man/man3/ecore_desktop_paths_file_find.3 b/doc/man/man3/ecore_desktop_paths_file_find.3
new file mode 100644
index 0000000..d295ce5
--- /dev/null
+++ b/doc/man/man3/ecore_desktop_paths_file_find.3
@@ -0,0 +1 @@
+.so man3/Ecore_Desktop.h.3
diff --git a/doc/man/man3/ecore_desktop_paths_to_hash.3 b/doc/man/man3/ecore_desktop_paths_to_hash.3
new file mode 100644
index 0000000..d295ce5
--- /dev/null
+++ b/doc/man/man3/ecore_desktop_paths_to_hash.3
@@ -0,0 +1 @@
+.so man3/Ecore_Desktop.h.3
diff --git a/doc/man/man3/ecore_desktop_paths_to_list.3 b/doc/man/man3/ecore_desktop_paths_to_list.3
new file mode 100644
index 0000000..d295ce5
--- /dev/null
+++ b/doc/man/man3/ecore_desktop_paths_to_list.3
@@ -0,0 +1 @@
+.so man3/Ecore_Desktop.h.3
diff --git a/doc/man/man3/ecore_desktop_shutdown.3 b/doc/man/man3/ecore_desktop_shutdown.3
new file mode 100644
index 0000000..69481da
--- /dev/null
+++ b/doc/man/man3/ecore_desktop_shutdown.3
@@ -0,0 +1 @@
+.so man3/Ecore_Desktop_Main_Group.3
diff --git a/doc/man/man3/ecore_direct_compare.3 b/doc/man/man3/ecore_direct_compare.3
new file mode 100644
index 0000000..6d72477
--- /dev/null
+++ b/doc/man/man3/ecore_direct_compare.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data.h.3
diff --git a/doc/man/man3/ecore_direct_hash.3 b/doc/man/man3/ecore_direct_hash.3
new file mode 100644
index 0000000..6d72477
--- /dev/null
+++ b/doc/man/man3/ecore_direct_hash.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data.h.3
diff --git a/doc/man/man3/ecore_dlist_append.3 b/doc/man/man3/ecore_dlist_append.3
new file mode 100644
index 0000000..01bda1f
--- /dev/null
+++ b/doc/man/man3/ecore_dlist_append.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data_DList_Add_Item_Group.3
diff --git a/doc/man/man3/ecore_dlist_append_list.3 b/doc/man/man3/ecore_dlist_append_list.3
new file mode 100644
index 0000000..01bda1f
--- /dev/null
+++ b/doc/man/man3/ecore_dlist_append_list.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data_DList_Add_Item_Group.3
diff --git a/doc/man/man3/ecore_dlist_clear.3 b/doc/man/man3/ecore_dlist_clear.3
new file mode 100644
index 0000000..6d72477
--- /dev/null
+++ b/doc/man/man3/ecore_dlist_clear.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data.h.3
diff --git a/doc/man/man3/ecore_dlist_current.3 b/doc/man/man3/ecore_dlist_current.3
new file mode 100644
index 0000000..6d72477
--- /dev/null
+++ b/doc/man/man3/ecore_dlist_current.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data.h.3
diff --git a/doc/man/man3/ecore_dlist_destroy.3 b/doc/man/man3/ecore_dlist_destroy.3
new file mode 100644
index 0000000..ed54182
--- /dev/null
+++ b/doc/man/man3/ecore_dlist_destroy.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data_DList_Creation_Group.3
diff --git a/doc/man/man3/ecore_dlist_empty_is.3 b/doc/man/man3/ecore_dlist_empty_is.3
new file mode 100644
index 0000000..6d72477
--- /dev/null
+++ b/doc/man/man3/ecore_dlist_empty_is.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data.h.3
diff --git a/doc/man/man3/ecore_dlist_first_goto.3 b/doc/man/man3/ecore_dlist_first_goto.3
new file mode 100644
index 0000000..6d72477
--- /dev/null
+++ b/doc/man/man3/ecore_dlist_first_goto.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data.h.3
diff --git a/doc/man/man3/ecore_dlist_first_remove.3 b/doc/man/man3/ecore_dlist_first_remove.3
new file mode 100644
index 0000000..607829a
--- /dev/null
+++ b/doc/man/man3/ecore_dlist_first_remove.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data_DList_Remove_Item_Group.3
diff --git a/doc/man/man3/ecore_dlist_free_cb_set.3 b/doc/man/man3/ecore_dlist_free_cb_set.3
new file mode 100644
index 0000000..ed54182
--- /dev/null
+++ b/doc/man/man3/ecore_dlist_free_cb_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data_DList_Creation_Group.3
diff --git a/doc/man/man3/ecore_dlist_goto.3 b/doc/man/man3/ecore_dlist_goto.3
new file mode 100644
index 0000000..6d72477
--- /dev/null
+++ b/doc/man/man3/ecore_dlist_goto.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data.h.3
diff --git a/doc/man/man3/ecore_dlist_index.3 b/doc/man/man3/ecore_dlist_index.3
new file mode 100644
index 0000000..6d72477
--- /dev/null
+++ b/doc/man/man3/ecore_dlist_index.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data.h.3
diff --git a/doc/man/man3/ecore_dlist_index_goto.3 b/doc/man/man3/ecore_dlist_index_goto.3
new file mode 100644
index 0000000..6d72477
--- /dev/null
+++ b/doc/man/man3/ecore_dlist_index_goto.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data.h.3
diff --git a/doc/man/man3/ecore_dlist_init.3 b/doc/man/man3/ecore_dlist_init.3
new file mode 100644
index 0000000..ed54182
--- /dev/null
+++ b/doc/man/man3/ecore_dlist_init.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data_DList_Creation_Group.3
diff --git a/doc/man/man3/ecore_dlist_insert.3 b/doc/man/man3/ecore_dlist_insert.3
new file mode 100644
index 0000000..01bda1f
--- /dev/null
+++ b/doc/man/man3/ecore_dlist_insert.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data_DList_Add_Item_Group.3
diff --git a/doc/man/man3/ecore_dlist_last_goto.3 b/doc/man/man3/ecore_dlist_last_goto.3
new file mode 100644
index 0000000..6d72477
--- /dev/null
+++ b/doc/man/man3/ecore_dlist_last_goto.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data.h.3
diff --git a/doc/man/man3/ecore_dlist_last_remove.3 b/doc/man/man3/ecore_dlist_last_remove.3
new file mode 100644
index 0000000..607829a
--- /dev/null
+++ b/doc/man/man3/ecore_dlist_last_remove.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data_DList_Remove_Item_Group.3
diff --git a/doc/man/man3/ecore_dlist_mergesort.3 b/doc/man/man3/ecore_dlist_mergesort.3
new file mode 100644
index 0000000..6d72477
--- /dev/null
+++ b/doc/man/man3/ecore_dlist_mergesort.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data.h.3
diff --git a/doc/man/man3/ecore_dlist_new.3 b/doc/man/man3/ecore_dlist_new.3
new file mode 100644
index 0000000..ed54182
--- /dev/null
+++ b/doc/man/man3/ecore_dlist_new.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data_DList_Creation_Group.3
diff --git a/doc/man/man3/ecore_dlist_next.3 b/doc/man/man3/ecore_dlist_next.3
new file mode 100644
index 0000000..6d72477
--- /dev/null
+++ b/doc/man/man3/ecore_dlist_next.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data.h.3
diff --git a/doc/man/man3/ecore_dlist_prepend.3 b/doc/man/man3/ecore_dlist_prepend.3
new file mode 100644
index 0000000..01bda1f
--- /dev/null
+++ b/doc/man/man3/ecore_dlist_prepend.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data_DList_Add_Item_Group.3
diff --git a/doc/man/man3/ecore_dlist_prepend_list.3 b/doc/man/man3/ecore_dlist_prepend_list.3
new file mode 100644
index 0000000..01bda1f
--- /dev/null
+++ b/doc/man/man3/ecore_dlist_prepend_list.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data_DList_Add_Item_Group.3
diff --git a/doc/man/man3/ecore_dlist_previous.3 b/doc/man/man3/ecore_dlist_previous.3
new file mode 100644
index 0000000..6d72477
--- /dev/null
+++ b/doc/man/man3/ecore_dlist_previous.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data.h.3
diff --git a/doc/man/man3/ecore_dlist_remove.3 b/doc/man/man3/ecore_dlist_remove.3
new file mode 100644
index 0000000..607829a
--- /dev/null
+++ b/doc/man/man3/ecore_dlist_remove.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data_DList_Remove_Item_Group.3
diff --git a/doc/man/man3/ecore_dlist_remove_destroy.3 b/doc/man/man3/ecore_dlist_remove_destroy.3
new file mode 100644
index 0000000..607829a
--- /dev/null
+++ b/doc/man/man3/ecore_dlist_remove_destroy.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data_DList_Remove_Item_Group.3
diff --git a/doc/man/man3/ecore_dlist_sort.3 b/doc/man/man3/ecore_dlist_sort.3
new file mode 100644
index 0000000..6d72477
--- /dev/null
+++ b/doc/man/man3/ecore_dlist_sort.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data.h.3
diff --git a/doc/man/man3/ecore_evas_alpha_get.3 b/doc/man/man3/ecore_evas_alpha_get.3
new file mode 100644
index 0000000..e988b2d
--- /dev/null
+++ b/doc/man/man3/ecore_evas_alpha_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_Evas.h.3
diff --git a/doc/man/man3/ecore_evas_alpha_set.3 b/doc/man/man3/ecore_evas_alpha_set.3
new file mode 100644
index 0000000..e988b2d
--- /dev/null
+++ b/doc/man/man3/ecore_evas_alpha_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_Evas.h.3
diff --git a/doc/man/man3/ecore_evas_avoid_damage_get.3 b/doc/man/man3/ecore_evas_avoid_damage_get.3
new file mode 100644
index 0000000..e988b2d
--- /dev/null
+++ b/doc/man/man3/ecore_evas_avoid_damage_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_Evas.h.3
diff --git a/doc/man/man3/ecore_evas_avoid_damage_set.3 b/doc/man/man3/ecore_evas_avoid_damage_set.3
new file mode 100644
index 0000000..e988b2d
--- /dev/null
+++ b/doc/man/man3/ecore_evas_avoid_damage_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_Evas.h.3
diff --git a/doc/man/man3/ecore_evas_borderless_get.3 b/doc/man/man3/ecore_evas_borderless_get.3
new file mode 100644
index 0000000..e988b2d
--- /dev/null
+++ b/doc/man/man3/ecore_evas_borderless_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_Evas.h.3
diff --git a/doc/man/man3/ecore_evas_borderless_set.3 b/doc/man/man3/ecore_evas_borderless_set.3
new file mode 100644
index 0000000..e988b2d
--- /dev/null
+++ b/doc/man/man3/ecore_evas_borderless_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_Evas.h.3
diff --git a/doc/man/man3/ecore_evas_buffer_new.3 b/doc/man/man3/ecore_evas_buffer_new.3
new file mode 100644
index 0000000..e988b2d
--- /dev/null
+++ b/doc/man/man3/ecore_evas_buffer_new.3
@@ -0,0 +1 @@
+.so man3/Ecore_Evas.h.3
diff --git a/doc/man/man3/ecore_evas_callback_delete_request_set.3 b/doc/man/man3/ecore_evas_callback_delete_request_set.3
new file mode 100644
index 0000000..e988b2d
--- /dev/null
+++ b/doc/man/man3/ecore_evas_callback_delete_request_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_Evas.h.3
diff --git a/doc/man/man3/ecore_evas_callback_destroy_set.3 b/doc/man/man3/ecore_evas_callback_destroy_set.3
new file mode 100644
index 0000000..e988b2d
--- /dev/null
+++ b/doc/man/man3/ecore_evas_callback_destroy_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_Evas.h.3
diff --git a/doc/man/man3/ecore_evas_callback_focus_in_set.3 b/doc/man/man3/ecore_evas_callback_focus_in_set.3
new file mode 100644
index 0000000..e988b2d
--- /dev/null
+++ b/doc/man/man3/ecore_evas_callback_focus_in_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_Evas.h.3
diff --git a/doc/man/man3/ecore_evas_callback_focus_out_set.3 b/doc/man/man3/ecore_evas_callback_focus_out_set.3
new file mode 100644
index 0000000..e988b2d
--- /dev/null
+++ b/doc/man/man3/ecore_evas_callback_focus_out_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_Evas.h.3
diff --git a/doc/man/man3/ecore_evas_callback_hide_set.3 b/doc/man/man3/ecore_evas_callback_hide_set.3
new file mode 100644
index 0000000..e988b2d
--- /dev/null
+++ b/doc/man/man3/ecore_evas_callback_hide_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_Evas.h.3
diff --git a/doc/man/man3/ecore_evas_callback_mouse_in_set.3 b/doc/man/man3/ecore_evas_callback_mouse_in_set.3
new file mode 100644
index 0000000..e988b2d
--- /dev/null
+++ b/doc/man/man3/ecore_evas_callback_mouse_in_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_Evas.h.3
diff --git a/doc/man/man3/ecore_evas_callback_mouse_out_set.3 b/doc/man/man3/ecore_evas_callback_mouse_out_set.3
new file mode 100644
index 0000000..e988b2d
--- /dev/null
+++ b/doc/man/man3/ecore_evas_callback_mouse_out_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_Evas.h.3
diff --git a/doc/man/man3/ecore_evas_callback_move_set.3 b/doc/man/man3/ecore_evas_callback_move_set.3
new file mode 100644
index 0000000..e988b2d
--- /dev/null
+++ b/doc/man/man3/ecore_evas_callback_move_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_Evas.h.3
diff --git a/doc/man/man3/ecore_evas_callback_post_render_set.3 b/doc/man/man3/ecore_evas_callback_post_render_set.3
new file mode 100644
index 0000000..e988b2d
--- /dev/null
+++ b/doc/man/man3/ecore_evas_callback_post_render_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_Evas.h.3
diff --git a/doc/man/man3/ecore_evas_callback_pre_render_set.3 b/doc/man/man3/ecore_evas_callback_pre_render_set.3
new file mode 100644
index 0000000..e988b2d
--- /dev/null
+++ b/doc/man/man3/ecore_evas_callback_pre_render_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_Evas.h.3
diff --git a/doc/man/man3/ecore_evas_callback_resize_set.3 b/doc/man/man3/ecore_evas_callback_resize_set.3
new file mode 100644
index 0000000..e988b2d
--- /dev/null
+++ b/doc/man/man3/ecore_evas_callback_resize_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_Evas.h.3
diff --git a/doc/man/man3/ecore_evas_callback_show_set.3 b/doc/man/man3/ecore_evas_callback_show_set.3
new file mode 100644
index 0000000..e988b2d
--- /dev/null
+++ b/doc/man/man3/ecore_evas_callback_show_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_Evas.h.3
diff --git a/doc/man/man3/ecore_evas_callback_sticky_set.3 b/doc/man/man3/ecore_evas_callback_sticky_set.3
new file mode 100644
index 0000000..e988b2d
--- /dev/null
+++ b/doc/man/man3/ecore_evas_callback_sticky_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_Evas.h.3
diff --git a/doc/man/man3/ecore_evas_callback_unsticky_set.3 b/doc/man/man3/ecore_evas_callback_unsticky_set.3
new file mode 100644
index 0000000..e988b2d
--- /dev/null
+++ b/doc/man/man3/ecore_evas_callback_unsticky_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_Evas.h.3
diff --git a/doc/man/man3/ecore_evas_cursor_get.3 b/doc/man/man3/ecore_evas_cursor_get.3
new file mode 100644
index 0000000..e988b2d
--- /dev/null
+++ b/doc/man/man3/ecore_evas_cursor_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_Evas.h.3
diff --git a/doc/man/man3/ecore_evas_cursor_set.3 b/doc/man/man3/ecore_evas_cursor_set.3
new file mode 100644
index 0000000..e988b2d
--- /dev/null
+++ b/doc/man/man3/ecore_evas_cursor_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_Evas.h.3
diff --git a/doc/man/man3/ecore_evas_data_get.3 b/doc/man/man3/ecore_evas_data_get.3
new file mode 100644
index 0000000..e988b2d
--- /dev/null
+++ b/doc/man/man3/ecore_evas_data_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_Evas.h.3
diff --git a/doc/man/man3/ecore_evas_data_set.3 b/doc/man/man3/ecore_evas_data_set.3
new file mode 100644
index 0000000..e988b2d
--- /dev/null
+++ b/doc/man/man3/ecore_evas_data_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_Evas.h.3
diff --git a/doc/man/man3/ecore_evas_ecore_evas_get.3 b/doc/man/man3/ecore_evas_ecore_evas_get.3
new file mode 100644
index 0000000..e988b2d
--- /dev/null
+++ b/doc/man/man3/ecore_evas_ecore_evas_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_Evas.h.3
diff --git a/doc/man/man3/ecore_evas_engine_type_supported_get.3 b/doc/man/man3/ecore_evas_engine_type_supported_get.3
new file mode 100644
index 0000000..e988b2d
--- /dev/null
+++ b/doc/man/man3/ecore_evas_engine_type_supported_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_Evas.h.3
diff --git a/doc/man/man3/ecore_evas_fb_new.3 b/doc/man/man3/ecore_evas_fb_new.3
new file mode 100644
index 0000000..e988b2d
--- /dev/null
+++ b/doc/man/man3/ecore_evas_fb_new.3
@@ -0,0 +1 @@
+.so man3/Ecore_Evas.h.3
diff --git a/doc/man/man3/ecore_evas_focus_get.3 b/doc/man/man3/ecore_evas_focus_get.3
new file mode 100644
index 0000000..e988b2d
--- /dev/null
+++ b/doc/man/man3/ecore_evas_focus_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_Evas.h.3
diff --git a/doc/man/man3/ecore_evas_focus_set.3 b/doc/man/man3/ecore_evas_focus_set.3
new file mode 100644
index 0000000..e988b2d
--- /dev/null
+++ b/doc/man/man3/ecore_evas_focus_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_Evas.h.3
diff --git a/doc/man/man3/ecore_evas_free.3 b/doc/man/man3/ecore_evas_free.3
new file mode 100644
index 0000000..e988b2d
--- /dev/null
+++ b/doc/man/man3/ecore_evas_free.3
@@ -0,0 +1 @@
+.so man3/Ecore_Evas.h.3
diff --git a/doc/man/man3/ecore_evas_fullscreen_get.3 b/doc/man/man3/ecore_evas_fullscreen_get.3
new file mode 100644
index 0000000..e988b2d
--- /dev/null
+++ b/doc/man/man3/ecore_evas_fullscreen_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_Evas.h.3
diff --git a/doc/man/man3/ecore_evas_fullscreen_set.3 b/doc/man/man3/ecore_evas_fullscreen_set.3
new file mode 100644
index 0000000..e988b2d
--- /dev/null
+++ b/doc/man/man3/ecore_evas_fullscreen_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_Evas.h.3
diff --git a/doc/man/man3/ecore_evas_geometry_get.3 b/doc/man/man3/ecore_evas_geometry_get.3
new file mode 100644
index 0000000..e988b2d
--- /dev/null
+++ b/doc/man/man3/ecore_evas_geometry_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_Evas.h.3
diff --git a/doc/man/man3/ecore_evas_get.3 b/doc/man/man3/ecore_evas_get.3
new file mode 100644
index 0000000..e988b2d
--- /dev/null
+++ b/doc/man/man3/ecore_evas_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_Evas.h.3
diff --git a/doc/man/man3/ecore_evas_gl_x11_direct_resize_get.3 b/doc/man/man3/ecore_evas_gl_x11_direct_resize_get.3
new file mode 100644
index 0000000..e988b2d
--- /dev/null
+++ b/doc/man/man3/ecore_evas_gl_x11_direct_resize_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_Evas.h.3
diff --git a/doc/man/man3/ecore_evas_gl_x11_direct_resize_set.3 b/doc/man/man3/ecore_evas_gl_x11_direct_resize_set.3
new file mode 100644
index 0000000..e988b2d
--- /dev/null
+++ b/doc/man/man3/ecore_evas_gl_x11_direct_resize_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_Evas.h.3
diff --git a/doc/man/man3/ecore_evas_gl_x11_extra_event_window_add.3 b/doc/man/man3/ecore_evas_gl_x11_extra_event_window_add.3
new file mode 100644
index 0000000..e988b2d
--- /dev/null
+++ b/doc/man/man3/ecore_evas_gl_x11_extra_event_window_add.3
@@ -0,0 +1 @@
+.so man3/Ecore_Evas.h.3
diff --git a/doc/man/man3/ecore_evas_gl_x11_new.3 b/doc/man/man3/ecore_evas_gl_x11_new.3
new file mode 100644
index 0000000..e988b2d
--- /dev/null
+++ b/doc/man/man3/ecore_evas_gl_x11_new.3
@@ -0,0 +1 @@
+.so man3/Ecore_Evas.h.3
diff --git a/doc/man/man3/ecore_evas_gl_x11_subwindow_get.3 b/doc/man/man3/ecore_evas_gl_x11_subwindow_get.3
new file mode 100644
index 0000000..e988b2d
--- /dev/null
+++ b/doc/man/man3/ecore_evas_gl_x11_subwindow_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_Evas.h.3
diff --git a/doc/man/man3/ecore_evas_gl_x11_window_get.3 b/doc/man/man3/ecore_evas_gl_x11_window_get.3
new file mode 100644
index 0000000..e988b2d
--- /dev/null
+++ b/doc/man/man3/ecore_evas_gl_x11_window_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_Evas.h.3
diff --git a/doc/man/man3/ecore_evas_hide.3 b/doc/man/man3/ecore_evas_hide.3
new file mode 100644
index 0000000..e988b2d
--- /dev/null
+++ b/doc/man/man3/ecore_evas_hide.3
@@ -0,0 +1 @@
+.so man3/Ecore_Evas.h.3
diff --git a/doc/man/man3/ecore_evas_iconified_get.3 b/doc/man/man3/ecore_evas_iconified_get.3
new file mode 100644
index 0000000..e988b2d
--- /dev/null
+++ b/doc/man/man3/ecore_evas_iconified_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_Evas.h.3
diff --git a/doc/man/man3/ecore_evas_iconified_set.3 b/doc/man/man3/ecore_evas_iconified_set.3
new file mode 100644
index 0000000..e988b2d
--- /dev/null
+++ b/doc/man/man3/ecore_evas_iconified_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_Evas.h.3
diff --git a/doc/man/man3/ecore_evas_ignore_events_get.3 b/doc/man/man3/ecore_evas_ignore_events_get.3
new file mode 100644
index 0000000..e988b2d
--- /dev/null
+++ b/doc/man/man3/ecore_evas_ignore_events_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_Evas.h.3
diff --git a/doc/man/man3/ecore_evas_ignore_events_set.3 b/doc/man/man3/ecore_evas_ignore_events_set.3
new file mode 100644
index 0000000..e988b2d
--- /dev/null
+++ b/doc/man/man3/ecore_evas_ignore_events_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_Evas.h.3
diff --git a/doc/man/man3/ecore_evas_init.3 b/doc/man/man3/ecore_evas_init.3
new file mode 100644
index 0000000..e988b2d
--- /dev/null
+++ b/doc/man/man3/ecore_evas_init.3
@@ -0,0 +1 @@
+.so man3/Ecore_Evas.h.3
diff --git a/doc/man/man3/ecore_evas_layer_get.3 b/doc/man/man3/ecore_evas_layer_get.3
new file mode 100644
index 0000000..e988b2d
--- /dev/null
+++ b/doc/man/man3/ecore_evas_layer_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_Evas.h.3
diff --git a/doc/man/man3/ecore_evas_layer_set.3 b/doc/man/man3/ecore_evas_layer_set.3
new file mode 100644
index 0000000..e988b2d
--- /dev/null
+++ b/doc/man/man3/ecore_evas_layer_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_Evas.h.3
diff --git a/doc/man/man3/ecore_evas_lower.3 b/doc/man/man3/ecore_evas_lower.3
new file mode 100644
index 0000000..e988b2d
--- /dev/null
+++ b/doc/man/man3/ecore_evas_lower.3
@@ -0,0 +1 @@
+.so man3/Ecore_Evas.h.3
diff --git a/doc/man/man3/ecore_evas_managed_move.3 b/doc/man/man3/ecore_evas_managed_move.3
new file mode 100644
index 0000000..e988b2d
--- /dev/null
+++ b/doc/man/man3/ecore_evas_managed_move.3
@@ -0,0 +1 @@
+.so man3/Ecore_Evas.h.3
diff --git a/doc/man/man3/ecore_evas_maximized_get.3 b/doc/man/man3/ecore_evas_maximized_get.3
new file mode 100644
index 0000000..e988b2d
--- /dev/null
+++ b/doc/man/man3/ecore_evas_maximized_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_Evas.h.3
diff --git a/doc/man/man3/ecore_evas_maximized_set.3 b/doc/man/man3/ecore_evas_maximized_set.3
new file mode 100644
index 0000000..e988b2d
--- /dev/null
+++ b/doc/man/man3/ecore_evas_maximized_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_Evas.h.3
diff --git a/doc/man/man3/ecore_evas_move.3 b/doc/man/man3/ecore_evas_move.3
new file mode 100644
index 0000000..e988b2d
--- /dev/null
+++ b/doc/man/man3/ecore_evas_move.3
@@ -0,0 +1 @@
+.so man3/Ecore_Evas.h.3
diff --git a/doc/man/man3/ecore_evas_move_resize.3 b/doc/man/man3/ecore_evas_move_resize.3
new file mode 100644
index 0000000..e988b2d
--- /dev/null
+++ b/doc/man/man3/ecore_evas_move_resize.3
@@ -0,0 +1 @@
+.so man3/Ecore_Evas.h.3
diff --git a/doc/man/man3/ecore_evas_name_class_get.3 b/doc/man/man3/ecore_evas_name_class_get.3
new file mode 100644
index 0000000..e988b2d
--- /dev/null
+++ b/doc/man/man3/ecore_evas_name_class_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_Evas.h.3
diff --git a/doc/man/man3/ecore_evas_name_class_set.3 b/doc/man/man3/ecore_evas_name_class_set.3
new file mode 100644
index 0000000..e988b2d
--- /dev/null
+++ b/doc/man/man3/ecore_evas_name_class_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_Evas.h.3
diff --git a/doc/man/man3/ecore_evas_override_get.3 b/doc/man/man3/ecore_evas_override_get.3
new file mode 100644
index 0000000..e988b2d
--- /dev/null
+++ b/doc/man/man3/ecore_evas_override_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_Evas.h.3
diff --git a/doc/man/man3/ecore_evas_override_set.3 b/doc/man/man3/ecore_evas_override_set.3
new file mode 100644
index 0000000..e988b2d
--- /dev/null
+++ b/doc/man/man3/ecore_evas_override_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_Evas.h.3
diff --git a/doc/man/man3/ecore_evas_raise.3 b/doc/man/man3/ecore_evas_raise.3
new file mode 100644
index 0000000..e988b2d
--- /dev/null
+++ b/doc/man/man3/ecore_evas_raise.3
@@ -0,0 +1 @@
+.so man3/Ecore_Evas.h.3
diff --git a/doc/man/man3/ecore_evas_resize.3 b/doc/man/man3/ecore_evas_resize.3
new file mode 100644
index 0000000..e988b2d
--- /dev/null
+++ b/doc/man/man3/ecore_evas_resize.3
@@ -0,0 +1 @@
+.so man3/Ecore_Evas.h.3
diff --git a/doc/man/man3/ecore_evas_rotation_get.3 b/doc/man/man3/ecore_evas_rotation_get.3
new file mode 100644
index 0000000..e988b2d
--- /dev/null
+++ b/doc/man/man3/ecore_evas_rotation_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_Evas.h.3
diff --git a/doc/man/man3/ecore_evas_rotation_set.3 b/doc/man/man3/ecore_evas_rotation_set.3
new file mode 100644
index 0000000..e988b2d
--- /dev/null
+++ b/doc/man/man3/ecore_evas_rotation_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_Evas.h.3
diff --git a/doc/man/man3/ecore_evas_shaped_get.3 b/doc/man/man3/ecore_evas_shaped_get.3
new file mode 100644
index 0000000..e988b2d
--- /dev/null
+++ b/doc/man/man3/ecore_evas_shaped_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_Evas.h.3
diff --git a/doc/man/man3/ecore_evas_shaped_set.3 b/doc/man/man3/ecore_evas_shaped_set.3
new file mode 100644
index 0000000..e988b2d
--- /dev/null
+++ b/doc/man/man3/ecore_evas_shaped_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_Evas.h.3
diff --git a/doc/man/man3/ecore_evas_show.3 b/doc/man/man3/ecore_evas_show.3
new file mode 100644
index 0000000..e988b2d
--- /dev/null
+++ b/doc/man/man3/ecore_evas_show.3
@@ -0,0 +1 @@
+.so man3/Ecore_Evas.h.3
diff --git a/doc/man/man3/ecore_evas_shutdown.3 b/doc/man/man3/ecore_evas_shutdown.3
new file mode 100644
index 0000000..e988b2d
--- /dev/null
+++ b/doc/man/man3/ecore_evas_shutdown.3
@@ -0,0 +1 @@
+.so man3/Ecore_Evas.h.3
diff --git a/doc/man/man3/ecore_evas_size_base_get.3 b/doc/man/man3/ecore_evas_size_base_get.3
new file mode 100644
index 0000000..e988b2d
--- /dev/null
+++ b/doc/man/man3/ecore_evas_size_base_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_Evas.h.3
diff --git a/doc/man/man3/ecore_evas_size_base_set.3 b/doc/man/man3/ecore_evas_size_base_set.3
new file mode 100644
index 0000000..e988b2d
--- /dev/null
+++ b/doc/man/man3/ecore_evas_size_base_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_Evas.h.3
diff --git a/doc/man/man3/ecore_evas_size_max_get.3 b/doc/man/man3/ecore_evas_size_max_get.3
new file mode 100644
index 0000000..e988b2d
--- /dev/null
+++ b/doc/man/man3/ecore_evas_size_max_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_Evas.h.3
diff --git a/doc/man/man3/ecore_evas_size_max_set.3 b/doc/man/man3/ecore_evas_size_max_set.3
new file mode 100644
index 0000000..e988b2d
--- /dev/null
+++ b/doc/man/man3/ecore_evas_size_max_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_Evas.h.3
diff --git a/doc/man/man3/ecore_evas_size_min_get.3 b/doc/man/man3/ecore_evas_size_min_get.3
new file mode 100644
index 0000000..e988b2d
--- /dev/null
+++ b/doc/man/man3/ecore_evas_size_min_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_Evas.h.3
diff --git a/doc/man/man3/ecore_evas_size_min_set.3 b/doc/man/man3/ecore_evas_size_min_set.3
new file mode 100644
index 0000000..e988b2d
--- /dev/null
+++ b/doc/man/man3/ecore_evas_size_min_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_Evas.h.3
diff --git a/doc/man/man3/ecore_evas_size_step_get.3 b/doc/man/man3/ecore_evas_size_step_get.3
new file mode 100644
index 0000000..e988b2d
--- /dev/null
+++ b/doc/man/man3/ecore_evas_size_step_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_Evas.h.3
diff --git a/doc/man/man3/ecore_evas_size_step_set.3 b/doc/man/man3/ecore_evas_size_step_set.3
new file mode 100644
index 0000000..e988b2d
--- /dev/null
+++ b/doc/man/man3/ecore_evas_size_step_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_Evas.h.3
diff --git a/doc/man/man3/ecore_evas_software_x11_16_direct_resize_get.3 b/doc/man/man3/ecore_evas_software_x11_16_direct_resize_get.3
new file mode 100644
index 0000000..e988b2d
--- /dev/null
+++ b/doc/man/man3/ecore_evas_software_x11_16_direct_resize_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_Evas.h.3
diff --git a/doc/man/man3/ecore_evas_software_x11_16_direct_resize_set.3 b/doc/man/man3/ecore_evas_software_x11_16_direct_resize_set.3
new file mode 100644
index 0000000..e988b2d
--- /dev/null
+++ b/doc/man/man3/ecore_evas_software_x11_16_direct_resize_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_Evas.h.3
diff --git a/doc/man/man3/ecore_evas_software_x11_16_extra_event_window_add.3 b/doc/man/man3/ecore_evas_software_x11_16_extra_event_window_add.3
new file mode 100644
index 0000000..e988b2d
--- /dev/null
+++ b/doc/man/man3/ecore_evas_software_x11_16_extra_event_window_add.3
@@ -0,0 +1 @@
+.so man3/Ecore_Evas.h.3
diff --git a/doc/man/man3/ecore_evas_software_x11_16_new.3 b/doc/man/man3/ecore_evas_software_x11_16_new.3
new file mode 100644
index 0000000..e988b2d
--- /dev/null
+++ b/doc/man/man3/ecore_evas_software_x11_16_new.3
@@ -0,0 +1 @@
+.so man3/Ecore_Evas.h.3
diff --git a/doc/man/man3/ecore_evas_software_x11_16_subwindow_get.3 b/doc/man/man3/ecore_evas_software_x11_16_subwindow_get.3
new file mode 100644
index 0000000..e988b2d
--- /dev/null
+++ b/doc/man/man3/ecore_evas_software_x11_16_subwindow_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_Evas.h.3
diff --git a/doc/man/man3/ecore_evas_software_x11_16_window_get.3 b/doc/man/man3/ecore_evas_software_x11_16_window_get.3
new file mode 100644
index 0000000..e988b2d
--- /dev/null
+++ b/doc/man/man3/ecore_evas_software_x11_16_window_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_Evas.h.3
diff --git a/doc/man/man3/ecore_evas_software_x11_direct_resize_get.3 b/doc/man/man3/ecore_evas_software_x11_direct_resize_get.3
new file mode 100644
index 0000000..e988b2d
--- /dev/null
+++ b/doc/man/man3/ecore_evas_software_x11_direct_resize_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_Evas.h.3
diff --git a/doc/man/man3/ecore_evas_software_x11_direct_resize_set.3 b/doc/man/man3/ecore_evas_software_x11_direct_resize_set.3
new file mode 100644
index 0000000..e988b2d
--- /dev/null
+++ b/doc/man/man3/ecore_evas_software_x11_direct_resize_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_Evas.h.3
diff --git a/doc/man/man3/ecore_evas_software_x11_extra_event_window_add.3 b/doc/man/man3/ecore_evas_software_x11_extra_event_window_add.3
new file mode 100644
index 0000000..e988b2d
--- /dev/null
+++ b/doc/man/man3/ecore_evas_software_x11_extra_event_window_add.3
@@ -0,0 +1 @@
+.so man3/Ecore_Evas.h.3
diff --git a/doc/man/man3/ecore_evas_software_x11_new.3 b/doc/man/man3/ecore_evas_software_x11_new.3
new file mode 100644
index 0000000..e988b2d
--- /dev/null
+++ b/doc/man/man3/ecore_evas_software_x11_new.3
@@ -0,0 +1 @@
+.so man3/Ecore_Evas.h.3
diff --git a/doc/man/man3/ecore_evas_software_x11_subwindow_get.3 b/doc/man/man3/ecore_evas_software_x11_subwindow_get.3
new file mode 100644
index 0000000..e988b2d
--- /dev/null
+++ b/doc/man/man3/ecore_evas_software_x11_subwindow_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_Evas.h.3
diff --git a/doc/man/man3/ecore_evas_software_x11_window_get.3 b/doc/man/man3/ecore_evas_software_x11_window_get.3
new file mode 100644
index 0000000..e988b2d
--- /dev/null
+++ b/doc/man/man3/ecore_evas_software_x11_window_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_Evas.h.3
diff --git a/doc/man/man3/ecore_evas_sticky_get.3 b/doc/man/man3/ecore_evas_sticky_get.3
new file mode 100644
index 0000000..e988b2d
--- /dev/null
+++ b/doc/man/man3/ecore_evas_sticky_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_Evas.h.3
diff --git a/doc/man/man3/ecore_evas_sticky_set.3 b/doc/man/man3/ecore_evas_sticky_set.3
new file mode 100644
index 0000000..e988b2d
--- /dev/null
+++ b/doc/man/man3/ecore_evas_sticky_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_Evas.h.3
diff --git a/doc/man/man3/ecore_evas_title_get.3 b/doc/man/man3/ecore_evas_title_get.3
new file mode 100644
index 0000000..e988b2d
--- /dev/null
+++ b/doc/man/man3/ecore_evas_title_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_Evas.h.3
diff --git a/doc/man/man3/ecore_evas_title_set.3 b/doc/man/man3/ecore_evas_title_set.3
new file mode 100644
index 0000000..e988b2d
--- /dev/null
+++ b/doc/man/man3/ecore_evas_title_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_Evas.h.3
diff --git a/doc/man/man3/ecore_evas_visibility_get.3 b/doc/man/man3/ecore_evas_visibility_get.3
new file mode 100644
index 0000000..e988b2d
--- /dev/null
+++ b/doc/man/man3/ecore_evas_visibility_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_Evas.h.3
diff --git a/doc/man/man3/ecore_evas_withdrawn_get.3 b/doc/man/man3/ecore_evas_withdrawn_get.3
new file mode 100644
index 0000000..e988b2d
--- /dev/null
+++ b/doc/man/man3/ecore_evas_withdrawn_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_Evas.h.3
diff --git a/doc/man/man3/ecore_evas_withdrawn_set.3 b/doc/man/man3/ecore_evas_withdrawn_set.3
new file mode 100644
index 0000000..e988b2d
--- /dev/null
+++ b/doc/man/man3/ecore_evas_withdrawn_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_Evas.h.3
diff --git a/doc/man/man3/ecore_evas_xrender_x11_direct_resize_get.3 b/doc/man/man3/ecore_evas_xrender_x11_direct_resize_get.3
new file mode 100644
index 0000000..e988b2d
--- /dev/null
+++ b/doc/man/man3/ecore_evas_xrender_x11_direct_resize_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_Evas.h.3
diff --git a/doc/man/man3/ecore_evas_xrender_x11_direct_resize_set.3 b/doc/man/man3/ecore_evas_xrender_x11_direct_resize_set.3
new file mode 100644
index 0000000..e988b2d
--- /dev/null
+++ b/doc/man/man3/ecore_evas_xrender_x11_direct_resize_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_Evas.h.3
diff --git a/doc/man/man3/ecore_evas_xrender_x11_extra_event_window_add.3 b/doc/man/man3/ecore_evas_xrender_x11_extra_event_window_add.3
new file mode 100644
index 0000000..e988b2d
--- /dev/null
+++ b/doc/man/man3/ecore_evas_xrender_x11_extra_event_window_add.3
@@ -0,0 +1 @@
+.so man3/Ecore_Evas.h.3
diff --git a/doc/man/man3/ecore_evas_xrender_x11_new.3 b/doc/man/man3/ecore_evas_xrender_x11_new.3
new file mode 100644
index 0000000..e988b2d
--- /dev/null
+++ b/doc/man/man3/ecore_evas_xrender_x11_new.3
@@ -0,0 +1 @@
+.so man3/Ecore_Evas.h.3
diff --git a/doc/man/man3/ecore_evas_xrender_x11_subwindow_get.3 b/doc/man/man3/ecore_evas_xrender_x11_subwindow_get.3
new file mode 100644
index 0000000..e988b2d
--- /dev/null
+++ b/doc/man/man3/ecore_evas_xrender_x11_subwindow_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_Evas.h.3
diff --git a/doc/man/man3/ecore_evas_xrender_x11_window_get.3 b/doc/man/man3/ecore_evas_xrender_x11_window_get.3
new file mode 100644
index 0000000..e988b2d
--- /dev/null
+++ b/doc/man/man3/ecore_evas_xrender_x11_window_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_Evas.h.3
diff --git a/doc/man/man3/ecore_event_add.3 b/doc/man/man3/ecore_event_add.3
new file mode 100644
index 0000000..e26b883
--- /dev/null
+++ b/doc/man/man3/ecore_event_add.3
@@ -0,0 +1 @@
+.so man3/Ecore.h.3
diff --git a/doc/man/man3/ecore_event_current_event_get.3 b/doc/man/man3/ecore_event_current_event_get.3
new file mode 100644
index 0000000..e26b883
--- /dev/null
+++ b/doc/man/man3/ecore_event_current_event_get.3
@@ -0,0 +1 @@
+.so man3/Ecore.h.3
diff --git a/doc/man/man3/ecore_event_current_type_get.3 b/doc/man/man3/ecore_event_current_type_get.3
new file mode 100644
index 0000000..e26b883
--- /dev/null
+++ b/doc/man/man3/ecore_event_current_type_get.3
@@ -0,0 +1 @@
+.so man3/Ecore.h.3
diff --git a/doc/man/man3/ecore_event_del.3 b/doc/man/man3/ecore_event_del.3
new file mode 100644
index 0000000..e26b883
--- /dev/null
+++ b/doc/man/man3/ecore_event_del.3
@@ -0,0 +1 @@
+.so man3/Ecore.h.3
diff --git a/doc/man/man3/ecore_event_filter_add.3 b/doc/man/man3/ecore_event_filter_add.3
new file mode 100644
index 0000000..e26b883
--- /dev/null
+++ b/doc/man/man3/ecore_event_filter_add.3
@@ -0,0 +1 @@
+.so man3/Ecore.h.3
diff --git a/doc/man/man3/ecore_event_filter_del.3 b/doc/man/man3/ecore_event_filter_del.3
new file mode 100644
index 0000000..e26b883
--- /dev/null
+++ b/doc/man/man3/ecore_event_filter_del.3
@@ -0,0 +1 @@
+.so man3/Ecore.h.3
diff --git a/doc/man/man3/ecore_event_handler_add.3 b/doc/man/man3/ecore_event_handler_add.3
new file mode 100644
index 0000000..e26b883
--- /dev/null
+++ b/doc/man/man3/ecore_event_handler_add.3
@@ -0,0 +1 @@
+.so man3/Ecore.h.3
diff --git a/doc/man/man3/ecore_event_handler_del.3 b/doc/man/man3/ecore_event_handler_del.3
new file mode 100644
index 0000000..e26b883
--- /dev/null
+++ b/doc/man/man3/ecore_event_handler_del.3
@@ -0,0 +1 @@
+.so man3/Ecore.h.3
diff --git a/doc/man/man3/ecore_event_type_new.3 b/doc/man/man3/ecore_event_type_new.3
new file mode 100644
index 0000000..e26b883
--- /dev/null
+++ b/doc/man/man3/ecore_event_type_new.3
@@ -0,0 +1 @@
+.so man3/Ecore.h.3
diff --git a/doc/man/man3/ecore_exe_auto_limits_set.3 b/doc/man/man3/ecore_exe_auto_limits_set.3
new file mode 100644
index 0000000..1e992d1
--- /dev/null
+++ b/doc/man/man3/ecore_exe_auto_limits_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_Exe_Basic_Group.3
diff --git a/doc/man/man3/ecore_exe_close_stdin.3 b/doc/man/man3/ecore_exe_close_stdin.3
new file mode 100644
index 0000000..1e992d1
--- /dev/null
+++ b/doc/man/man3/ecore_exe_close_stdin.3
@@ -0,0 +1 @@
+.so man3/Ecore_Exe_Basic_Group.3
diff --git a/doc/man/man3/ecore_exe_cmd_get.3 b/doc/man/man3/ecore_exe_cmd_get.3
new file mode 100644
index 0000000..1e992d1
--- /dev/null
+++ b/doc/man/man3/ecore_exe_cmd_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_Exe_Basic_Group.3
diff --git a/doc/man/man3/ecore_exe_continue.3 b/doc/man/man3/ecore_exe_continue.3
new file mode 100644
index 0000000..07765ff
--- /dev/null
+++ b/doc/man/man3/ecore_exe_continue.3
@@ -0,0 +1 @@
+.so man3/Ecore_Exe_Signal_Group.3
diff --git a/doc/man/man3/ecore_exe_data_get.3 b/doc/man/man3/ecore_exe_data_get.3
new file mode 100644
index 0000000..1e992d1
--- /dev/null
+++ b/doc/man/man3/ecore_exe_data_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_Exe_Basic_Group.3
diff --git a/doc/man/man3/ecore_exe_event_data_free.3 b/doc/man/man3/ecore_exe_event_data_free.3
new file mode 100644
index 0000000..1e992d1
--- /dev/null
+++ b/doc/man/man3/ecore_exe_event_data_free.3
@@ -0,0 +1 @@
+.so man3/Ecore_Exe_Basic_Group.3
diff --git a/doc/man/man3/ecore_exe_event_data_get.3 b/doc/man/man3/ecore_exe_event_data_get.3
new file mode 100644
index 0000000..1e992d1
--- /dev/null
+++ b/doc/man/man3/ecore_exe_event_data_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_Exe_Basic_Group.3
diff --git a/doc/man/man3/ecore_exe_free.3 b/doc/man/man3/ecore_exe_free.3
new file mode 100644
index 0000000..1e992d1
--- /dev/null
+++ b/doc/man/man3/ecore_exe_free.3
@@ -0,0 +1 @@
+.so man3/Ecore_Exe_Basic_Group.3
diff --git a/doc/man/man3/ecore_exe_hup.3 b/doc/man/man3/ecore_exe_hup.3
new file mode 100644
index 0000000..07765ff
--- /dev/null
+++ b/doc/man/man3/ecore_exe_hup.3
@@ -0,0 +1 @@
+.so man3/Ecore_Exe_Signal_Group.3
diff --git a/doc/man/man3/ecore_exe_kill.3 b/doc/man/man3/ecore_exe_kill.3
new file mode 100644
index 0000000..07765ff
--- /dev/null
+++ b/doc/man/man3/ecore_exe_kill.3
@@ -0,0 +1 @@
+.so man3/Ecore_Exe_Signal_Group.3
diff --git a/doc/man/man3/ecore_exe_pause.3 b/doc/man/man3/ecore_exe_pause.3
new file mode 100644
index 0000000..07765ff
--- /dev/null
+++ b/doc/man/man3/ecore_exe_pause.3
@@ -0,0 +1 @@
+.so man3/Ecore_Exe_Signal_Group.3
diff --git a/doc/man/man3/ecore_exe_pid_get.3 b/doc/man/man3/ecore_exe_pid_get.3
new file mode 100644
index 0000000..1e992d1
--- /dev/null
+++ b/doc/man/man3/ecore_exe_pid_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_Exe_Basic_Group.3
diff --git a/doc/man/man3/ecore_exe_pipe_run.3 b/doc/man/man3/ecore_exe_pipe_run.3
new file mode 100644
index 0000000..1e992d1
--- /dev/null
+++ b/doc/man/man3/ecore_exe_pipe_run.3
@@ -0,0 +1 @@
+.so man3/Ecore_Exe_Basic_Group.3
diff --git a/doc/man/man3/ecore_exe_run.3 b/doc/man/man3/ecore_exe_run.3
new file mode 100644
index 0000000..1e992d1
--- /dev/null
+++ b/doc/man/man3/ecore_exe_run.3
@@ -0,0 +1 @@
+.so man3/Ecore_Exe_Basic_Group.3
diff --git a/doc/man/man3/ecore_exe_send.3 b/doc/man/man3/ecore_exe_send.3
new file mode 100644
index 0000000..1e992d1
--- /dev/null
+++ b/doc/man/man3/ecore_exe_send.3
@@ -0,0 +1 @@
+.so man3/Ecore_Exe_Basic_Group.3
diff --git a/doc/man/man3/ecore_exe_signal.3 b/doc/man/man3/ecore_exe_signal.3
new file mode 100644
index 0000000..07765ff
--- /dev/null
+++ b/doc/man/man3/ecore_exe_signal.3
@@ -0,0 +1 @@
+.so man3/Ecore_Exe_Signal_Group.3
diff --git a/doc/man/man3/ecore_exe_tag_get.3 b/doc/man/man3/ecore_exe_tag_get.3
new file mode 100644
index 0000000..1e992d1
--- /dev/null
+++ b/doc/man/man3/ecore_exe_tag_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_Exe_Basic_Group.3
diff --git a/doc/man/man3/ecore_exe_tag_set.3 b/doc/man/man3/ecore_exe_tag_set.3
new file mode 100644
index 0000000..1e992d1
--- /dev/null
+++ b/doc/man/man3/ecore_exe_tag_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_Exe_Basic_Group.3
diff --git a/doc/man/man3/ecore_exe_terminate.3 b/doc/man/man3/ecore_exe_terminate.3
new file mode 100644
index 0000000..07765ff
--- /dev/null
+++ b/doc/man/man3/ecore_exe_terminate.3
@@ -0,0 +1 @@
+.so man3/Ecore_Exe_Signal_Group.3
diff --git a/doc/man/man3/ecore_fb_backlight_brightness_get.3 b/doc/man/man3/ecore_fb_backlight_brightness_get.3
new file mode 100644
index 0000000..4099e50
--- /dev/null
+++ b/doc/man/man3/ecore_fb_backlight_brightness_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_FB_Backlight_Group.3
diff --git a/doc/man/man3/ecore_fb_backlight_brightness_set.3 b/doc/man/man3/ecore_fb_backlight_brightness_set.3
new file mode 100644
index 0000000..4099e50
--- /dev/null
+++ b/doc/man/man3/ecore_fb_backlight_brightness_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_FB_Backlight_Group.3
diff --git a/doc/man/man3/ecore_fb_backlight_get.3 b/doc/man/man3/ecore_fb_backlight_get.3
new file mode 100644
index 0000000..4099e50
--- /dev/null
+++ b/doc/man/man3/ecore_fb_backlight_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_FB_Backlight_Group.3
diff --git a/doc/man/man3/ecore_fb_backlight_set.3 b/doc/man/man3/ecore_fb_backlight_set.3
new file mode 100644
index 0000000..4099e50
--- /dev/null
+++ b/doc/man/man3/ecore_fb_backlight_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_FB_Backlight_Group.3
diff --git a/doc/man/man3/ecore_fb_callback_gain_set.3 b/doc/man/man3/ecore_fb_callback_gain_set.3
new file mode 100644
index 0000000..16499b3
--- /dev/null
+++ b/doc/man/man3/ecore_fb_callback_gain_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_Fb.h.3
diff --git a/doc/man/man3/ecore_fb_callback_lose_set.3 b/doc/man/man3/ecore_fb_callback_lose_set.3
new file mode 100644
index 0000000..16499b3
--- /dev/null
+++ b/doc/man/man3/ecore_fb_callback_lose_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_Fb.h.3
diff --git a/doc/man/man3/ecore_fb_contrast_get.3 b/doc/man/man3/ecore_fb_contrast_get.3
new file mode 100644
index 0000000..3d011a7
--- /dev/null
+++ b/doc/man/man3/ecore_fb_contrast_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_FB_Contrast_Group.3
diff --git a/doc/man/man3/ecore_fb_contrast_set.3 b/doc/man/man3/ecore_fb_contrast_set.3
new file mode 100644
index 0000000..3d011a7
--- /dev/null
+++ b/doc/man/man3/ecore_fb_contrast_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_FB_Contrast_Group.3
diff --git a/doc/man/man3/ecore_fb_double_click_time_get.3 b/doc/man/man3/ecore_fb_double_click_time_get.3
new file mode 100644
index 0000000..9d0e0af
--- /dev/null
+++ b/doc/man/man3/ecore_fb_double_click_time_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_FB_Click_Group.3
diff --git a/doc/man/man3/ecore_fb_double_click_time_set.3 b/doc/man/man3/ecore_fb_double_click_time_set.3
new file mode 100644
index 0000000..9d0e0af
--- /dev/null
+++ b/doc/man/man3/ecore_fb_double_click_time_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_FB_Click_Group.3
diff --git a/doc/man/man3/ecore_fb_init.3 b/doc/man/man3/ecore_fb_init.3
new file mode 100644
index 0000000..2727cd1
--- /dev/null
+++ b/doc/man/man3/ecore_fb_init.3
@@ -0,0 +1 @@
+.so man3/Ecore_FB_Library_Group.3
diff --git a/doc/man/man3/ecore_fb_led_blink_set.3 b/doc/man/man3/ecore_fb_led_blink_set.3
new file mode 100644
index 0000000..76ba85f
--- /dev/null
+++ b/doc/man/man3/ecore_fb_led_blink_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_FB_LED_Group.3
diff --git a/doc/man/man3/ecore_fb_led_set.3 b/doc/man/man3/ecore_fb_led_set.3
new file mode 100644
index 0000000..76ba85f
--- /dev/null
+++ b/doc/man/man3/ecore_fb_led_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_FB_LED_Group.3
diff --git a/doc/man/man3/ecore_fb_shutdown.3 b/doc/man/man3/ecore_fb_shutdown.3
new file mode 100644
index 0000000..2727cd1
--- /dev/null
+++ b/doc/man/man3/ecore_fb_shutdown.3
@@ -0,0 +1 @@
+.so man3/Ecore_FB_Library_Group.3
diff --git a/doc/man/man3/ecore_fb_size_get.3 b/doc/man/man3/ecore_fb_size_get.3
new file mode 100644
index 0000000..16499b3
--- /dev/null
+++ b/doc/man/man3/ecore_fb_size_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_Fb.h.3
diff --git a/doc/man/man3/ecore_fb_touch_screen_calibrate_get.3 b/doc/man/man3/ecore_fb_touch_screen_calibrate_get.3
new file mode 100644
index 0000000..af2c464
--- /dev/null
+++ b/doc/man/man3/ecore_fb_touch_screen_calibrate_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_FB_Calibrate_Group.3
diff --git a/doc/man/man3/ecore_fb_touch_screen_calibrate_set.3 b/doc/man/man3/ecore_fb_touch_screen_calibrate_set.3
new file mode 100644
index 0000000..af2c464
--- /dev/null
+++ b/doc/man/man3/ecore_fb_touch_screen_calibrate_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_FB_Calibrate_Group.3
diff --git a/doc/man/man3/ecore_file_app_exe_get.3 b/doc/man/man3/ecore_file_app_exe_get.3
new file mode 100644
index 0000000..b7d70cc
--- /dev/null
+++ b/doc/man/man3/ecore_file_app_exe_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_File.h.3
diff --git a/doc/man/man3/ecore_file_app_installed.3 b/doc/man/man3/ecore_file_app_installed.3
new file mode 100644
index 0000000..b7d70cc
--- /dev/null
+++ b/doc/man/man3/ecore_file_app_installed.3
@@ -0,0 +1 @@
+.so man3/Ecore_File.h.3
diff --git a/doc/man/man3/ecore_file_app_list.3 b/doc/man/man3/ecore_file_app_list.3
new file mode 100644
index 0000000..b7d70cc
--- /dev/null
+++ b/doc/man/man3/ecore_file_app_list.3
@@ -0,0 +1 @@
+.so man3/Ecore_File.h.3
diff --git a/doc/man/man3/ecore_file_can_exec.3 b/doc/man/man3/ecore_file_can_exec.3
new file mode 100644
index 0000000..b7d70cc
--- /dev/null
+++ b/doc/man/man3/ecore_file_can_exec.3
@@ -0,0 +1 @@
+.so man3/Ecore_File.h.3
diff --git a/doc/man/man3/ecore_file_can_read.3 b/doc/man/man3/ecore_file_can_read.3
new file mode 100644
index 0000000..b7d70cc
--- /dev/null
+++ b/doc/man/man3/ecore_file_can_read.3
@@ -0,0 +1 @@
+.so man3/Ecore_File.h.3
diff --git a/doc/man/man3/ecore_file_can_write.3 b/doc/man/man3/ecore_file_can_write.3
new file mode 100644
index 0000000..b7d70cc
--- /dev/null
+++ b/doc/man/man3/ecore_file_can_write.3
@@ -0,0 +1 @@
+.so man3/Ecore_File.h.3
diff --git a/doc/man/man3/ecore_file_cp.3 b/doc/man/man3/ecore_file_cp.3
new file mode 100644
index 0000000..b7d70cc
--- /dev/null
+++ b/doc/man/man3/ecore_file_cp.3
@@ -0,0 +1 @@
+.so man3/Ecore_File.h.3
diff --git a/doc/man/man3/ecore_file_dir_get.3 b/doc/man/man3/ecore_file_dir_get.3
new file mode 100644
index 0000000..b7d70cc
--- /dev/null
+++ b/doc/man/man3/ecore_file_dir_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_File.h.3
diff --git a/doc/man/man3/ecore_file_download.3 b/doc/man/man3/ecore_file_download.3
new file mode 100644
index 0000000..b7d70cc
--- /dev/null
+++ b/doc/man/man3/ecore_file_download.3
@@ -0,0 +1 @@
+.so man3/Ecore_File.h.3
diff --git a/doc/man/man3/ecore_file_download_protocol_available.3 b/doc/man/man3/ecore_file_download_protocol_available.3
new file mode 100644
index 0000000..b7d70cc
--- /dev/null
+++ b/doc/man/man3/ecore_file_download_protocol_available.3
@@ -0,0 +1 @@
+.so man3/Ecore_File.h.3
diff --git a/doc/man/man3/ecore_file_escape_name.3 b/doc/man/man3/ecore_file_escape_name.3
new file mode 100644
index 0000000..b7d70cc
--- /dev/null
+++ b/doc/man/man3/ecore_file_escape_name.3
@@ -0,0 +1 @@
+.so man3/Ecore_File.h.3
diff --git a/doc/man/man3/ecore_file_exists.3 b/doc/man/man3/ecore_file_exists.3
new file mode 100644
index 0000000..b7d70cc
--- /dev/null
+++ b/doc/man/man3/ecore_file_exists.3
@@ -0,0 +1 @@
+.so man3/Ecore_File.h.3
diff --git a/doc/man/man3/ecore_file_file_get.3 b/doc/man/man3/ecore_file_file_get.3
new file mode 100644
index 0000000..b7d70cc
--- /dev/null
+++ b/doc/man/man3/ecore_file_file_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_File.h.3
diff --git a/doc/man/man3/ecore_file_init.3 b/doc/man/man3/ecore_file_init.3
new file mode 100644
index 0000000..b7d70cc
--- /dev/null
+++ b/doc/man/man3/ecore_file_init.3
@@ -0,0 +1 @@
+.so man3/Ecore_File.h.3
diff --git a/doc/man/man3/ecore_file_is_dir.3 b/doc/man/man3/ecore_file_is_dir.3
new file mode 100644
index 0000000..b7d70cc
--- /dev/null
+++ b/doc/man/man3/ecore_file_is_dir.3
@@ -0,0 +1 @@
+.so man3/Ecore_File.h.3
diff --git a/doc/man/man3/ecore_file_ls.3 b/doc/man/man3/ecore_file_ls.3
new file mode 100644
index 0000000..b7d70cc
--- /dev/null
+++ b/doc/man/man3/ecore_file_ls.3
@@ -0,0 +1 @@
+.so man3/Ecore_File.h.3
diff --git a/doc/man/man3/ecore_file_mkdir.3 b/doc/man/man3/ecore_file_mkdir.3
new file mode 100644
index 0000000..b7d70cc
--- /dev/null
+++ b/doc/man/man3/ecore_file_mkdir.3
@@ -0,0 +1 @@
+.so man3/Ecore_File.h.3
diff --git a/doc/man/man3/ecore_file_mkpath.3 b/doc/man/man3/ecore_file_mkpath.3
new file mode 100644
index 0000000..b7d70cc
--- /dev/null
+++ b/doc/man/man3/ecore_file_mkpath.3
@@ -0,0 +1 @@
+.so man3/Ecore_File.h.3
diff --git a/doc/man/man3/ecore_file_mod_time.3 b/doc/man/man3/ecore_file_mod_time.3
new file mode 100644
index 0000000..b7d70cc
--- /dev/null
+++ b/doc/man/man3/ecore_file_mod_time.3
@@ -0,0 +1 @@
+.so man3/Ecore_File.h.3
diff --git a/doc/man/man3/ecore_file_monitor_del.3 b/doc/man/man3/ecore_file_monitor_del.3
new file mode 100644
index 0000000..b7d70cc
--- /dev/null
+++ b/doc/man/man3/ecore_file_monitor_del.3
@@ -0,0 +1 @@
+.so man3/Ecore_File.h.3
diff --git a/doc/man/man3/ecore_file_monitor_path_get.3 b/doc/man/man3/ecore_file_monitor_path_get.3
new file mode 100644
index 0000000..b7d70cc
--- /dev/null
+++ b/doc/man/man3/ecore_file_monitor_path_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_File.h.3
diff --git a/doc/man/man3/ecore_file_mv.3 b/doc/man/man3/ecore_file_mv.3
new file mode 100644
index 0000000..b7d70cc
--- /dev/null
+++ b/doc/man/man3/ecore_file_mv.3
@@ -0,0 +1 @@
+.so man3/Ecore_File.h.3
diff --git a/doc/man/man3/ecore_file_path_dir_exists.3 b/doc/man/man3/ecore_file_path_dir_exists.3
new file mode 100644
index 0000000..b7d70cc
--- /dev/null
+++ b/doc/man/man3/ecore_file_path_dir_exists.3
@@ -0,0 +1 @@
+.so man3/Ecore_File.h.3
diff --git a/doc/man/man3/ecore_file_readlink.3 b/doc/man/man3/ecore_file_readlink.3
new file mode 100644
index 0000000..b7d70cc
--- /dev/null
+++ b/doc/man/man3/ecore_file_readlink.3
@@ -0,0 +1 @@
+.so man3/Ecore_File.h.3
diff --git a/doc/man/man3/ecore_file_realpath.3 b/doc/man/man3/ecore_file_realpath.3
new file mode 100644
index 0000000..b7d70cc
--- /dev/null
+++ b/doc/man/man3/ecore_file_realpath.3
@@ -0,0 +1 @@
+.so man3/Ecore_File.h.3
diff --git a/doc/man/man3/ecore_file_recursive_rm.3 b/doc/man/man3/ecore_file_recursive_rm.3
new file mode 100644
index 0000000..b7d70cc
--- /dev/null
+++ b/doc/man/man3/ecore_file_recursive_rm.3
@@ -0,0 +1 @@
+.so man3/Ecore_File.h.3
diff --git a/doc/man/man3/ecore_file_rmdir.3 b/doc/man/man3/ecore_file_rmdir.3
new file mode 100644
index 0000000..b7d70cc
--- /dev/null
+++ b/doc/man/man3/ecore_file_rmdir.3
@@ -0,0 +1 @@
+.so man3/Ecore_File.h.3
diff --git a/doc/man/man3/ecore_file_shutdown.3 b/doc/man/man3/ecore_file_shutdown.3
new file mode 100644
index 0000000..b7d70cc
--- /dev/null
+++ b/doc/man/man3/ecore_file_shutdown.3
@@ -0,0 +1 @@
+.so man3/Ecore_File.h.3
diff --git a/doc/man/man3/ecore_file_size.3 b/doc/man/man3/ecore_file_size.3
new file mode 100644
index 0000000..b7d70cc
--- /dev/null
+++ b/doc/man/man3/ecore_file_size.3
@@ -0,0 +1 @@
+.so man3/Ecore_File.h.3
diff --git a/doc/man/man3/ecore_file_strip_ext.3 b/doc/man/man3/ecore_file_strip_ext.3
new file mode 100644
index 0000000..b7d70cc
--- /dev/null
+++ b/doc/man/man3/ecore_file_strip_ext.3
@@ -0,0 +1 @@
+.so man3/Ecore_File.h.3
diff --git a/doc/man/man3/ecore_file_symlink.3 b/doc/man/man3/ecore_file_symlink.3
new file mode 100644
index 0000000..b7d70cc
--- /dev/null
+++ b/doc/man/man3/ecore_file_symlink.3
@@ -0,0 +1 @@
+.so man3/Ecore_File.h.3
diff --git a/doc/man/man3/ecore_file_unlink.3 b/doc/man/man3/ecore_file_unlink.3
new file mode 100644
index 0000000..b7d70cc
--- /dev/null
+++ b/doc/man/man3/ecore_file_unlink.3
@@ -0,0 +1 @@
+.so man3/Ecore_File.h.3
diff --git a/doc/man/man3/ecore_hash_count.3 b/doc/man/man3/ecore_hash_count.3
new file mode 100644
index 0000000..1db2fca
--- /dev/null
+++ b/doc/man/man3/ecore_hash_count.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data_Hash_ADT_Destruction_Group.3
diff --git a/doc/man/man3/ecore_hash_destroy.3 b/doc/man/man3/ecore_hash_destroy.3
new file mode 100644
index 0000000..1db2fca
--- /dev/null
+++ b/doc/man/man3/ecore_hash_destroy.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data_Hash_ADT_Destruction_Group.3
diff --git a/doc/man/man3/ecore_hash_dump_graph.3 b/doc/man/man3/ecore_hash_dump_graph.3
new file mode 100644
index 0000000..6d72477
--- /dev/null
+++ b/doc/man/man3/ecore_hash_dump_graph.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data.h.3
diff --git a/doc/man/man3/ecore_hash_dump_stats.3 b/doc/man/man3/ecore_hash_dump_stats.3
new file mode 100644
index 0000000..6d72477
--- /dev/null
+++ b/doc/man/man3/ecore_hash_dump_stats.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data.h.3
diff --git a/doc/man/man3/ecore_hash_find.3 b/doc/man/man3/ecore_hash_find.3
new file mode 100644
index 0000000..28f1e71
--- /dev/null
+++ b/doc/man/man3/ecore_hash_find.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data_Hash_ADT_Data_Group.3
diff --git a/doc/man/man3/ecore_hash_for_each_node.3 b/doc/man/man3/ecore_hash_for_each_node.3
new file mode 100644
index 0000000..56742bf
--- /dev/null
+++ b/doc/man/man3/ecore_hash_for_each_node.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data_Hash_ADT_Traverse_Group.3
diff --git a/doc/man/man3/ecore_hash_free_key_cb_set.3 b/doc/man/man3/ecore_hash_free_key_cb_set.3
new file mode 100644
index 0000000..1db2fca
--- /dev/null
+++ b/doc/man/man3/ecore_hash_free_key_cb_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data_Hash_ADT_Destruction_Group.3
diff --git a/doc/man/man3/ecore_hash_free_value_cb_set.3 b/doc/man/man3/ecore_hash_free_value_cb_set.3
new file mode 100644
index 0000000..1db2fca
--- /dev/null
+++ b/doc/man/man3/ecore_hash_free_value_cb_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data_Hash_ADT_Destruction_Group.3
diff --git a/doc/man/man3/ecore_hash_get.3 b/doc/man/man3/ecore_hash_get.3
new file mode 100644
index 0000000..28f1e71
--- /dev/null
+++ b/doc/man/man3/ecore_hash_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data_Hash_ADT_Data_Group.3
diff --git a/doc/man/man3/ecore_hash_hash_set.3 b/doc/man/man3/ecore_hash_hash_set.3
new file mode 100644
index 0000000..28f1e71
--- /dev/null
+++ b/doc/man/man3/ecore_hash_hash_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data_Hash_ADT_Data_Group.3
diff --git a/doc/man/man3/ecore_hash_init.3 b/doc/man/man3/ecore_hash_init.3
new file mode 100644
index 0000000..f26925c
--- /dev/null
+++ b/doc/man/man3/ecore_hash_init.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data_Hash_ADT_Creation_Group.3
diff --git a/doc/man/man3/ecore_hash_keys.3 b/doc/man/man3/ecore_hash_keys.3
new file mode 100644
index 0000000..56742bf
--- /dev/null
+++ b/doc/man/man3/ecore_hash_keys.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data_Hash_ADT_Traverse_Group.3
diff --git a/doc/man/man3/ecore_hash_new.3 b/doc/man/man3/ecore_hash_new.3
new file mode 100644
index 0000000..f26925c
--- /dev/null
+++ b/doc/man/man3/ecore_hash_new.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data_Hash_ADT_Creation_Group.3
diff --git a/doc/man/man3/ecore_hash_remove.3 b/doc/man/man3/ecore_hash_remove.3
new file mode 100644
index 0000000..28f1e71
--- /dev/null
+++ b/doc/man/man3/ecore_hash_remove.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data_Hash_ADT_Data_Group.3
diff --git a/doc/man/man3/ecore_hash_set.3 b/doc/man/man3/ecore_hash_set.3
new file mode 100644
index 0000000..28f1e71
--- /dev/null
+++ b/doc/man/man3/ecore_hash_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data_Hash_ADT_Data_Group.3
diff --git a/doc/man/man3/ecore_idle_enterer_add.3 b/doc/man/man3/ecore_idle_enterer_add.3
new file mode 100644
index 0000000..97d2a01
--- /dev/null
+++ b/doc/man/man3/ecore_idle_enterer_add.3
@@ -0,0 +1 @@
+.so man3/Idle_Group.3
diff --git a/doc/man/man3/ecore_idle_enterer_del.3 b/doc/man/man3/ecore_idle_enterer_del.3
new file mode 100644
index 0000000..97d2a01
--- /dev/null
+++ b/doc/man/man3/ecore_idle_enterer_del.3
@@ -0,0 +1 @@
+.so man3/Idle_Group.3
diff --git a/doc/man/man3/ecore_idle_exiter_add.3 b/doc/man/man3/ecore_idle_exiter_add.3
new file mode 100644
index 0000000..97d2a01
--- /dev/null
+++ b/doc/man/man3/ecore_idle_exiter_add.3
@@ -0,0 +1 @@
+.so man3/Idle_Group.3
diff --git a/doc/man/man3/ecore_idle_exiter_del.3 b/doc/man/man3/ecore_idle_exiter_del.3
new file mode 100644
index 0000000..97d2a01
--- /dev/null
+++ b/doc/man/man3/ecore_idle_exiter_del.3
@@ -0,0 +1 @@
+.so man3/Idle_Group.3
diff --git a/doc/man/man3/ecore_idler_add.3 b/doc/man/man3/ecore_idler_add.3
new file mode 100644
index 0000000..97d2a01
--- /dev/null
+++ b/doc/man/man3/ecore_idler_add.3
@@ -0,0 +1 @@
+.so man3/Idle_Group.3
diff --git a/doc/man/man3/ecore_idler_del.3 b/doc/man/man3/ecore_idler_del.3
new file mode 100644
index 0000000..97d2a01
--- /dev/null
+++ b/doc/man/man3/ecore_idler_del.3
@@ -0,0 +1 @@
+.so man3/Idle_Group.3
diff --git a/doc/man/man3/ecore_init.3 b/doc/man/man3/ecore_init.3
new file mode 100644
index 0000000..e26b883
--- /dev/null
+++ b/doc/man/man3/ecore_init.3
@@ -0,0 +1 @@
+.so man3/Ecore.h.3
diff --git a/doc/man/man3/ecore_ipc_client_data_get.3 b/doc/man/man3/ecore_ipc_client_data_get.3
new file mode 100644
index 0000000..6fc734c
--- /dev/null
+++ b/doc/man/man3/ecore_ipc_client_data_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_IPC_Client_Group.3
diff --git a/doc/man/man3/ecore_ipc_client_data_set.3 b/doc/man/man3/ecore_ipc_client_data_set.3
new file mode 100644
index 0000000..6fc734c
--- /dev/null
+++ b/doc/man/man3/ecore_ipc_client_data_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_IPC_Client_Group.3
diff --git a/doc/man/man3/ecore_ipc_client_data_size_max_get.3 b/doc/man/man3/ecore_ipc_client_data_size_max_get.3
new file mode 100644
index 0000000..00e6f24
--- /dev/null
+++ b/doc/man/man3/ecore_ipc_client_data_size_max_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_Ipc.h.3
diff --git a/doc/man/man3/ecore_ipc_client_data_size_max_set.3 b/doc/man/man3/ecore_ipc_client_data_size_max_set.3
new file mode 100644
index 0000000..00e6f24
--- /dev/null
+++ b/doc/man/man3/ecore_ipc_client_data_size_max_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_Ipc.h.3
diff --git a/doc/man/man3/ecore_ipc_client_del.3 b/doc/man/man3/ecore_ipc_client_del.3
new file mode 100644
index 0000000..6fc734c
--- /dev/null
+++ b/doc/man/man3/ecore_ipc_client_del.3
@@ -0,0 +1 @@
+.so man3/Ecore_IPC_Client_Group.3
diff --git a/doc/man/man3/ecore_ipc_client_flush.3 b/doc/man/man3/ecore_ipc_client_flush.3
new file mode 100644
index 0000000..00e6f24
--- /dev/null
+++ b/doc/man/man3/ecore_ipc_client_flush.3
@@ -0,0 +1 @@
+.so man3/Ecore_Ipc.h.3
diff --git a/doc/man/man3/ecore_ipc_client_ip_get.3 b/doc/man/man3/ecore_ipc_client_ip_get.3
new file mode 100644
index 0000000..00e6f24
--- /dev/null
+++ b/doc/man/man3/ecore_ipc_client_ip_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_Ipc.h.3
diff --git a/doc/man/man3/ecore_ipc_client_send.3 b/doc/man/man3/ecore_ipc_client_send.3
new file mode 100644
index 0000000..6fc734c
--- /dev/null
+++ b/doc/man/man3/ecore_ipc_client_send.3
@@ -0,0 +1 @@
+.so man3/Ecore_IPC_Client_Group.3
diff --git a/doc/man/man3/ecore_ipc_client_server_get.3 b/doc/man/man3/ecore_ipc_client_server_get.3
new file mode 100644
index 0000000..6fc734c
--- /dev/null
+++ b/doc/man/man3/ecore_ipc_client_server_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_IPC_Client_Group.3
diff --git a/doc/man/man3/ecore_ipc_init.3 b/doc/man/man3/ecore_ipc_init.3
new file mode 100644
index 0000000..a2f807b
--- /dev/null
+++ b/doc/man/man3/ecore_ipc_init.3
@@ -0,0 +1 @@
+.so man3/Ecore_IPC_Library_Group.3
diff --git a/doc/man/man3/ecore_ipc_server_add.3 b/doc/man/man3/ecore_ipc_server_add.3
new file mode 100644
index 0000000..1bb8cfb
--- /dev/null
+++ b/doc/man/man3/ecore_ipc_server_add.3
@@ -0,0 +1 @@
+.so man3/Ecore_IPC_Server_Group.3
diff --git a/doc/man/man3/ecore_ipc_server_client_limit_set.3 b/doc/man/man3/ecore_ipc_server_client_limit_set.3
new file mode 100644
index 0000000..00e6f24
--- /dev/null
+++ b/doc/man/man3/ecore_ipc_server_client_limit_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_Ipc.h.3
diff --git a/doc/man/man3/ecore_ipc_server_clients_get.3 b/doc/man/man3/ecore_ipc_server_clients_get.3
new file mode 100644
index 0000000..1bb8cfb
--- /dev/null
+++ b/doc/man/man3/ecore_ipc_server_clients_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_IPC_Server_Group.3
diff --git a/doc/man/man3/ecore_ipc_server_connect.3 b/doc/man/man3/ecore_ipc_server_connect.3
new file mode 100644
index 0000000..1bb8cfb
--- /dev/null
+++ b/doc/man/man3/ecore_ipc_server_connect.3
@@ -0,0 +1 @@
+.so man3/Ecore_IPC_Server_Group.3
diff --git a/doc/man/man3/ecore_ipc_server_connected_get.3 b/doc/man/man3/ecore_ipc_server_connected_get.3
new file mode 100644
index 0000000..1bb8cfb
--- /dev/null
+++ b/doc/man/man3/ecore_ipc_server_connected_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_IPC_Server_Group.3
diff --git a/doc/man/man3/ecore_ipc_server_data_get.3 b/doc/man/man3/ecore_ipc_server_data_get.3
new file mode 100644
index 0000000..1bb8cfb
--- /dev/null
+++ b/doc/man/man3/ecore_ipc_server_data_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_IPC_Server_Group.3
diff --git a/doc/man/man3/ecore_ipc_server_data_size_max_get.3 b/doc/man/man3/ecore_ipc_server_data_size_max_get.3
new file mode 100644
index 0000000..00e6f24
--- /dev/null
+++ b/doc/man/man3/ecore_ipc_server_data_size_max_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_Ipc.h.3
diff --git a/doc/man/man3/ecore_ipc_server_data_size_max_set.3 b/doc/man/man3/ecore_ipc_server_data_size_max_set.3
new file mode 100644
index 0000000..00e6f24
--- /dev/null
+++ b/doc/man/man3/ecore_ipc_server_data_size_max_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_Ipc.h.3
diff --git a/doc/man/man3/ecore_ipc_server_del.3 b/doc/man/man3/ecore_ipc_server_del.3
new file mode 100644
index 0000000..1bb8cfb
--- /dev/null
+++ b/doc/man/man3/ecore_ipc_server_del.3
@@ -0,0 +1 @@
+.so man3/Ecore_IPC_Server_Group.3
diff --git a/doc/man/man3/ecore_ipc_server_flush.3 b/doc/man/man3/ecore_ipc_server_flush.3
new file mode 100644
index 0000000..00e6f24
--- /dev/null
+++ b/doc/man/man3/ecore_ipc_server_flush.3
@@ -0,0 +1 @@
+.so man3/Ecore_Ipc.h.3
diff --git a/doc/man/man3/ecore_ipc_server_ip_get.3 b/doc/man/man3/ecore_ipc_server_ip_get.3
new file mode 100644
index 0000000..00e6f24
--- /dev/null
+++ b/doc/man/man3/ecore_ipc_server_ip_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_Ipc.h.3
diff --git a/doc/man/man3/ecore_ipc_server_send.3 b/doc/man/man3/ecore_ipc_server_send.3
new file mode 100644
index 0000000..1bb8cfb
--- /dev/null
+++ b/doc/man/man3/ecore_ipc_server_send.3
@@ -0,0 +1 @@
+.so man3/Ecore_IPC_Server_Group.3
diff --git a/doc/man/man3/ecore_ipc_shutdown.3 b/doc/man/man3/ecore_ipc_shutdown.3
new file mode 100644
index 0000000..a2f807b
--- /dev/null
+++ b/doc/man/man3/ecore_ipc_shutdown.3
@@ -0,0 +1 @@
+.so man3/Ecore_IPC_Library_Group.3
diff --git a/doc/man/man3/ecore_ipc_ssl_available_get.3 b/doc/man/man3/ecore_ipc_ssl_available_get.3
new file mode 100644
index 0000000..b10fb6b
--- /dev/null
+++ b/doc/man/man3/ecore_ipc_ssl_available_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_Con_Client_Group.3
diff --git a/doc/man/man3/ecore_job_add.3 b/doc/man/man3/ecore_job_add.3
new file mode 100644
index 0000000..e0e901c
--- /dev/null
+++ b/doc/man/man3/ecore_job_add.3
@@ -0,0 +1 @@
+.so man3/Ecore_Job_Group.3
diff --git a/doc/man/man3/ecore_job_del.3 b/doc/man/man3/ecore_job_del.3
new file mode 100644
index 0000000..e0e901c
--- /dev/null
+++ b/doc/man/man3/ecore_job_del.3
@@ -0,0 +1 @@
+.so man3/Ecore_Job_Group.3
diff --git a/doc/man/man3/ecore_list_append.3 b/doc/man/man3/ecore_list_append.3
new file mode 100644
index 0000000..ca3caa4
--- /dev/null
+++ b/doc/man/man3/ecore_list_append.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data_List_Add_Item_Group.3
diff --git a/doc/man/man3/ecore_list_append_list.3 b/doc/man/man3/ecore_list_append_list.3
new file mode 100644
index 0000000..ca3caa4
--- /dev/null
+++ b/doc/man/man3/ecore_list_append_list.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data_List_Add_Item_Group.3
diff --git a/doc/man/man3/ecore_list_clear.3 b/doc/man/man3/ecore_list_clear.3
new file mode 100644
index 0000000..6d72477
--- /dev/null
+++ b/doc/man/man3/ecore_list_clear.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data.h.3
diff --git a/doc/man/man3/ecore_list_count.3 b/doc/man/man3/ecore_list_count.3
new file mode 100644
index 0000000..6d72477
--- /dev/null
+++ b/doc/man/man3/ecore_list_count.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data.h.3
diff --git a/doc/man/man3/ecore_list_current.3 b/doc/man/man3/ecore_list_current.3
new file mode 100644
index 0000000..6d72477
--- /dev/null
+++ b/doc/man/man3/ecore_list_current.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data.h.3
diff --git a/doc/man/man3/ecore_list_destroy.3 b/doc/man/man3/ecore_list_destroy.3
new file mode 100644
index 0000000..e5d3c8f
--- /dev/null
+++ b/doc/man/man3/ecore_list_destroy.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data_List_Creation_Group.3
diff --git a/doc/man/man3/ecore_list_empty_is.3 b/doc/man/man3/ecore_list_empty_is.3
new file mode 100644
index 0000000..6d72477
--- /dev/null
+++ b/doc/man/man3/ecore_list_empty_is.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data.h.3
diff --git a/doc/man/man3/ecore_list_find.3 b/doc/man/man3/ecore_list_find.3
new file mode 100644
index 0000000..6d72477
--- /dev/null
+++ b/doc/man/man3/ecore_list_find.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data.h.3
diff --git a/doc/man/man3/ecore_list_first.3 b/doc/man/man3/ecore_list_first.3
new file mode 100644
index 0000000..6d72477
--- /dev/null
+++ b/doc/man/man3/ecore_list_first.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data.h.3
diff --git a/doc/man/man3/ecore_list_first_goto.3 b/doc/man/man3/ecore_list_first_goto.3
new file mode 100644
index 0000000..fd27cfe
--- /dev/null
+++ b/doc/man/man3/ecore_list_first_goto.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data_List_Traverse_Group.3
diff --git a/doc/man/man3/ecore_list_first_remove.3 b/doc/man/man3/ecore_list_first_remove.3
new file mode 100644
index 0000000..d0968e9
--- /dev/null
+++ b/doc/man/man3/ecore_list_first_remove.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data_List_Remove_Item_Group.3
diff --git a/doc/man/man3/ecore_list_for_each.3 b/doc/man/man3/ecore_list_for_each.3
new file mode 100644
index 0000000..fd27cfe
--- /dev/null
+++ b/doc/man/man3/ecore_list_for_each.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data_List_Traverse_Group.3
diff --git a/doc/man/man3/ecore_list_free_cb_set.3 b/doc/man/man3/ecore_list_free_cb_set.3
new file mode 100644
index 0000000..6d72477
--- /dev/null
+++ b/doc/man/man3/ecore_list_free_cb_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data.h.3
diff --git a/doc/man/man3/ecore_list_goto.3 b/doc/man/man3/ecore_list_goto.3
new file mode 100644
index 0000000..fd27cfe
--- /dev/null
+++ b/doc/man/man3/ecore_list_goto.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data_List_Traverse_Group.3
diff --git a/doc/man/man3/ecore_list_heapsort.3 b/doc/man/man3/ecore_list_heapsort.3
new file mode 100644
index 0000000..6d72477
--- /dev/null
+++ b/doc/man/man3/ecore_list_heapsort.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data.h.3
diff --git a/doc/man/man3/ecore_list_index.3 b/doc/man/man3/ecore_list_index.3
new file mode 100644
index 0000000..6d72477
--- /dev/null
+++ b/doc/man/man3/ecore_list_index.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data.h.3
diff --git a/doc/man/man3/ecore_list_index_goto.3 b/doc/man/man3/ecore_list_index_goto.3
new file mode 100644
index 0000000..fd27cfe
--- /dev/null
+++ b/doc/man/man3/ecore_list_index_goto.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data_List_Traverse_Group.3
diff --git a/doc/man/man3/ecore_list_init.3 b/doc/man/man3/ecore_list_init.3
new file mode 100644
index 0000000..e5d3c8f
--- /dev/null
+++ b/doc/man/man3/ecore_list_init.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data_List_Creation_Group.3
diff --git a/doc/man/man3/ecore_list_insert.3 b/doc/man/man3/ecore_list_insert.3
new file mode 100644
index 0000000..ca3caa4
--- /dev/null
+++ b/doc/man/man3/ecore_list_insert.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data_List_Add_Item_Group.3
diff --git a/doc/man/man3/ecore_list_last.3 b/doc/man/man3/ecore_list_last.3
new file mode 100644
index 0000000..6d72477
--- /dev/null
+++ b/doc/man/man3/ecore_list_last.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data.h.3
diff --git a/doc/man/man3/ecore_list_last_goto.3 b/doc/man/man3/ecore_list_last_goto.3
new file mode 100644
index 0000000..fd27cfe
--- /dev/null
+++ b/doc/man/man3/ecore_list_last_goto.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data_List_Traverse_Group.3
diff --git a/doc/man/man3/ecore_list_last_remove.3 b/doc/man/man3/ecore_list_last_remove.3
new file mode 100644
index 0000000..d0968e9
--- /dev/null
+++ b/doc/man/man3/ecore_list_last_remove.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data_List_Remove_Item_Group.3
diff --git a/doc/man/man3/ecore_list_mergesort.3 b/doc/man/man3/ecore_list_mergesort.3
new file mode 100644
index 0000000..6d72477
--- /dev/null
+++ b/doc/man/man3/ecore_list_mergesort.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data.h.3
diff --git a/doc/man/man3/ecore_list_new.3 b/doc/man/man3/ecore_list_new.3
new file mode 100644
index 0000000..e5d3c8f
--- /dev/null
+++ b/doc/man/man3/ecore_list_new.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data_List_Creation_Group.3
diff --git a/doc/man/man3/ecore_list_next.3 b/doc/man/man3/ecore_list_next.3
new file mode 100644
index 0000000..6d72477
--- /dev/null
+++ b/doc/man/man3/ecore_list_next.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data.h.3
diff --git a/doc/man/man3/ecore_list_node_destroy.3 b/doc/man/man3/ecore_list_node_destroy.3
new file mode 100644
index 0000000..9302f38
--- /dev/null
+++ b/doc/man/man3/ecore_list_node_destroy.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data_List_Node_Group.3
diff --git a/doc/man/man3/ecore_list_node_new.3 b/doc/man/man3/ecore_list_node_new.3
new file mode 100644
index 0000000..9302f38
--- /dev/null
+++ b/doc/man/man3/ecore_list_node_new.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data_List_Node_Group.3
diff --git a/doc/man/man3/ecore_list_prepend.3 b/doc/man/man3/ecore_list_prepend.3
new file mode 100644
index 0000000..ca3caa4
--- /dev/null
+++ b/doc/man/man3/ecore_list_prepend.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data_List_Add_Item_Group.3
diff --git a/doc/man/man3/ecore_list_prepend_list.3 b/doc/man/man3/ecore_list_prepend_list.3
new file mode 100644
index 0000000..ca3caa4
--- /dev/null
+++ b/doc/man/man3/ecore_list_prepend_list.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data_List_Add_Item_Group.3
diff --git a/doc/man/man3/ecore_list_remove.3 b/doc/man/man3/ecore_list_remove.3
new file mode 100644
index 0000000..d0968e9
--- /dev/null
+++ b/doc/man/man3/ecore_list_remove.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data_List_Remove_Item_Group.3
diff --git a/doc/man/man3/ecore_list_remove_destroy.3 b/doc/man/man3/ecore_list_remove_destroy.3
new file mode 100644
index 0000000..d0968e9
--- /dev/null
+++ b/doc/man/man3/ecore_list_remove_destroy.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data_List_Remove_Item_Group.3
diff --git a/doc/man/man3/ecore_list_sort.3 b/doc/man/man3/ecore_list_sort.3
new file mode 100644
index 0000000..6d72477
--- /dev/null
+++ b/doc/man/man3/ecore_list_sort.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data.h.3
diff --git a/doc/man/man3/ecore_main_fd_handler_active_get.3 b/doc/man/man3/ecore_main_fd_handler_active_get.3
new file mode 100644
index 0000000..057004c
--- /dev/null
+++ b/doc/man/man3/ecore_main_fd_handler_active_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_FD_Handler_Group.3
diff --git a/doc/man/man3/ecore_main_fd_handler_active_set.3 b/doc/man/man3/ecore_main_fd_handler_active_set.3
new file mode 100644
index 0000000..057004c
--- /dev/null
+++ b/doc/man/man3/ecore_main_fd_handler_active_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_FD_Handler_Group.3
diff --git a/doc/man/man3/ecore_main_fd_handler_add.3 b/doc/man/man3/ecore_main_fd_handler_add.3
new file mode 100644
index 0000000..057004c
--- /dev/null
+++ b/doc/man/man3/ecore_main_fd_handler_add.3
@@ -0,0 +1 @@
+.so man3/Ecore_FD_Handler_Group.3
diff --git a/doc/man/man3/ecore_main_fd_handler_del.3 b/doc/man/man3/ecore_main_fd_handler_del.3
new file mode 100644
index 0000000..057004c
--- /dev/null
+++ b/doc/man/man3/ecore_main_fd_handler_del.3
@@ -0,0 +1 @@
+.so man3/Ecore_FD_Handler_Group.3
diff --git a/doc/man/man3/ecore_main_fd_handler_fd_get.3 b/doc/man/man3/ecore_main_fd_handler_fd_get.3
new file mode 100644
index 0000000..057004c
--- /dev/null
+++ b/doc/man/man3/ecore_main_fd_handler_fd_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_FD_Handler_Group.3
diff --git a/doc/man/man3/ecore_main_loop_begin.3 b/doc/man/man3/ecore_main_loop_begin.3
new file mode 100644
index 0000000..8c0f06a
--- /dev/null
+++ b/doc/man/man3/ecore_main_loop_begin.3
@@ -0,0 +1 @@
+.so man3/Ecore_Main_Loop_Group.3
diff --git a/doc/man/man3/ecore_main_loop_iterate.3 b/doc/man/man3/ecore_main_loop_iterate.3
new file mode 100644
index 0000000..e26b883
--- /dev/null
+++ b/doc/man/man3/ecore_main_loop_iterate.3
@@ -0,0 +1 @@
+.so man3/Ecore.h.3
diff --git a/doc/man/man3/ecore_main_loop_quit.3 b/doc/man/man3/ecore_main_loop_quit.3
new file mode 100644
index 0000000..e26b883
--- /dev/null
+++ b/doc/man/man3/ecore_main_loop_quit.3
@@ -0,0 +1 @@
+.so man3/Ecore.h.3
diff --git a/doc/man/man3/ecore_path_group_add.3 b/doc/man/man3/ecore_path_group_add.3
new file mode 100644
index 0000000..d558e7d
--- /dev/null
+++ b/doc/man/man3/ecore_path_group_add.3
@@ -0,0 +1 @@
+.so man3/Ecore_Path_Group.3
diff --git a/doc/man/man3/ecore_path_group_available.3 b/doc/man/man3/ecore_path_group_available.3
new file mode 100644
index 0000000..d558e7d
--- /dev/null
+++ b/doc/man/man3/ecore_path_group_available.3
@@ -0,0 +1 @@
+.so man3/Ecore_Path_Group.3
diff --git a/doc/man/man3/ecore_path_group_del.3 b/doc/man/man3/ecore_path_group_del.3
new file mode 100644
index 0000000..d558e7d
--- /dev/null
+++ b/doc/man/man3/ecore_path_group_del.3
@@ -0,0 +1 @@
+.so man3/Ecore_Path_Group.3
diff --git a/doc/man/man3/ecore_path_group_find.3 b/doc/man/man3/ecore_path_group_find.3
new file mode 100644
index 0000000..d558e7d
--- /dev/null
+++ b/doc/man/man3/ecore_path_group_find.3
@@ -0,0 +1 @@
+.so man3/Ecore_Path_Group.3
diff --git a/doc/man/man3/ecore_path_group_new.3 b/doc/man/man3/ecore_path_group_new.3
new file mode 100644
index 0000000..d558e7d
--- /dev/null
+++ b/doc/man/man3/ecore_path_group_new.3
@@ -0,0 +1 @@
+.so man3/Ecore_Path_Group.3
diff --git a/doc/man/man3/ecore_path_group_remove.3 b/doc/man/man3/ecore_path_group_remove.3
new file mode 100644
index 0000000..d558e7d
--- /dev/null
+++ b/doc/man/man3/ecore_path_group_remove.3
@@ -0,0 +1 @@
+.so man3/Ecore_Path_Group.3
diff --git a/doc/man/man3/ecore_plugin_load.3 b/doc/man/man3/ecore_plugin_load.3
new file mode 100644
index 0000000..85bd143
--- /dev/null
+++ b/doc/man/man3/ecore_plugin_load.3
@@ -0,0 +1 @@
+.so man3/Ecore_Plugin.3
diff --git a/doc/man/man3/ecore_plugin_unload.3 b/doc/man/man3/ecore_plugin_unload.3
new file mode 100644
index 0000000..85bd143
--- /dev/null
+++ b/doc/man/man3/ecore_plugin_unload.3
@@ -0,0 +1 @@
+.so man3/Ecore_Plugin.3
diff --git a/doc/man/man3/ecore_sdl_shutdown.3 b/doc/man/man3/ecore_sdl_shutdown.3
new file mode 100644
index 0000000..13fb152
--- /dev/null
+++ b/doc/man/man3/ecore_sdl_shutdown.3
@@ -0,0 +1 @@
+.so man3/Ecore_Sdl.h.3
diff --git a/doc/man/man3/ecore_sheap_change.3 b/doc/man/man3/ecore_sheap_change.3
new file mode 100644
index 0000000..6d72477
--- /dev/null
+++ b/doc/man/man3/ecore_sheap_change.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data.h.3
diff --git a/doc/man/man3/ecore_sheap_compare_set.3 b/doc/man/man3/ecore_sheap_compare_set.3
new file mode 100644
index 0000000..6d72477
--- /dev/null
+++ b/doc/man/man3/ecore_sheap_compare_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data.h.3
diff --git a/doc/man/man3/ecore_sheap_destroy.3 b/doc/man/man3/ecore_sheap_destroy.3
new file mode 100644
index 0000000..6d72477
--- /dev/null
+++ b/doc/man/man3/ecore_sheap_destroy.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data.h.3
diff --git a/doc/man/man3/ecore_sheap_extract.3 b/doc/man/man3/ecore_sheap_extract.3
new file mode 100644
index 0000000..6d72477
--- /dev/null
+++ b/doc/man/man3/ecore_sheap_extract.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data.h.3
diff --git a/doc/man/man3/ecore_sheap_extreme.3 b/doc/man/man3/ecore_sheap_extreme.3
new file mode 100644
index 0000000..6d72477
--- /dev/null
+++ b/doc/man/man3/ecore_sheap_extreme.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data.h.3
diff --git a/doc/man/man3/ecore_sheap_free_cb_set.3 b/doc/man/man3/ecore_sheap_free_cb_set.3
new file mode 100644
index 0000000..6d72477
--- /dev/null
+++ b/doc/man/man3/ecore_sheap_free_cb_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data.h.3
diff --git a/doc/man/man3/ecore_sheap_init.3 b/doc/man/man3/ecore_sheap_init.3
new file mode 100644
index 0000000..6d72477
--- /dev/null
+++ b/doc/man/man3/ecore_sheap_init.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data.h.3
diff --git a/doc/man/man3/ecore_sheap_insert.3 b/doc/man/man3/ecore_sheap_insert.3
new file mode 100644
index 0000000..6d72477
--- /dev/null
+++ b/doc/man/man3/ecore_sheap_insert.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data.h.3
diff --git a/doc/man/man3/ecore_sheap_new.3 b/doc/man/man3/ecore_sheap_new.3
new file mode 100644
index 0000000..6d72477
--- /dev/null
+++ b/doc/man/man3/ecore_sheap_new.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data.h.3
diff --git a/doc/man/man3/ecore_sheap_order_set.3 b/doc/man/man3/ecore_sheap_order_set.3
new file mode 100644
index 0000000..6d72477
--- /dev/null
+++ b/doc/man/man3/ecore_sheap_order_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data.h.3
diff --git a/doc/man/man3/ecore_sheap_sort.3 b/doc/man/man3/ecore_sheap_sort.3
new file mode 100644
index 0000000..6d72477
--- /dev/null
+++ b/doc/man/man3/ecore_sheap_sort.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data.h.3
diff --git a/doc/man/man3/ecore_shutdown.3 b/doc/man/man3/ecore_shutdown.3
new file mode 100644
index 0000000..e26b883
--- /dev/null
+++ b/doc/man/man3/ecore_shutdown.3
@@ -0,0 +1 @@
+.so man3/Ecore.h.3
diff --git a/doc/man/man3/ecore_str_compare.3 b/doc/man/man3/ecore_str_compare.3
new file mode 100644
index 0000000..6d72477
--- /dev/null
+++ b/doc/man/man3/ecore_str_compare.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data.h.3
diff --git a/doc/man/man3/ecore_str_has_prefix.3 b/doc/man/man3/ecore_str_has_prefix.3
new file mode 100644
index 0000000..63f47f5
--- /dev/null
+++ b/doc/man/man3/ecore_str_has_prefix.3
@@ -0,0 +1 @@
+.so man3/Ecore_Str.h.3
diff --git a/doc/man/man3/ecore_str_has_suffix.3 b/doc/man/man3/ecore_str_has_suffix.3
new file mode 100644
index 0000000..63f47f5
--- /dev/null
+++ b/doc/man/man3/ecore_str_has_suffix.3
@@ -0,0 +1 @@
+.so man3/Ecore_Str.h.3
diff --git a/doc/man/man3/ecore_str_hash.3 b/doc/man/man3/ecore_str_hash.3
new file mode 100644
index 0000000..6d72477
--- /dev/null
+++ b/doc/man/man3/ecore_str_hash.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data.h.3
diff --git a/doc/man/man3/ecore_str_split.3 b/doc/man/man3/ecore_str_split.3
new file mode 100644
index 0000000..63f47f5
--- /dev/null
+++ b/doc/man/man3/ecore_str_split.3
@@ -0,0 +1 @@
+.so man3/Ecore_Str.h.3
diff --git a/doc/man/man3/ecore_strbuf_append.3 b/doc/man/man3/ecore_strbuf_append.3
new file mode 100644
index 0000000..6d72477
--- /dev/null
+++ b/doc/man/man3/ecore_strbuf_append.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data.h.3
diff --git a/doc/man/man3/ecore_strbuf_append_char.3 b/doc/man/man3/ecore_strbuf_append_char.3
new file mode 100644
index 0000000..6d72477
--- /dev/null
+++ b/doc/man/man3/ecore_strbuf_append_char.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data.h.3
diff --git a/doc/man/man3/ecore_strbuf_free.3 b/doc/man/man3/ecore_strbuf_free.3
new file mode 100644
index 0000000..6d72477
--- /dev/null
+++ b/doc/man/man3/ecore_strbuf_free.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data.h.3
diff --git a/doc/man/man3/ecore_strbuf_insert.3 b/doc/man/man3/ecore_strbuf_insert.3
new file mode 100644
index 0000000..6d72477
--- /dev/null
+++ b/doc/man/man3/ecore_strbuf_insert.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data.h.3
diff --git a/doc/man/man3/ecore_strbuf_length_get.3 b/doc/man/man3/ecore_strbuf_length_get.3
new file mode 100644
index 0000000..6d72477
--- /dev/null
+++ b/doc/man/man3/ecore_strbuf_length_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data.h.3
diff --git a/doc/man/man3/ecore_strbuf_new.3 b/doc/man/man3/ecore_strbuf_new.3
new file mode 100644
index 0000000..6d72477
--- /dev/null
+++ b/doc/man/man3/ecore_strbuf_new.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data.h.3
diff --git a/doc/man/man3/ecore_strbuf_replace.3 b/doc/man/man3/ecore_strbuf_replace.3
new file mode 100644
index 0000000..6d72477
--- /dev/null
+++ b/doc/man/man3/ecore_strbuf_replace.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data.h.3
diff --git a/doc/man/man3/ecore_strbuf_replace_all.3 b/doc/man/man3/ecore_strbuf_replace_all.3
new file mode 100644
index 0000000..6d72477
--- /dev/null
+++ b/doc/man/man3/ecore_strbuf_replace_all.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data.h.3
diff --git a/doc/man/man3/ecore_strbuf_string_get.3 b/doc/man/man3/ecore_strbuf_string_get.3
new file mode 100644
index 0000000..6d72477
--- /dev/null
+++ b/doc/man/man3/ecore_strbuf_string_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data.h.3
diff --git a/doc/man/man3/ecore_string_init.3 b/doc/man/man3/ecore_string_init.3
new file mode 100644
index 0000000..6d72477
--- /dev/null
+++ b/doc/man/man3/ecore_string_init.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data.h.3
diff --git a/doc/man/man3/ecore_string_instance.3 b/doc/man/man3/ecore_string_instance.3
new file mode 100644
index 0000000..0db1364
--- /dev/null
+++ b/doc/man/man3/ecore_string_instance.3
@@ -0,0 +1 @@
+.so man3/Ecore_String_Group.3
diff --git a/doc/man/man3/ecore_string_release.3 b/doc/man/man3/ecore_string_release.3
new file mode 100644
index 0000000..0db1364
--- /dev/null
+++ b/doc/man/man3/ecore_string_release.3
@@ -0,0 +1 @@
+.so man3/Ecore_String_Group.3
diff --git a/doc/man/man3/ecore_string_shutdown.3 b/doc/man/man3/ecore_string_shutdown.3
new file mode 100644
index 0000000..6d72477
--- /dev/null
+++ b/doc/man/man3/ecore_string_shutdown.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data.h.3
diff --git a/doc/man/man3/ecore_strlcat.3 b/doc/man/man3/ecore_strlcat.3
new file mode 100644
index 0000000..63f47f5
--- /dev/null
+++ b/doc/man/man3/ecore_strlcat.3
@@ -0,0 +1 @@
+.so man3/Ecore_Str.h.3
diff --git a/doc/man/man3/ecore_strlcpy.3 b/doc/man/man3/ecore_strlcpy.3
new file mode 100644
index 0000000..63f47f5
--- /dev/null
+++ b/doc/man/man3/ecore_strlcpy.3
@@ -0,0 +1 @@
+.so man3/Ecore_Str.h.3
diff --git a/doc/man/man3/ecore_time_get.3 b/doc/man/man3/ecore_time_get.3
new file mode 100644
index 0000000..83fd94c
--- /dev/null
+++ b/doc/man/man3/ecore_time_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_Time_Group.3
diff --git a/doc/man/man3/ecore_timer_add.3 b/doc/man/man3/ecore_timer_add.3
new file mode 100644
index 0000000..83fd94c
--- /dev/null
+++ b/doc/man/man3/ecore_timer_add.3
@@ -0,0 +1 @@
+.so man3/Ecore_Time_Group.3
diff --git a/doc/man/man3/ecore_timer_del.3 b/doc/man/man3/ecore_timer_del.3
new file mode 100644
index 0000000..83fd94c
--- /dev/null
+++ b/doc/man/man3/ecore_timer_del.3
@@ -0,0 +1 @@
+.so man3/Ecore_Time_Group.3
diff --git a/doc/man/man3/ecore_timer_interval_set.3 b/doc/man/man3/ecore_timer_interval_set.3
new file mode 100644
index 0000000..83fd94c
--- /dev/null
+++ b/doc/man/man3/ecore_timer_interval_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_Time_Group.3
diff --git a/doc/man/man3/ecore_tree_closest_larger_get.3 b/doc/man/man3/ecore_tree_closest_larger_get.3
new file mode 100644
index 0000000..6d72477
--- /dev/null
+++ b/doc/man/man3/ecore_tree_closest_larger_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data.h.3
diff --git a/doc/man/man3/ecore_tree_closest_smaller_get.3 b/doc/man/man3/ecore_tree_closest_smaller_get.3
new file mode 100644
index 0000000..6d72477
--- /dev/null
+++ b/doc/man/man3/ecore_tree_closest_smaller_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data.h.3
diff --git a/doc/man/man3/ecore_tree_destroy.3 b/doc/man/man3/ecore_tree_destroy.3
new file mode 100644
index 0000000..6d72477
--- /dev/null
+++ b/doc/man/man3/ecore_tree_destroy.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data.h.3
diff --git a/doc/man/man3/ecore_tree_empty_is.3 b/doc/man/man3/ecore_tree_empty_is.3
new file mode 100644
index 0000000..6d72477
--- /dev/null
+++ b/doc/man/man3/ecore_tree_empty_is.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data.h.3
diff --git a/doc/man/man3/ecore_tree_for_each_node.3 b/doc/man/man3/ecore_tree_for_each_node.3
new file mode 100644
index 0000000..6d72477
--- /dev/null
+++ b/doc/man/man3/ecore_tree_for_each_node.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data.h.3
diff --git a/doc/man/man3/ecore_tree_for_each_node_value.3 b/doc/man/man3/ecore_tree_for_each_node_value.3
new file mode 100644
index 0000000..6d72477
--- /dev/null
+++ b/doc/man/man3/ecore_tree_for_each_node_value.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data.h.3
diff --git a/doc/man/man3/ecore_tree_get.3 b/doc/man/man3/ecore_tree_get.3
new file mode 100644
index 0000000..6d72477
--- /dev/null
+++ b/doc/man/man3/ecore_tree_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data.h.3
diff --git a/doc/man/man3/ecore_tree_get_node.3 b/doc/man/man3/ecore_tree_get_node.3
new file mode 100644
index 0000000..6d72477
--- /dev/null
+++ b/doc/man/man3/ecore_tree_get_node.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data.h.3
diff --git a/doc/man/man3/ecore_tree_init.3 b/doc/man/man3/ecore_tree_init.3
new file mode 100644
index 0000000..6d72477
--- /dev/null
+++ b/doc/man/man3/ecore_tree_init.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data.h.3
diff --git a/doc/man/man3/ecore_tree_new.3 b/doc/man/man3/ecore_tree_new.3
new file mode 100644
index 0000000..6d72477
--- /dev/null
+++ b/doc/man/man3/ecore_tree_new.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data.h.3
diff --git a/doc/man/man3/ecore_tree_node_add.3 b/doc/man/man3/ecore_tree_node_add.3
new file mode 100644
index 0000000..6d72477
--- /dev/null
+++ b/doc/man/man3/ecore_tree_node_add.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data.h.3
diff --git a/doc/man/man3/ecore_tree_node_remove.3 b/doc/man/man3/ecore_tree_node_remove.3
new file mode 100644
index 0000000..6d72477
--- /dev/null
+++ b/doc/man/man3/ecore_tree_node_remove.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data.h.3
diff --git a/doc/man/man3/ecore_tree_remove.3 b/doc/man/man3/ecore_tree_remove.3
new file mode 100644
index 0000000..6d72477
--- /dev/null
+++ b/doc/man/man3/ecore_tree_remove.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data.h.3
diff --git a/doc/man/man3/ecore_tree_set.3 b/doc/man/man3/ecore_tree_set.3
new file mode 100644
index 0000000..6d72477
--- /dev/null
+++ b/doc/man/man3/ecore_tree_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_Data.h.3
diff --git a/doc/man/man3/ecore_txt_convert.3 b/doc/man/man3/ecore_txt_convert.3
new file mode 100644
index 0000000..c859f0c
--- /dev/null
+++ b/doc/man/man3/ecore_txt_convert.3
@@ -0,0 +1 @@
+.so man3/Ecore_Txt.h.3
diff --git a/doc/man/man3/ecore_x_atom_get.3 b/doc/man/man3/ecore_x_atom_get.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_atom_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_atom_get_fetch.3 b/doc/man/man3/ecore_x_atom_get_fetch.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_atom_get_fetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_atom_get_prefetch.3 b/doc/man/man3/ecore_x_atom_get_prefetch.3
new file mode 100644
index 0000000..e7246a3
--- /dev/null
+++ b/doc/man/man3/ecore_x_atom_get_prefetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_Atom_Group.3
diff --git a/doc/man/man3/ecore_x_client_message32_send.3 b/doc/man/man3/ecore_x_client_message32_send.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_client_message32_send.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_client_message8_send.3 b/doc/man/man3/ecore_x_client_message8_send.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_client_message8_send.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_connection_get.3 b/doc/man/man3/ecore_x_connection_get.3
new file mode 100644
index 0000000..8ddc10c
--- /dev/null
+++ b/doc/man/man3/ecore_x_connection_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_Xcb_Display_Attr_Group.3
diff --git a/doc/man/man3/ecore_x_current_time_get.3 b/doc/man/man3/ecore_x_current_time_get.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_current_time_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_damage_del.3 b/doc/man/man3/ecore_x_damage_del.3
new file mode 100644
index 0000000..4ea864e
--- /dev/null
+++ b/doc/man/man3/ecore_x_damage_del.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_Damage_Group.3
diff --git a/doc/man/man3/ecore_x_damage_new.3 b/doc/man/man3/ecore_x_damage_new.3
new file mode 100644
index 0000000..4ea864e
--- /dev/null
+++ b/doc/man/man3/ecore_x_damage_new.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_Damage_Group.3
diff --git a/doc/man/man3/ecore_x_damage_query.3 b/doc/man/man3/ecore_x_damage_query.3
new file mode 100644
index 0000000..4ea864e
--- /dev/null
+++ b/doc/man/man3/ecore_x_damage_query.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_Damage_Group.3
diff --git a/doc/man/man3/ecore_x_damage_subtract.3 b/doc/man/man3/ecore_x_damage_subtract.3
new file mode 100644
index 0000000..4ea864e
--- /dev/null
+++ b/doc/man/man3/ecore_x_damage_subtract.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_Damage_Group.3
diff --git a/doc/man/man3/ecore_x_default_screen_get.3 b/doc/man/man3/ecore_x_default_screen_get.3
new file mode 100644
index 0000000..8ddc10c
--- /dev/null
+++ b/doc/man/man3/ecore_x_default_screen_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_Xcb_Display_Attr_Group.3
diff --git a/doc/man/man3/ecore_x_disconnect.3 b/doc/man/man3/ecore_x_disconnect.3
new file mode 100644
index 0000000..f3fa3ae
--- /dev/null
+++ b/doc/man/man3/ecore_x_disconnect.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_Init_Group.3
diff --git a/doc/man/man3/ecore_x_display_get.3 b/doc/man/man3/ecore_x_display_get.3
new file mode 100644
index 0000000..574b6ab
--- /dev/null
+++ b/doc/man/man3/ecore_x_display_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_Display_Attr_Group.3
diff --git a/doc/man/man3/ecore_x_dnd_begin.3 b/doc/man/man3/ecore_x_dnd_begin.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_dnd_begin.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_dnd_begin_fetch.3 b/doc/man/man3/ecore_x_dnd_begin_fetch.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_dnd_begin_fetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_dnd_begin_prefetch.3 b/doc/man/man3/ecore_x_dnd_begin_prefetch.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_dnd_begin_prefetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_dnd_type_get_fetch.3 b/doc/man/man3/ecore_x_dnd_type_get_fetch.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_dnd_type_get_fetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_dnd_type_get_prefetch.3 b/doc/man/man3/ecore_x_dnd_type_get_prefetch.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_dnd_type_get_prefetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_dnd_type_isset.3 b/doc/man/man3/ecore_x_dnd_type_isset.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_dnd_type_isset.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_dnd_type_set.3 b/doc/man/man3/ecore_x_dnd_type_set.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_dnd_type_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_dnd_types_set.3 b/doc/man/man3/ecore_x_dnd_types_set.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_dnd_types_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_dnd_version_get.3 b/doc/man/man3/ecore_x_dnd_version_get.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_dnd_version_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_dnd_version_get_fetch.3 b/doc/man/man3/ecore_x_dnd_version_get_fetch.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_dnd_version_get_fetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_dnd_version_get_prefetch.3 b/doc/man/man3/ecore_x_dnd_version_get_prefetch.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_dnd_version_get_prefetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_double_click_time_get.3 b/doc/man/man3/ecore_x_double_click_time_get.3
new file mode 100644
index 0000000..574b6ab
--- /dev/null
+++ b/doc/man/man3/ecore_x_double_click_time_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_Display_Attr_Group.3
diff --git a/doc/man/man3/ecore_x_double_click_time_set.3 b/doc/man/man3/ecore_x_double_click_time_set.3
new file mode 100644
index 0000000..574b6ab
--- /dev/null
+++ b/doc/man/man3/ecore_x_double_click_time_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_Display_Attr_Group.3
diff --git a/doc/man/man3/ecore_x_dpms_capable_get.3 b/doc/man/man3/ecore_x_dpms_capable_get.3
new file mode 100644
index 0000000..0fd44bc
--- /dev/null
+++ b/doc/man/man3/ecore_x_dpms_capable_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_DPMS_Group.3
diff --git a/doc/man/man3/ecore_x_dpms_capable_get_fetch.3 b/doc/man/man3/ecore_x_dpms_capable_get_fetch.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_dpms_capable_get_fetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_dpms_capable_get_prefetch.3 b/doc/man/man3/ecore_x_dpms_capable_get_prefetch.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_dpms_capable_get_prefetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_dpms_enable_get.3 b/doc/man/man3/ecore_x_dpms_enable_get.3
new file mode 100644
index 0000000..0fd44bc
--- /dev/null
+++ b/doc/man/man3/ecore_x_dpms_enable_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_DPMS_Group.3
diff --git a/doc/man/man3/ecore_x_dpms_enable_get_fetch.3 b/doc/man/man3/ecore_x_dpms_enable_get_fetch.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_dpms_enable_get_fetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_dpms_enable_get_prefetch.3 b/doc/man/man3/ecore_x_dpms_enable_get_prefetch.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_dpms_enable_get_prefetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_dpms_enabled_get.3 b/doc/man/man3/ecore_x_dpms_enabled_get.3
new file mode 100644
index 0000000..0fd44bc
--- /dev/null
+++ b/doc/man/man3/ecore_x_dpms_enabled_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_DPMS_Group.3
diff --git a/doc/man/man3/ecore_x_dpms_enabled_set.3 b/doc/man/man3/ecore_x_dpms_enabled_set.3
new file mode 100644
index 0000000..0fd44bc
--- /dev/null
+++ b/doc/man/man3/ecore_x_dpms_enabled_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_DPMS_Group.3
diff --git a/doc/man/man3/ecore_x_dpms_query.3 b/doc/man/man3/ecore_x_dpms_query.3
new file mode 100644
index 0000000..0fd44bc
--- /dev/null
+++ b/doc/man/man3/ecore_x_dpms_query.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_DPMS_Group.3
diff --git a/doc/man/man3/ecore_x_dpms_timeout_off_get.3 b/doc/man/man3/ecore_x_dpms_timeout_off_get.3
new file mode 100644
index 0000000..0fd44bc
--- /dev/null
+++ b/doc/man/man3/ecore_x_dpms_timeout_off_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_DPMS_Group.3
diff --git a/doc/man/man3/ecore_x_dpms_timeout_off_set.3 b/doc/man/man3/ecore_x_dpms_timeout_off_set.3
new file mode 100644
index 0000000..0fd44bc
--- /dev/null
+++ b/doc/man/man3/ecore_x_dpms_timeout_off_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_DPMS_Group.3
diff --git a/doc/man/man3/ecore_x_dpms_timeout_standby_get.3 b/doc/man/man3/ecore_x_dpms_timeout_standby_get.3
new file mode 100644
index 0000000..0fd44bc
--- /dev/null
+++ b/doc/man/man3/ecore_x_dpms_timeout_standby_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_DPMS_Group.3
diff --git a/doc/man/man3/ecore_x_dpms_timeout_standby_set.3 b/doc/man/man3/ecore_x_dpms_timeout_standby_set.3
new file mode 100644
index 0000000..0fd44bc
--- /dev/null
+++ b/doc/man/man3/ecore_x_dpms_timeout_standby_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_DPMS_Group.3
diff --git a/doc/man/man3/ecore_x_dpms_timeout_suspend_get.3 b/doc/man/man3/ecore_x_dpms_timeout_suspend_get.3
new file mode 100644
index 0000000..0fd44bc
--- /dev/null
+++ b/doc/man/man3/ecore_x_dpms_timeout_suspend_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_DPMS_Group.3
diff --git a/doc/man/man3/ecore_x_dpms_timeout_suspend_set.3 b/doc/man/man3/ecore_x_dpms_timeout_suspend_set.3
new file mode 100644
index 0000000..0fd44bc
--- /dev/null
+++ b/doc/man/man3/ecore_x_dpms_timeout_suspend_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_DPMS_Group.3
diff --git a/doc/man/man3/ecore_x_dpms_timeouts_get.3 b/doc/man/man3/ecore_x_dpms_timeouts_get.3
new file mode 100644
index 0000000..0fd44bc
--- /dev/null
+++ b/doc/man/man3/ecore_x_dpms_timeouts_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_DPMS_Group.3
diff --git a/doc/man/man3/ecore_x_dpms_timeouts_get_fetch.3 b/doc/man/man3/ecore_x_dpms_timeouts_get_fetch.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_dpms_timeouts_get_fetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_dpms_timeouts_get_prefetch.3 b/doc/man/man3/ecore_x_dpms_timeouts_get_prefetch.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_dpms_timeouts_get_prefetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_dpms_timeouts_set.3 b/doc/man/man3/ecore_x_dpms_timeouts_set.3
new file mode 100644
index 0000000..0fd44bc
--- /dev/null
+++ b/doc/man/man3/ecore_x_dpms_timeouts_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_DPMS_Group.3
diff --git a/doc/man/man3/ecore_x_drawable_border_width_get.3 b/doc/man/man3/ecore_x_drawable_border_width_get.3
new file mode 100644
index 0000000..8f18833
--- /dev/null
+++ b/doc/man/man3/ecore_x_drawable_border_width_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_Drawable_Group.3
diff --git a/doc/man/man3/ecore_x_drawable_depth_get.3 b/doc/man/man3/ecore_x_drawable_depth_get.3
new file mode 100644
index 0000000..8f18833
--- /dev/null
+++ b/doc/man/man3/ecore_x_drawable_depth_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_Drawable_Group.3
diff --git a/doc/man/man3/ecore_x_drawable_geometry_get.3 b/doc/man/man3/ecore_x_drawable_geometry_get.3
new file mode 100644
index 0000000..8f18833
--- /dev/null
+++ b/doc/man/man3/ecore_x_drawable_geometry_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_Drawable_Group.3
diff --git a/doc/man/man3/ecore_x_drawable_geometry_get_fetch.3 b/doc/man/man3/ecore_x_drawable_geometry_get_fetch.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_drawable_geometry_get_fetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_drawable_geometry_get_prefetch.3 b/doc/man/man3/ecore_x_drawable_geometry_get_prefetch.3
new file mode 100644
index 0000000..8f18833
--- /dev/null
+++ b/doc/man/man3/ecore_x_drawable_geometry_get_prefetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_Drawable_Group.3
diff --git a/doc/man/man3/ecore_x_error_code_get.3 b/doc/man/man3/ecore_x_error_code_get.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_error_code_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_error_handler_set.3 b/doc/man/man3/ecore_x_error_handler_set.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_error_handler_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_error_request_get.3 b/doc/man/man3/ecore_x_error_request_get.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_error_request_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_fd_get.3 b/doc/man/man3/ecore_x_fd_get.3
new file mode 100644
index 0000000..574b6ab
--- /dev/null
+++ b/doc/man/man3/ecore_x_fd_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_Display_Attr_Group.3
diff --git a/doc/man/man3/ecore_x_flush.3 b/doc/man/man3/ecore_x_flush.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_flush.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_gc_del.3 b/doc/man/man3/ecore_x_gc_del.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_gc_del.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_gc_new.3 b/doc/man/man3/ecore_x_gc_new.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_gc_new.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_get_input_focus_fetch.3 b/doc/man/man3/ecore_x_get_input_focus_fetch.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_get_input_focus_fetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_get_input_focus_prefetch.3 b/doc/man/man3/ecore_x_get_input_focus_prefetch.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_get_input_focus_prefetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_get_screensaver_fetch.3 b/doc/man/man3/ecore_x_get_screensaver_fetch.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_get_screensaver_fetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_get_screensaver_prefetch.3 b/doc/man/man3/ecore_x_get_screensaver_prefetch.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_get_screensaver_prefetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_get_window_attributes_fetch.3 b/doc/man/man3/ecore_x_get_window_attributes_fetch.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_get_window_attributes_fetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_get_window_attributes_prefetch.3 b/doc/man/man3/ecore_x_get_window_attributes_prefetch.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_get_window_attributes_prefetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_icccm_client_leader_get.3 b/doc/man/man3/ecore_x_icccm_client_leader_get.3
new file mode 100644
index 0000000..c34cb7b
--- /dev/null
+++ b/doc/man/man3/ecore_x_icccm_client_leader_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_ICCCM_Group.3
diff --git a/doc/man/man3/ecore_x_icccm_client_leader_get_fetch.3 b/doc/man/man3/ecore_x_icccm_client_leader_get_fetch.3
new file mode 100644
index 0000000..c34cb7b
--- /dev/null
+++ b/doc/man/man3/ecore_x_icccm_client_leader_get_fetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_ICCCM_Group.3
diff --git a/doc/man/man3/ecore_x_icccm_client_leader_get_prefetch.3 b/doc/man/man3/ecore_x_icccm_client_leader_get_prefetch.3
new file mode 100644
index 0000000..c34cb7b
--- /dev/null
+++ b/doc/man/man3/ecore_x_icccm_client_leader_get_prefetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_ICCCM_Group.3
diff --git a/doc/man/man3/ecore_x_icccm_client_leader_set.3 b/doc/man/man3/ecore_x_icccm_client_leader_set.3
new file mode 100644
index 0000000..c34cb7b
--- /dev/null
+++ b/doc/man/man3/ecore_x_icccm_client_leader_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_ICCCM_Group.3
diff --git a/doc/man/man3/ecore_x_icccm_client_machine_get.3 b/doc/man/man3/ecore_x_icccm_client_machine_get.3
new file mode 100644
index 0000000..c34cb7b
--- /dev/null
+++ b/doc/man/man3/ecore_x_icccm_client_machine_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_ICCCM_Group.3
diff --git a/doc/man/man3/ecore_x_icccm_colormap_window_set.3 b/doc/man/man3/ecore_x_icccm_colormap_window_set.3
new file mode 100644
index 0000000..c34cb7b
--- /dev/null
+++ b/doc/man/man3/ecore_x_icccm_colormap_window_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_ICCCM_Group.3
diff --git a/doc/man/man3/ecore_x_icccm_colormap_window_unset.3 b/doc/man/man3/ecore_x_icccm_colormap_window_unset.3
new file mode 100644
index 0000000..c34cb7b
--- /dev/null
+++ b/doc/man/man3/ecore_x_icccm_colormap_window_unset.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_ICCCM_Group.3
diff --git a/doc/man/man3/ecore_x_icccm_command_get.3 b/doc/man/man3/ecore_x_icccm_command_get.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_icccm_command_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_icccm_command_set.3 b/doc/man/man3/ecore_x_icccm_command_set.3
new file mode 100644
index 0000000..c34cb7b
--- /dev/null
+++ b/doc/man/man3/ecore_x_icccm_command_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_ICCCM_Group.3
diff --git a/doc/man/man3/ecore_x_icccm_delete_window_send.3 b/doc/man/man3/ecore_x_icccm_delete_window_send.3
new file mode 100644
index 0000000..c34cb7b
--- /dev/null
+++ b/doc/man/man3/ecore_x_icccm_delete_window_send.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_ICCCM_Group.3
diff --git a/doc/man/man3/ecore_x_icccm_hints_get.3 b/doc/man/man3/ecore_x_icccm_hints_get.3
new file mode 100644
index 0000000..c34cb7b
--- /dev/null
+++ b/doc/man/man3/ecore_x_icccm_hints_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_ICCCM_Group.3
diff --git a/doc/man/man3/ecore_x_icccm_hints_set.3 b/doc/man/man3/ecore_x_icccm_hints_set.3
new file mode 100644
index 0000000..c34cb7b
--- /dev/null
+++ b/doc/man/man3/ecore_x_icccm_hints_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_ICCCM_Group.3
diff --git a/doc/man/man3/ecore_x_icccm_icon_name_get.3 b/doc/man/man3/ecore_x_icccm_icon_name_get.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_icccm_icon_name_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_icccm_icon_name_set.3 b/doc/man/man3/ecore_x_icccm_icon_name_set.3
new file mode 100644
index 0000000..c34cb7b
--- /dev/null
+++ b/doc/man/man3/ecore_x_icccm_icon_name_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_ICCCM_Group.3
diff --git a/doc/man/man3/ecore_x_icccm_iconic_request_send.3 b/doc/man/man3/ecore_x_icccm_iconic_request_send.3
new file mode 100644
index 0000000..c34cb7b
--- /dev/null
+++ b/doc/man/man3/ecore_x_icccm_iconic_request_send.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_ICCCM_Group.3
diff --git a/doc/man/man3/ecore_x_icccm_move_resize_send.3 b/doc/man/man3/ecore_x_icccm_move_resize_send.3
new file mode 100644
index 0000000..c34cb7b
--- /dev/null
+++ b/doc/man/man3/ecore_x_icccm_move_resize_send.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_ICCCM_Group.3
diff --git a/doc/man/man3/ecore_x_icccm_name_class_get.3 b/doc/man/man3/ecore_x_icccm_name_class_get.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_icccm_name_class_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_icccm_name_class_set.3 b/doc/man/man3/ecore_x_icccm_name_class_set.3
new file mode 100644
index 0000000..c34cb7b
--- /dev/null
+++ b/doc/man/man3/ecore_x_icccm_name_class_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_ICCCM_Group.3
diff --git a/doc/man/man3/ecore_x_icccm_protocol_isset.3 b/doc/man/man3/ecore_x_icccm_protocol_isset.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_icccm_protocol_isset.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_icccm_protocol_set.3 b/doc/man/man3/ecore_x_icccm_protocol_set.3
new file mode 100644
index 0000000..c34cb7b
--- /dev/null
+++ b/doc/man/man3/ecore_x_icccm_protocol_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_ICCCM_Group.3
diff --git a/doc/man/man3/ecore_x_icccm_save_yourself_send.3 b/doc/man/man3/ecore_x_icccm_save_yourself_send.3
new file mode 100644
index 0000000..c34cb7b
--- /dev/null
+++ b/doc/man/man3/ecore_x_icccm_save_yourself_send.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_ICCCM_Group.3
diff --git a/doc/man/man3/ecore_x_icccm_size_pos_hints_get.3 b/doc/man/man3/ecore_x_icccm_size_pos_hints_get.3
new file mode 100644
index 0000000..c34cb7b
--- /dev/null
+++ b/doc/man/man3/ecore_x_icccm_size_pos_hints_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_ICCCM_Group.3
diff --git a/doc/man/man3/ecore_x_icccm_size_pos_hints_set.3 b/doc/man/man3/ecore_x_icccm_size_pos_hints_set.3
new file mode 100644
index 0000000..c34cb7b
--- /dev/null
+++ b/doc/man/man3/ecore_x_icccm_size_pos_hints_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_ICCCM_Group.3
diff --git a/doc/man/man3/ecore_x_icccm_state_get.3 b/doc/man/man3/ecore_x_icccm_state_get.3
new file mode 100644
index 0000000..c34cb7b
--- /dev/null
+++ b/doc/man/man3/ecore_x_icccm_state_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_ICCCM_Group.3
diff --git a/doc/man/man3/ecore_x_icccm_state_set.3 b/doc/man/man3/ecore_x_icccm_state_set.3
new file mode 100644
index 0000000..c34cb7b
--- /dev/null
+++ b/doc/man/man3/ecore_x_icccm_state_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_ICCCM_Group.3
diff --git a/doc/man/man3/ecore_x_icccm_take_focus_send.3 b/doc/man/man3/ecore_x_icccm_take_focus_send.3
new file mode 100644
index 0000000..c34cb7b
--- /dev/null
+++ b/doc/man/man3/ecore_x_icccm_take_focus_send.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_ICCCM_Group.3
diff --git a/doc/man/man3/ecore_x_icccm_title_get.3 b/doc/man/man3/ecore_x_icccm_title_get.3
new file mode 100644
index 0000000..c34cb7b
--- /dev/null
+++ b/doc/man/man3/ecore_x_icccm_title_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_ICCCM_Group.3
diff --git a/doc/man/man3/ecore_x_icccm_title_set.3 b/doc/man/man3/ecore_x_icccm_title_set.3
new file mode 100644
index 0000000..c34cb7b
--- /dev/null
+++ b/doc/man/man3/ecore_x_icccm_title_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_ICCCM_Group.3
diff --git a/doc/man/man3/ecore_x_icccm_transient_for_get.3 b/doc/man/man3/ecore_x_icccm_transient_for_get.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_icccm_transient_for_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_icccm_transient_for_set.3 b/doc/man/man3/ecore_x_icccm_transient_for_set.3
new file mode 100644
index 0000000..c34cb7b
--- /dev/null
+++ b/doc/man/man3/ecore_x_icccm_transient_for_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_ICCCM_Group.3
diff --git a/doc/man/man3/ecore_x_icccm_transient_for_unset.3 b/doc/man/man3/ecore_x_icccm_transient_for_unset.3
new file mode 100644
index 0000000..c34cb7b
--- /dev/null
+++ b/doc/man/man3/ecore_x_icccm_transient_for_unset.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_ICCCM_Group.3
diff --git a/doc/man/man3/ecore_x_icccm_window_role_get.3 b/doc/man/man3/ecore_x_icccm_window_role_get.3
new file mode 100644
index 0000000..c34cb7b
--- /dev/null
+++ b/doc/man/man3/ecore_x_icccm_window_role_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_ICCCM_Group.3
diff --git a/doc/man/man3/ecore_x_icccm_window_role_get_fetch.3 b/doc/man/man3/ecore_x_icccm_window_role_get_fetch.3
new file mode 100644
index 0000000..c34cb7b
--- /dev/null
+++ b/doc/man/man3/ecore_x_icccm_window_role_get_fetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_ICCCM_Group.3
diff --git a/doc/man/man3/ecore_x_icccm_window_role_get_prefetch.3 b/doc/man/man3/ecore_x_icccm_window_role_get_prefetch.3
new file mode 100644
index 0000000..c34cb7b
--- /dev/null
+++ b/doc/man/man3/ecore_x_icccm_window_role_get_prefetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_ICCCM_Group.3
diff --git a/doc/man/man3/ecore_x_icccm_window_role_set.3 b/doc/man/man3/ecore_x_icccm_window_role_set.3
new file mode 100644
index 0000000..c34cb7b
--- /dev/null
+++ b/doc/man/man3/ecore_x_icccm_window_role_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_ICCCM_Group.3
diff --git a/doc/man/man3/ecore_x_init.3 b/doc/man/man3/ecore_x_init.3
new file mode 100644
index 0000000..f3fa3ae
--- /dev/null
+++ b/doc/man/man3/ecore_x_init.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_Init_Group.3
diff --git a/doc/man/man3/ecore_x_io_error_handler_set.3 b/doc/man/man3/ecore_x_io_error_handler_set.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_io_error_handler_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_kill.3 b/doc/man/man3/ecore_x_kill.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_kill.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_killall.3 b/doc/man/man3/ecore_x_killall.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_killall.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_mwm_borderless_set.3 b/doc/man/man3/ecore_x_mwm_borderless_set.3
new file mode 100644
index 0000000..c2bbe80
--- /dev/null
+++ b/doc/man/man3/ecore_x_mwm_borderless_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_MWM_Group.3
diff --git a/doc/man/man3/ecore_x_mwm_hints_get.3 b/doc/man/man3/ecore_x_mwm_hints_get.3
new file mode 100644
index 0000000..c2bbe80
--- /dev/null
+++ b/doc/man/man3/ecore_x_mwm_hints_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_MWM_Group.3
diff --git a/doc/man/man3/ecore_x_mwm_hints_get_fetch.3 b/doc/man/man3/ecore_x_mwm_hints_get_fetch.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_mwm_hints_get_fetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_mwm_hints_get_prefetch.3 b/doc/man/man3/ecore_x_mwm_hints_get_prefetch.3
new file mode 100644
index 0000000..c2bbe80
--- /dev/null
+++ b/doc/man/man3/ecore_x_mwm_hints_get_prefetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_MWM_Group.3
diff --git a/doc/man/man3/ecore_x_netwm_allowed_action_get.3 b/doc/man/man3/ecore_x_netwm_allowed_action_get.3
new file mode 100644
index 0000000..891adbe
--- /dev/null
+++ b/doc/man/man3/ecore_x_netwm_allowed_action_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_NetWM_Group.3
diff --git a/doc/man/man3/ecore_x_netwm_allowed_action_get_fetch.3 b/doc/man/man3/ecore_x_netwm_allowed_action_get_fetch.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_netwm_allowed_action_get_fetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_netwm_allowed_action_get_prefetch.3 b/doc/man/man3/ecore_x_netwm_allowed_action_get_prefetch.3
new file mode 100644
index 0000000..891adbe
--- /dev/null
+++ b/doc/man/man3/ecore_x_netwm_allowed_action_get_prefetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_NetWM_Group.3
diff --git a/doc/man/man3/ecore_x_netwm_allowed_action_isset.3 b/doc/man/man3/ecore_x_netwm_allowed_action_isset.3
new file mode 100644
index 0000000..891adbe
--- /dev/null
+++ b/doc/man/man3/ecore_x_netwm_allowed_action_isset.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_NetWM_Group.3
diff --git a/doc/man/man3/ecore_x_netwm_allowed_action_set.3 b/doc/man/man3/ecore_x_netwm_allowed_action_set.3
new file mode 100644
index 0000000..891adbe
--- /dev/null
+++ b/doc/man/man3/ecore_x_netwm_allowed_action_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_NetWM_Group.3
diff --git a/doc/man/man3/ecore_x_netwm_client_active_set.3 b/doc/man/man3/ecore_x_netwm_client_active_set.3
new file mode 100644
index 0000000..891adbe
--- /dev/null
+++ b/doc/man/man3/ecore_x_netwm_client_active_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_NetWM_Group.3
diff --git a/doc/man/man3/ecore_x_netwm_client_list_set.3 b/doc/man/man3/ecore_x_netwm_client_list_set.3
new file mode 100644
index 0000000..891adbe
--- /dev/null
+++ b/doc/man/man3/ecore_x_netwm_client_list_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_NetWM_Group.3
diff --git a/doc/man/man3/ecore_x_netwm_client_list_stacking_set.3 b/doc/man/man3/ecore_x_netwm_client_list_stacking_set.3
new file mode 100644
index 0000000..891adbe
--- /dev/null
+++ b/doc/man/man3/ecore_x_netwm_client_list_stacking_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_NetWM_Group.3
diff --git a/doc/man/man3/ecore_x_netwm_desk_count_set.3 b/doc/man/man3/ecore_x_netwm_desk_count_set.3
new file mode 100644
index 0000000..891adbe
--- /dev/null
+++ b/doc/man/man3/ecore_x_netwm_desk_count_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_NetWM_Group.3
diff --git a/doc/man/man3/ecore_x_netwm_desk_current_set.3 b/doc/man/man3/ecore_x_netwm_desk_current_set.3
new file mode 100644
index 0000000..891adbe
--- /dev/null
+++ b/doc/man/man3/ecore_x_netwm_desk_current_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_NetWM_Group.3
diff --git a/doc/man/man3/ecore_x_netwm_desk_layout_set.3 b/doc/man/man3/ecore_x_netwm_desk_layout_set.3
new file mode 100644
index 0000000..891adbe
--- /dev/null
+++ b/doc/man/man3/ecore_x_netwm_desk_layout_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_NetWM_Group.3
diff --git a/doc/man/man3/ecore_x_netwm_desk_names_set.3 b/doc/man/man3/ecore_x_netwm_desk_names_set.3
new file mode 100644
index 0000000..891adbe
--- /dev/null
+++ b/doc/man/man3/ecore_x_netwm_desk_names_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_NetWM_Group.3
diff --git a/doc/man/man3/ecore_x_netwm_desk_roots_set.3 b/doc/man/man3/ecore_x_netwm_desk_roots_set.3
new file mode 100644
index 0000000..891adbe
--- /dev/null
+++ b/doc/man/man3/ecore_x_netwm_desk_roots_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_NetWM_Group.3
diff --git a/doc/man/man3/ecore_x_netwm_desk_size_set.3 b/doc/man/man3/ecore_x_netwm_desk_size_set.3
new file mode 100644
index 0000000..891adbe
--- /dev/null
+++ b/doc/man/man3/ecore_x_netwm_desk_size_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_NetWM_Group.3
diff --git a/doc/man/man3/ecore_x_netwm_desk_viewports_set.3 b/doc/man/man3/ecore_x_netwm_desk_viewports_set.3
new file mode 100644
index 0000000..891adbe
--- /dev/null
+++ b/doc/man/man3/ecore_x_netwm_desk_viewports_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_NetWM_Group.3
diff --git a/doc/man/man3/ecore_x_netwm_desk_workareas_set.3 b/doc/man/man3/ecore_x_netwm_desk_workareas_set.3
new file mode 100644
index 0000000..891adbe
--- /dev/null
+++ b/doc/man/man3/ecore_x_netwm_desk_workareas_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_NetWM_Group.3
diff --git a/doc/man/man3/ecore_x_netwm_desktop_get.3 b/doc/man/man3/ecore_x_netwm_desktop_get.3
new file mode 100644
index 0000000..891adbe
--- /dev/null
+++ b/doc/man/man3/ecore_x_netwm_desktop_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_NetWM_Group.3
diff --git a/doc/man/man3/ecore_x_netwm_desktop_get_fetch.3 b/doc/man/man3/ecore_x_netwm_desktop_get_fetch.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_netwm_desktop_get_fetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_netwm_desktop_get_prefetch.3 b/doc/man/man3/ecore_x_netwm_desktop_get_prefetch.3
new file mode 100644
index 0000000..891adbe
--- /dev/null
+++ b/doc/man/man3/ecore_x_netwm_desktop_get_prefetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_NetWM_Group.3
diff --git a/doc/man/man3/ecore_x_netwm_desktop_request_send.3 b/doc/man/man3/ecore_x_netwm_desktop_request_send.3
new file mode 100644
index 0000000..891adbe
--- /dev/null
+++ b/doc/man/man3/ecore_x_netwm_desktop_request_send.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_NetWM_Group.3
diff --git a/doc/man/man3/ecore_x_netwm_desktop_set.3 b/doc/man/man3/ecore_x_netwm_desktop_set.3
new file mode 100644
index 0000000..891adbe
--- /dev/null
+++ b/doc/man/man3/ecore_x_netwm_desktop_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_NetWM_Group.3
diff --git a/doc/man/man3/ecore_x_netwm_frame_size_get.3 b/doc/man/man3/ecore_x_netwm_frame_size_get.3
new file mode 100644
index 0000000..891adbe
--- /dev/null
+++ b/doc/man/man3/ecore_x_netwm_frame_size_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_NetWM_Group.3
diff --git a/doc/man/man3/ecore_x_netwm_frame_size_get_fetch.3 b/doc/man/man3/ecore_x_netwm_frame_size_get_fetch.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_netwm_frame_size_get_fetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_netwm_frame_size_get_prefetch.3 b/doc/man/man3/ecore_x_netwm_frame_size_get_prefetch.3
new file mode 100644
index 0000000..891adbe
--- /dev/null
+++ b/doc/man/man3/ecore_x_netwm_frame_size_get_prefetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_NetWM_Group.3
diff --git a/doc/man/man3/ecore_x_netwm_frame_size_set.3 b/doc/man/man3/ecore_x_netwm_frame_size_set.3
new file mode 100644
index 0000000..891adbe
--- /dev/null
+++ b/doc/man/man3/ecore_x_netwm_frame_size_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_NetWM_Group.3
diff --git a/doc/man/man3/ecore_x_netwm_handled_icons_get.3 b/doc/man/man3/ecore_x_netwm_handled_icons_get.3
new file mode 100644
index 0000000..891adbe
--- /dev/null
+++ b/doc/man/man3/ecore_x_netwm_handled_icons_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_NetWM_Group.3
diff --git a/doc/man/man3/ecore_x_netwm_handled_icons_get_fetch.3 b/doc/man/man3/ecore_x_netwm_handled_icons_get_fetch.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_netwm_handled_icons_get_fetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_netwm_handled_icons_get_prefetch.3 b/doc/man/man3/ecore_x_netwm_handled_icons_get_prefetch.3
new file mode 100644
index 0000000..891adbe
--- /dev/null
+++ b/doc/man/man3/ecore_x_netwm_handled_icons_get_prefetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_NetWM_Group.3
diff --git a/doc/man/man3/ecore_x_netwm_handled_icons_set.3 b/doc/man/man3/ecore_x_netwm_handled_icons_set.3
new file mode 100644
index 0000000..891adbe
--- /dev/null
+++ b/doc/man/man3/ecore_x_netwm_handled_icons_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_NetWM_Group.3
diff --git a/doc/man/man3/ecore_x_netwm_icon_geometry_get.3 b/doc/man/man3/ecore_x_netwm_icon_geometry_get.3
new file mode 100644
index 0000000..891adbe
--- /dev/null
+++ b/doc/man/man3/ecore_x_netwm_icon_geometry_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_NetWM_Group.3
diff --git a/doc/man/man3/ecore_x_netwm_icon_geometry_get_fetch.3 b/doc/man/man3/ecore_x_netwm_icon_geometry_get_fetch.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_netwm_icon_geometry_get_fetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_netwm_icon_geometry_get_prefetch.3 b/doc/man/man3/ecore_x_netwm_icon_geometry_get_prefetch.3
new file mode 100644
index 0000000..891adbe
--- /dev/null
+++ b/doc/man/man3/ecore_x_netwm_icon_geometry_get_prefetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_NetWM_Group.3
diff --git a/doc/man/man3/ecore_x_netwm_icon_geometry_set.3 b/doc/man/man3/ecore_x_netwm_icon_geometry_set.3
new file mode 100644
index 0000000..891adbe
--- /dev/null
+++ b/doc/man/man3/ecore_x_netwm_icon_geometry_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_NetWM_Group.3
diff --git a/doc/man/man3/ecore_x_netwm_icon_name_get.3 b/doc/man/man3/ecore_x_netwm_icon_name_get.3
new file mode 100644
index 0000000..891adbe
--- /dev/null
+++ b/doc/man/man3/ecore_x_netwm_icon_name_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_NetWM_Group.3
diff --git a/doc/man/man3/ecore_x_netwm_icon_name_get_fetch.3 b/doc/man/man3/ecore_x_netwm_icon_name_get_fetch.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_netwm_icon_name_get_fetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_netwm_icon_name_get_prefetch.3 b/doc/man/man3/ecore_x_netwm_icon_name_get_prefetch.3
new file mode 100644
index 0000000..891adbe
--- /dev/null
+++ b/doc/man/man3/ecore_x_netwm_icon_name_get_prefetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_NetWM_Group.3
diff --git a/doc/man/man3/ecore_x_netwm_icon_name_set.3 b/doc/man/man3/ecore_x_netwm_icon_name_set.3
new file mode 100644
index 0000000..891adbe
--- /dev/null
+++ b/doc/man/man3/ecore_x_netwm_icon_name_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_NetWM_Group.3
diff --git a/doc/man/man3/ecore_x_netwm_icons_get.3 b/doc/man/man3/ecore_x_netwm_icons_get.3
new file mode 100644
index 0000000..891adbe
--- /dev/null
+++ b/doc/man/man3/ecore_x_netwm_icons_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_NetWM_Group.3
diff --git a/doc/man/man3/ecore_x_netwm_icons_get_fetch.3 b/doc/man/man3/ecore_x_netwm_icons_get_fetch.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_netwm_icons_get_fetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_netwm_icons_get_prefetch.3 b/doc/man/man3/ecore_x_netwm_icons_get_prefetch.3
new file mode 100644
index 0000000..891adbe
--- /dev/null
+++ b/doc/man/man3/ecore_x_netwm_icons_get_prefetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_NetWM_Group.3
diff --git a/doc/man/man3/ecore_x_netwm_init.3 b/doc/man/man3/ecore_x_netwm_init.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_netwm_init.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_netwm_name_get.3 b/doc/man/man3/ecore_x_netwm_name_get.3
new file mode 100644
index 0000000..891adbe
--- /dev/null
+++ b/doc/man/man3/ecore_x_netwm_name_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_NetWM_Group.3
diff --git a/doc/man/man3/ecore_x_netwm_name_get_fetch.3 b/doc/man/man3/ecore_x_netwm_name_get_fetch.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_netwm_name_get_fetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_netwm_name_get_prefetch.3 b/doc/man/man3/ecore_x_netwm_name_get_prefetch.3
new file mode 100644
index 0000000..891adbe
--- /dev/null
+++ b/doc/man/man3/ecore_x_netwm_name_get_prefetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_NetWM_Group.3
diff --git a/doc/man/man3/ecore_x_netwm_name_set.3 b/doc/man/man3/ecore_x_netwm_name_set.3
new file mode 100644
index 0000000..891adbe
--- /dev/null
+++ b/doc/man/man3/ecore_x_netwm_name_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_NetWM_Group.3
diff --git a/doc/man/man3/ecore_x_netwm_opacity_get.3 b/doc/man/man3/ecore_x_netwm_opacity_get.3
new file mode 100644
index 0000000..891adbe
--- /dev/null
+++ b/doc/man/man3/ecore_x_netwm_opacity_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_NetWM_Group.3
diff --git a/doc/man/man3/ecore_x_netwm_opacity_get_fetch.3 b/doc/man/man3/ecore_x_netwm_opacity_get_fetch.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_netwm_opacity_get_fetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_netwm_opacity_get_prefetch.3 b/doc/man/man3/ecore_x_netwm_opacity_get_prefetch.3
new file mode 100644
index 0000000..891adbe
--- /dev/null
+++ b/doc/man/man3/ecore_x_netwm_opacity_get_prefetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_NetWM_Group.3
diff --git a/doc/man/man3/ecore_x_netwm_opacity_set.3 b/doc/man/man3/ecore_x_netwm_opacity_set.3
new file mode 100644
index 0000000..891adbe
--- /dev/null
+++ b/doc/man/man3/ecore_x_netwm_opacity_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_NetWM_Group.3
diff --git a/doc/man/man3/ecore_x_netwm_pid_get.3 b/doc/man/man3/ecore_x_netwm_pid_get.3
new file mode 100644
index 0000000..891adbe
--- /dev/null
+++ b/doc/man/man3/ecore_x_netwm_pid_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_NetWM_Group.3
diff --git a/doc/man/man3/ecore_x_netwm_pid_get_fetch.3 b/doc/man/man3/ecore_x_netwm_pid_get_fetch.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_netwm_pid_get_fetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_netwm_pid_get_prefetch.3 b/doc/man/man3/ecore_x_netwm_pid_get_prefetch.3
new file mode 100644
index 0000000..891adbe
--- /dev/null
+++ b/doc/man/man3/ecore_x_netwm_pid_get_prefetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_NetWM_Group.3
diff --git a/doc/man/man3/ecore_x_netwm_pid_set.3 b/doc/man/man3/ecore_x_netwm_pid_set.3
new file mode 100644
index 0000000..891adbe
--- /dev/null
+++ b/doc/man/man3/ecore_x_netwm_pid_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_NetWM_Group.3
diff --git a/doc/man/man3/ecore_x_netwm_ping_send.3 b/doc/man/man3/ecore_x_netwm_ping_send.3
new file mode 100644
index 0000000..891adbe
--- /dev/null
+++ b/doc/man/man3/ecore_x_netwm_ping_send.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_NetWM_Group.3
diff --git a/doc/man/man3/ecore_x_netwm_showing_desktop_set.3 b/doc/man/man3/ecore_x_netwm_showing_desktop_set.3
new file mode 100644
index 0000000..891adbe
--- /dev/null
+++ b/doc/man/man3/ecore_x_netwm_showing_desktop_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_NetWM_Group.3
diff --git a/doc/man/man3/ecore_x_netwm_shutdown.3 b/doc/man/man3/ecore_x_netwm_shutdown.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_netwm_shutdown.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_netwm_startup_id_get.3 b/doc/man/man3/ecore_x_netwm_startup_id_get.3
new file mode 100644
index 0000000..891adbe
--- /dev/null
+++ b/doc/man/man3/ecore_x_netwm_startup_id_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_NetWM_Group.3
diff --git a/doc/man/man3/ecore_x_netwm_startup_id_get_fetch.3 b/doc/man/man3/ecore_x_netwm_startup_id_get_fetch.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_netwm_startup_id_get_fetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_netwm_startup_id_get_prefetch.3 b/doc/man/man3/ecore_x_netwm_startup_id_get_prefetch.3
new file mode 100644
index 0000000..891adbe
--- /dev/null
+++ b/doc/man/man3/ecore_x_netwm_startup_id_get_prefetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_NetWM_Group.3
diff --git a/doc/man/man3/ecore_x_netwm_startup_id_set.3 b/doc/man/man3/ecore_x_netwm_startup_id_set.3
new file mode 100644
index 0000000..891adbe
--- /dev/null
+++ b/doc/man/man3/ecore_x_netwm_startup_id_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_NetWM_Group.3
diff --git a/doc/man/man3/ecore_x_netwm_state_request_send.3 b/doc/man/man3/ecore_x_netwm_state_request_send.3
new file mode 100644
index 0000000..891adbe
--- /dev/null
+++ b/doc/man/man3/ecore_x_netwm_state_request_send.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_NetWM_Group.3
diff --git a/doc/man/man3/ecore_x_netwm_strut_get.3 b/doc/man/man3/ecore_x_netwm_strut_get.3
new file mode 100644
index 0000000..891adbe
--- /dev/null
+++ b/doc/man/man3/ecore_x_netwm_strut_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_NetWM_Group.3
diff --git a/doc/man/man3/ecore_x_netwm_strut_get_fetch.3 b/doc/man/man3/ecore_x_netwm_strut_get_fetch.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_netwm_strut_get_fetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_netwm_strut_get_prefetch.3 b/doc/man/man3/ecore_x_netwm_strut_get_prefetch.3
new file mode 100644
index 0000000..891adbe
--- /dev/null
+++ b/doc/man/man3/ecore_x_netwm_strut_get_prefetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_NetWM_Group.3
diff --git a/doc/man/man3/ecore_x_netwm_strut_partial_get.3 b/doc/man/man3/ecore_x_netwm_strut_partial_get.3
new file mode 100644
index 0000000..891adbe
--- /dev/null
+++ b/doc/man/man3/ecore_x_netwm_strut_partial_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_NetWM_Group.3
diff --git a/doc/man/man3/ecore_x_netwm_strut_partial_get_fetch.3 b/doc/man/man3/ecore_x_netwm_strut_partial_get_fetch.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_netwm_strut_partial_get_fetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_netwm_strut_partial_get_prefetch.3 b/doc/man/man3/ecore_x_netwm_strut_partial_get_prefetch.3
new file mode 100644
index 0000000..891adbe
--- /dev/null
+++ b/doc/man/man3/ecore_x_netwm_strut_partial_get_prefetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_NetWM_Group.3
diff --git a/doc/man/man3/ecore_x_netwm_strut_partial_set.3 b/doc/man/man3/ecore_x_netwm_strut_partial_set.3
new file mode 100644
index 0000000..891adbe
--- /dev/null
+++ b/doc/man/man3/ecore_x_netwm_strut_partial_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_NetWM_Group.3
diff --git a/doc/man/man3/ecore_x_netwm_strut_set.3 b/doc/man/man3/ecore_x_netwm_strut_set.3
new file mode 100644
index 0000000..891adbe
--- /dev/null
+++ b/doc/man/man3/ecore_x_netwm_strut_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_NetWM_Group.3
diff --git a/doc/man/man3/ecore_x_netwm_supported_get.3 b/doc/man/man3/ecore_x_netwm_supported_get.3
new file mode 100644
index 0000000..891adbe
--- /dev/null
+++ b/doc/man/man3/ecore_x_netwm_supported_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_NetWM_Group.3
diff --git a/doc/man/man3/ecore_x_netwm_supported_get_fetch.3 b/doc/man/man3/ecore_x_netwm_supported_get_fetch.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_netwm_supported_get_fetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_netwm_supported_get_prefetch.3 b/doc/man/man3/ecore_x_netwm_supported_get_prefetch.3
new file mode 100644
index 0000000..891adbe
--- /dev/null
+++ b/doc/man/man3/ecore_x_netwm_supported_get_prefetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_NetWM_Group.3
diff --git a/doc/man/man3/ecore_x_netwm_supported_set.3 b/doc/man/man3/ecore_x_netwm_supported_set.3
new file mode 100644
index 0000000..891adbe
--- /dev/null
+++ b/doc/man/man3/ecore_x_netwm_supported_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_NetWM_Group.3
diff --git a/doc/man/man3/ecore_x_netwm_sync_counter_get.3 b/doc/man/man3/ecore_x_netwm_sync_counter_get.3
new file mode 100644
index 0000000..891adbe
--- /dev/null
+++ b/doc/man/man3/ecore_x_netwm_sync_counter_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_NetWM_Group.3
diff --git a/doc/man/man3/ecore_x_netwm_sync_counter_get_fetch.3 b/doc/man/man3/ecore_x_netwm_sync_counter_get_fetch.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_netwm_sync_counter_get_fetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_netwm_sync_counter_get_prefetch.3 b/doc/man/man3/ecore_x_netwm_sync_counter_get_prefetch.3
new file mode 100644
index 0000000..891adbe
--- /dev/null
+++ b/doc/man/man3/ecore_x_netwm_sync_counter_get_prefetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_NetWM_Group.3
diff --git a/doc/man/man3/ecore_x_netwm_sync_request_send.3 b/doc/man/man3/ecore_x_netwm_sync_request_send.3
new file mode 100644
index 0000000..891adbe
--- /dev/null
+++ b/doc/man/man3/ecore_x_netwm_sync_request_send.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_NetWM_Group.3
diff --git a/doc/man/man3/ecore_x_netwm_user_time_get.3 b/doc/man/man3/ecore_x_netwm_user_time_get.3
new file mode 100644
index 0000000..891adbe
--- /dev/null
+++ b/doc/man/man3/ecore_x_netwm_user_time_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_NetWM_Group.3
diff --git a/doc/man/man3/ecore_x_netwm_user_time_get_fetch.3 b/doc/man/man3/ecore_x_netwm_user_time_get_fetch.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_netwm_user_time_get_fetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_netwm_user_time_get_prefetch.3 b/doc/man/man3/ecore_x_netwm_user_time_get_prefetch.3
new file mode 100644
index 0000000..891adbe
--- /dev/null
+++ b/doc/man/man3/ecore_x_netwm_user_time_get_prefetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_NetWM_Group.3
diff --git a/doc/man/man3/ecore_x_netwm_user_time_set.3 b/doc/man/man3/ecore_x_netwm_user_time_set.3
new file mode 100644
index 0000000..891adbe
--- /dev/null
+++ b/doc/man/man3/ecore_x_netwm_user_time_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_NetWM_Group.3
diff --git a/doc/man/man3/ecore_x_netwm_visible_icon_name_get.3 b/doc/man/man3/ecore_x_netwm_visible_icon_name_get.3
new file mode 100644
index 0000000..891adbe
--- /dev/null
+++ b/doc/man/man3/ecore_x_netwm_visible_icon_name_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_NetWM_Group.3
diff --git a/doc/man/man3/ecore_x_netwm_visible_icon_name_get_fetch.3 b/doc/man/man3/ecore_x_netwm_visible_icon_name_get_fetch.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_netwm_visible_icon_name_get_fetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_netwm_visible_icon_name_get_prefetch.3 b/doc/man/man3/ecore_x_netwm_visible_icon_name_get_prefetch.3
new file mode 100644
index 0000000..891adbe
--- /dev/null
+++ b/doc/man/man3/ecore_x_netwm_visible_icon_name_get_prefetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_NetWM_Group.3
diff --git a/doc/man/man3/ecore_x_netwm_visible_icon_name_set.3 b/doc/man/man3/ecore_x_netwm_visible_icon_name_set.3
new file mode 100644
index 0000000..891adbe
--- /dev/null
+++ b/doc/man/man3/ecore_x_netwm_visible_icon_name_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_NetWM_Group.3
diff --git a/doc/man/man3/ecore_x_netwm_visible_name_get.3 b/doc/man/man3/ecore_x_netwm_visible_name_get.3
new file mode 100644
index 0000000..891adbe
--- /dev/null
+++ b/doc/man/man3/ecore_x_netwm_visible_name_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_NetWM_Group.3
diff --git a/doc/man/man3/ecore_x_netwm_visible_name_get_fetch.3 b/doc/man/man3/ecore_x_netwm_visible_name_get_fetch.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_netwm_visible_name_get_fetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_netwm_visible_name_get_prefetch.3 b/doc/man/man3/ecore_x_netwm_visible_name_get_prefetch.3
new file mode 100644
index 0000000..891adbe
--- /dev/null
+++ b/doc/man/man3/ecore_x_netwm_visible_name_get_prefetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_NetWM_Group.3
diff --git a/doc/man/man3/ecore_x_netwm_visible_name_set.3 b/doc/man/man3/ecore_x_netwm_visible_name_set.3
new file mode 100644
index 0000000..891adbe
--- /dev/null
+++ b/doc/man/man3/ecore_x_netwm_visible_name_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_NetWM_Group.3
diff --git a/doc/man/man3/ecore_x_netwm_window_state_get.3 b/doc/man/man3/ecore_x_netwm_window_state_get.3
new file mode 100644
index 0000000..891adbe
--- /dev/null
+++ b/doc/man/man3/ecore_x_netwm_window_state_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_NetWM_Group.3
diff --git a/doc/man/man3/ecore_x_netwm_window_state_get_fetch.3 b/doc/man/man3/ecore_x_netwm_window_state_get_fetch.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_netwm_window_state_get_fetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_netwm_window_state_get_prefetch.3 b/doc/man/man3/ecore_x_netwm_window_state_get_prefetch.3
new file mode 100644
index 0000000..891adbe
--- /dev/null
+++ b/doc/man/man3/ecore_x_netwm_window_state_get_prefetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_NetWM_Group.3
diff --git a/doc/man/man3/ecore_x_netwm_window_state_set.3 b/doc/man/man3/ecore_x_netwm_window_state_set.3
new file mode 100644
index 0000000..891adbe
--- /dev/null
+++ b/doc/man/man3/ecore_x_netwm_window_state_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_NetWM_Group.3
diff --git a/doc/man/man3/ecore_x_netwm_window_type_get.3 b/doc/man/man3/ecore_x_netwm_window_type_get.3
new file mode 100644
index 0000000..891adbe
--- /dev/null
+++ b/doc/man/man3/ecore_x_netwm_window_type_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_NetWM_Group.3
diff --git a/doc/man/man3/ecore_x_netwm_window_type_get_fetch.3 b/doc/man/man3/ecore_x_netwm_window_type_get_fetch.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_netwm_window_type_get_fetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_netwm_window_type_get_prefetch.3 b/doc/man/man3/ecore_x_netwm_window_type_get_prefetch.3
new file mode 100644
index 0000000..891adbe
--- /dev/null
+++ b/doc/man/man3/ecore_x_netwm_window_type_get_prefetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_NetWM_Group.3
diff --git a/doc/man/man3/ecore_x_netwm_window_type_set.3 b/doc/man/man3/ecore_x_netwm_window_type_set.3
new file mode 100644
index 0000000..891adbe
--- /dev/null
+++ b/doc/man/man3/ecore_x_netwm_window_type_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_NetWM_Group.3
diff --git a/doc/man/man3/ecore_x_netwm_wm_identify.3 b/doc/man/man3/ecore_x_netwm_wm_identify.3
new file mode 100644
index 0000000..891adbe
--- /dev/null
+++ b/doc/man/man3/ecore_x_netwm_wm_identify.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_NetWM_Group.3
diff --git a/doc/man/man3/ecore_x_pixmap_del.3 b/doc/man/man3/ecore_x_pixmap_del.3
new file mode 100644
index 0000000..d2db424
--- /dev/null
+++ b/doc/man/man3/ecore_x_pixmap_del.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_Pixmap_Group.3
diff --git a/doc/man/man3/ecore_x_pixmap_depth_get.3 b/doc/man/man3/ecore_x_pixmap_depth_get.3
new file mode 100644
index 0000000..d2db424
--- /dev/null
+++ b/doc/man/man3/ecore_x_pixmap_depth_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_Pixmap_Group.3
diff --git a/doc/man/man3/ecore_x_pixmap_geometry_get.3 b/doc/man/man3/ecore_x_pixmap_geometry_get.3
new file mode 100644
index 0000000..d2db424
--- /dev/null
+++ b/doc/man/man3/ecore_x_pixmap_geometry_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_Pixmap_Group.3
diff --git a/doc/man/man3/ecore_x_pixmap_new.3 b/doc/man/man3/ecore_x_pixmap_new.3
new file mode 100644
index 0000000..d2db424
--- /dev/null
+++ b/doc/man/man3/ecore_x_pixmap_new.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_Pixmap_Group.3
diff --git a/doc/man/man3/ecore_x_pixmap_paste.3 b/doc/man/man3/ecore_x_pixmap_paste.3
new file mode 100644
index 0000000..d2db424
--- /dev/null
+++ b/doc/man/man3/ecore_x_pixmap_paste.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_Pixmap_Group.3
diff --git a/doc/man/man3/ecore_x_pointer_xy_get.3 b/doc/man/man3/ecore_x_pointer_xy_get.3
new file mode 100644
index 0000000..d751c85
--- /dev/null
+++ b/doc/man/man3/ecore_x_pointer_xy_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_Window_Parent_Group.3
diff --git a/doc/man/man3/ecore_x_pointer_xy_get_fetch.3 b/doc/man/man3/ecore_x_pointer_xy_get_fetch.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_pointer_xy_get_fetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_pointer_xy_get_prefetch.3 b/doc/man/man3/ecore_x_pointer_xy_get_prefetch.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_pointer_xy_get_prefetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_query_tree_fetch.3 b/doc/man/man3/ecore_x_query_tree_fetch.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_query_tree_fetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_query_tree_prefetch.3 b/doc/man/man3/ecore_x_query_tree_prefetch.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_query_tree_prefetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_randr_current_screen_refresh_rate_get.3 b/doc/man/man3/ecore_x_randr_current_screen_refresh_rate_get.3
new file mode 100644
index 0000000..741da3f
--- /dev/null
+++ b/doc/man/man3/ecore_x_randr_current_screen_refresh_rate_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_RandR_Group.3
diff --git a/doc/man/man3/ecore_x_randr_current_screen_size_get.3 b/doc/man/man3/ecore_x_randr_current_screen_size_get.3
new file mode 100644
index 0000000..741da3f
--- /dev/null
+++ b/doc/man/man3/ecore_x_randr_current_screen_size_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_RandR_Group.3
diff --git a/doc/man/man3/ecore_x_randr_events_select.3 b/doc/man/man3/ecore_x_randr_events_select.3
new file mode 100644
index 0000000..741da3f
--- /dev/null
+++ b/doc/man/man3/ecore_x_randr_events_select.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_RandR_Group.3
diff --git a/doc/man/man3/ecore_x_randr_get_screen_info_fetch.3 b/doc/man/man3/ecore_x_randr_get_screen_info_fetch.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_randr_get_screen_info_fetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_randr_get_screen_info_prefetch.3 b/doc/man/man3/ecore_x_randr_get_screen_info_prefetch.3
new file mode 100644
index 0000000..741da3f
--- /dev/null
+++ b/doc/man/man3/ecore_x_randr_get_screen_info_prefetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_RandR_Group.3
diff --git a/doc/man/man3/ecore_x_randr_query.3 b/doc/man/man3/ecore_x_randr_query.3
new file mode 100644
index 0000000..741da3f
--- /dev/null
+++ b/doc/man/man3/ecore_x_randr_query.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_RandR_Group.3
diff --git a/doc/man/man3/ecore_x_randr_screen_refresh_rate_set.3 b/doc/man/man3/ecore_x_randr_screen_refresh_rate_set.3
new file mode 100644
index 0000000..741da3f
--- /dev/null
+++ b/doc/man/man3/ecore_x_randr_screen_refresh_rate_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_RandR_Group.3
diff --git a/doc/man/man3/ecore_x_randr_screen_refresh_rates_get.3 b/doc/man/man3/ecore_x_randr_screen_refresh_rates_get.3
new file mode 100644
index 0000000..741da3f
--- /dev/null
+++ b/doc/man/man3/ecore_x_randr_screen_refresh_rates_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_RandR_Group.3
diff --git a/doc/man/man3/ecore_x_randr_screen_rotation_get.3 b/doc/man/man3/ecore_x_randr_screen_rotation_get.3
new file mode 100644
index 0000000..741da3f
--- /dev/null
+++ b/doc/man/man3/ecore_x_randr_screen_rotation_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_RandR_Group.3
diff --git a/doc/man/man3/ecore_x_randr_screen_rotation_set.3 b/doc/man/man3/ecore_x_randr_screen_rotation_set.3
new file mode 100644
index 0000000..741da3f
--- /dev/null
+++ b/doc/man/man3/ecore_x_randr_screen_rotation_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_RandR_Group.3
diff --git a/doc/man/man3/ecore_x_randr_screen_rotations_get.3 b/doc/man/man3/ecore_x_randr_screen_rotations_get.3
new file mode 100644
index 0000000..741da3f
--- /dev/null
+++ b/doc/man/man3/ecore_x_randr_screen_rotations_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_RandR_Group.3
diff --git a/doc/man/man3/ecore_x_randr_screen_size_set.3 b/doc/man/man3/ecore_x_randr_screen_size_set.3
new file mode 100644
index 0000000..741da3f
--- /dev/null
+++ b/doc/man/man3/ecore_x_randr_screen_size_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_RandR_Group.3
diff --git a/doc/man/man3/ecore_x_randr_screen_sizes_get.3 b/doc/man/man3/ecore_x_randr_screen_sizes_get.3
new file mode 100644
index 0000000..741da3f
--- /dev/null
+++ b/doc/man/man3/ecore_x_randr_screen_sizes_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_RandR_Group.3
diff --git a/doc/man/man3/ecore_x_region_combine.3 b/doc/man/man3/ecore_x_region_combine.3
new file mode 100644
index 0000000..5b8b3cd
--- /dev/null
+++ b/doc/man/man3/ecore_x_region_combine.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_Fixes_Group.3
diff --git a/doc/man/man3/ecore_x_region_copy.3 b/doc/man/man3/ecore_x_region_copy.3
new file mode 100644
index 0000000..5b8b3cd
--- /dev/null
+++ b/doc/man/man3/ecore_x_region_copy.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_Fixes_Group.3
diff --git a/doc/man/man3/ecore_x_region_del.3 b/doc/man/man3/ecore_x_region_del.3
new file mode 100644
index 0000000..5b8b3cd
--- /dev/null
+++ b/doc/man/man3/ecore_x_region_del.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_Fixes_Group.3
diff --git a/doc/man/man3/ecore_x_region_expand.3 b/doc/man/man3/ecore_x_region_expand.3
new file mode 100644
index 0000000..5b8b3cd
--- /dev/null
+++ b/doc/man/man3/ecore_x_region_expand.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_Fixes_Group.3
diff --git a/doc/man/man3/ecore_x_region_extents.3 b/doc/man/man3/ecore_x_region_extents.3
new file mode 100644
index 0000000..5b8b3cd
--- /dev/null
+++ b/doc/man/man3/ecore_x_region_extents.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_Fixes_Group.3
diff --git a/doc/man/man3/ecore_x_region_fetch.3 b/doc/man/man3/ecore_x_region_fetch.3
new file mode 100644
index 0000000..5b8b3cd
--- /dev/null
+++ b/doc/man/man3/ecore_x_region_fetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_Fixes_Group.3
diff --git a/doc/man/man3/ecore_x_region_fetch_fetch.3 b/doc/man/man3/ecore_x_region_fetch_fetch.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_region_fetch_fetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_region_fetch_prefetch.3 b/doc/man/man3/ecore_x_region_fetch_prefetch.3
new file mode 100644
index 0000000..5b8b3cd
--- /dev/null
+++ b/doc/man/man3/ecore_x_region_fetch_prefetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_Fixes_Group.3
diff --git a/doc/man/man3/ecore_x_region_gc_clip_set.3 b/doc/man/man3/ecore_x_region_gc_clip_set.3
new file mode 100644
index 0000000..5b8b3cd
--- /dev/null
+++ b/doc/man/man3/ecore_x_region_gc_clip_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_Fixes_Group.3
diff --git a/doc/man/man3/ecore_x_region_intersect.3 b/doc/man/man3/ecore_x_region_intersect.3
new file mode 100644
index 0000000..5b8b3cd
--- /dev/null
+++ b/doc/man/man3/ecore_x_region_intersect.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_Fixes_Group.3
diff --git a/doc/man/man3/ecore_x_region_invert.3 b/doc/man/man3/ecore_x_region_invert.3
new file mode 100644
index 0000000..5b8b3cd
--- /dev/null
+++ b/doc/man/man3/ecore_x_region_invert.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_Fixes_Group.3
diff --git a/doc/man/man3/ecore_x_region_new.3 b/doc/man/man3/ecore_x_region_new.3
new file mode 100644
index 0000000..5b8b3cd
--- /dev/null
+++ b/doc/man/man3/ecore_x_region_new.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_Fixes_Group.3
diff --git a/doc/man/man3/ecore_x_region_new_from_bitmap.3 b/doc/man/man3/ecore_x_region_new_from_bitmap.3
new file mode 100644
index 0000000..5b8b3cd
--- /dev/null
+++ b/doc/man/man3/ecore_x_region_new_from_bitmap.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_Fixes_Group.3
diff --git a/doc/man/man3/ecore_x_region_new_from_gc.3 b/doc/man/man3/ecore_x_region_new_from_gc.3
new file mode 100644
index 0000000..5b8b3cd
--- /dev/null
+++ b/doc/man/man3/ecore_x_region_new_from_gc.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_Fixes_Group.3
diff --git a/doc/man/man3/ecore_x_region_new_from_picture.3 b/doc/man/man3/ecore_x_region_new_from_picture.3
new file mode 100644
index 0000000..5b8b3cd
--- /dev/null
+++ b/doc/man/man3/ecore_x_region_new_from_picture.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_Fixes_Group.3
diff --git a/doc/man/man3/ecore_x_region_new_from_window.3 b/doc/man/man3/ecore_x_region_new_from_window.3
new file mode 100644
index 0000000..5b8b3cd
--- /dev/null
+++ b/doc/man/man3/ecore_x_region_new_from_window.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_Fixes_Group.3
diff --git a/doc/man/man3/ecore_x_region_picture_clip_set.3 b/doc/man/man3/ecore_x_region_picture_clip_set.3
new file mode 100644
index 0000000..5b8b3cd
--- /dev/null
+++ b/doc/man/man3/ecore_x_region_picture_clip_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_Fixes_Group.3
diff --git a/doc/man/man3/ecore_x_region_set.3 b/doc/man/man3/ecore_x_region_set.3
new file mode 100644
index 0000000..5b8b3cd
--- /dev/null
+++ b/doc/man/man3/ecore_x_region_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_Fixes_Group.3
diff --git a/doc/man/man3/ecore_x_region_subtract.3 b/doc/man/man3/ecore_x_region_subtract.3
new file mode 100644
index 0000000..5b8b3cd
--- /dev/null
+++ b/doc/man/man3/ecore_x_region_subtract.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_Fixes_Group.3
diff --git a/doc/man/man3/ecore_x_region_translate.3 b/doc/man/man3/ecore_x_region_translate.3
new file mode 100644
index 0000000..5b8b3cd
--- /dev/null
+++ b/doc/man/man3/ecore_x_region_translate.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_Fixes_Group.3
diff --git a/doc/man/man3/ecore_x_region_window_shape_set.3 b/doc/man/man3/ecore_x_region_window_shape_set.3
new file mode 100644
index 0000000..5b8b3cd
--- /dev/null
+++ b/doc/man/man3/ecore_x_region_window_shape_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_Fixes_Group.3
diff --git a/doc/man/man3/ecore_x_screen_is_composited.3 b/doc/man/man3/ecore_x_screen_is_composited.3
new file mode 100644
index 0000000..891adbe
--- /dev/null
+++ b/doc/man/man3/ecore_x_screen_is_composited.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_NetWM_Group.3
diff --git a/doc/man/man3/ecore_x_screensaver_blank_get.3 b/doc/man/man3/ecore_x_screensaver_blank_get.3
new file mode 100644
index 0000000..6fbec77
--- /dev/null
+++ b/doc/man/man3/ecore_x_screensaver_blank_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_ScrenSaver_Group.3
diff --git a/doc/man/man3/ecore_x_screensaver_blank_set.3 b/doc/man/man3/ecore_x_screensaver_blank_set.3
new file mode 100644
index 0000000..6fbec77
--- /dev/null
+++ b/doc/man/man3/ecore_x_screensaver_blank_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_ScrenSaver_Group.3
diff --git a/doc/man/man3/ecore_x_screensaver_event_available_get.3 b/doc/man/man3/ecore_x_screensaver_event_available_get.3
new file mode 100644
index 0000000..6fbec77
--- /dev/null
+++ b/doc/man/man3/ecore_x_screensaver_event_available_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_ScrenSaver_Group.3
diff --git a/doc/man/man3/ecore_x_screensaver_event_listen_set.3 b/doc/man/man3/ecore_x_screensaver_event_listen_set.3
new file mode 100644
index 0000000..6fbec77
--- /dev/null
+++ b/doc/man/man3/ecore_x_screensaver_event_listen_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_ScrenSaver_Group.3
diff --git a/doc/man/man3/ecore_x_screensaver_expose_get.3 b/doc/man/man3/ecore_x_screensaver_expose_get.3
new file mode 100644
index 0000000..6fbec77
--- /dev/null
+++ b/doc/man/man3/ecore_x_screensaver_expose_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_ScrenSaver_Group.3
diff --git a/doc/man/man3/ecore_x_screensaver_expose_set.3 b/doc/man/man3/ecore_x_screensaver_expose_set.3
new file mode 100644
index 0000000..6fbec77
--- /dev/null
+++ b/doc/man/man3/ecore_x_screensaver_expose_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_ScrenSaver_Group.3
diff --git a/doc/man/man3/ecore_x_screensaver_idle_time_fetch.3 b/doc/man/man3/ecore_x_screensaver_idle_time_fetch.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_screensaver_idle_time_fetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_screensaver_idle_time_get.3 b/doc/man/man3/ecore_x_screensaver_idle_time_get.3
new file mode 100644
index 0000000..6fbec77
--- /dev/null
+++ b/doc/man/man3/ecore_x_screensaver_idle_time_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_ScrenSaver_Group.3
diff --git a/doc/man/man3/ecore_x_screensaver_idle_time_prefetch.3 b/doc/man/man3/ecore_x_screensaver_idle_time_prefetch.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_screensaver_idle_time_prefetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_screensaver_interval_get.3 b/doc/man/man3/ecore_x_screensaver_interval_get.3
new file mode 100644
index 0000000..6fbec77
--- /dev/null
+++ b/doc/man/man3/ecore_x_screensaver_interval_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_ScrenSaver_Group.3
diff --git a/doc/man/man3/ecore_x_screensaver_interval_set.3 b/doc/man/man3/ecore_x_screensaver_interval_set.3
new file mode 100644
index 0000000..6fbec77
--- /dev/null
+++ b/doc/man/man3/ecore_x_screensaver_interval_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_ScrenSaver_Group.3
diff --git a/doc/man/man3/ecore_x_screensaver_set.3 b/doc/man/man3/ecore_x_screensaver_set.3
new file mode 100644
index 0000000..6fbec77
--- /dev/null
+++ b/doc/man/man3/ecore_x_screensaver_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_ScrenSaver_Group.3
diff --git a/doc/man/man3/ecore_x_screensaver_timeout_get.3 b/doc/man/man3/ecore_x_screensaver_timeout_get.3
new file mode 100644
index 0000000..6fbec77
--- /dev/null
+++ b/doc/man/man3/ecore_x_screensaver_timeout_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_ScrenSaver_Group.3
diff --git a/doc/man/man3/ecore_x_screensaver_timeout_set.3 b/doc/man/man3/ecore_x_screensaver_timeout_set.3
new file mode 100644
index 0000000..6fbec77
--- /dev/null
+++ b/doc/man/man3/ecore_x_screensaver_timeout_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_ScrenSaver_Group.3
diff --git a/doc/man/man3/ecore_x_selection_clipboard_clear.3 b/doc/man/man3/ecore_x_selection_clipboard_clear.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_selection_clipboard_clear.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_selection_clipboard_fetch.3 b/doc/man/man3/ecore_x_selection_clipboard_fetch.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_selection_clipboard_fetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_selection_clipboard_prefetch.3 b/doc/man/man3/ecore_x_selection_clipboard_prefetch.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_selection_clipboard_prefetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_selection_clipboard_set.3 b/doc/man/man3/ecore_x_selection_clipboard_set.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_selection_clipboard_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_selection_primary_clear.3 b/doc/man/man3/ecore_x_selection_primary_clear.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_selection_primary_clear.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_selection_primary_fetch.3 b/doc/man/man3/ecore_x_selection_primary_fetch.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_selection_primary_fetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_selection_primary_prefetch.3 b/doc/man/man3/ecore_x_selection_primary_prefetch.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_selection_primary_prefetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_selection_primary_set.3 b/doc/man/man3/ecore_x_selection_primary_set.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_selection_primary_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_selection_secondary_clear.3 b/doc/man/man3/ecore_x_selection_secondary_clear.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_selection_secondary_clear.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_selection_secondary_fetch.3 b/doc/man/man3/ecore_x_selection_secondary_fetch.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_selection_secondary_fetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_selection_secondary_prefetch.3 b/doc/man/man3/ecore_x_selection_secondary_prefetch.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_selection_secondary_prefetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_selection_secondary_set.3 b/doc/man/man3/ecore_x_selection_secondary_set.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_selection_secondary_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_selection_xdnd_clear.3 b/doc/man/man3/ecore_x_selection_xdnd_clear.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_selection_xdnd_clear.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_selection_xdnd_fetch.3 b/doc/man/man3/ecore_x_selection_xdnd_fetch.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_selection_xdnd_fetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_selection_xdnd_prefetch.3 b/doc/man/man3/ecore_x_selection_xdnd_prefetch.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_selection_xdnd_prefetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_selection_xdnd_set.3 b/doc/man/man3/ecore_x_selection_xdnd_set.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_selection_xdnd_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_shutdown.3 b/doc/man/man3/ecore_x_shutdown.3
new file mode 100644
index 0000000..f3fa3ae
--- /dev/null
+++ b/doc/man/man3/ecore_x_shutdown.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_Init_Group.3
diff --git a/doc/man/man3/ecore_x_sync.3 b/doc/man/man3/ecore_x_sync.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_sync.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_sync_alarm_free.3 b/doc/man/man3/ecore_x_sync_alarm_free.3
new file mode 100644
index 0000000..41cc59a
--- /dev/null
+++ b/doc/man/man3/ecore_x_sync_alarm_free.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_Sync_Group.3
diff --git a/doc/man/man3/ecore_x_sync_alarm_new.3 b/doc/man/man3/ecore_x_sync_alarm_new.3
new file mode 100644
index 0000000..41cc59a
--- /dev/null
+++ b/doc/man/man3/ecore_x_sync_alarm_new.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_Sync_Group.3
diff --git a/doc/man/man3/ecore_x_sync_query.3 b/doc/man/man3/ecore_x_sync_query.3
new file mode 100644
index 0000000..41cc59a
--- /dev/null
+++ b/doc/man/man3/ecore_x_sync_query.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_Sync_Group.3
diff --git a/doc/man/man3/ecore_x_window_area_clear.3 b/doc/man/man3/ecore_x_window_area_clear.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_window_area_clear.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_window_area_expose.3 b/doc/man/man3/ecore_x_window_area_expose.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_window_area_expose.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_window_argb_new.3 b/doc/man/man3/ecore_x_window_argb_new.3
new file mode 100644
index 0000000..a177757
--- /dev/null
+++ b/doc/man/man3/ecore_x_window_argb_new.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_Window_Create_Group.3
diff --git a/doc/man/man3/ecore_x_window_at_xy_begin_get.3 b/doc/man/man3/ecore_x_window_at_xy_begin_get.3
new file mode 100644
index 0000000..820fc4c
--- /dev/null
+++ b/doc/man/man3/ecore_x_window_at_xy_begin_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_Window_Geometry_Group.3
diff --git a/doc/man/man3/ecore_x_window_at_xy_get.3 b/doc/man/man3/ecore_x_window_at_xy_get.3
new file mode 100644
index 0000000..820fc4c
--- /dev/null
+++ b/doc/man/man3/ecore_x_window_at_xy_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_Window_Geometry_Group.3
diff --git a/doc/man/man3/ecore_x_window_at_xy_with_skip_get.3 b/doc/man/man3/ecore_x_window_at_xy_with_skip_get.3
new file mode 100644
index 0000000..820fc4c
--- /dev/null
+++ b/doc/man/man3/ecore_x_window_at_xy_with_skip_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_Window_Geometry_Group.3
diff --git a/doc/man/man3/ecore_x_window_attributes_get.3 b/doc/man/man3/ecore_x_window_attributes_get.3
new file mode 100644
index 0000000..b812af0
--- /dev/null
+++ b/doc/man/man3/ecore_x_window_attributes_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_Window_Get_Attributes_Group.3
diff --git a/doc/man/man3/ecore_x_window_background_color_set.3 b/doc/man/man3/ecore_x_window_background_color_set.3
new file mode 100644
index 0000000..ad8d038
--- /dev/null
+++ b/doc/man/man3/ecore_x_window_background_color_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_Window_Change_Attributes_Group.3
diff --git a/doc/man/man3/ecore_x_window_border_width_get.3 b/doc/man/man3/ecore_x_window_border_width_get.3
new file mode 100644
index 0000000..820fc4c
--- /dev/null
+++ b/doc/man/man3/ecore_x_window_border_width_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_Window_Geometry_Group.3
diff --git a/doc/man/man3/ecore_x_window_border_width_set.3 b/doc/man/man3/ecore_x_window_border_width_set.3
new file mode 100644
index 0000000..820fc4c
--- /dev/null
+++ b/doc/man/man3/ecore_x_window_border_width_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_Window_Geometry_Group.3
diff --git a/doc/man/man3/ecore_x_window_children_get.3 b/doc/man/man3/ecore_x_window_children_get.3
new file mode 100644
index 0000000..d751c85
--- /dev/null
+++ b/doc/man/man3/ecore_x_window_children_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_Window_Parent_Group.3
diff --git a/doc/man/man3/ecore_x_window_client_manage.3 b/doc/man/man3/ecore_x_window_client_manage.3
new file mode 100644
index 0000000..ad8d038
--- /dev/null
+++ b/doc/man/man3/ecore_x_window_client_manage.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_Window_Change_Attributes_Group.3
diff --git a/doc/man/man3/ecore_x_window_client_sniff.3 b/doc/man/man3/ecore_x_window_client_sniff.3
new file mode 100644
index 0000000..ad8d038
--- /dev/null
+++ b/doc/man/man3/ecore_x_window_client_sniff.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_Window_Change_Attributes_Group.3
diff --git a/doc/man/man3/ecore_x_window_configure.3 b/doc/man/man3/ecore_x_window_configure.3
new file mode 100644
index 0000000..3d50dbf
--- /dev/null
+++ b/doc/man/man3/ecore_x_window_configure.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_Window_Configure_Group.3
diff --git a/doc/man/man3/ecore_x_window_container_manage.3 b/doc/man/man3/ecore_x_window_container_manage.3
new file mode 100644
index 0000000..ad8d038
--- /dev/null
+++ b/doc/man/man3/ecore_x_window_container_manage.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_Window_Change_Attributes_Group.3
diff --git a/doc/man/man3/ecore_x_window_cursor_set.3 b/doc/man/man3/ecore_x_window_cursor_set.3
new file mode 100644
index 0000000..ad8d038
--- /dev/null
+++ b/doc/man/man3/ecore_x_window_cursor_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_Window_Change_Attributes_Group.3
diff --git a/doc/man/man3/ecore_x_window_cursor_show.3 b/doc/man/man3/ecore_x_window_cursor_show.3
new file mode 100644
index 0000000..ad8d038
--- /dev/null
+++ b/doc/man/man3/ecore_x_window_cursor_show.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_Window_Change_Attributes_Group.3
diff --git a/doc/man/man3/ecore_x_window_defaults_set.3 b/doc/man/man3/ecore_x_window_defaults_set.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_window_defaults_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_window_del.3 b/doc/man/man3/ecore_x_window_del.3
new file mode 100644
index 0000000..1a72dac
--- /dev/null
+++ b/doc/man/man3/ecore_x_window_del.3
@@ -0,0 +1 @@
+.so man3/Evas_X_Window_Destroy_Group.3
diff --git a/doc/man/man3/ecore_x_window_delete_request_send.3 b/doc/man/man3/ecore_x_window_delete_request_send.3
new file mode 100644
index 0000000..1a72dac
--- /dev/null
+++ b/doc/man/man3/ecore_x_window_delete_request_send.3
@@ -0,0 +1 @@
+.so man3/Evas_X_Window_Destroy_Group.3
diff --git a/doc/man/man3/ecore_x_window_depth_get.3 b/doc/man/man3/ecore_x_window_depth_get.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_window_depth_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_window_focus.3 b/doc/man/man3/ecore_x_window_focus.3
new file mode 100644
index 0000000..41b19c4
--- /dev/null
+++ b/doc/man/man3/ecore_x_window_focus.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_Window_Focus_Functions.3
diff --git a/doc/man/man3/ecore_x_window_focus_at_time.3 b/doc/man/man3/ecore_x_window_focus_at_time.3
new file mode 100644
index 0000000..41b19c4
--- /dev/null
+++ b/doc/man/man3/ecore_x_window_focus_at_time.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_Window_Focus_Functions.3
diff --git a/doc/man/man3/ecore_x_window_focus_get.3 b/doc/man/man3/ecore_x_window_focus_get.3
new file mode 100644
index 0000000..41b19c4
--- /dev/null
+++ b/doc/man/man3/ecore_x_window_focus_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_Window_Focus_Functions.3
diff --git a/doc/man/man3/ecore_x_window_geometry_get.3 b/doc/man/man3/ecore_x_window_geometry_get.3
new file mode 100644
index 0000000..820fc4c
--- /dev/null
+++ b/doc/man/man3/ecore_x_window_geometry_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_Window_Geometry_Group.3
diff --git a/doc/man/man3/ecore_x_window_gravity_set.3 b/doc/man/man3/ecore_x_window_gravity_set.3
new file mode 100644
index 0000000..ad8d038
--- /dev/null
+++ b/doc/man/man3/ecore_x_window_gravity_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_Window_Change_Attributes_Group.3
diff --git a/doc/man/man3/ecore_x_window_hide.3 b/doc/man/man3/ecore_x_window_hide.3
new file mode 100644
index 0000000..7c42dea
--- /dev/null
+++ b/doc/man/man3/ecore_x_window_hide.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_Window_Visibility_Group.3
diff --git a/doc/man/man3/ecore_x_window_ignore_list.3 b/doc/man/man3/ecore_x_window_ignore_list.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_window_ignore_list.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_window_ignore_set.3 b/doc/man/man3/ecore_x_window_ignore_set.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_window_ignore_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_window_input_new.3 b/doc/man/man3/ecore_x_window_input_new.3
new file mode 100644
index 0000000..a177757
--- /dev/null
+++ b/doc/man/man3/ecore_x_window_input_new.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_Window_Create_Group.3
diff --git a/doc/man/man3/ecore_x_window_lower.3 b/doc/man/man3/ecore_x_window_lower.3
new file mode 100644
index 0000000..2eabcd3
--- /dev/null
+++ b/doc/man/man3/ecore_x_window_lower.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_Window_Z_Order_Group.3
diff --git a/doc/man/man3/ecore_x_window_manager_argb_new.3 b/doc/man/man3/ecore_x_window_manager_argb_new.3
new file mode 100644
index 0000000..a177757
--- /dev/null
+++ b/doc/man/man3/ecore_x_window_manager_argb_new.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_Window_Create_Group.3
diff --git a/doc/man/man3/ecore_x_window_move.3 b/doc/man/man3/ecore_x_window_move.3
new file mode 100644
index 0000000..820fc4c
--- /dev/null
+++ b/doc/man/man3/ecore_x_window_move.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_Window_Geometry_Group.3
diff --git a/doc/man/man3/ecore_x_window_move_resize.3 b/doc/man/man3/ecore_x_window_move_resize.3
new file mode 100644
index 0000000..820fc4c
--- /dev/null
+++ b/doc/man/man3/ecore_x_window_move_resize.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_Window_Geometry_Group.3
diff --git a/doc/man/man3/ecore_x_window_new.3 b/doc/man/man3/ecore_x_window_new.3
new file mode 100644
index 0000000..a177757
--- /dev/null
+++ b/doc/man/man3/ecore_x_window_new.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_Window_Create_Group.3
diff --git a/doc/man/man3/ecore_x_window_override_argb_new.3 b/doc/man/man3/ecore_x_window_override_argb_new.3
new file mode 100644
index 0000000..a177757
--- /dev/null
+++ b/doc/man/man3/ecore_x_window_override_argb_new.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_Window_Create_Group.3
diff --git a/doc/man/man3/ecore_x_window_override_new.3 b/doc/man/man3/ecore_x_window_override_new.3
new file mode 100644
index 0000000..a177757
--- /dev/null
+++ b/doc/man/man3/ecore_x_window_override_new.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_Window_Create_Group.3
diff --git a/doc/man/man3/ecore_x_window_override_set.3 b/doc/man/man3/ecore_x_window_override_set.3
new file mode 100644
index 0000000..ad8d038
--- /dev/null
+++ b/doc/man/man3/ecore_x_window_override_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_Window_Change_Attributes_Group.3
diff --git a/doc/man/man3/ecore_x_window_parent_get.3 b/doc/man/man3/ecore_x_window_parent_get.3
new file mode 100644
index 0000000..d751c85
--- /dev/null
+++ b/doc/man/man3/ecore_x_window_parent_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_Window_Parent_Group.3
diff --git a/doc/man/man3/ecore_x_window_pixel_gravity_set.3 b/doc/man/man3/ecore_x_window_pixel_gravity_set.3
new file mode 100644
index 0000000..ad8d038
--- /dev/null
+++ b/doc/man/man3/ecore_x_window_pixel_gravity_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_Window_Change_Attributes_Group.3
diff --git a/doc/man/man3/ecore_x_window_pixmap_set.3 b/doc/man/man3/ecore_x_window_pixmap_set.3
new file mode 100644
index 0000000..ad8d038
--- /dev/null
+++ b/doc/man/man3/ecore_x_window_pixmap_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_Window_Change_Attributes_Group.3
diff --git a/doc/man/man3/ecore_x_window_prop_any_type.3 b/doc/man/man3/ecore_x_window_prop_any_type.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_window_prop_any_type.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_window_prop_atom_get_fetch.3 b/doc/man/man3/ecore_x_window_prop_atom_get_fetch.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_window_prop_atom_get_fetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_window_prop_atom_get_prefetch.3 b/doc/man/man3/ecore_x_window_prop_atom_get_prefetch.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_window_prop_atom_get_prefetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_window_prop_card32_get_fetch.3 b/doc/man/man3/ecore_x_window_prop_card32_get_fetch.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_window_prop_card32_get_fetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_window_prop_card32_get_prefetch.3 b/doc/man/man3/ecore_x_window_prop_card32_get_prefetch.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_window_prop_card32_get_prefetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_window_prop_list_fetch.3 b/doc/man/man3/ecore_x_window_prop_list_fetch.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_window_prop_list_fetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_window_prop_list_prefetch.3 b/doc/man/man3/ecore_x_window_prop_list_prefetch.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_window_prop_list_prefetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_window_prop_property_get.3 b/doc/man/man3/ecore_x_window_prop_property_get.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_window_prop_property_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_window_prop_property_get_fetch.3 b/doc/man/man3/ecore_x_window_prop_property_get_fetch.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_window_prop_property_get_fetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_window_prop_property_get_prefetch.3 b/doc/man/man3/ecore_x_window_prop_property_get_prefetch.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_window_prop_property_get_prefetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_window_prop_property_set.3 b/doc/man/man3/ecore_x_window_prop_property_set.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_window_prop_property_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_window_prop_protocol_list_get.3 b/doc/man/man3/ecore_x_window_prop_protocol_list_get.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_window_prop_protocol_list_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_window_prop_string_get.3 b/doc/man/man3/ecore_x_window_prop_string_get.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_window_prop_string_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_window_prop_string_get_fetch.3 b/doc/man/man3/ecore_x_window_prop_string_get_fetch.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_window_prop_string_get_fetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_window_prop_string_get_prefetch.3 b/doc/man/man3/ecore_x_window_prop_string_get_prefetch.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_window_prop_string_get_prefetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_window_prop_string_set.3 b/doc/man/man3/ecore_x_window_prop_string_set.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_window_prop_string_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_window_prop_window_get_fetch.3 b/doc/man/man3/ecore_x_window_prop_window_get_fetch.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_window_prop_window_get_fetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_window_prop_window_get_prefetch.3 b/doc/man/man3/ecore_x_window_prop_window_get_prefetch.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_window_prop_window_get_prefetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_window_prop_xid_get_fetch.3 b/doc/man/man3/ecore_x_window_prop_xid_get_fetch.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_window_prop_xid_get_fetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_window_prop_xid_get_prefetch.3 b/doc/man/man3/ecore_x_window_prop_xid_get_prefetch.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_window_prop_xid_get_prefetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_window_raise.3 b/doc/man/man3/ecore_x_window_raise.3
new file mode 100644
index 0000000..2eabcd3
--- /dev/null
+++ b/doc/man/man3/ecore_x_window_raise.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_Window_Z_Order_Group.3
diff --git a/doc/man/man3/ecore_x_window_reparent.3 b/doc/man/man3/ecore_x_window_reparent.3
new file mode 100644
index 0000000..d751c85
--- /dev/null
+++ b/doc/man/man3/ecore_x_window_reparent.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_Window_Parent_Group.3
diff --git a/doc/man/man3/ecore_x_window_resize.3 b/doc/man/man3/ecore_x_window_resize.3
new file mode 100644
index 0000000..820fc4c
--- /dev/null
+++ b/doc/man/man3/ecore_x_window_resize.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_Window_Geometry_Group.3
diff --git a/doc/man/man3/ecore_x_window_root_list.3 b/doc/man/man3/ecore_x_window_root_list.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_window_root_list.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_window_save_set_add.3 b/doc/man/man3/ecore_x_window_save_set_add.3
new file mode 100644
index 0000000..279e03b
--- /dev/null
+++ b/doc/man/man3/ecore_x_window_save_set_add.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_Window_Save_Set_Group.3
diff --git a/doc/man/man3/ecore_x_window_save_set_del.3 b/doc/man/man3/ecore_x_window_save_set_del.3
new file mode 100644
index 0000000..279e03b
--- /dev/null
+++ b/doc/man/man3/ecore_x_window_save_set_del.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_Window_Save_Set_Group.3
diff --git a/doc/man/man3/ecore_x_window_shape_mask_set.3 b/doc/man/man3/ecore_x_window_shape_mask_set.3
new file mode 100644
index 0000000..993c306
--- /dev/null
+++ b/doc/man/man3/ecore_x_window_shape_mask_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_Window_Shape.3
diff --git a/doc/man/man3/ecore_x_window_shape_rectangle_set.3 b/doc/man/man3/ecore_x_window_shape_rectangle_set.3
new file mode 100644
index 0000000..f0f8c0b
--- /dev/null
+++ b/doc/man/man3/ecore_x_window_shape_rectangle_set.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_Shape_Group.3
diff --git a/doc/man/man3/ecore_x_window_shape_rectangles_get.3 b/doc/man/man3/ecore_x_window_shape_rectangles_get.3
new file mode 100644
index 0000000..f0f8c0b
--- /dev/null
+++ b/doc/man/man3/ecore_x_window_shape_rectangles_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_Shape_Group.3
diff --git a/doc/man/man3/ecore_x_window_shape_rectangles_get_fetch.3 b/doc/man/man3/ecore_x_window_shape_rectangles_get_fetch.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_window_shape_rectangles_get_fetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_window_shape_rectangles_get_prefetch.3 b/doc/man/man3/ecore_x_window_shape_rectangles_get_prefetch.3
new file mode 100644
index 0000000..f0f8c0b
--- /dev/null
+++ b/doc/man/man3/ecore_x_window_shape_rectangles_get_prefetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_Shape_Group.3
diff --git a/doc/man/man3/ecore_x_window_show.3 b/doc/man/man3/ecore_x_window_show.3
new file mode 100644
index 0000000..7c42dea
--- /dev/null
+++ b/doc/man/man3/ecore_x_window_show.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_Window_Visibility_Group.3
diff --git a/doc/man/man3/ecore_x_window_size_get.3 b/doc/man/man3/ecore_x_window_size_get.3
new file mode 100644
index 0000000..820fc4c
--- /dev/null
+++ b/doc/man/man3/ecore_x_window_size_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_Window_Geometry_Group.3
diff --git a/doc/man/man3/ecore_x_window_sniff.3 b/doc/man/man3/ecore_x_window_sniff.3
new file mode 100644
index 0000000..ad8d038
--- /dev/null
+++ b/doc/man/man3/ecore_x_window_sniff.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_Window_Change_Attributes_Group.3
diff --git a/doc/man/man3/ecore_x_window_visible_get.3 b/doc/man/man3/ecore_x_window_visible_get.3
new file mode 100644
index 0000000..7c42dea
--- /dev/null
+++ b/doc/man/man3/ecore_x_window_visible_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_Window_Visibility_Group.3
diff --git a/doc/man/man3/ecore_x_xfixes_query.3 b/doc/man/man3/ecore_x_xfixes_query.3
new file mode 100644
index 0000000..5b8b3cd
--- /dev/null
+++ b/doc/man/man3/ecore_x_xfixes_query.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_Fixes_Group.3
diff --git a/doc/man/man3/ecore_x_xinerama_query.3 b/doc/man/man3/ecore_x_xinerama_query.3
new file mode 100644
index 0000000..d574130
--- /dev/null
+++ b/doc/man/man3/ecore_x_xinerama_query.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_Xinerama_Group.3
diff --git a/doc/man/man3/ecore_x_xinerama_query_screens_fetch.3 b/doc/man/man3/ecore_x_xinerama_query_screens_fetch.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_xinerama_query_screens_fetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_xinerama_query_screens_prefetch.3 b/doc/man/man3/ecore_x_xinerama_query_screens_prefetch.3
new file mode 100644
index 0000000..bd8aa08
--- /dev/null
+++ b/doc/man/man3/ecore_x_xinerama_query_screens_prefetch.3
@@ -0,0 +1 @@
+.so man3/Ecore_X.h.3
diff --git a/doc/man/man3/ecore_x_xinerama_screen_count_get.3 b/doc/man/man3/ecore_x_xinerama_screen_count_get.3
new file mode 100644
index 0000000..d574130
--- /dev/null
+++ b/doc/man/man3/ecore_x_xinerama_screen_count_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_Xinerama_Group.3
diff --git a/doc/man/man3/ecore_x_xinerama_screen_geometry_get.3 b/doc/man/man3/ecore_x_xinerama_screen_geometry_get.3
new file mode 100644
index 0000000..d574130
--- /dev/null
+++ b/doc/man/man3/ecore_x_xinerama_screen_geometry_get.3
@@ -0,0 +1 @@
+.so man3/Ecore_X_Xinerama_Group.3
diff --git a/doc/man/man3/exe.3 b/doc/man/man3/exe.3
new file mode 100644
index 0000000..25f94b5
--- /dev/null
+++ b/doc/man/man3/exe.3
@@ -0,0 +1 @@
+.so man3/_Ecore_Exe_Event_Add.3
diff --git a/doc/man/man3/exit_code.3 b/doc/man/man3/exit_code.3
new file mode 100644
index 0000000..0474ca6
--- /dev/null
+++ b/doc/man/man3/exit_code.3
@@ -0,0 +1 @@
+.so man3/_Ecore_Exe_Event_Del.3
diff --git a/doc/man/man3/exited.3 b/doc/man/man3/exited.3
new file mode 100644
index 0000000..0474ca6
--- /dev/null
+++ b/doc/man/man3/exited.3
@@ -0,0 +1 @@
+.so man3/_Ecore_Exe_Event_Del.3
diff --git a/doc/man/man3/ext_data.3 b/doc/man/man3/ext_data.3
new file mode 100644
index 0000000..7827787
--- /dev/null
+++ b/doc/man/man3/ext_data.3
@@ -0,0 +1 @@
+.so man3/_Ecore_Event_Signal_Exit.3
diff --git a/doc/man/man3/interrupt.3 b/doc/man/man3/interrupt.3
new file mode 100644
index 0000000..7827787
--- /dev/null
+++ b/doc/man/man3/interrupt.3
@@ -0,0 +1 @@
+.so man3/_Ecore_Event_Signal_Exit.3
diff --git a/doc/man/man3/key_compose.3 b/doc/man/man3/key_compose.3
new file mode 100644
index 0000000..14242a7
--- /dev/null
+++ b/doc/man/man3/key_compose.3
@@ -0,0 +1 @@
+.so man3/_Ecore_DirectFB_Event_Key_Down.3
diff --git a/doc/man/man3/keycompose.3 b/doc/man/man3/keycompose.3
new file mode 100644
index 0000000..04f72c6
--- /dev/null
+++ b/doc/man/man3/keycompose.3
@@ -0,0 +1 @@
+.so man3/_Ecore_Sdl_Event_Key_Down.3
diff --git a/doc/man/man3/keyname.3 b/doc/man/man3/keyname.3
new file mode 100644
index 0000000..676af3c
--- /dev/null
+++ b/doc/man/man3/keyname.3
@@ -0,0 +1 @@
+.so man3/_Ecore_Fb_Event_Key_Down.3
diff --git a/doc/man/man3/keysymbol.3 b/doc/man/man3/keysymbol.3
new file mode 100644
index 0000000..676af3c
--- /dev/null
+++ b/doc/man/man3/keysymbol.3
@@ -0,0 +1 @@
+.so man3/_Ecore_Fb_Event_Key_Down.3
diff --git a/doc/man/man3/lines.3 b/doc/man/man3/lines.3
new file mode 100644
index 0000000..5dd9744
--- /dev/null
+++ b/doc/man/man3/lines.3
@@ -0,0 +1 @@
+.so man3/_Ecore_Exe_Event_Data.3
diff --git a/doc/man/man3/listeners.3 b/doc/man/man3/listeners.3
new file mode 100644
index 0000000..cf2a8ff
--- /dev/null
+++ b/doc/man/man3/listeners.3
@@ -0,0 +1 @@
+.so man3/Ecore_Config_Prop.3
diff --git a/doc/man/man3/name.3 b/doc/man/man3/name.3
new file mode 100644
index 0000000..14242a7
--- /dev/null
+++ b/doc/man/man3/name.3
@@ -0,0 +1 @@
+.so man3/_Ecore_DirectFB_Event_Key_Down.3
diff --git a/doc/man/man3/num.3 b/doc/man/man3/num.3
new file mode 100644
index 0000000..630edc9
--- /dev/null
+++ b/doc/man/man3/num.3
@@ -0,0 +1 @@
+.so man3/_Ecore_Event_Signal_Realtime.3
diff --git a/doc/man/man3/number.3 b/doc/man/man3/number.3
new file mode 100644
index 0000000..fdfe800
--- /dev/null
+++ b/doc/man/man3/number.3
@@ -0,0 +1 @@
+.so man3/_Ecore_Event_Signal_User.3
diff --git a/doc/man/man3/parent.3 b/doc/man/man3/parent.3
new file mode 100644
index 0000000..cf2a8ff
--- /dev/null
+++ b/doc/man/man3/parent.3
@@ -0,0 +1 @@
+.so man3/Ecore_Config_Prop.3
diff --git a/doc/man/man3/pid.3 b/doc/man/man3/pid.3
new file mode 100644
index 0000000..0474ca6
--- /dev/null
+++ b/doc/man/man3/pid.3
@@ -0,0 +1 @@
+.so man3/_Ecore_Exe_Event_Del.3
diff --git a/doc/man/man3/quit.3 b/doc/man/man3/quit.3
new file mode 100644
index 0000000..7827787
--- /dev/null
+++ b/doc/man/man3/quit.3
@@ -0,0 +1 @@
+.so man3/_Ecore_Event_Signal_Exit.3
diff --git a/doc/man/man3/signalled.3 b/doc/man/man3/signalled.3
new file mode 100644
index 0000000..0474ca6
--- /dev/null
+++ b/doc/man/man3/signalled.3
@@ -0,0 +1 @@
+.so man3/_Ecore_Exe_Event_Del.3
diff --git a/doc/man/man3/size.3 b/doc/man/man3/size.3
new file mode 100644
index 0000000..5dd9744
--- /dev/null
+++ b/doc/man/man3/size.3
@@ -0,0 +1 @@
+.so man3/_Ecore_Exe_Event_Data.3
diff --git a/doc/man/man3/string.3 b/doc/man/man3/string.3
new file mode 100644
index 0000000..14242a7
--- /dev/null
+++ b/doc/man/man3/string.3
@@ -0,0 +1 @@
+.so man3/_Ecore_DirectFB_Event_Key_Down.3
diff --git a/doc/man/man3/terminate.3 b/doc/man/man3/terminate.3
new file mode 100644
index 0000000..7827787
--- /dev/null
+++ b/doc/man/man3/terminate.3
@@ -0,0 +1 @@
+.so man3/_Ecore_Event_Signal_Exit.3
diff --git a/doc/man/man3/todo.3 b/doc/man/man3/todo.3
new file mode 100644
index 0000000..65b761a
--- /dev/null
+++ b/doc/man/man3/todo.3
@@ -0,0 +1,71 @@
+.TH "todo" 3 "26 Aug 2007" "Ecore" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+todo \- Todo List
+ 
+.IP "\fBpage \fBEcore\fP \fP" 1c
+(1.0) Document API
+.PP
+.PP
+.PP
+ 
+.IP "\fBGlobal \fBecore_fb_callback_gain_set\fP \fP" 1c
+Documentation: Find out what this does. 
+.PP
+.PP
+ 
+.IP "\fBGlobal \fBecore_fb_callback_lose_set\fP \fP" 1c
+Documentation: Find out what this does. 
+.PP
+.PP
+ 
+.IP "\fBGroup \fBEcore_Path_Group\fP \fP" 1c
+Give this a better description. 
+.PP
+.PP
+ 
+.IP "\fBGlobal \fBecore_con_server_connected_get\fP \fP" 1c
+Check that this function does what the documenter believes it does. 
+.PP
+.PP
+ 
+.IP "\fBGlobal \fBecore_fb_led_blink_set\fP \fP" 1c
+Documentation: Work out what speed the units are in. 
+.PP
+.PP
+ 
+.IP "\fBGlobal \fBecore_ipc_server_add\fP \fP" 1c
+Need to add protocol type parameter to this function. 
+.PP
+.PP
+ 
+.IP "\fBGlobal \fBecore_ipc_server_connect\fP \fP" 1c
+Need to add protocol type parameter. 
+.PP
+.PP
+ 
+.IP "\fBGlobal \fBecore_ipc_server_send\fP \fP" 1c
+This function needs to become an IPC message. 
+.PP
+.PP
+ 
+.IP "\fBGlobal \fBecore_ipc_server_send\fP \fP" 1c
+Fix up the documentation: Make sure what ref_to and response are. 
+.PP
+.PP
+ 
+.IP "\fBGlobal \fBecore_ipc_client_send\fP \fP" 1c
+This function needs to become an IPC message. 
+.PP
+.PP
+ 
+.IP "\fBGlobal \fBecore_ipc_client_send\fP \fP" 1c
+Make sure ref_to and response parameters are described correctly. 
+.PP
+.PP
+ 
+.IP "\fBPage \fBEcore Abstract Data Types\fP \fP" 1c
+Finish this. 
+.PP
+
diff --git a/doc/man/man3/triple_click.3 b/doc/man/man3/triple_click.3
new file mode 100644
index 0000000..20a9804
--- /dev/null
+++ b/doc/man/man3/triple_click.3
@@ -0,0 +1 @@
+.so man3/_Ecore_Fb_Event_Mouse_Button_Down.3
diff --git a/doc/man/man3/x.3 b/doc/man/man3/x.3
new file mode 100644
index 0000000..20a9804
--- /dev/null
+++ b/doc/man/man3/x.3
@@ -0,0 +1 @@
+.so man3/_Ecore_Fb_Event_Mouse_Button_Down.3
diff --git a/doc/man/man3/y.3 b/doc/man/man3/y.3
new file mode 100644
index 0000000..20a9804
--- /dev/null
+++ b/doc/man/man3/y.3
@@ -0,0 +1 @@
+.so man3/_Ecore_Fb_Event_Mouse_Button_Down.3
diff --git a/ecore-evas.pc.in b/ecore-evas.pc.in
index 7c9a487..164b863 100644
--- a/ecore-evas.pc.in
+++ b/ecore-evas.pc.in
@@ -7,5 +7,5 @@ Name: ecore-evas
 Description: E core library, Evas module
 Requires: ecore @requirements_ecore_evas@
 Version: @VERSION@
-Libs: -L${libdir} @ecore_evas_libs@
+Libs: -L${libdir} -lecore_evas @ecore_evas_libs@
 Cflags: -I${includedir}
diff --git a/ecore.spec b/ecore.spec
index 0004e17..00bd7e8 100644
--- a/ecore.spec
+++ b/ecore.spec
@@ -35,7 +35,7 @@
 
 Summary: Enlightened Core X interface library
 Name: ecore
-Version: 0.9.9.042
+Version: 0.9.9.043
 Release: 0.%(date '+%Y%m%d')
 License: BSD
 Group: User Interface/X
diff --git a/ltmain.sh b/ltmain.sh
index 2160ef7..e420fac 100644
--- a/ltmain.sh
+++ b/ltmain.sh
@@ -2,7 +2,7 @@
 # NOTE: Changing this file will not affect anything until you rerun configure.
 #
 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006,
-# 2007  Free Software Foundation, Inc.
+# 2007, 2008  Free Software Foundation, Inc.
 # Originally by Gordon Matzigkeit <gord at gnu.ai.mit.edu>, 1996
 #
 # This program is free software; you can redistribute it and/or modify
@@ -43,8 +43,8 @@ EXIT_FAILURE=1
 
 PROGRAM=ltmain.sh
 PACKAGE=libtool
-VERSION="1.5.24 Debian 1.5.24-1ubuntu1"
-TIMESTAMP=" (1.1220.2.456 2007/06/24 02:25:32)"
+VERSION="1.5.26 Debian 1.5.26-1ubuntu1"
+TIMESTAMP=" (1.1220.2.493 2008/02/01 16:58:18)"
 
 # Be Bourne compatible (taken from Autoconf:_AS_BOURNE_COMPATIBLE).
 if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
@@ -113,15 +113,21 @@ esac
 # These must not be set unconditionally because not all systems understand
 # e.g. LANG=C (notably SCO).
 # We save the old values to restore during execute mode.
-for lt_var in LANG LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
+lt_env=
+for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
 do
   eval "if test \"\${$lt_var+set}\" = set; then
 	  save_$lt_var=\$$lt_var
+	  lt_env=\"$lt_var=\$$lt_var \$lt_env\"
 	  $lt_var=C
 	  export $lt_var
 	fi"
 done
 
+if test -n "$lt_env"; then
+  lt_env="env $lt_env"
+fi
+
 # Make sure IFS has a sensible default
 lt_nl='
 '
@@ -485,7 +491,7 @@ do
     echo "\
 $PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP
 
-Copyright (C) 2007  Free Software Foundation, Inc.
+Copyright (C) 2008  Free Software Foundation, Inc.
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
     exit $?
@@ -788,6 +794,7 @@ if test -z "$show_help"; then
     *.for) xform=for ;;
     *.java) xform=java ;;
     *.obj) xform=obj ;;
+    *.sx) xform=sx ;;
     esac
 
     libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"`
@@ -956,7 +963,7 @@ EOF
       $run $rm "$lobj" "$output_obj"
 
       $show "$command"
-      if $run eval "$command"; then :
+      if $run eval $lt_env "$command"; then :
       else
 	test -n "$output_obj" && $run $rm $removelist
 	exit $EXIT_FAILURE
@@ -1028,7 +1035,7 @@ EOF
       command="$command$suppress_output"
       $run $rm "$obj" "$output_obj"
       $show "$command"
-      if $run eval "$command"; then :
+      if $run eval $lt_env "$command"; then :
       else
 	$run $rm $removelist
 	exit $EXIT_FAILURE
@@ -1161,6 +1168,7 @@ EOF
     thread_safe=no
     vinfo=
     vinfo_number=no
+    single_module="${wl}-single_module"
 
     func_infer_tag $base_compile
 
@@ -1646,6 +1654,11 @@ EOF
 	continue
 	;;
 
+      -multi_module)
+	single_module="${wl}-multi_module"
+	continue
+	;;
+
       -module)
 	module=yes
 	continue
@@ -2152,7 +2165,12 @@ EOF
 	    continue
 	  fi
 	  name=`$echo "X$deplib" | $Xsed -e 's/^-l//'`
-	  for searchdir in $newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path; do
+	  if test "$linkmode" = lib; then
+	    searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path"
+	  else
+	    searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path"
+	  fi
+	  for searchdir in $searchdirs; do
 	    for search_ext in .la $std_shrext .so .a; do
 	      # Search the libtool library
 	      lib="$searchdir/lib${name}${search_ext}"
@@ -2948,12 +2966,18 @@ EOF
 		  # we do not want to link against static libs,
 		  # but need to link against shared
 		  eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib`
+		  eval deplibdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
 		  if test -n "$deplibrary_names" ; then
 		    for tmp in $deplibrary_names ; do
 		      depdepl=$tmp
 		    done
-		    if test -f "$path/$depdepl" ; then
+		    if test -f "$deplibdir/$depdepl" ; then
+		      depdepl="$deplibdir/$depdepl"
+	      	    elif test -f "$path/$depdepl" ; then
 		      depdepl="$path/$depdepl"
+		    else
+		      # Can't find it, oh well...
+		      depdepl=
 		    fi
 		    # do not add paths which are already there
 		    case " $newlib_search_path " in
@@ -3101,9 +3125,10 @@ EOF
 
     case $linkmode in
     oldlib)
-      if test -n "$deplibs"; then
-	$echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1>&2
-      fi
+      case " $deplibs" in
+      *\ -l* | *\ -L*)
+	$echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1>&2 ;;
+      esac
 
       if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
 	$echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2
@@ -4245,9 +4270,10 @@ EOF
       ;;
 
     obj)
-      if test -n "$deplibs"; then
-	$echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2
-      fi
+      case " $deplibs" in
+      *\ -l* | *\ -L*)
+	$echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2 ;;
+      esac
 
       if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
 	$echo "$modename: warning: \`-dlopen' is ignored for objects" 1>&2
@@ -6486,7 +6512,7 @@ relink_command=\"$relink_command\""
       fi
 
       # Restore saved environment variables
-      for lt_var in LANG LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
+      for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
       do
 	eval "if test \"\${save_$lt_var+set}\" = set; then
 		$lt_var=\$save_$lt_var; export $lt_var
diff --git a/src/Makefile.in b/src/Makefile.in
index e240c9a..9062b83 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -84,6 +84,8 @@ BUILD_ECORE_EVAS_DIRECTFB_TRUE = @BUILD_ECORE_EVAS_DIRECTFB_TRUE@
 BUILD_ECORE_EVAS_FALSE = @BUILD_ECORE_EVAS_FALSE@
 BUILD_ECORE_EVAS_FB_FALSE = @BUILD_ECORE_EVAS_FB_FALSE@
 BUILD_ECORE_EVAS_FB_TRUE = @BUILD_ECORE_EVAS_FB_TRUE@
+BUILD_ECORE_EVAS_SDL_FALSE = @BUILD_ECORE_EVAS_SDL_FALSE@
+BUILD_ECORE_EVAS_SDL_TRUE = @BUILD_ECORE_EVAS_SDL_TRUE@
 BUILD_ECORE_EVAS_TRUE = @BUILD_ECORE_EVAS_TRUE@
 BUILD_ECORE_EVAS_X11_16_FALSE = @BUILD_ECORE_EVAS_X11_16_FALSE@
 BUILD_ECORE_EVAS_X11_16_TRUE = @BUILD_ECORE_EVAS_X11_16_TRUE@
@@ -132,6 +134,7 @@ DEPDIR = @DEPDIR@
 DIRECTFB_CFLAGS = @DIRECTFB_CFLAGS@
 DIRECTFB_LIBS = @DIRECTFB_LIBS@
 DLLTOOL = @DLLTOOL@
+DSYMUTIL = @DSYMUTIL@
 ECHO = @ECHO@
 ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
@@ -140,7 +143,31 @@ EET_CFLAGS = @EET_CFLAGS@
 EET_LIBS = @EET_LIBS@
 EGREP = @EGREP@
 EVAS_CFLAGS = @EVAS_CFLAGS@
+EVAS_DIRECT3D_CFLAGS = @EVAS_DIRECT3D_CFLAGS@
+EVAS_DIRECT3D_LIBS = @EVAS_DIRECT3D_LIBS@
+EVAS_DIRECTFB_CFLAGS = @EVAS_DIRECTFB_CFLAGS@
+EVAS_DIRECTFB_LIBS = @EVAS_DIRECTFB_LIBS@
+EVAS_FB_CFLAGS = @EVAS_FB_CFLAGS@
+EVAS_FB_LIBS = @EVAS_FB_LIBS@
 EVAS_LIBS = @EVAS_LIBS@
+EVAS_OPENGL_GLEW_CFLAGS = @EVAS_OPENGL_GLEW_CFLAGS@
+EVAS_OPENGL_GLEW_LIBS = @EVAS_OPENGL_GLEW_LIBS@
+EVAS_OPENGL_X11_CFLAGS = @EVAS_OPENGL_X11_CFLAGS@
+EVAS_OPENGL_X11_LIBS = @EVAS_OPENGL_X11_LIBS@
+EVAS_SOFTWARE_16_DDRAW_CFLAGS = @EVAS_SOFTWARE_16_DDRAW_CFLAGS@
+EVAS_SOFTWARE_16_DDRAW_LIBS = @EVAS_SOFTWARE_16_DDRAW_LIBS@
+EVAS_SOFTWARE_16_X11_CFLAGS = @EVAS_SOFTWARE_16_X11_CFLAGS@
+EVAS_SOFTWARE_16_X11_LIBS = @EVAS_SOFTWARE_16_X11_LIBS@
+EVAS_SOFTWARE_BUFFER_CFLAGS = @EVAS_SOFTWARE_BUFFER_CFLAGS@
+EVAS_SOFTWARE_BUFFER_LIBS = @EVAS_SOFTWARE_BUFFER_LIBS@
+EVAS_SOFTWARE_DDRAW_CFLAGS = @EVAS_SOFTWARE_DDRAW_CFLAGS@
+EVAS_SOFTWARE_DDRAW_LIBS = @EVAS_SOFTWARE_DDRAW_LIBS@
+EVAS_SOFTWARE_SDL_CFLAGS = @EVAS_SOFTWARE_SDL_CFLAGS@
+EVAS_SOFTWARE_SDL_LIBS = @EVAS_SOFTWARE_SDL_LIBS@
+EVAS_SOFTWARE_X11_CFLAGS = @EVAS_SOFTWARE_X11_CFLAGS@
+EVAS_SOFTWARE_X11_LIBS = @EVAS_SOFTWARE_X11_LIBS@
+EVAS_XRENDER_X11_CFLAGS = @EVAS_XRENDER_X11_CFLAGS@
+EVAS_XRENDER_X11_LIBS = @EVAS_XRENDER_X11_LIBS@
 EXEEXT = @EXEEXT@
 GREP = @GREP@
 INSTALL_DATA = @INSTALL_DATA@
@@ -154,6 +181,7 @@ LIBTOOL = @LIBTOOL@
 LN_S = @LN_S@
 LTLIBOBJS = @LTLIBOBJS@
 MAKEINFO = @MAKEINFO@
+NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 PACKAGE = @PACKAGE@
@@ -166,6 +194,7 @@ PATH_SEPARATOR = @PATH_SEPARATOR@
 PKG_CONFIG = @PKG_CONFIG@
 RANLIB = @RANLIB@
 SDL_CFLAGS = @SDL_CFLAGS@
+SDL_CONFIG = @SDL_CONFIG@
 SDL_LIBS = @SDL_LIBS@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
@@ -198,6 +227,8 @@ XCB_XINERAMA_CFLAGS = @XCB_XINERAMA_CFLAGS@
 XCB_XINERAMA_LIBS = @XCB_XINERAMA_LIBS@
 XCB_XPRINT_CFLAGS = @XCB_XPRINT_CFLAGS@
 XCB_XPRINT_LIBS = @XCB_XPRINT_LIBS@
+XCB_XTEST_CFLAGS = @XCB_XTEST_CFLAGS@
+XCB_XTEST_LIBS = @XCB_XTEST_LIBS@
 XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
 XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -217,6 +248,8 @@ XRENDER_CFLAGS = @XRENDER_CFLAGS@
 XRENDER_LIBS = @XRENDER_LIBS@
 XSS_CFLAGS = @XSS_CFLAGS@
 XSS_LIBS = @XSS_LIBS@
+XTEST_CFLAGS = @XTEST_CFLAGS@
+XTEST_LIBS = @XTEST_LIBS@
 X_CFLAGS = @X_CFLAGS@
 X_EXTRA_LIBS = @X_EXTRA_LIBS@
 X_LIBS = @X_LIBS@
diff --git a/src/bin/Makefile.in b/src/bin/Makefile.in
index ccd0d29..874603a 100644
--- a/src/bin/Makefile.in
+++ b/src/bin/Makefile.in
@@ -97,6 +97,8 @@ BUILD_ECORE_EVAS_DIRECTFB_TRUE = @BUILD_ECORE_EVAS_DIRECTFB_TRUE@
 BUILD_ECORE_EVAS_FALSE = @BUILD_ECORE_EVAS_FALSE@
 BUILD_ECORE_EVAS_FB_FALSE = @BUILD_ECORE_EVAS_FB_FALSE@
 BUILD_ECORE_EVAS_FB_TRUE = @BUILD_ECORE_EVAS_FB_TRUE@
+BUILD_ECORE_EVAS_SDL_FALSE = @BUILD_ECORE_EVAS_SDL_FALSE@
+BUILD_ECORE_EVAS_SDL_TRUE = @BUILD_ECORE_EVAS_SDL_TRUE@
 BUILD_ECORE_EVAS_TRUE = @BUILD_ECORE_EVAS_TRUE@
 BUILD_ECORE_EVAS_X11_16_FALSE = @BUILD_ECORE_EVAS_X11_16_FALSE@
 BUILD_ECORE_EVAS_X11_16_TRUE = @BUILD_ECORE_EVAS_X11_16_TRUE@
@@ -145,6 +147,7 @@ DEPDIR = @DEPDIR@
 DIRECTFB_CFLAGS = @DIRECTFB_CFLAGS@
 DIRECTFB_LIBS = @DIRECTFB_LIBS@
 DLLTOOL = @DLLTOOL@
+DSYMUTIL = @DSYMUTIL@
 ECHO = @ECHO@
 ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
@@ -153,7 +156,31 @@ EET_CFLAGS = @EET_CFLAGS@
 EET_LIBS = @EET_LIBS@
 EGREP = @EGREP@
 EVAS_CFLAGS = @EVAS_CFLAGS@
+EVAS_DIRECT3D_CFLAGS = @EVAS_DIRECT3D_CFLAGS@
+EVAS_DIRECT3D_LIBS = @EVAS_DIRECT3D_LIBS@
+EVAS_DIRECTFB_CFLAGS = @EVAS_DIRECTFB_CFLAGS@
+EVAS_DIRECTFB_LIBS = @EVAS_DIRECTFB_LIBS@
+EVAS_FB_CFLAGS = @EVAS_FB_CFLAGS@
+EVAS_FB_LIBS = @EVAS_FB_LIBS@
 EVAS_LIBS = @EVAS_LIBS@
+EVAS_OPENGL_GLEW_CFLAGS = @EVAS_OPENGL_GLEW_CFLAGS@
+EVAS_OPENGL_GLEW_LIBS = @EVAS_OPENGL_GLEW_LIBS@
+EVAS_OPENGL_X11_CFLAGS = @EVAS_OPENGL_X11_CFLAGS@
+EVAS_OPENGL_X11_LIBS = @EVAS_OPENGL_X11_LIBS@
+EVAS_SOFTWARE_16_DDRAW_CFLAGS = @EVAS_SOFTWARE_16_DDRAW_CFLAGS@
+EVAS_SOFTWARE_16_DDRAW_LIBS = @EVAS_SOFTWARE_16_DDRAW_LIBS@
+EVAS_SOFTWARE_16_X11_CFLAGS = @EVAS_SOFTWARE_16_X11_CFLAGS@
+EVAS_SOFTWARE_16_X11_LIBS = @EVAS_SOFTWARE_16_X11_LIBS@
+EVAS_SOFTWARE_BUFFER_CFLAGS = @EVAS_SOFTWARE_BUFFER_CFLAGS@
+EVAS_SOFTWARE_BUFFER_LIBS = @EVAS_SOFTWARE_BUFFER_LIBS@
+EVAS_SOFTWARE_DDRAW_CFLAGS = @EVAS_SOFTWARE_DDRAW_CFLAGS@
+EVAS_SOFTWARE_DDRAW_LIBS = @EVAS_SOFTWARE_DDRAW_LIBS@
+EVAS_SOFTWARE_SDL_CFLAGS = @EVAS_SOFTWARE_SDL_CFLAGS@
+EVAS_SOFTWARE_SDL_LIBS = @EVAS_SOFTWARE_SDL_LIBS@
+EVAS_SOFTWARE_X11_CFLAGS = @EVAS_SOFTWARE_X11_CFLAGS@
+EVAS_SOFTWARE_X11_LIBS = @EVAS_SOFTWARE_X11_LIBS@
+EVAS_XRENDER_X11_CFLAGS = @EVAS_XRENDER_X11_CFLAGS@
+EVAS_XRENDER_X11_LIBS = @EVAS_XRENDER_X11_LIBS@
 EXEEXT = @EXEEXT@
 GREP = @GREP@
 INSTALL_DATA = @INSTALL_DATA@
@@ -167,6 +194,7 @@ LIBTOOL = @LIBTOOL@
 LN_S = @LN_S@
 LTLIBOBJS = @LTLIBOBJS@
 MAKEINFO = @MAKEINFO@
+NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 PACKAGE = @PACKAGE@
@@ -179,6 +207,7 @@ PATH_SEPARATOR = @PATH_SEPARATOR@
 PKG_CONFIG = @PKG_CONFIG@
 RANLIB = @RANLIB@
 SDL_CFLAGS = @SDL_CFLAGS@
+SDL_CONFIG = @SDL_CONFIG@
 SDL_LIBS = @SDL_LIBS@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
@@ -211,6 +240,8 @@ XCB_XINERAMA_CFLAGS = @XCB_XINERAMA_CFLAGS@
 XCB_XINERAMA_LIBS = @XCB_XINERAMA_LIBS@
 XCB_XPRINT_CFLAGS = @XCB_XPRINT_CFLAGS@
 XCB_XPRINT_LIBS = @XCB_XPRINT_LIBS@
+XCB_XTEST_CFLAGS = @XCB_XTEST_CFLAGS@
+XCB_XTEST_LIBS = @XCB_XTEST_LIBS@
 XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
 XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -230,6 +261,8 @@ XRENDER_CFLAGS = @XRENDER_CFLAGS@
 XRENDER_LIBS = @XRENDER_LIBS@
 XSS_CFLAGS = @XSS_CFLAGS@
 XSS_LIBS = @XSS_LIBS@
+XTEST_CFLAGS = @XTEST_CFLAGS@
+XTEST_LIBS = @XTEST_LIBS@
 X_CFLAGS = @X_CFLAGS@
 X_EXTRA_LIBS = @X_EXTRA_LIBS@
 X_LIBS = @X_LIBS@
diff --git a/src/lib/Makefile.in b/src/lib/Makefile.in
index ffbe401..895d026 100644
--- a/src/lib/Makefile.in
+++ b/src/lib/Makefile.in
@@ -84,6 +84,8 @@ BUILD_ECORE_EVAS_DIRECTFB_TRUE = @BUILD_ECORE_EVAS_DIRECTFB_TRUE@
 BUILD_ECORE_EVAS_FALSE = @BUILD_ECORE_EVAS_FALSE@
 BUILD_ECORE_EVAS_FB_FALSE = @BUILD_ECORE_EVAS_FB_FALSE@
 BUILD_ECORE_EVAS_FB_TRUE = @BUILD_ECORE_EVAS_FB_TRUE@
+BUILD_ECORE_EVAS_SDL_FALSE = @BUILD_ECORE_EVAS_SDL_FALSE@
+BUILD_ECORE_EVAS_SDL_TRUE = @BUILD_ECORE_EVAS_SDL_TRUE@
 BUILD_ECORE_EVAS_TRUE = @BUILD_ECORE_EVAS_TRUE@
 BUILD_ECORE_EVAS_X11_16_FALSE = @BUILD_ECORE_EVAS_X11_16_FALSE@
 BUILD_ECORE_EVAS_X11_16_TRUE = @BUILD_ECORE_EVAS_X11_16_TRUE@
@@ -132,6 +134,7 @@ DEPDIR = @DEPDIR@
 DIRECTFB_CFLAGS = @DIRECTFB_CFLAGS@
 DIRECTFB_LIBS = @DIRECTFB_LIBS@
 DLLTOOL = @DLLTOOL@
+DSYMUTIL = @DSYMUTIL@
 ECHO = @ECHO@
 ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
@@ -140,7 +143,31 @@ EET_CFLAGS = @EET_CFLAGS@
 EET_LIBS = @EET_LIBS@
 EGREP = @EGREP@
 EVAS_CFLAGS = @EVAS_CFLAGS@
+EVAS_DIRECT3D_CFLAGS = @EVAS_DIRECT3D_CFLAGS@
+EVAS_DIRECT3D_LIBS = @EVAS_DIRECT3D_LIBS@
+EVAS_DIRECTFB_CFLAGS = @EVAS_DIRECTFB_CFLAGS@
+EVAS_DIRECTFB_LIBS = @EVAS_DIRECTFB_LIBS@
+EVAS_FB_CFLAGS = @EVAS_FB_CFLAGS@
+EVAS_FB_LIBS = @EVAS_FB_LIBS@
 EVAS_LIBS = @EVAS_LIBS@
+EVAS_OPENGL_GLEW_CFLAGS = @EVAS_OPENGL_GLEW_CFLAGS@
+EVAS_OPENGL_GLEW_LIBS = @EVAS_OPENGL_GLEW_LIBS@
+EVAS_OPENGL_X11_CFLAGS = @EVAS_OPENGL_X11_CFLAGS@
+EVAS_OPENGL_X11_LIBS = @EVAS_OPENGL_X11_LIBS@
+EVAS_SOFTWARE_16_DDRAW_CFLAGS = @EVAS_SOFTWARE_16_DDRAW_CFLAGS@
+EVAS_SOFTWARE_16_DDRAW_LIBS = @EVAS_SOFTWARE_16_DDRAW_LIBS@
+EVAS_SOFTWARE_16_X11_CFLAGS = @EVAS_SOFTWARE_16_X11_CFLAGS@
+EVAS_SOFTWARE_16_X11_LIBS = @EVAS_SOFTWARE_16_X11_LIBS@
+EVAS_SOFTWARE_BUFFER_CFLAGS = @EVAS_SOFTWARE_BUFFER_CFLAGS@
+EVAS_SOFTWARE_BUFFER_LIBS = @EVAS_SOFTWARE_BUFFER_LIBS@
+EVAS_SOFTWARE_DDRAW_CFLAGS = @EVAS_SOFTWARE_DDRAW_CFLAGS@
+EVAS_SOFTWARE_DDRAW_LIBS = @EVAS_SOFTWARE_DDRAW_LIBS@
+EVAS_SOFTWARE_SDL_CFLAGS = @EVAS_SOFTWARE_SDL_CFLAGS@
+EVAS_SOFTWARE_SDL_LIBS = @EVAS_SOFTWARE_SDL_LIBS@
+EVAS_SOFTWARE_X11_CFLAGS = @EVAS_SOFTWARE_X11_CFLAGS@
+EVAS_SOFTWARE_X11_LIBS = @EVAS_SOFTWARE_X11_LIBS@
+EVAS_XRENDER_X11_CFLAGS = @EVAS_XRENDER_X11_CFLAGS@
+EVAS_XRENDER_X11_LIBS = @EVAS_XRENDER_X11_LIBS@
 EXEEXT = @EXEEXT@
 GREP = @GREP@
 INSTALL_DATA = @INSTALL_DATA@
@@ -154,6 +181,7 @@ LIBTOOL = @LIBTOOL@
 LN_S = @LN_S@
 LTLIBOBJS = @LTLIBOBJS@
 MAKEINFO = @MAKEINFO@
+NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 PACKAGE = @PACKAGE@
@@ -166,6 +194,7 @@ PATH_SEPARATOR = @PATH_SEPARATOR@
 PKG_CONFIG = @PKG_CONFIG@
 RANLIB = @RANLIB@
 SDL_CFLAGS = @SDL_CFLAGS@
+SDL_CONFIG = @SDL_CONFIG@
 SDL_LIBS = @SDL_LIBS@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
@@ -198,6 +227,8 @@ XCB_XINERAMA_CFLAGS = @XCB_XINERAMA_CFLAGS@
 XCB_XINERAMA_LIBS = @XCB_XINERAMA_LIBS@
 XCB_XPRINT_CFLAGS = @XCB_XPRINT_CFLAGS@
 XCB_XPRINT_LIBS = @XCB_XPRINT_LIBS@
+XCB_XTEST_CFLAGS = @XCB_XTEST_CFLAGS@
+XCB_XTEST_LIBS = @XCB_XTEST_LIBS@
 XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
 XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -217,6 +248,8 @@ XRENDER_CFLAGS = @XRENDER_CFLAGS@
 XRENDER_LIBS = @XRENDER_LIBS@
 XSS_CFLAGS = @XSS_CFLAGS@
 XSS_LIBS = @XSS_LIBS@
+XTEST_CFLAGS = @XTEST_CFLAGS@
+XTEST_LIBS = @XTEST_LIBS@
 X_CFLAGS = @X_CFLAGS@
 X_EXTRA_LIBS = @X_EXTRA_LIBS@
 X_LIBS = @X_LIBS@
diff --git a/src/lib/ecore/Ecore.h b/src/lib/ecore/Ecore.h
index 20870bf..834f4c2 100644
--- a/src/lib/ecore/Ecore.h
+++ b/src/lib/ecore/Ecore.h
@@ -61,6 +61,9 @@
 extern "C" {
 #endif
 
+#define ECORE_CALLBACK_CANCEL 0 /**< Return value to remove a callback */
+#define ECORE_CALLBACK_RENEW 1  /**< Return value to keep a callback */ 
+
 #define ECORE_EVENT_NONE            0
 #define ECORE_EVENT_SIGNAL_USER     1 /**< User signal event */
 #define ECORE_EVENT_SIGNAL_HUP      2 /**< Hup signal event */
@@ -92,7 +95,8 @@ extern "C" {
 	ECORE_EXE_PIPE_ERROR_LINE_BUFFERED = 16, /**< Errors are buffered until a newline and delivered 1 event per line */
 	ECORE_EXE_PIPE_AUTO = 32, /**< stdout and stderr are buffered automatically */
 	ECORE_EXE_RESPAWN = 64, /**< FIXME: Exe is restarted if it dies */
-	ECORE_EXE_USE_SH = 128 /**< Use /bin/sh to run the command. */
+	ECORE_EXE_USE_SH = 128, /**< Use /bin/sh to run the command. */
+	ECORE_EXE_NOT_LEADER = 256 /**< Do not use setsid() to have the executed process be its own session leader */
      };
    typedef enum _Ecore_Exe_Flags Ecore_Exe_Flags;
 
@@ -126,9 +130,6 @@ extern "C" {
    typedef struct _Ecore_Exe_Event_Data_Line   Ecore_Exe_Event_Data_Line; /**< Lines from a child process */
    typedef struct _Ecore_Exe_Event_Data        Ecore_Exe_Event_Data; /**< Data from a child process */
 
-#ifndef _WIN32
-#endif
-
    struct _Ecore_Event_Signal_User /** User signal event */
      {
 	int   number; /**< The signal number. Either 1 or 2 */
@@ -277,6 +278,8 @@ extern "C" {
    EAPI Ecore_Timer *ecore_timer_add(double in, int (*func) (void *data), const void *data);
    EAPI void        *ecore_timer_del(Ecore_Timer *timer);
    EAPI void         ecore_timer_interval_set(Ecore_Timer *timer, double in);
+   EAPI void         ecore_timer_freeze(Ecore_Timer *timer);
+   EAPI void         ecore_timer_thaw(Ecore_Timer *timer);
 
    EAPI Ecore_Animator *ecore_animator_add(int (*func) (void *data), const void *data);
    EAPI void           *ecore_animator_del(Ecore_Animator *animator);
diff --git a/src/lib/ecore/Ecore_Data.h b/src/lib/ecore/Ecore_Data.h
index 9608f38..1957f7d 100644
--- a/src/lib/ecore/Ecore_Data.h
+++ b/src/lib/ecore/Ecore_Data.h
@@ -178,11 +178,11 @@ extern "C" {
    EAPI int ecore_dlist_prepend_list(Ecore_DList * _e_dlist, Ecore_DList * prepend);
    
    /* Info about list's state */
-# define ecore_dlist_first(list) ecore_list_first(ECORE_LIST(list))
-# define ecore_dlist_last(list) ecore_list_last(ECORE_LIST(list))
+# define ecore_dlist_first(list) ecore_list_first(list)
+# define ecore_dlist_last(list) ecore_list_last(list)
    EAPI void *ecore_dlist_current(Ecore_DList *list);
    EAPI int ecore_dlist_index(Ecore_DList *list);
-# define ecore_dlist_count(list) ecore_list_count(ECORE_LIST(list))
+# define ecore_dlist_count(list) ecore_list_count(list)
    
    /* Removing items from the list */
    EAPI void *ecore_dlist_remove(Ecore_DList * _e_dlist);
@@ -192,7 +192,7 @@ extern "C" {
    
    /* Traversing the list */
 # define ecore_dlist_for_each(list, function, user_data) \
-   ecore_list_for_each(ECORE_LIST(list), function, user_data)
+   ecore_list_for_each(list, function, user_data)
    EAPI void *ecore_dlist_first_goto(Ecore_DList * _e_dlist);
    EAPI void *ecore_dlist_last_goto(Ecore_DList * _e_dlist);
    EAPI void *ecore_dlist_index_goto(Ecore_DList * _e_dlist, int index);
diff --git a/src/lib/ecore/Ecore_Str.h b/src/lib/ecore/Ecore_Str.h
index 025f702..20ec003 100644
--- a/src/lib/ecore/Ecore_Str.h
+++ b/src/lib/ecore/Ecore_Str.h
@@ -46,6 +46,8 @@ EAPI size_t ecore_strlcat(char *dst, const char *src, size_t siz);
 EAPI int ecore_str_has_prefix(const char *str, const char *prefix);
 
 EAPI int ecore_str_has_suffix(const char *str, const char *suffix);
+EAPI int ecore_str_has_extension(const char *str, const char *ext);
+
 EAPI char **ecore_str_split(const char *string, const char *delimiter, 
                             int max_tokens);
 
diff --git a/src/lib/ecore/Makefile.in b/src/lib/ecore/Makefile.in
index 3b13172..6220d23 100644
--- a/src/lib/ecore/Makefile.in
+++ b/src/lib/ecore/Makefile.in
@@ -111,6 +111,8 @@ BUILD_ECORE_EVAS_DIRECTFB_TRUE = @BUILD_ECORE_EVAS_DIRECTFB_TRUE@
 BUILD_ECORE_EVAS_FALSE = @BUILD_ECORE_EVAS_FALSE@
 BUILD_ECORE_EVAS_FB_FALSE = @BUILD_ECORE_EVAS_FB_FALSE@
 BUILD_ECORE_EVAS_FB_TRUE = @BUILD_ECORE_EVAS_FB_TRUE@
+BUILD_ECORE_EVAS_SDL_FALSE = @BUILD_ECORE_EVAS_SDL_FALSE@
+BUILD_ECORE_EVAS_SDL_TRUE = @BUILD_ECORE_EVAS_SDL_TRUE@
 BUILD_ECORE_EVAS_TRUE = @BUILD_ECORE_EVAS_TRUE@
 BUILD_ECORE_EVAS_X11_16_FALSE = @BUILD_ECORE_EVAS_X11_16_FALSE@
 BUILD_ECORE_EVAS_X11_16_TRUE = @BUILD_ECORE_EVAS_X11_16_TRUE@
@@ -159,6 +161,7 @@ DEPDIR = @DEPDIR@
 DIRECTFB_CFLAGS = @DIRECTFB_CFLAGS@
 DIRECTFB_LIBS = @DIRECTFB_LIBS@
 DLLTOOL = @DLLTOOL@
+DSYMUTIL = @DSYMUTIL@
 ECHO = @ECHO@
 ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
@@ -167,7 +170,31 @@ EET_CFLAGS = @EET_CFLAGS@
 EET_LIBS = @EET_LIBS@
 EGREP = @EGREP@
 EVAS_CFLAGS = @EVAS_CFLAGS@
+EVAS_DIRECT3D_CFLAGS = @EVAS_DIRECT3D_CFLAGS@
+EVAS_DIRECT3D_LIBS = @EVAS_DIRECT3D_LIBS@
+EVAS_DIRECTFB_CFLAGS = @EVAS_DIRECTFB_CFLAGS@
+EVAS_DIRECTFB_LIBS = @EVAS_DIRECTFB_LIBS@
+EVAS_FB_CFLAGS = @EVAS_FB_CFLAGS@
+EVAS_FB_LIBS = @EVAS_FB_LIBS@
 EVAS_LIBS = @EVAS_LIBS@
+EVAS_OPENGL_GLEW_CFLAGS = @EVAS_OPENGL_GLEW_CFLAGS@
+EVAS_OPENGL_GLEW_LIBS = @EVAS_OPENGL_GLEW_LIBS@
+EVAS_OPENGL_X11_CFLAGS = @EVAS_OPENGL_X11_CFLAGS@
+EVAS_OPENGL_X11_LIBS = @EVAS_OPENGL_X11_LIBS@
+EVAS_SOFTWARE_16_DDRAW_CFLAGS = @EVAS_SOFTWARE_16_DDRAW_CFLAGS@
+EVAS_SOFTWARE_16_DDRAW_LIBS = @EVAS_SOFTWARE_16_DDRAW_LIBS@
+EVAS_SOFTWARE_16_X11_CFLAGS = @EVAS_SOFTWARE_16_X11_CFLAGS@
+EVAS_SOFTWARE_16_X11_LIBS = @EVAS_SOFTWARE_16_X11_LIBS@
+EVAS_SOFTWARE_BUFFER_CFLAGS = @EVAS_SOFTWARE_BUFFER_CFLAGS@
+EVAS_SOFTWARE_BUFFER_LIBS = @EVAS_SOFTWARE_BUFFER_LIBS@
+EVAS_SOFTWARE_DDRAW_CFLAGS = @EVAS_SOFTWARE_DDRAW_CFLAGS@
+EVAS_SOFTWARE_DDRAW_LIBS = @EVAS_SOFTWARE_DDRAW_LIBS@
+EVAS_SOFTWARE_SDL_CFLAGS = @EVAS_SOFTWARE_SDL_CFLAGS@
+EVAS_SOFTWARE_SDL_LIBS = @EVAS_SOFTWARE_SDL_LIBS@
+EVAS_SOFTWARE_X11_CFLAGS = @EVAS_SOFTWARE_X11_CFLAGS@
+EVAS_SOFTWARE_X11_LIBS = @EVAS_SOFTWARE_X11_LIBS@
+EVAS_XRENDER_X11_CFLAGS = @EVAS_XRENDER_X11_CFLAGS@
+EVAS_XRENDER_X11_LIBS = @EVAS_XRENDER_X11_LIBS@
 EXEEXT = @EXEEXT@
 GREP = @GREP@
 INSTALL_DATA = @INSTALL_DATA@
@@ -181,6 +208,7 @@ LIBTOOL = @LIBTOOL@
 LN_S = @LN_S@
 LTLIBOBJS = @LTLIBOBJS@
 MAKEINFO = @MAKEINFO@
+NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 PACKAGE = @PACKAGE@
@@ -193,6 +221,7 @@ PATH_SEPARATOR = @PATH_SEPARATOR@
 PKG_CONFIG = @PKG_CONFIG@
 RANLIB = @RANLIB@
 SDL_CFLAGS = @SDL_CFLAGS@
+SDL_CONFIG = @SDL_CONFIG@
 SDL_LIBS = @SDL_LIBS@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
@@ -225,6 +254,8 @@ XCB_XINERAMA_CFLAGS = @XCB_XINERAMA_CFLAGS@
 XCB_XINERAMA_LIBS = @XCB_XINERAMA_LIBS@
 XCB_XPRINT_CFLAGS = @XCB_XPRINT_CFLAGS@
 XCB_XPRINT_LIBS = @XCB_XPRINT_LIBS@
+XCB_XTEST_CFLAGS = @XCB_XTEST_CFLAGS@
+XCB_XTEST_LIBS = @XCB_XTEST_LIBS@
 XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
 XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -244,6 +275,8 @@ XRENDER_CFLAGS = @XRENDER_CFLAGS@
 XRENDER_LIBS = @XRENDER_LIBS@
 XSS_CFLAGS = @XSS_CFLAGS@
 XSS_LIBS = @XSS_LIBS@
+XTEST_CFLAGS = @XTEST_CFLAGS@
+XTEST_LIBS = @XTEST_LIBS@
 X_CFLAGS = @X_CFLAGS@
 X_EXTRA_LIBS = @X_EXTRA_LIBS@
 X_LIBS = @X_LIBS@
diff --git a/src/lib/ecore/ecore.c b/src/lib/ecore/ecore.c
index 41b2556..1d471e8 100644
--- a/src/lib/ecore/ecore.c
+++ b/src/lib/ecore/ecore.c
@@ -1,11 +1,16 @@
-#include <locale.h>
-#ifndef _WIN32
+#include <config.h>
+#ifdef HAVE_LOCALE_H
+# include <locale.h>
+#endif
+#ifdef HAVE_LANGINFO_H
 # include <langinfo.h>
-#else
+#endif
+#ifdef HAVE_WINDOWS_H
 # define WIN32_LEAN_AND_MEAN
 # include <windows.h>
 # undef WIN32_LEAN_AND_MEAN
-#endif /* _WIN32 */
+#endif
+
 #include "ecore_private.h"
 #include "Ecore.h"
 
@@ -58,10 +63,8 @@ ecore_init(void)
 	 */
 	if (getenv("ECORE_FPS_DEBUG")) _ecore_fps_debug = 1;
 	if (_ecore_fps_debug) _ecore_fps_debug_init();
-#ifndef _WIN32
 	_ecore_signal_init();
-        _ecore_exe_init();
-#endif
+	_ecore_exe_init();
      }
 
    return _ecore_init_count;
@@ -86,18 +89,14 @@ ecore_shutdown(void)
    if (_ecore_fps_debug) _ecore_fps_debug_shutdown();
    _ecore_poller_shutdown();
    _ecore_animator_shutdown();
-#ifndef _WIN32
    _ecore_exe_shutdown();
-#endif
    _ecore_idle_enterer_shutdown();
    _ecore_idle_exiter_shutdown();
    _ecore_idler_shutdown();
    _ecore_timer_shutdown();
    _ecore_event_shutdown();
    _ecore_main_shutdown();
-#ifndef _WIN32
    _ecore_signal_shutdown();
-#endif
 
    return _ecore_init_count;
 }
diff --git a/src/lib/ecore/ecore_anim.c b/src/lib/ecore/ecore_anim.c
index 9c5f282..7c24813 100644
--- a/src/lib/ecore/ecore_anim.c
+++ b/src/lib/ecore/ecore_anim.c
@@ -21,9 +21,9 @@ static double          animators_frametime = 1.0 / 30.0;
  * be passed the @p data pointer as its parameter.
  * 
  * When the animator @p func is called, it must return a value of either 1 or 0. 
- * If it returns 1, it will be called again at the next tick, or if it returns
- * 0 it will be deleted automatically making any references/handles for it
- * invalid.
+ * If it returns 1 (or ECORE_CALLBACK_RENEW), it will be called again at the 
+ * next tick, or if it returns 0 (or ECORE_CALLBACK_CANCEL) it will be deleted 
+ * automatically making any references/handles for it invalid.
  */
 EAPI Ecore_Animator *
 ecore_animator_add(int (*func) (void *data), const void *data)
diff --git a/src/lib/ecore/ecore_events.c b/src/lib/ecore/ecore_events.c
index 3a1f3e7..6bd9ec9 100644
--- a/src/lib/ecore/ecore_events.c
+++ b/src/lib/ecore/ecore_events.c
@@ -35,10 +35,11 @@ static void                *ecore_raw_event_event =  NULL;
  * provided in this call as the @p data parameter.
  * 
  * When the callback @p func is called, it must return 1 or 0. If it returns 
- * 1, It will keep being called as per normal, for each handler set up for that
- * event type. If it returns 0, it will cease processing handlers for that
- * particular event, so all handler set to handle that event type that have not
- * already been called, will not be.
+ * 1 (or ECORE_CALLBACK_RENEW), It will keep being called as per normal, for 
+ * each handler set up for that event type. If it returns 0 (or 
+ * ECORE_CALLBACK_CANCEL), it will cease processing handlers for that particular
+ * event, so all handler set to handle that event type that have not already 
+ * been called, will not be.
  */
 EAPI Ecore_Event_Handler *
 ecore_event_handler_add(int type, int (*func) (void *data, int type, void *event), const void *data)
diff --git a/src/lib/ecore/ecore_exe.c b/src/lib/ecore/ecore_exe.c
index ac0c583..0517e35 100644
--- a/src/lib/ecore/ecore_exe.c
+++ b/src/lib/ecore/ecore_exe.c
@@ -1296,7 +1296,7 @@ _ecore_exe_exec_it(const char *exe_cmd, Ecore_Exe_Flags flags)
 	  }
      }
 
-   setsid();
+   if (!(flags & ECORE_EXE_NOT_LEADER)) setsid();
    if ((flags & ECORE_EXE_USE_SH))
      {
 	errno = 0;
diff --git a/src/lib/ecore/ecore_hash.c b/src/lib/ecore/ecore_hash.c
index 36f8fe3..3fe93b7 100644
--- a/src/lib/ecore/ecore_hash.c
+++ b/src/lib/ecore/ecore_hash.c
@@ -19,14 +19,14 @@
 		< ((double)ECORE_HASH_CHAIN_MAX * 0.375) : FALSE)
 
 /* Private hash manipulation functions */
-static int _ecore_hash_add_node(Ecore_Hash *hash, Ecore_Hash_Node *node);
-static Ecore_Hash_Node * _ecore_hash_get_node(Ecore_Hash *hash, const void *key);
+static int _ecore_hash_node_add(Ecore_Hash *hash, Ecore_Hash_Node *node);
+static Ecore_Hash_Node * _ecore_hash_node_get(Ecore_Hash *hash, const void *key);
 static int _ecore_hash_increase(Ecore_Hash *hash);
 static int _ecore_hash_decrease(Ecore_Hash *hash);
 inline int _ecore_hash_rehash(Ecore_Hash *hash, Ecore_Hash_Node **old_table, int old_size);
 static int _ecore_hash_bucket_destroy(Ecore_Hash_Node *list, Ecore_Free_Cb keyd,
 				      Ecore_Free_Cb valued);
-inline Ecore_Hash_Node * _ecore_hash_get_bucket(Ecore_Hash *hash,
+inline Ecore_Hash_Node * _ecore_hash_bucket_get(Ecore_Hash *hash,
 						Ecore_Hash_Node *bucket, const void *key);
 
 static Ecore_Hash_Node *_ecore_hash_node_new(void *key, void *value);
@@ -151,7 +151,7 @@ ecore_hash_set(Ecore_Hash *hash, void *key, void *value)
 
    CHECK_PARAM_POINTER_RETURN("hash", hash, FALSE);
 
-   node = _ecore_hash_get_node(hash, key);
+   node = _ecore_hash_node_get(hash, key);
    if (node)
      {
 	if (hash->free_key) hash->free_key(key);
@@ -163,7 +163,7 @@ ecore_hash_set(Ecore_Hash *hash, void *key, void *value)
      {
 	node = _ecore_hash_node_new(key, value);
 	if (node)
-	  ret = _ecore_hash_add_node(hash, node);
+	  ret = _ecore_hash_node_add(hash, node);
      }
 
    return ret;
@@ -192,7 +192,7 @@ ecore_hash_hash_set(Ecore_Hash *hash, Ecore_Hash *set)
 	  {
 	     set->buckets[i] = old->next;
 	     old->next = NULL;
-	     node = _ecore_hash_get_node(hash, old->key);
+	     node = _ecore_hash_node_get(hash, old->key);
 	     if (node)
 	       {
 		  /* This key already exists. Delete the old and add the new
@@ -204,7 +204,7 @@ ecore_hash_hash_set(Ecore_Hash *hash, Ecore_Hash *set)
 		  free(old);
 	       }
 	     else
-	       _ecore_hash_add_node(hash, old);
+	       _ecore_hash_node_add(hash, old);
 	  }
      }
    FREE(set->buckets);
@@ -411,7 +411,7 @@ _ecore_hash_bucket_destroy(Ecore_Hash_Node *list, Ecore_Free_Cb keyd, Ecore_Free
  * @return Returns FALSE on error, TRUE on success
  */
 static int
-_ecore_hash_add_node(Ecore_Hash *hash, Ecore_Hash_Node *node)
+_ecore_hash_node_add(Ecore_Hash *hash, Ecore_Hash_Node *node)
 {
    unsigned int hash_val;
 
@@ -452,7 +452,7 @@ ecore_hash_get(Ecore_Hash *hash, const void *key)
 
    CHECK_PARAM_POINTER_RETURN("hash", hash, NULL);
 
-   node = _ecore_hash_get_node(hash, key);
+   node = _ecore_hash_node_get(hash, key);
    if (!node)
      return NULL;
 
@@ -578,7 +578,7 @@ ecore_hash_find(Ecore_Hash *hash, Ecore_Compare_Cb compare, const void *value)
  * @return Returns NULL on error, node corresponding to key on success
  */
 static Ecore_Hash_Node *
-_ecore_hash_get_node(Ecore_Hash *hash, const void *key)
+_ecore_hash_node_get(Ecore_Hash *hash, const void *key)
 {
    unsigned int hash_val;
    Ecore_Hash_Node *node = NULL;
@@ -599,7 +599,7 @@ _ecore_hash_get_node(Ecore_Hash *hash, const void *key)
    /* Grab the bucket at the specified position */
    if (hash->buckets[hash_val])
      {
-	node = _ecore_hash_get_bucket(hash, hash->buckets[hash_val], key);
+	node = _ecore_hash_bucket_get(hash, hash->buckets[hash_val], key);
 	/*
 	 * Move matched node to the front of the list as it's likely
 	 * to be searched for again soon.
@@ -622,7 +622,7 @@ _ecore_hash_get_node(Ecore_Hash *hash, const void *key)
  * @return Returns NULL on error or not found, the found node on success
  */
 inline Ecore_Hash_Node *
-_ecore_hash_get_bucket(Ecore_Hash *hash, Ecore_Hash_Node *bucket, const void *key)
+_ecore_hash_bucket_get(Ecore_Hash *hash, Ecore_Hash_Node *bucket, const void *key)
 {
    Ecore_Hash_Node *prev = NULL;
    Ecore_Hash_Node *node = NULL;
@@ -789,7 +789,7 @@ _ecore_hash_rehash(Ecore_Hash *hash, Ecore_Hash_Node **old_table, int old_size)
 	  {
 	     old_table[i] = old->next;
 	     old->next = NULL;
-	     _ecore_hash_add_node(hash, old);
+	     _ecore_hash_node_add(hash, old);
 	  }
      }
 
diff --git a/src/lib/ecore/ecore_idler.c b/src/lib/ecore/ecore_idler.c
index ff837b2..ff2dd7e 100644
--- a/src/lib/ecore/ecore_idler.c
+++ b/src/lib/ecore/ecore_idler.c
@@ -13,8 +13,9 @@ static int          idlers_delete_me = 0;
  *
  * Add an idler handle to the event loop, returning a handle on success and
  * NULL otherwise.  The function @p func will be called repeatedly while
- * no other events are ready to be processed, as long as it returns 1. A return
- * of 0 deletes the idler.
+ * no other events are ready to be processed, as long as it returns 1 
+ * (or ECORE_CALLBACK_RENEW). A return of 0 (or ECORE_CALLBACK_CANCEL) deletes 
+ * the idler.
  *
  * Idlers are useful for progressively prossessing data without blocking.
  */
diff --git a/src/lib/ecore/ecore_main.c b/src/lib/ecore/ecore_main.c
index 052252e..9e5aedf 100644
--- a/src/lib/ecore/ecore_main.c
+++ b/src/lib/ecore/ecore_main.c
@@ -2,9 +2,11 @@
  * vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2
  */
 
-#ifdef _WIN32
+#include <config.h>
+
+#ifdef HAVE_WINSOCK2_H
 # include <winsock2.h>
-#endif /* _WIN32 */
+#endif
 
 #include <math.h>
 #include <sys/time.h>
@@ -110,16 +112,17 @@ ecore_main_loop_quit(void)
  *
  * Normally the return value from the @p func is "zero means this handler is
  * finished and can be deleted" as is usual for handler callbacks.  However,
- * if the @p buf_func is supplied, then the return value from the @p func is "non
- * zero means the handler should be called again in a tight loop".
+ * if the @p buf_func is supplied, then the return value from the @p func is 
+ * "non zero means the handler should be called again in a tight loop".
  *
  * @p buf_func is called during event loop handling to check if data that has
  * been read from the file descriptor is in a buffer and is available to
  * read.  Some systems (notably xlib) handle their own buffering, and would
  * otherwise not work with select().  These systems should use a @p buf_func.
  * This is a most annoying hack, only ecore_x uses it, so refer to that for
- * an example.  NOTE - @p func should probably return "one" always if @p buf_func
- * is used, to avoid confusion with the other return walue semantics.
+ * an example.  NOTE - @p func should probably return "one" always if 
+ * @p buf_func is used, to avoid confusion with the other return value 
+ * semantics.
  *
  * @param   fd       The file descriptor to watch.
  * @param   flags    To watch it for read (@c ECORE_FD_READ) and/or
@@ -346,9 +349,7 @@ _ecore_main_select(double timeout)
 	     if (fdh->fd > max_fd) max_fd = fdh->fd;
 	  }
      }
-#ifndef _WIN32
    if (_ecore_signal_count_get()) return -1;
-#endif /* _WIN32 */
    ret = select(max_fd + 1, &rfds, &wfds, &exfds, t);
    if (ret < 0)
      {
@@ -532,10 +533,8 @@ _ecore_main_loop_iterate_internal(int once_only)
      }
    /* any timers re-added as a result of these are allowed to go */
    _ecore_timer_enable_new();
-#ifndef _WIN32
    /* process signals into events .... */
    while (_ecore_signal_count_get()) _ecore_signal_call();
-#endif /* _WIN32 */
    if (_ecore_event_exist())
      {
 	have_event = 1;
@@ -555,9 +554,7 @@ _ecore_main_loop_iterate_internal(int once_only)
 	if (_ecore_main_select(0.0) > 0) have_event = 1;
 
 	if (_ecore_main_win32_message(0.0) > 0) have_msg = 1;
-#ifndef _WIN32
 	if (_ecore_signal_count_get() > 0) have_signal = 1;
-#endif /* _WIN32 */
 
 	if (have_signal || have_event || have_msg)
 	  goto process_events;
@@ -608,9 +605,7 @@ _ecore_main_loop_iterate_internal(int once_only)
 	       {
 		  if (_ecore_main_select(-1.0) > 0) have_event = 1;
 		  if (_ecore_main_win32_message(-1.0) > 0) have_msg = 1;
-#ifndef _WIN32
 		  if (_ecore_signal_count_get() > 0) have_signal = 1;
-#endif /* _WIN32 */
 	       }
 	     /* idlers */
 	     else
@@ -621,9 +616,7 @@ _ecore_main_loop_iterate_internal(int once_only)
 		       if (_ecore_event_exist()) break;
 		       if (_ecore_main_select(0.0) > 0) have_event = 1;
 		       if (_ecore_main_win32_message(0.0) > 0) have_msg = 1;
-#ifndef _WIN32
 		       if (_ecore_signal_count_get() > 0) have_signal = 1;
-#endif /* _WIN32 */
 		       if (have_event || have_signal || have_msg) break;
 		       next_time = _ecore_timer_next_get();
 		       if (next_time >= 0) goto start_loop;
@@ -639,9 +632,7 @@ _ecore_main_loop_iterate_internal(int once_only)
 	       {
 		  if (_ecore_main_select(next_time) > 0) have_event = 1;
 		  if (_ecore_main_win32_message(next_time) > 0) have_msg = 1;
-#ifndef _WIN32
 		  if (_ecore_signal_count_get() > 0) have_signal = 1;
-#endif /* _WIN32 */
 	       }
 	     /* idlers */
 	     else
@@ -654,9 +645,7 @@ _ecore_main_loop_iterate_internal(int once_only)
 		       if (_ecore_event_exist()) break;
 		       if (_ecore_main_select(0.0) > 0) have_event = 1;
 		       if (_ecore_main_win32_message(0.0) > 0) have_msg = 1;
-#ifndef _WIN32
 		       if (_ecore_signal_count_get() > 0) have_signal = 1;
-#endif /* _WIN32 */
 		       if (have_event || have_signal || have_msg) break;
 		       cur_time = ecore_time_get();
 		       t = ecore_time_get() - cur_time;
@@ -682,10 +671,8 @@ _ecore_main_loop_iterate_internal(int once_only)
    if (have_event) _ecore_main_fd_handlers_call();
    do
      {
-#ifndef _WIN32
 	/* process signals into events .... */
 	while (_ecore_signal_count_get()) _ecore_signal_call();
-#endif /* _WIN32 */
 
 	/* handle events ... */
 	_ecore_event_call();
diff --git a/src/lib/ecore/ecore_path.c b/src/lib/ecore/ecore_path.c
index ac4849e..27c37eb 100644
--- a/src/lib/ecore/ecore_path.c
+++ b/src/lib/ecore/ecore_path.c
@@ -1,6 +1,9 @@
 /*
  * vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2
  */
+
+#include <config.h>
+
 #include "ecore_private.h"
 #include "Ecore_Data.h"
 #include "Ecore_Str.h"
@@ -183,11 +186,7 @@ ecore_path_group_available(Ecore_Path_Group *group)
 
 	     ext = strrchr(d->d_name, '.');
 
-#ifndef _WIN32
-	     if (!ext || strncmp(ext, ".so", 3))
-#else
-	     if (!ext || strncmp(ext, ".dll", 4))
-#endif /* _WIN32 */
+	     if (!ext || strncmp(ext, SHARED_LIB_SUFFIX, sizeof(SHARED_LIB_SUFFIX)))
 	       continue;
 
 	     snprintf(ppath, PATH_MAX, "%s/%s", path, d->d_name);
@@ -241,7 +240,8 @@ ecore_plugin_available_get(Ecore_Path_Group *group)
 	struct stat st;
 	struct dirent *d;
 
-	stat(path, &st);
+	if (stat(path, &st) < 0)
+	  continue;
 
 	if (!S_ISDIR(st.st_mode))
 	  continue;
@@ -259,11 +259,7 @@ ecore_plugin_available_get(Ecore_Path_Group *group)
 	     if (*d->d_name == '.')
 	       continue;
 
-#ifndef _WIN32
-	     if (!ecore_str_has_suffix(d->d_name, ".so"))
-#else
-	     if (!ecore_str_has_suffix(d->d_name, ".dll"))
-#endif /* _WIN32 */
+	     if (!ecore_str_has_suffix(d->d_name, SHARED_LIB_SUFFIX))
 	       continue;
 
 	     snprintf(ppath, PATH_MAX, "%s/%s", path, d->d_name);
diff --git a/src/lib/ecore/ecore_plugin.c b/src/lib/ecore/ecore_plugin.c
index 91fb43c..de8def5 100644
--- a/src/lib/ecore/ecore_plugin.c
+++ b/src/lib/ecore/ecore_plugin.c
@@ -2,21 +2,26 @@
  * vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2
  */
 
-#ifndef _WIN32
+#include <config.h>
+
+#ifdef HAVE_DLFCN_H
 # include <dlfcn.h>
-#else
+#endif
+
+#ifdef HAVE_WINDOWS_H
 # define WIN32_LEAN_AND_MEAN
 # include <windows.h>
 # undef WIN32_LEAN_AND_MEAN
-# include <stdlib.h>
-# include <stdio.h>
-#endif /* _WIN32 */
+#endif
+
+#include <stdlib.h>
+#include <stdio.h>
 
 #include "ecore_private.h"
 #include "Ecore_Data.h"
 
 /* FIXME: that hack is a temporary one. That code will be in MinGW soon */
-#ifdef _WIN32
+#if defined(_WIN32) && !defined(HAVE_DLFCN_H)
 
 # define RTLD_LAZY 1   /* lazy function call binding */
 # define RTLD_NOW 2    /* immediate function call binding */
@@ -86,7 +91,7 @@ char *dlerror (void)
      return NULL;
 }
 
-#endif /* _WIN32 */
+#endif
 
 
 static Ecore_List *loaded_plugins = NULL;
@@ -118,28 +123,19 @@ ecore_plugin_load(Ecore_Path_Group *group, const char *plugin_name, const char *
 
    CHECK_PARAM_POINTER_RETURN("plugin_name", plugin_name, NULL);
 
-#ifndef _WIN32
-   if (!version || *version == '\0')
-     snprintf(temp, sizeof(temp), "%s.so", plugin_name);
-   else
-     snprintf(temp, sizeof(temp), "%s.so.%s", plugin_name, version);
-#else
    if (!version || *version == '\0')
-     snprintf(temp, sizeof(temp), "%s.dll", plugin_name);
+     snprintf(temp, sizeof(temp), "%s" SHARED_LIB_SUFFIX, plugin_name);
    else
-     snprintf(temp, sizeof(temp), "%s-%s.dll", plugin_name, version);
-#endif /* _WIN32 */
+     snprintf(temp, sizeof(temp), "%s" SHARED_LIB_SUFFIX ".%s", plugin_name, version);
 
    path = ecore_path_group_find(group, temp);
 
-#ifndef _WIN32
    if (!path && version)
      {
 	/* if this file doesn't exist try a different order */
-	snprintf(temp, sizeof(temp), "%s.%s.so", plugin_name, version);
+	snprintf(temp, sizeof(temp), "%s.%s" SHARED_LIB_SUFFIX, plugin_name, version);
 	path = ecore_path_group_find(group, temp);
      }
-#endif /* _WIN32 */
 
    if (!path)
      return NULL;
diff --git a/src/lib/ecore/ecore_poll.c b/src/lib/ecore/ecore_poll.c
index 88e4291..74eee7f 100644
--- a/src/lib/ecore/ecore_poll.c
+++ b/src/lib/ecore/ecore_poll.c
@@ -255,8 +255,9 @@ ecore_poller_poll_interval_get(Ecore_Poller_Type type)
  * failure. The function @p func will be called at tick intervals described
  * above. The function will be passed the @p data pointer as its parameter.
  * 
- * When the poller @p func is called, it must return a value of either 1 or 0. 
- * If it returns 1, it will be called again at the next tick, or if it returns
+ * When the poller @p func is called, it must return a value of either 
+ * 1 (or ECORE_CALLBACK_RENEW) or 0 (or ECORE_CALLBACK_CANCEL). If it 
+ * returns 1, it will be called again at the next tick, or if it returns
  * 0 it will be deleted automatically making any references/handles for it
  * invalid.
  */
diff --git a/src/lib/ecore/ecore_private.h b/src/lib/ecore/ecore_private.h
index b6c039d..289c2e0 100644
--- a/src/lib/ecore/ecore_private.h
+++ b/src/lib/ecore/ecore_private.h
@@ -1,6 +1,10 @@
 #ifndef _ECORE_PRIVATE_H
 #define _ECORE_PRIVATE_H
 
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
@@ -13,14 +17,10 @@
 #include <limits.h>
 #include <dirent.h>
 
-#ifndef _WIN32
+#ifdef HAVE_SYS_MMAN_H
 # include <sys/mman.h>
 #endif
 
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif
-
 #ifdef EAPI
 # undef EAPI
 #endif
@@ -159,7 +159,8 @@ enum _Ecore_Exe_Flags
    ECORE_EXE_PIPE_ERROR_LINE_BUFFERED = 16,
    ECORE_EXE_PIPE_AUTO = 32,
    ECORE_EXE_RESPAWN = 64,
-   ECORE_EXE_USE_SH = 128
+   ECORE_EXE_USE_SH = 128,
+   ECORE_EXE_NOT_LEADER = 256
    /* FIXME: Getting respawn to work
     *
     * There is no way that we can do anything about the internal state info of
@@ -281,14 +282,16 @@ struct _Ecore_Exe
 
 struct _Ecore_Timer
 {
-   Ecore_List2   __list_data;
+   Ecore_List2     __list_data;
    ECORE_MAGIC;
-   double       in;
-   double       at;
-   signed char  delete_me : 1;
-   signed char  just_added : 1;
-   int        (*func) (void *data);
-   void        *data;
+   double          in;
+   double          at;
+   double          pending;
+   unsigned char   delete_me : 1;
+   unsigned char   just_added : 1;
+   unsigned char   frozen : 1;
+   int           (*func) (void *data);
+   void           *data;
 };
 
 struct _Ecore_Idler
@@ -424,12 +427,22 @@ void         *_ecore_event_signal_realtime_new(void);
 
 void          _ecore_main_shutdown(void);
 
+#ifdef _WIN32
+static inline void _ecore_signal_shutdown(void) { }
+static inline void _ecore_signal_init(void) { }
+static inline int  _ecore_signal_count_get(void) { return 0; }
+static inline void _ecore_signal_call(void) { }
+#else
 void          _ecore_signal_shutdown(void);
 void          _ecore_signal_init(void);
 int           _ecore_signal_count_get(void);
 void          _ecore_signal_call(void);
+#endif
 
-#ifndef _WIN32
+#ifdef _WIN32
+static inline void _ecore_exe_init(void) { }
+static inline void _ecore_exe_shutdown(void) { }
+#else
 void          _ecore_exe_init(void);
 void          _ecore_exe_shutdown(void);
 Ecore_Exe    *_ecore_exe_find(pid_t pid);
diff --git a/src/lib/ecore/ecore_signal.c b/src/lib/ecore/ecore_signal.c
index e2f500d..4c555c6 100644
--- a/src/lib/ecore/ecore_signal.c
+++ b/src/lib/ecore/ecore_signal.c
@@ -33,6 +33,9 @@ static void _ecore_signal_callback_sigrt(int sig, siginfo_t *si, void *foo);
 
 static int _ecore_signal_exe_exit_delay(void *data);
 
+//#define MAXSIGQ 256 // 32k
+#define MAXSIGQ 64 // 8k
+
 static volatile sig_atomic_t sig_count = 0;
 static volatile sig_atomic_t sigchld_count = 0;
 static volatile sig_atomic_t sigusr1_count = 0;
@@ -41,23 +44,25 @@ static volatile sig_atomic_t sighup_count = 0;
 static volatile sig_atomic_t sigquit_count = 0;
 static volatile sig_atomic_t sigint_count = 0;
 static volatile sig_atomic_t sigterm_count = 0;
-
-static volatile siginfo_t sigchld_info;
-static volatile siginfo_t sigusr1_info;
-static volatile siginfo_t sigusr2_info;
-static volatile siginfo_t sighup_info;
-static volatile siginfo_t sigquit_info;
-static volatile siginfo_t sigint_info;
-static volatile siginfo_t sigterm_info;
-
 #ifdef SIGPWR
 static volatile sig_atomic_t sigpwr_count = 0;
-static volatile siginfo_t sigpwr_info = {0};
 #endif
-
 #ifdef SIGRTMIN
 static volatile sig_atomic_t *sigrt_count = NULL;
-static volatile siginfo_t *sigrt_info = NULL;
+#endif
+
+static volatile siginfo_t sigchld_info[MAXSIGQ];
+static volatile siginfo_t sigusr1_info[MAXSIGQ];
+static volatile siginfo_t sigusr2_info[MAXSIGQ];
+static volatile siginfo_t sighup_info[MAXSIGQ];
+static volatile siginfo_t sigquit_info[MAXSIGQ];
+static volatile siginfo_t sigint_info[MAXSIGQ];
+static volatile siginfo_t sigterm_info[MAXSIGQ];
+#ifdef SIGPWR
+static volatile siginfo_t sigpwr_info[MAXSIGQ];
+#endif
+#ifdef SIGRTMIN
+static volatile siginfo_t *sigrt_info[MAXSIGQ];
 #endif
 
 void
@@ -102,10 +107,13 @@ _ecore_signal_shutdown(void)
 	sigrt_count = NULL;
      }
 
-   if (sigrt_info)
+   for (i = 0; i < MAXSIGQ; i++)
      {
-	free((siginfo_t *) sigrt_info);
-	sigrt_info = NULL;
+	if (sigrt_info[i])
+	  {
+	     free((siginfo_t *) sigrt_info[i]);
+	     sigrt_info[i] = NULL;
+	  }
      }
 #endif
 }
@@ -134,8 +142,11 @@ _ecore_signal_init(void)
    sigrt_count = calloc(1, sizeof(sig_atomic_t) * num);
    assert(sigrt_count);
 
-   sigrt_info = calloc(1, sizeof(siginfo_t) * num);
-   assert(sigrt_info);
+   for (i = 0; i < MAXSIGQ; i++)
+     {
+	sigrt_info[i] = calloc(1, sizeof(siginfo_t) * num);
+	assert(sigrt_info[i]);
+     }
 
    for (i = 0; i < num; i++)
       _ecore_signal_callback_set(SIGRTMIN + i, _ecore_signal_callback_sigrt);
@@ -154,8 +165,32 @@ _ecore_signal_call(void)
 #ifdef SIGRTMIN
    int i, num = SIGRTMAX - SIGRTMIN;
 #endif
-
-   while (sigchld_count > 0)
+   volatile sig_atomic_t n;
+   sigset_t oldset, newset;
+   
+   if (sig_count == 0) return;
+   sigemptyset(&newset);
+   sigaddset(&newset, SIGPIPE);
+   sigaddset(&newset, SIGALRM);
+   sigaddset(&newset, SIGCHLD);
+   sigaddset(&newset, SIGUSR1);
+   sigaddset(&newset, SIGUSR2);
+   sigaddset(&newset, SIGHUP);
+   sigaddset(&newset, SIGQUIT);
+   sigaddset(&newset, SIGINT);
+   sigaddset(&newset, SIGTERM);
+#ifdef SIGPWR
+   sigaddset(&newset, SIGPWR);
+#endif
+#ifdef SIGRTMIN
+   for (i = 0; i < num; i++)
+     sigaddset(&newset, SIGRTMIN + i);
+#endif   
+   sigprocmask(SIG_BLOCK, &newset, &oldset);
+   if (sigchld_count > MAXSIGQ)
+     printf("ECORE WARNING. %i SIGCHLD in queue. max queue size %i. losing "
+	    "siginfo for extra signals.\n", sigchld_count, MAXSIGQ);
+   for (n = 0; n < sigchld_count; n++)
      {
 	pid_t pid;
 	int status;
@@ -183,8 +218,8 @@ _ecore_signal_call(void)
 		  e->pid = pid;
 		  e->exe = _ecore_exe_find(pid);
 
-		  if (sigchld_info.si_signo)
-		    e->data = sigchld_info; /* No need to clone this. */
+		  if ((n < MAXSIGQ) && (sigchld_info[n].si_signo))
+		    e->data = sigchld_info[n]; /* No need to clone this. */
 
                   if ((e->exe) && (e->exe->flags & (ECORE_EXE_PIPE_READ | ECORE_EXE_PIPE_ERROR)))
                      {
@@ -220,10 +255,14 @@ _ecore_signal_call(void)
 		    }
 	       }
 	  }
-	sigchld_count--;
 	sig_count--;
      }
-   while (sigusr1_count > 0)
+   sigchld_count = 0;
+   
+   if (sigusr1_count > MAXSIGQ)
+     printf("ECORE WARNING. %i SIGUSR1 in queue. max queue size %i. losing "
+	    "siginfo for extra signals.\n", sigusr1_count, MAXSIGQ);
+   for (n = 0; n < sigusr1_count; n++)
      {
 	Ecore_Event_Signal_User *e;
 
@@ -232,15 +271,19 @@ _ecore_signal_call(void)
 	  {
 	     e->number = 1;
 
-	     if (sigusr1_info.si_signo)
-	       e->data = sigusr1_info;
+	     if ((n < MAXSIGQ) && (sigusr1_info[n].si_signo))
+	       e->data = sigusr1_info[n];
 
 	     ecore_event_add(ECORE_EVENT_SIGNAL_USER, e, NULL, NULL);
 	  }
-	sigusr1_count--;
 	sig_count--;
      }
-   while (sigusr2_count > 0)
+   sigusr1_count = 0;
+   
+   if (sigusr2_count > MAXSIGQ)
+     printf("ECORE WARNING. %i SIGUSR2 in queue. max queue size %i. losing "
+	    "siginfo for extra signals.\n", sigusr2_count, MAXSIGQ);
+   for (n = 0; n < sigusr2_count; n++)
      {
 	Ecore_Event_Signal_User *e;
 
@@ -249,30 +292,38 @@ _ecore_signal_call(void)
 	  {
 	     e->number = 2;
 
-	     if (sigusr2_info.si_signo)
-	       e->data = sigusr2_info;
+	     if ((n < MAXSIGQ) && (sigusr2_info[n].si_signo))
+	       e->data = sigusr2_info[n];
 
 	     ecore_event_add(ECORE_EVENT_SIGNAL_USER, e, NULL, NULL);
 	  }
-	sigusr2_count--;
 	sig_count--;
      }
-   while (sighup_count > 0)
+   sigusr2_count = 0;
+   
+   if (sighup_count > MAXSIGQ)
+     printf("ECORE WARNING. %i SIGHUP in queue. max queue size %i. losing "
+	    "siginfo for extra signals.\n", sighup_count, MAXSIGQ);
+   for (n = 0; n < sighup_count; n++)
      {
 	Ecore_Event_Signal_Hup *e;
 
 	e = _ecore_event_signal_hup_new();
 	if (e)
 	  {
-	     if (sighup_info.si_signo)
-	       e->data = sighup_info;
+	     if ((n < MAXSIGQ) && (sighup_info[n].si_signo))
+	       e->data = sighup_info[n];
 
 	     ecore_event_add(ECORE_EVENT_SIGNAL_HUP, e, NULL, NULL);
 	  }
-	sighup_count--;
 	sig_count--;
      }
-   while (sigquit_count > 0)
+   sighup_count = 0;
+   
+   if (sigquit_count > MAXSIGQ)
+     printf("ECORE WARNING. %i SIGQUIT in queue. max queue size %i. losing "
+	    "siginfo for extra signals.\n", sigquit_count, MAXSIGQ);
+   for (n = 0; n < sigquit_count; n++)
      {
 	Ecore_Event_Signal_Exit *e;
 
@@ -281,15 +332,19 @@ _ecore_signal_call(void)
 	  {
 	     e->quit = 1;
 
-	     if (sigquit_info.si_signo)
-	       e->data = sigquit_info;
+	     if ((n < MAXSIGQ) && (sigquit_info[n].si_signo))
+	       e->data = sigquit_info[n];
 
 	     ecore_event_add(ECORE_EVENT_SIGNAL_EXIT, e, NULL, NULL);
 	  }
-	sigquit_count--;
 	sig_count--;
      }
-   while (sigint_count > 0)
+   sigquit_count = 0;
+
+   if (sigint_count > MAXSIGQ)
+     printf("ECORE WARNING. %i SIGINT in queue. max queue size %i. losing "
+	    "siginfo for extra signals.\n", sigint_count, MAXSIGQ);
+   for (n = 0; n < sigint_count; n++)
      {
 	Ecore_Event_Signal_Exit *e;
 
@@ -298,15 +353,19 @@ _ecore_signal_call(void)
 	  {
 	     e->interrupt = 1;
 
-	     if (sigint_info.si_signo)
-	       e->data = sigint_info;
+	     if ((n < MAXSIGQ) && (sigint_info[n].si_signo))
+	       e->data = sigint_info[n];
 
 	     ecore_event_add(ECORE_EVENT_SIGNAL_EXIT, e, NULL, NULL);
 	  }
-	sigint_count--;
 	sig_count--;
      }
-   while (sigterm_count > 0)
+   sigint_count = 0;
+   
+   if (sigterm_count > MAXSIGQ)
+     printf("ECORE WARNING. %i SIGTERM in queue. max queue size %i. losing "
+	    "siginfo for extra signals.\n", sigterm_count, MAXSIGQ);
+   for (n = 0; n < sigterm_count; n++)
      {
 	Ecore_Event_Signal_Exit *e;
 
@@ -315,36 +374,43 @@ _ecore_signal_call(void)
 	  {
 	     e->terminate = 1;
 
-	     if (sigterm_info.si_signo)
-	       e->data = sigterm_info;
+	     if ((n < MAXSIGQ) && (sigterm_info[n].si_signo))
+	       e->data = sigterm_info[n];
 
 	     ecore_event_add(ECORE_EVENT_SIGNAL_EXIT, e, NULL, NULL);
 	  }
-	sigterm_count--;
 	sig_count--;
      }
+   sigterm_count = 0;
+   
 #ifdef SIGPWR
-   while (sigpwr_count > 0)
+   if (sigpwr_count > MAXSIGQ)
+     printf("ECORE WARNING. %i SIGPWR in queue. max queue size %i. losing "
+	    "siginfo for extra signals.\n", sigpwr_count, MAXSIGQ);
+   for (n = 0; n < sigpwr_count; n++)
      {
 	Ecore_Event_Signal_Power *e;
 
 	e = _ecore_event_signal_power_new();
 	if (e)
 	  {
-	     if (sigpwr_info.si_signo)
-	       e->data = sigpwr_info;
+	     if ((n < MAXSIGQ) && (sigpwr_info[n].si_signo))
+	       e->data = sigpwr_info[n];
 
 	     ecore_event_add(ECORE_EVENT_SIGNAL_POWER, e, NULL, NULL);
 	  }
-	sigpwr_count--;
 	sig_count--;
      }
+   sigpwr_count = 0;
 #endif
 
 #ifdef SIGRTMIN
    for (i = 0; i < num; i++)
      {
-	while (sigrt_count[i] > 0)
+	if (sigrt_count[i] > MAXSIGQ)
+	  printf("ECORE WARNING. %i SIGRT%i in queue. max queue size %i. losing "
+		 "siginfo for extra signals.\n", i + 1, sigrt_count[i], MAXSIGQ);
+	for (n = 0; n < sigrt_count[i]; n++)
 	  {
 	     Ecore_Event_Signal_Realtime *e;
 
@@ -352,17 +418,17 @@ _ecore_signal_call(void)
 	       {
 		  e->num = i;
 
-		  if (sigrt_info[i].si_signo)
-		    e->data = sigrt_info[i];
+		  if ((n < MAXSIGQ) && (sigrt_info[n][i].si_signo))
+		    e->data = sigrt_info[n][i];
 
 		  ecore_event_add(ECORE_EVENT_SIGNAL_REALTIME, e, NULL, NULL);
 	       }
-
-	     sigrt_count[i]--;
 	     sig_count--;
 	  }
+	sigrt_count[i] = 0;
      }
 #endif
+   sigprocmask(SIG_SETMASK, &oldset, NULL);
 }
 
 static void
@@ -384,10 +450,15 @@ _ecore_signal_callback_ignore(int sig __UNUSED__, siginfo_t *si __UNUSED__, void
 static void
 _ecore_signal_callback_sigchld(int sig __UNUSED__, siginfo_t *si, void *foo __UNUSED__)
 {
-   if (si)
-     sigchld_info = *si;
-   else
-     sigchld_info.si_signo = 0;
+   volatile sig_atomic_t n;
+   n = sigchld_count;
+   if (n < MAXSIGQ)
+     {
+	if (si)
+	  sigchld_info[n] = *si;
+	else
+	  sigchld_info[n].si_signo = 0;
+     }
 
    sigchld_count++;
    sig_count++;
@@ -396,11 +467,15 @@ _ecore_signal_callback_sigchld(int sig __UNUSED__, siginfo_t *si, void *foo __UN
 static void
 _ecore_signal_callback_sigusr1(int sig __UNUSED__, siginfo_t *si, void *foo __UNUSED__)
 {
-   if (si)
-     sigusr1_info = *si;
-   else
-     sigusr1_info.si_signo = 0;
-
+   volatile sig_atomic_t n;
+   n = sigchld_count;
+   if (n < MAXSIGQ)
+     {
+	if (si)
+	  sigusr1_info[n] = *si;
+	else
+	  sigusr1_info[n].si_signo = 0;
+     }
    sigusr1_count++;
    sig_count++;
 }
@@ -408,11 +483,15 @@ _ecore_signal_callback_sigusr1(int sig __UNUSED__, siginfo_t *si, void *foo __UN
 static void
 _ecore_signal_callback_sigusr2(int sig __UNUSED__, siginfo_t *si, void *foo __UNUSED__)
 {
-   if (si)
-     sigusr2_info = *si;
-   else
-     sigusr2_info.si_signo = 0;
-
+   volatile sig_atomic_t n;
+   n = sigchld_count;
+   if (n < MAXSIGQ)
+     {
+	if (si)
+	  sigusr2_info[n] = *si;
+	else
+	  sigusr2_info[n].si_signo = 0;
+     }
    sigusr2_count++;
    sig_count++;
 }
@@ -420,11 +499,15 @@ _ecore_signal_callback_sigusr2(int sig __UNUSED__, siginfo_t *si, void *foo __UN
 static void
 _ecore_signal_callback_sighup(int sig __UNUSED__, siginfo_t *si, void *foo __UNUSED__)
 {
-   if (si)
-     sighup_info = *si;
-   else
-     sighup_info.si_signo = 0;
-
+   volatile sig_atomic_t n;
+   n = sigchld_count;
+   if (n < MAXSIGQ)
+     {
+	if (si)
+	  sighup_info[n] = *si;
+	else
+	  sighup_info[n].si_signo = 0;
+     }
    sighup_count++;
    sig_count++;
 }
@@ -432,11 +515,15 @@ _ecore_signal_callback_sighup(int sig __UNUSED__, siginfo_t *si, void *foo __UNU
 static void
 _ecore_signal_callback_sigquit(int sig __UNUSED__, siginfo_t *si, void *foo __UNUSED__)
 {
-   if (si)
-     sigquit_info = *si;
-   else
-     sigquit_info.si_signo = 0;
-
+   volatile sig_atomic_t n;
+   n = sigchld_count;
+   if (n < MAXSIGQ)
+     {
+	if (si)
+	  sigquit_info[n] = *si;
+	else
+	  sigquit_info[n].si_signo = 0;
+     }
    sigquit_count++;
    sig_count++;
 }
@@ -444,11 +531,15 @@ _ecore_signal_callback_sigquit(int sig __UNUSED__, siginfo_t *si, void *foo __UN
 static void
 _ecore_signal_callback_sigint(int sig __UNUSED__, siginfo_t *si, void *foo __UNUSED__)
 {
-   if (si)
-     sigint_info = *si;
-   else
-     sigint_info.si_signo = 0;
-
+   volatile sig_atomic_t n;
+   n = sigchld_count;
+   if (n < MAXSIGQ)
+     {
+	if (si)
+	  sigint_info[n] = *si;
+	else
+	  sigint_info[n].si_signo = 0;
+     }
    sigint_count++;
    sig_count++;
 }
@@ -456,11 +547,15 @@ _ecore_signal_callback_sigint(int sig __UNUSED__, siginfo_t *si, void *foo __UNU
 static void
 _ecore_signal_callback_sigterm(int sig __UNUSED__, siginfo_t *si, void *foo __UNUSED__)
 {
-   if (si)
-     sigterm_info = *si;
-   else
-     sigterm_info.si_signo = 0;
-
+   volatile sig_atomic_t n;
+   n = sigchld_count;
+   if (n < MAXSIGQ)
+     {
+	if (si)
+	  sigterm_info[n] = *si;
+	else
+	  sigterm_info[n].si_signo = 0;
+     }
    sigterm_count++;
    sig_count++;
 }
@@ -469,11 +564,15 @@ _ecore_signal_callback_sigterm(int sig __UNUSED__, siginfo_t *si, void *foo __UN
 static void
 _ecore_signal_callback_sigpwr(int sig __UNUSED__, siginfo_t *si, void *foo __UNUSED__)
 {
-   if (si)
-     sigpwr_info = *si;
-   else
-     sigpwr_info.si_signo = 0;
-
+   volatile sig_atomic_t n;
+   n = sigchld_count;
+   if (n < MAXSIGQ)
+     {
+	if (si)
+	  sigpwr_info[n] = *si;
+	else
+	  sigpwr_info[n].si_signo = 0;
+     }
    sigpwr_count++;
    sig_count++;
 }
@@ -483,11 +582,15 @@ _ecore_signal_callback_sigpwr(int sig __UNUSED__, siginfo_t *si, void *foo __UNU
 static void
 _ecore_signal_callback_sigrt(int sig, siginfo_t *si, void *foo __UNUSED__)
 {
-   if (si)
-     sigrt_info[sig - SIGRTMIN] = *si;
-   else
-     sigrt_info[sig - SIGRTMIN].si_signo = 0;
-
+   volatile sig_atomic_t n;
+   n = sigchld_count;
+   if (n < MAXSIGQ)
+     {
+	if (si)
+	  sigrt_info[n][sig - SIGRTMIN] = *si;
+	else
+	  sigrt_info[n][sig - SIGRTMIN].si_signo = 0;
+     }
    sigrt_count[sig - SIGRTMIN]++;
    sig_count++;
 }
diff --git a/src/lib/ecore/ecore_str.c b/src/lib/ecore/ecore_str.c
index 8eb6a6c..cb5c2cc 100644
--- a/src/lib/ecore/ecore_str.c
+++ b/src/lib/ecore/ecore_str.c
@@ -23,6 +23,8 @@
 #include "ecore_private.h"
 #include "Ecore_Str.h"
 
+static int ecore_str_has_suffix_helper(const char *str, const char *suffix, 
+		int (*cmp)(const char *, const char *));
 /**
  * @param dst the destination
  * @param src the source
@@ -140,18 +142,47 @@ ecore_str_has_prefix(const char *str, const char *prefix)
 int
 ecore_str_has_suffix(const char *str, const char *suffix)
 {
-   size_t str_len;
-   size_t suffix_len;
-
    CHECK_PARAM_POINTER_RETURN("str", str, 0);
    CHECK_PARAM_POINTER_RETURN("suffix", suffix, 0);
+   
+   return ecore_str_has_suffix_helper(str, suffix, strcmp);
+}
+
+/**
+ * This function does the same like ecore_str_has_suffix(), but with a
+ * case insensitive compare.
+ *
+ * @param str the string to work with
+ * @param ext the  extension to check for
+ * @return true if str has the given extension
+ * @brief checks if the string has the given extension
+ */
+int
+ecore_str_has_extension(const char *str, const char *ext)
+{
+   CHECK_PARAM_POINTER_RETURN("str", str, 0);
+   CHECK_PARAM_POINTER_RETURN("ext", ext, 0);
+   
+   return ecore_str_has_suffix_helper(str, ext, strcasecmp);
+}
+
+/*
+ * Internal helper function used by ecore_str_has_suffix() and 
+ * ecore_str_has_extension()
+ */
+static int
+ecore_str_has_suffix_helper(const char *str, const char *suffix, 
+		int (*cmp)(const char *, const char *))
+{
+   size_t str_len;
+   size_t suffix_len;
 
    str_len = strlen(str);
    suffix_len = strlen(suffix);
    if (suffix_len > str_len)
      return 0;
 
-   return (strncmp(str + str_len - suffix_len, suffix, suffix_len) == 0);
+   return cmp(str + str_len - suffix_len, suffix) == 0;
 }
 
 /**
diff --git a/src/lib/ecore/ecore_strings.c b/src/lib/ecore/ecore_strings.c
index 06d76f2..79fd939 100644
--- a/src/lib/ecore/ecore_strings.c
+++ b/src/lib/ecore/ecore_strings.c
@@ -70,15 +70,20 @@ ecore_string_instance(const char *string)
    str = ecore_hash_get(ecore_strings, string);
    if (!str)
      {
+	int length;
 
 	/*
 	 * Allocate and initialize a new string reference.
 	 */
-	str = (Ecore_String *)malloc(sizeof(Ecore_String));
+	length = strlen(string) + 1;
 
-	str->string = strdup(string);
+	str = (Ecore_String *)malloc(sizeof(Ecore_String) + length * sizeof(char));
+
+	str->string = (char*)(str + 1);
 	str->references = 0;
 
+	memcpy(str->string, string, length);
+
 	ecore_hash_set(ecore_strings, str->string, str);
      }
 
@@ -110,7 +115,6 @@ ecore_string_release(const char *string)
    if (str->references < 1)
      {
 	ecore_hash_remove(ecore_strings, (char *)string);
-	FREE(str->string);
 	FREE(str);
      }
 }
@@ -147,6 +151,5 @@ ecore_string_free_cb(void *data)
    Ecore_String *str;
 
    str = data;
-   FREE(str->string);
    FREE(str);
 }
diff --git a/src/lib/ecore/ecore_time.c b/src/lib/ecore/ecore_time.c
index 865c641..73f4ba9 100644
--- a/src/lib/ecore/ecore_time.c
+++ b/src/lib/ecore/ecore_time.c
@@ -2,11 +2,13 @@
  * vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2
  */
 
-#ifdef _WIN32
+#include <config.h>
+#ifdef HAVE_WINDOWS_H
 # define WIN32_LEAN_AND_MEAN
 # include <windows.h>
 # undef WIN32_LEAN_AND_MEAN
-#else
+#endif
+#ifdef HAVE_SYS_TIME_H
 # include <sys/time.h>
 #endif
 #include "ecore_private.h"
diff --git a/src/lib/ecore/ecore_timer.c b/src/lib/ecore/ecore_timer.c
index f534df1..93fce30 100644
--- a/src/lib/ecore/ecore_timer.c
+++ b/src/lib/ecore/ecore_timer.c
@@ -6,6 +6,7 @@ static void _ecore_timer_set(Ecore_Timer *timer, double at, double in, int (*fun
 static int          timers_added = 0;
 static int          timers_delete_me = 0;
 static Ecore_Timer *timers = NULL;
+static Ecore_Timer *suspended = NULL;
 static double       last_check = 0.0;
 
 /**
@@ -28,7 +29,8 @@ static double       last_check = 0.0;
  * failure. The function @p func will be called every @in@ seconds. The
  * function will be passed the @p data pointer as its parameter.
  * 
- * When the timer @p func is called, it must return a value of either 1 or 0. 
+ * When the timer @p func is called, it must return a value of either 1 
+ * (or ECORE_CALLBACK_RENEW) or 0 (or ECORE_CALLBACK_CANCEL). 
  * If it returns 1, it will be called again at the next tick, or if it returns
  * 0 it will be deleted automatically making any references/handles for it
  * invalid.
@@ -94,6 +96,112 @@ ecore_timer_interval_set(Ecore_Timer *timer, double in)
    timer->in = in;
 }
 
+/**
+ * Add some delay for the next occurence of a timer.
+ * This doesn't affect the interval of a timer.
+ *
+ * @param   timer The timer to change.
+ * @param   add   The dalay to add to the next iteration.
+ * @ingroup Ecore_Time_Group
+ */
+EAPI void
+ecore_timer_delay(Ecore_Timer *timer, double add)
+{
+   if (!ECORE_MAGIC_CHECK(timer, ECORE_MAGIC_TIMER))
+     {
+	ECORE_MAGIC_FAIL(timer, ECORE_MAGIC_TIMER,
+			 "ecore_timer_delay");
+	return;
+     }
+
+   if (timer->frozen)
+     {
+	timer->pending += add;
+     }
+   else
+     {
+	timers = _ecore_list2_remove(timers, timer);
+	_ecore_timer_set(timer, timer->at + add, timer->in, timer->func, timer->data);
+     }
+}
+
+/**
+ * Get the pending time regarding a timer.
+ *
+ * @param	timer The timer to learn from.
+ * @ingroup	Ecore_Time_Group
+ */
+EAPI double
+ecore_timer_pending_get(Ecore_Timer *timer)
+{
+   double	now;
+
+   if (!ECORE_MAGIC_CHECK(timer, ECORE_MAGIC_TIMER))
+     {
+	ECORE_MAGIC_FAIL(timer, ECORE_MAGIC_TIMER,
+			 "ecore_timer_pending_get");
+	return 0;
+     }
+
+   now = ecore_time_get();
+
+   if (timer->frozen)
+     return timer->pending;
+   return timer->at - now;
+}
+
+/**
+ *
+ *
+ */
+EAPI void
+ecore_timer_freeze(Ecore_Timer *timer)
+{
+   double now;
+
+   if (!ECORE_MAGIC_CHECK(timer, ECORE_MAGIC_TIMER))
+     {
+	ECORE_MAGIC_FAIL(timer, ECORE_MAGIC_TIMER,
+                         "ecore_timer_freeze");
+        return ;
+     }
+
+   /* Timer already frozen */
+   if (timer->frozen)
+     return ;
+
+   timers = _ecore_list2_remove(timers, timer);
+   suspended = _ecore_list2_prepend(suspended, timer);
+
+   now = ecore_time_get();
+
+   timer->pending = timer->at - now;
+   timer->at = 0.0;
+   timer->frozen = 1;
+}
+
+EAPI void
+ecore_timer_thaw(Ecore_Timer *timer)
+{
+   double now;
+
+   if (!ECORE_MAGIC_CHECK(timer, ECORE_MAGIC_TIMER))
+     {
+	ECORE_MAGIC_FAIL(timer, ECORE_MAGIC_TIMER,
+                         "ecore_timer_thaw");
+        return ;
+     }
+
+   /* Timer not frozen */
+   if (!timer->frozen)
+     return ;
+
+   suspended = _ecore_list2_remove(suspended, timer);
+   now = ecore_time_get();
+
+   _ecore_timer_set(timer, timer->pending + now, timer->in, timer->func, timer->data);
+}
+
 void
 _ecore_timer_shutdown(void)
 {
@@ -106,6 +214,16 @@ _ecore_timer_shutdown(void)
 	ECORE_MAGIC_SET(timer, ECORE_MAGIC_NONE);
 	free(timer);
      }
+
+   while (suspended)
+     {
+        Ecore_Timer *timer;
+
+        timer = suspended;
+        suspended = _ecore_list2_remove(suspended, timer);
+        ECORE_MAGIC_SET(timer, ECORE_MAGIC_NONE);
+        free(timer);
+     }
 }
 
 void
@@ -129,6 +247,21 @@ _ecore_timer_cleanup(void)
 	     if (timers_delete_me == 0) return;
 	  }
      }
+   for (l = (Ecore_List2 *)suspended; l;)
+     {
+	Ecore_Timer *timer;
+	
+	timer = (Ecore_Timer *)l;
+	l = l->next;
+	if (timer->delete_me)
+	  {
+	     suspended = _ecore_list2_remove(suspended, timer);
+	     ECORE_MAGIC_SET(timer, ECORE_MAGIC_NONE);
+	     free(timer);
+	     timers_delete_me--;
+	     if (timers_delete_me == 0) return;
+	  }
+     }
    timers_delete_me = 0;
 }
 
@@ -187,8 +320,8 @@ _ecore_timer_call(double when)
      {
 	timer = (Ecore_Timer *)l;
 	if ((timer->at <= when) &&
-	    (!timer->just_added) &&
-	    (!timer->delete_me))
+	    (timer->just_added == 0) &&
+	    (timer->delete_me == 0))
 	  {
 	     timers = _ecore_list2_remove(timers, timer);
 	     _ecore_timer_call(when);
@@ -232,6 +365,8 @@ _ecore_timer_set(Ecore_Timer *timer, double at, double in, int (*func) (void *da
    timer->func = func;
    timer->data = data;
    timer->just_added = 1;
+   timer->frozen = 0;
+   timer->pending = 0.0;
    if (timers)
      {
 	for (l = ((Ecore_List2 *)(timers))->last; l; l = l->prev)
diff --git a/src/lib/ecore/ecore_value.c b/src/lib/ecore/ecore_value.c
index d58715d..4c30079 100644
--- a/src/lib/ecore/ecore_value.c
+++ b/src/lib/ecore/ecore_value.c
@@ -45,6 +45,7 @@ ecore_print_warning(const char *function, const char *sparam)
 	   "\t%s\n\n"
 	   "\tbeing NULL. Please fix your program.\n", function, sparam);
    fflush(stderr);
+   if (getenv("ECORE_ERROR_ABORT")) abort();
 }
 
 /**
diff --git a/src/lib/ecore_con/Ecore_Con.h b/src/lib/ecore_con/Ecore_Con.h
index c116078..183a84c 100644
--- a/src/lib/ecore_con/Ecore_Con.h
+++ b/src/lib/ecore_con/Ecore_Con.h
@@ -25,6 +25,7 @@
 # endif
 #endif
 
+#include <time.h>
 #include <netdb.h>
 #include <Ecore_Data.h>
 
@@ -58,6 +59,7 @@
  * @li @ref Ecore_Con_Lib_Group
  * @li @ref Ecore_Con_Server_Group
  * @li @ref Ecore_Con_Client_Group
+ * @li @ref Ecore_Con_Url_Group
  */
 
 #ifdef __cplusplus
@@ -148,8 +150,14 @@ extern "C" {
    struct _Ecore_Con_Event_Url_Progress
      {
 	Ecore_Con_Url    *url_con;
-	double            total;
-	double            now;
+	struct {
+	   double         total;
+	   double         now;
+	} down;
+	struct {
+	   double         total;
+	   double         now;
+	} up;
      };
 
    EAPI extern int ECORE_CON_EVENT_CLIENT_ADD;
@@ -160,8 +168,7 @@ extern "C" {
    EAPI extern int ECORE_CON_EVENT_SERVER_DATA;
    EAPI extern int ECORE_CON_EVENT_URL_DATA;
    EAPI extern int ECORE_CON_EVENT_URL_COMPLETE;
-   EAPI extern int ECORE_CON_EVENT_URL_PROGRESS_DOWNLOAD;
-   EAPI extern int ECORE_CON_EVENT_URL_PROGRESS_UPLOAD;
+   EAPI extern int ECORE_CON_EVENT_URL_PROGRESS;
    
    EAPI int               ecore_con_init(void);
    EAPI int               ecore_con_shutdown(void);
@@ -195,6 +202,8 @@ extern "C" {
    EAPI void              ecore_con_url_data_set(Ecore_Con_Url *url_con, void *data);
    EAPI void             *ecore_con_url_data_get(Ecore_Con_Url *url_con);
    EAPI int               ecore_con_url_url_set(Ecore_Con_Url *url_con, const char *url);
+   EAPI void		  ecore_con_url_fd_set(Ecore_Con_Url *url_con, int fd);
+   EAPI int		  ecore_con_url_received_bytes_get(Ecore_Con_Url *url_con);
    EAPI int               ecore_con_url_send(Ecore_Con_Url *url_con, void *data, size_t length, char *content_type);
    EAPI void              ecore_con_url_time(Ecore_Con_Url *url_con, Ecore_Con_Url_Time condition, time_t tm);
 
diff --git a/src/lib/ecore_con/Makefile.in b/src/lib/ecore_con/Makefile.in
index c9c2bd5..08a507b 100644
--- a/src/lib/ecore_con/Makefile.in
+++ b/src/lib/ecore_con/Makefile.in
@@ -109,6 +109,8 @@ BUILD_ECORE_EVAS_DIRECTFB_TRUE = @BUILD_ECORE_EVAS_DIRECTFB_TRUE@
 BUILD_ECORE_EVAS_FALSE = @BUILD_ECORE_EVAS_FALSE@
 BUILD_ECORE_EVAS_FB_FALSE = @BUILD_ECORE_EVAS_FB_FALSE@
 BUILD_ECORE_EVAS_FB_TRUE = @BUILD_ECORE_EVAS_FB_TRUE@
+BUILD_ECORE_EVAS_SDL_FALSE = @BUILD_ECORE_EVAS_SDL_FALSE@
+BUILD_ECORE_EVAS_SDL_TRUE = @BUILD_ECORE_EVAS_SDL_TRUE@
 BUILD_ECORE_EVAS_TRUE = @BUILD_ECORE_EVAS_TRUE@
 BUILD_ECORE_EVAS_X11_16_FALSE = @BUILD_ECORE_EVAS_X11_16_FALSE@
 BUILD_ECORE_EVAS_X11_16_TRUE = @BUILD_ECORE_EVAS_X11_16_TRUE@
@@ -157,6 +159,7 @@ DEPDIR = @DEPDIR@
 DIRECTFB_CFLAGS = @DIRECTFB_CFLAGS@
 DIRECTFB_LIBS = @DIRECTFB_LIBS@
 DLLTOOL = @DLLTOOL@
+DSYMUTIL = @DSYMUTIL@
 ECHO = @ECHO@
 ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
@@ -165,7 +168,31 @@ EET_CFLAGS = @EET_CFLAGS@
 EET_LIBS = @EET_LIBS@
 EGREP = @EGREP@
 EVAS_CFLAGS = @EVAS_CFLAGS@
+EVAS_DIRECT3D_CFLAGS = @EVAS_DIRECT3D_CFLAGS@
+EVAS_DIRECT3D_LIBS = @EVAS_DIRECT3D_LIBS@
+EVAS_DIRECTFB_CFLAGS = @EVAS_DIRECTFB_CFLAGS@
+EVAS_DIRECTFB_LIBS = @EVAS_DIRECTFB_LIBS@
+EVAS_FB_CFLAGS = @EVAS_FB_CFLAGS@
+EVAS_FB_LIBS = @EVAS_FB_LIBS@
 EVAS_LIBS = @EVAS_LIBS@
+EVAS_OPENGL_GLEW_CFLAGS = @EVAS_OPENGL_GLEW_CFLAGS@
+EVAS_OPENGL_GLEW_LIBS = @EVAS_OPENGL_GLEW_LIBS@
+EVAS_OPENGL_X11_CFLAGS = @EVAS_OPENGL_X11_CFLAGS@
+EVAS_OPENGL_X11_LIBS = @EVAS_OPENGL_X11_LIBS@
+EVAS_SOFTWARE_16_DDRAW_CFLAGS = @EVAS_SOFTWARE_16_DDRAW_CFLAGS@
+EVAS_SOFTWARE_16_DDRAW_LIBS = @EVAS_SOFTWARE_16_DDRAW_LIBS@
+EVAS_SOFTWARE_16_X11_CFLAGS = @EVAS_SOFTWARE_16_X11_CFLAGS@
+EVAS_SOFTWARE_16_X11_LIBS = @EVAS_SOFTWARE_16_X11_LIBS@
+EVAS_SOFTWARE_BUFFER_CFLAGS = @EVAS_SOFTWARE_BUFFER_CFLAGS@
+EVAS_SOFTWARE_BUFFER_LIBS = @EVAS_SOFTWARE_BUFFER_LIBS@
+EVAS_SOFTWARE_DDRAW_CFLAGS = @EVAS_SOFTWARE_DDRAW_CFLAGS@
+EVAS_SOFTWARE_DDRAW_LIBS = @EVAS_SOFTWARE_DDRAW_LIBS@
+EVAS_SOFTWARE_SDL_CFLAGS = @EVAS_SOFTWARE_SDL_CFLAGS@
+EVAS_SOFTWARE_SDL_LIBS = @EVAS_SOFTWARE_SDL_LIBS@
+EVAS_SOFTWARE_X11_CFLAGS = @EVAS_SOFTWARE_X11_CFLAGS@
+EVAS_SOFTWARE_X11_LIBS = @EVAS_SOFTWARE_X11_LIBS@
+EVAS_XRENDER_X11_CFLAGS = @EVAS_XRENDER_X11_CFLAGS@
+EVAS_XRENDER_X11_LIBS = @EVAS_XRENDER_X11_LIBS@
 EXEEXT = @EXEEXT@
 GREP = @GREP@
 INSTALL_DATA = @INSTALL_DATA@
@@ -179,6 +206,7 @@ LIBTOOL = @LIBTOOL@
 LN_S = @LN_S@
 LTLIBOBJS = @LTLIBOBJS@
 MAKEINFO = @MAKEINFO@
+NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 PACKAGE = @PACKAGE@
@@ -191,6 +219,7 @@ PATH_SEPARATOR = @PATH_SEPARATOR@
 PKG_CONFIG = @PKG_CONFIG@
 RANLIB = @RANLIB@
 SDL_CFLAGS = @SDL_CFLAGS@
+SDL_CONFIG = @SDL_CONFIG@
 SDL_LIBS = @SDL_LIBS@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
@@ -223,6 +252,8 @@ XCB_XINERAMA_CFLAGS = @XCB_XINERAMA_CFLAGS@
 XCB_XINERAMA_LIBS = @XCB_XINERAMA_LIBS@
 XCB_XPRINT_CFLAGS = @XCB_XPRINT_CFLAGS@
 XCB_XPRINT_LIBS = @XCB_XPRINT_LIBS@
+XCB_XTEST_CFLAGS = @XCB_XTEST_CFLAGS@
+XCB_XTEST_LIBS = @XCB_XTEST_LIBS@
 XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
 XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -242,6 +273,8 @@ XRENDER_CFLAGS = @XRENDER_CFLAGS@
 XRENDER_LIBS = @XRENDER_LIBS@
 XSS_CFLAGS = @XSS_CFLAGS@
 XSS_LIBS = @XSS_LIBS@
+XTEST_CFLAGS = @XTEST_CFLAGS@
+XTEST_LIBS = @XTEST_LIBS@
 X_CFLAGS = @X_CFLAGS@
 X_EXTRA_LIBS = @X_EXTRA_LIBS@
 X_LIBS = @X_LIBS@
diff --git a/src/lib/ecore_con/ecore_con.c b/src/lib/ecore_con/ecore_con.c
index 42dab53..943df58 100644
--- a/src/lib/ecore_con/ecore_con.c
+++ b/src/lib/ecore_con/ecore_con.c
@@ -9,7 +9,7 @@
 #include <errno.h>
 #include <netdb.h>
 
-#include "config.h"
+#include <config.h>
 
 #if USE_OPENSSL
 #include <time.h>
@@ -21,9 +21,10 @@
 #include "ecore_con_private.h"
 
 #ifdef HAVE_NETINET_IN_H
-#include <netinet/in.h>
-#elif _WIN32
-#include <winsock2.h>
+# include <netinet/in.h>
+#endif
+#ifdef HAVE_WINSOCK2_H
+# include <winsock2.h>
 #endif
 
 static void _ecore_con_cb_dns_lookup(void *data, struct hostent *he);
@@ -198,7 +199,12 @@ ecore_con_server_add(Ecore_Con_Type compl_type, const char *name, int port,
 	  {
 	     mask = 0;
 	     if (name[0] == '/')
-	       snprintf(buf, sizeof(buf), "%s|%i", name, port);
+	       {
+		  if (port >= 0)
+		    snprintf(buf, sizeof(buf), "%s|%i", name, port);
+		  else
+		    snprintf(buf, sizeof(buf), "%s", name);
+	       }
 	     else
 	       snprintf(buf, sizeof(buf), "/tmp/.ecore_service|%s|%i", name, port);
 	  }
@@ -619,7 +625,7 @@ ecore_con_server_connected_get(Ecore_Con_Server *svr)
  * @return  The list of clients on this server.
  * @ingroup Ecore_Con_Server_Group
  */
-EAPI Ecore_List*
+EAPI Ecore_List *
 ecore_con_server_clients_get(Ecore_Con_Server *svr)
 {
    if (!ECORE_MAGIC_CHECK(svr, ECORE_MAGIC_CON_SERVER))
diff --git a/src/lib/ecore_con/ecore_con_private.h b/src/lib/ecore_con/ecore_con_private.h
index 8b4dc6a..d5d9258 100644
--- a/src/lib/ecore_con/ecore_con_private.h
+++ b/src/lib/ecore_con/ecore_con_private.h
@@ -22,7 +22,6 @@
 
 struct _Ecore_Con_Client
 {
-   Ecore_List        __list_data;
    ECORE_MAGIC;
    int               fd;
    Ecore_Con_Server *server;
@@ -39,7 +38,6 @@ struct _Ecore_Con_Client
 
 struct _Ecore_Con_Server
 {
-   Ecore_List        __list_data;
    ECORE_MAGIC;
    int               fd;
    Ecore_Con_Type    type;
@@ -80,6 +78,11 @@ struct _Ecore_Con_Url
    void              *data;
 
    Ecore_Fd_Handler  *fd_handler;
+   int		      fd;
+   int		      flags;
+
+   int		      received;
+   int		      write_fd;
 
    unsigned char      active : 1;
 };
diff --git a/src/lib/ecore_con/ecore_con_url.c b/src/lib/ecore_con/ecore_con_url.c
index ce77912..24e7d77 100644
--- a/src/lib/ecore_con/ecore_con_url.c
+++ b/src/lib/ecore_con/ecore_con_url.c
@@ -40,6 +40,20 @@
 #include "Ecore_Con.h"
 #include "ecore_con_private.h"
 
+#include <errno.h>
+
+/**
+ * @defgroup Ecore_Con_Url_Group Ecore URL Connection Functions
+ *
+ * Utility functions that set up, use and shut down the Ecore URL 
+ * Connection library.
+ * FIXME: write detailed description
+ */
+
+int ECORE_CON_EVENT_URL_DATA = 0;
+int ECORE_CON_EVENT_URL_COMPLETE = 0;
+int ECORE_CON_EVENT_URL_PROGRESS = 0;
+
 #ifdef HAVE_CURL
 static int _ecore_con_url_fd_handler(void *data, Ecore_Fd_Handler *fd_handler);
 static int _ecore_con_url_perform(Ecore_Con_Url *url_con);
@@ -48,15 +62,11 @@ static int _ecore_con_url_progress_cb(void *clientp, double dltotal, double dlno
 static void _ecore_con_event_url_free(void *data __UNUSED__, void *ev);
 static int _ecore_con_url_process_completed_jobs(Ecore_Con_Url *url_con_to_match);
 
-int ECORE_CON_EVENT_URL_DATA = 0;
-int ECORE_CON_EVENT_URL_COMPLETE = 0;
-int ECORE_CON_EVENT_URL_PROGRESS_DOWNLOAD = 0;
-int ECORE_CON_EVENT_URL_PROGRESS_UPLOAD = 0;
-
-static CURLM *curlm = NULL;
-static Ecore_List *_url_con_list = NULL;
-static fd_set _current_fd_set;
-static int init_count = 0;
+static Ecore_Idler	*_fd_idler_handler = NULL;
+static Ecore_List	*_url_con_list = NULL;
+static CURLM		*curlm = NULL;
+static fd_set		 _current_fd_set;
+static int		 init_count = 0;
 
 struct _Ecore_Con_Url_Event
 {
@@ -92,6 +102,12 @@ _url_complete_push_event(int type, void *ev)
 
 #endif
 
+/**
+ * Initialises the Ecore_Con_Url library.
+ * @return Number of times the library has been initialised without being
+ *          shut down.
+ * @ingroup Ecore_Con_Url_Group
+ */
 EAPI int
 ecore_con_url_init(void)
 {
@@ -100,8 +116,7 @@ ecore_con_url_init(void)
      {
 	ECORE_CON_EVENT_URL_DATA = ecore_event_type_new();
 	ECORE_CON_EVENT_URL_COMPLETE = ecore_event_type_new();
-	ECORE_CON_EVENT_URL_PROGRESS_DOWNLOAD = ecore_event_type_new();
-	ECORE_CON_EVENT_URL_PROGRESS_UPLOAD = ecore_event_type_new();
+	ECORE_CON_EVENT_URL_PROGRESS = ecore_event_type_new();
      }
 
    if (!_url_con_list)
@@ -135,6 +150,11 @@ ecore_con_url_init(void)
 #endif
 }
 
+/**
+ * Shuts down the Ecore_Con_Url library.
+ * @return  Number of calls that still uses Ecore_Con_Url
+ * @ingroup Ecore_Con_Url_Group
+ */
 EAPI int
 ecore_con_url_shutdown(void)
 {
@@ -149,7 +169,7 @@ ecore_con_url_shutdown(void)
 	if (!ecore_list_empty_is(_url_con_list))
 	  {
 	     Ecore_Con_Url *url_con;
-	     while ((url_con = ecore_list_first_remove(_url_con_list)))
+	     while ((url_con = ecore_list_first(_url_con_list)))
 	       {
 		  ecore_con_url_destroy(url_con);
 	       }
@@ -169,6 +189,11 @@ ecore_con_url_shutdown(void)
    return 1;
 }
 
+/**
+ * Creates and initializes a new Ecore_Con_Url.
+ * @return  NULL on error, a new Ecore_Con_Url on success.
+ * @ingroup Ecore_Con_Url_Group
+ */
 EAPI Ecore_Con_Url *
 ecore_con_url_new(const char *url)
 {
@@ -206,6 +231,11 @@ ecore_con_url_new(const char *url)
    curl_easy_setopt(url_con->curl_easy, CURLOPT_TIMEOUT, 300);
    curl_easy_setopt(url_con->curl_easy, CURLOPT_FOLLOWLOCATION, 1);
 
+   curl_easy_setopt(url_con->curl_easy, CURLOPT_ENCODING, "gzip,deflate");
+
+   url_con->fd = -1;
+   url_con->write_fd = -1;
+
    return url_con;
 #else
    return NULL;
@@ -213,6 +243,11 @@ ecore_con_url_new(const char *url)
 #endif
 }
 
+/**
+ * Frees the Ecore_Con_Url.
+ * @return  FIXME: To be documented. 
+ * @ingroup Ecore_Con_Url_Group
+ */
 EAPI void
 ecore_con_url_destroy(Ecore_Con_Url *url_con)
 {
@@ -226,11 +261,20 @@ ecore_con_url_destroy(Ecore_Con_Url *url_con)
 
    ECORE_MAGIC_SET(url_con, ECORE_MAGIC_NONE);
    if (url_con->fd_handler)
-     ecore_main_fd_handler_del(url_con->fd_handler);
+     {
+	ecore_main_fd_handler_del(url_con->fd_handler);
+	url_con->fd = -1;
+     }
    if (url_con->curl_easy)
      {
 	if (url_con->active)
-	  curl_multi_remove_handle(curlm, url_con->curl_easy);
+	  {
+	     if (ecore_list_find(_url_con_list, ecore_direct_compare, url_con) == url_con)
+	       ecore_list_remove(_url_con_list);
+	     url_con->active = 0;
+
+	     curl_multi_remove_handle(curlm, url_con->curl_easy);
+	  }
 	curl_easy_cleanup(url_con->curl_easy);
      }
    curl_slist_free_all(url_con->headers);
@@ -242,6 +286,11 @@ ecore_con_url_destroy(Ecore_Con_Url *url_con)
 #endif
 }
 
+/**
+ * FIXME: To be documented.
+ * @return  FIXME: To be documented.
+ * @ingroup Ecore_Con_Url_Group
+ */
 EAPI int
 ecore_con_url_url_set(Ecore_Con_Url *url_con, const char *url)
 {
@@ -267,6 +316,11 @@ ecore_con_url_url_set(Ecore_Con_Url *url_con, const char *url)
 #endif
 }
 
+/**
+ * FIXME: To be documented.
+ * @return  FIXME: To be documented.
+ * @ingroup Ecore_Con_Url_Group
+ */
 EAPI void
 ecore_con_url_data_set(Ecore_Con_Url *url_con, void *data)
 {
@@ -285,6 +339,11 @@ ecore_con_url_data_set(Ecore_Con_Url *url_con, void *data)
 #endif
 }
 
+/**
+ * FIXME: To be documented.
+ * @return  FIXME: To be documented.
+ * @ingroup Ecore_Con_Url_Group
+ */
 EAPI void *
 ecore_con_url_data_get(Ecore_Con_Url *url_con)
 {
@@ -302,6 +361,11 @@ ecore_con_url_data_get(Ecore_Con_Url *url_con)
 #endif
 }
 
+/**
+ * FIXME: To be documented.
+ * @return  FIXME: To be documented.
+ * @ingroup Ecore_Con_Url_Group
+ */
 EAPI void
 ecore_con_url_time(Ecore_Con_Url *url_con, Ecore_Con_Url_Time condition, time_t tm)
 {
@@ -322,6 +386,49 @@ ecore_con_url_time(Ecore_Con_Url *url_con, Ecore_Con_Url_Time condition, time_t
 #endif
 }
 
+/**
+ * FIXME: To be documented.
+ * @return  FIXME: To be documented.
+ * @ingroup Ecore_Con_Url_Group
+ */
+EAPI void
+ecore_con_url_fd_set(Ecore_Con_Url *url_con, int fd)
+{
+#ifdef HAVE_CURL
+   if (!ECORE_MAGIC_CHECK(url_con, ECORE_MAGIC_CON_URL))
+     {
+	ECORE_MAGIC_FAIL(url_con, ECORE_MAGIC_CON_URL, "ecore_con_url_set");
+	return ;
+     }
+   url_con->write_fd = fd;
+#endif   
+}
+
+/**
+ * FIXME: To be documented.
+ * @return  FIXME: To be documented.
+ * @ingroup Ecore_Con_Url_Group
+ */
+EAPI int
+ecore_con_url_received_bytes_get(Ecore_Con_Url *url_con)
+{
+#ifdef HAVE_CURL
+   if (!ECORE_MAGIC_CHECK(url_con, ECORE_MAGIC_CON_URL))
+     {
+	ECORE_MAGIC_FAIL(url_con, ECORE_MAGIC_CON_URL, "ecore_con_url_received_bytes_get");
+	return -1;
+     }
+
+   return url_con->received;
+#endif   
+   return 0;
+}
+
+/**
+ * FIXME: To be documented.
+ * @return  FIXME: To be documented.
+ * @ingroup Ecore_Con_Url_Group
+ */
 EAPI int
 ecore_con_url_send(Ecore_Con_Url *url_con, void *data, size_t length, char *content_type)
 {
@@ -386,6 +493,57 @@ ecore_con_url_send(Ecore_Con_Url *url_con, void *data, size_t length, char *cont
 }
 
 #ifdef HAVE_CURL
+static int
+_ecore_con_url_suspend_fd_handler(void)
+{
+   Ecore_Con_Url	*url_con;
+   int			 deleted = 0;
+
+   if (!_url_con_list)
+     return 0;
+
+   ecore_list_first_goto(_url_con_list);
+   while ((url_con = ecore_list_current(_url_con_list)))
+     {
+	if (url_con->active && url_con->fd_handler)
+	  {
+	     ecore_main_fd_handler_del(url_con->fd_handler);
+	     url_con->fd_handler = NULL;
+	     deleted++;
+	  }
+	ecore_list_next(_url_con_list);
+     }
+
+   return deleted;
+}
+
+static int
+_ecore_con_url_restart_fd_handler(void)
+{
+   Ecore_Con_Url	*url_con;
+   int			 activated = 0;
+
+   if (!_url_con_list)
+     return 0;
+
+   ecore_list_first_goto(_url_con_list);
+   while ((url_con = ecore_list_current(_url_con_list)))
+     {
+	if (url_con->fd_handler == NULL
+	    && url_con->fd != -1)
+	  {
+	     url_con->fd_handler = ecore_main_fd_handler_add(url_con->fd,
+							     url_con->flags,
+							     _ecore_con_url_fd_handler,
+							     NULL, NULL, NULL);
+	     activated++;
+	  }
+	ecore_list_next(_url_con_list);
+     }
+
+   return activated;
+}
+
 static size_t
 _ecore_con_url_data_cb(void *buffer, size_t size, size_t nmemb, void *userp)
 {
@@ -394,15 +552,50 @@ _ecore_con_url_data_cb(void *buffer, size_t size, size_t nmemb, void *userp)
    size_t real_size = size * nmemb;
 
    url_con = (Ecore_Con_Url *)userp;
-   e = malloc(sizeof(Ecore_Con_Event_Url_Data) + sizeof(unsigned char) * (real_size - 1));
-   if (e)
+
+   if (!url_con) return -1;
+   if (!ECORE_MAGIC_CHECK(url_con, ECORE_MAGIC_CON_URL))
      {
-	e->url_con = url_con;
-	e->size = real_size;
-	memcpy(e->data, buffer, real_size);
-	ecore_event_add(ECORE_CON_EVENT_URL_DATA, e,
-			_ecore_con_event_url_free, NULL);
+	ECORE_MAGIC_FAIL(url_con, ECORE_MAGIC_CON_URL, "ecore_con_url_data_cb");
+	return -1;
+     }
+
+   url_con->received += real_size;
+
+   if (url_con->write_fd < 0)
+     {
+	e = malloc(sizeof(Ecore_Con_Event_Url_Data) + sizeof(unsigned char) * (real_size - 1));
+	if (e)
+	  {
+	     e->url_con = url_con;
+	     e->size = real_size;
+	     memcpy(e->data, buffer, real_size);
+	     ecore_event_add(ECORE_CON_EVENT_URL_DATA, e,
+			     _ecore_con_event_url_free, NULL);
+	  }
      }
+   else
+     {
+	ssize_t	count = 0;
+	size_t	total_size = real_size;
+	size_t	offset = 0;
+
+	while (total_size > 0)
+	  {
+	     count = write(url_con->write_fd, (char*) buffer + offset, total_size);
+	     if (count < 0)
+	       {
+		  if (errno != EAGAIN && errno != EINTR)
+		    return -1;
+	       }
+	     else
+	       {
+		  total_size -= count;
+		  offset += count;
+	       }
+	  }
+     }
+
    return real_size;
 }
 
@@ -425,12 +618,21 @@ _ecore_con_url_data_cb(void *buffer, size_t size, size_t nmemb, void *userp)
 static int
 _ecore_con_url_progress_cb(void *clientp, double dltotal, double dlnow, double ultotal, double ulnow)
 {
-   Ecore_Con_Url *url_con;
+   Ecore_Con_Event_Url_Progress	*e;
+   Ecore_Con_Url		*url_con;
 
    url_con = clientp;
 
-   ECORE_CON_URL_TRANSMISSION(Download, ECORE_CON_EVENT_URL_PROGRESS_DOWNLOAD, url_con, dltotal, dlnow);
-   ECORE_CON_URL_TRANSMISSION(Upload, ECORE_CON_EVENT_URL_PROGRESS_UPLOAD, url_con, ultotal, ulnow);
+   e = calloc(1, sizeof(Ecore_Con_Event_Url_Progress));
+   if (e)
+     {
+	e->url_con = url_con;
+	e->down.total = dltotal;
+	e->down.now = dlnow;
+	e->up.total = ultotal;
+	e->up.now = ulnow;
+	ecore_event_add(ECORE_CON_EVENT_URL_PROGRESS, e, _ecore_con_event_url_free, NULL);
+     }
 
    return 0;
 }
@@ -439,6 +641,7 @@ static int
 _ecore_con_url_perform(Ecore_Con_Url *url_con)
 {
    fd_set read_set, write_set, exc_set;
+   double start;
    int fd_max;
    int fd;
    int flags;
@@ -447,8 +650,10 @@ _ecore_con_url_perform(Ecore_Con_Url *url_con)
 
    ecore_list_append(_url_con_list, url_con);
 
+   start = ecore_time_get();
    url_con->active = 1;
    curl_multi_add_handle(curlm, url_con->curl_easy);
+   /* This one can't be stopped, or the download never start. */
    while (curl_multi_perform(curlm, &still_running) == CURLM_CALL_MULTI_PERFORM);
 
    completed_immediately =  _ecore_con_url_process_completed_jobs(url_con);
@@ -473,9 +678,12 @@ _ecore_con_url_perform(Ecore_Con_Url *url_con)
 		  if (flags)
 		    {
 		       FD_SET(fd, &_current_fd_set);
+		       url_con->fd = fd;
+		       url_con->flags = flags;
 		       url_con->fd_handler = ecore_main_fd_handler_add(fd, flags,
 								       _ecore_con_url_fd_handler,
 								       NULL, NULL, NULL);
+		       break;
 		    }
 	       }
 	  }
@@ -484,6 +692,7 @@ _ecore_con_url_perform(Ecore_Con_Url *url_con)
 	     /* Failed to set up an fd_handler */
 	     curl_multi_remove_handle(curlm, url_con->curl_easy);
 	     url_con->active = 0;
+	     url_con->fd = -1;
 	     return 0;
 	  }
      }
@@ -492,14 +701,41 @@ _ecore_con_url_perform(Ecore_Con_Url *url_con)
 }
 
 static int
+_ecore_con_url_idler_handler(void *data)
+{
+   double	start;
+   int		done = 1;
+   int		still_running;
+
+   start = ecore_time_get();
+   while (curl_multi_perform(curlm, &still_running) == CURLM_CALL_MULTI_PERFORM)
+     /* make this 1/20th of a second to keep interactivity high */
+     if ((ecore_time_get() - start) > 0.2)
+       {
+	  done = 0;
+	  break;
+       }
+
+   _ecore_con_url_process_completed_jobs(NULL);
+
+   if (done)
+     {
+	_ecore_con_url_restart_fd_handler();
+	_fd_idler_handler = NULL;
+	return 0;
+     }
+
+   return 1;
+}
+
+static int
 _ecore_con_url_fd_handler(void *data __UNUSED__, Ecore_Fd_Handler *fd_handler __UNUSED__)
 {
-   int still_running;
+   _ecore_con_url_suspend_fd_handler();
 
-   /* FIXME: Can this run for a long time? Maybe limit how long it can run */
-   while (curl_multi_perform(curlm, &still_running) == CURLM_CALL_MULTI_PERFORM);
+   if (_fd_idler_handler == NULL)
+     _fd_idler_handler = ecore_idler_add(_ecore_con_url_idler_handler, NULL);
 
-   _ecore_con_url_process_completed_jobs(NULL);
    return 1;
 }
 
@@ -526,11 +762,12 @@ _ecore_con_url_process_completed_jobs(Ecore_Con_Url *url_con_to_match)
 		  if (url_con_to_match && (url_con == url_con_to_match)) {
 		       job_matched = 1;
 		  }
-		  if (url_con->fd_handler)
+		  if (url_con->fd != -1)
 		    {
-		       FD_CLR(ecore_main_fd_handler_fd_get(url_con->fd_handler),
-			      &_current_fd_set);
-		       ecore_main_fd_handler_del(url_con->fd_handler);
+		       FD_CLR(url_con->fd, &_current_fd_set);
+		       if (url_con->fd_handler)
+			 ecore_main_fd_handler_del(url_con->fd_handler);
+		       url_con->fd = -1;
 		       url_con->fd_handler = NULL;
 		    }
 		  ecore_list_remove(_url_con_list);
@@ -556,6 +793,7 @@ _ecore_con_url_process_completed_jobs(Ecore_Con_Url *url_con_to_match)
      }
    return job_matched;
 }
+
 static void
 _ecore_con_event_url_free(void *data __UNUSED__, void *ev)
 {
diff --git a/src/lib/ecore_config/Makefile.in b/src/lib/ecore_config/Makefile.in
index 7d998cd..91c3e1c 100644
--- a/src/lib/ecore_config/Makefile.in
+++ b/src/lib/ecore_config/Makefile.in
@@ -122,6 +122,8 @@ BUILD_ECORE_EVAS_DIRECTFB_TRUE = @BUILD_ECORE_EVAS_DIRECTFB_TRUE@
 BUILD_ECORE_EVAS_FALSE = @BUILD_ECORE_EVAS_FALSE@
 BUILD_ECORE_EVAS_FB_FALSE = @BUILD_ECORE_EVAS_FB_FALSE@
 BUILD_ECORE_EVAS_FB_TRUE = @BUILD_ECORE_EVAS_FB_TRUE@
+BUILD_ECORE_EVAS_SDL_FALSE = @BUILD_ECORE_EVAS_SDL_FALSE@
+BUILD_ECORE_EVAS_SDL_TRUE = @BUILD_ECORE_EVAS_SDL_TRUE@
 BUILD_ECORE_EVAS_TRUE = @BUILD_ECORE_EVAS_TRUE@
 BUILD_ECORE_EVAS_X11_16_FALSE = @BUILD_ECORE_EVAS_X11_16_FALSE@
 BUILD_ECORE_EVAS_X11_16_TRUE = @BUILD_ECORE_EVAS_X11_16_TRUE@
@@ -170,6 +172,7 @@ DEPDIR = @DEPDIR@
 DIRECTFB_CFLAGS = @DIRECTFB_CFLAGS@
 DIRECTFB_LIBS = @DIRECTFB_LIBS@
 DLLTOOL = @DLLTOOL@
+DSYMUTIL = @DSYMUTIL@
 ECHO = @ECHO@
 ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
@@ -178,7 +181,31 @@ EET_CFLAGS = @EET_CFLAGS@
 EET_LIBS = @EET_LIBS@
 EGREP = @EGREP@
 EVAS_CFLAGS = @EVAS_CFLAGS@
+EVAS_DIRECT3D_CFLAGS = @EVAS_DIRECT3D_CFLAGS@
+EVAS_DIRECT3D_LIBS = @EVAS_DIRECT3D_LIBS@
+EVAS_DIRECTFB_CFLAGS = @EVAS_DIRECTFB_CFLAGS@
+EVAS_DIRECTFB_LIBS = @EVAS_DIRECTFB_LIBS@
+EVAS_FB_CFLAGS = @EVAS_FB_CFLAGS@
+EVAS_FB_LIBS = @EVAS_FB_LIBS@
 EVAS_LIBS = @EVAS_LIBS@
+EVAS_OPENGL_GLEW_CFLAGS = @EVAS_OPENGL_GLEW_CFLAGS@
+EVAS_OPENGL_GLEW_LIBS = @EVAS_OPENGL_GLEW_LIBS@
+EVAS_OPENGL_X11_CFLAGS = @EVAS_OPENGL_X11_CFLAGS@
+EVAS_OPENGL_X11_LIBS = @EVAS_OPENGL_X11_LIBS@
+EVAS_SOFTWARE_16_DDRAW_CFLAGS = @EVAS_SOFTWARE_16_DDRAW_CFLAGS@
+EVAS_SOFTWARE_16_DDRAW_LIBS = @EVAS_SOFTWARE_16_DDRAW_LIBS@
+EVAS_SOFTWARE_16_X11_CFLAGS = @EVAS_SOFTWARE_16_X11_CFLAGS@
+EVAS_SOFTWARE_16_X11_LIBS = @EVAS_SOFTWARE_16_X11_LIBS@
+EVAS_SOFTWARE_BUFFER_CFLAGS = @EVAS_SOFTWARE_BUFFER_CFLAGS@
+EVAS_SOFTWARE_BUFFER_LIBS = @EVAS_SOFTWARE_BUFFER_LIBS@
+EVAS_SOFTWARE_DDRAW_CFLAGS = @EVAS_SOFTWARE_DDRAW_CFLAGS@
+EVAS_SOFTWARE_DDRAW_LIBS = @EVAS_SOFTWARE_DDRAW_LIBS@
+EVAS_SOFTWARE_SDL_CFLAGS = @EVAS_SOFTWARE_SDL_CFLAGS@
+EVAS_SOFTWARE_SDL_LIBS = @EVAS_SOFTWARE_SDL_LIBS@
+EVAS_SOFTWARE_X11_CFLAGS = @EVAS_SOFTWARE_X11_CFLAGS@
+EVAS_SOFTWARE_X11_LIBS = @EVAS_SOFTWARE_X11_LIBS@
+EVAS_XRENDER_X11_CFLAGS = @EVAS_XRENDER_X11_CFLAGS@
+EVAS_XRENDER_X11_LIBS = @EVAS_XRENDER_X11_LIBS@
 EXEEXT = @EXEEXT@
 GREP = @GREP@
 INSTALL_DATA = @INSTALL_DATA@
@@ -192,6 +219,7 @@ LIBTOOL = @LIBTOOL@
 LN_S = @LN_S@
 LTLIBOBJS = @LTLIBOBJS@
 MAKEINFO = @MAKEINFO@
+NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 PACKAGE = @PACKAGE@
@@ -204,6 +232,7 @@ PATH_SEPARATOR = @PATH_SEPARATOR@
 PKG_CONFIG = @PKG_CONFIG@
 RANLIB = @RANLIB@
 SDL_CFLAGS = @SDL_CFLAGS@
+SDL_CONFIG = @SDL_CONFIG@
 SDL_LIBS = @SDL_LIBS@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
@@ -236,6 +265,8 @@ XCB_XINERAMA_CFLAGS = @XCB_XINERAMA_CFLAGS@
 XCB_XINERAMA_LIBS = @XCB_XINERAMA_LIBS@
 XCB_XPRINT_CFLAGS = @XCB_XPRINT_CFLAGS@
 XCB_XPRINT_LIBS = @XCB_XPRINT_LIBS@
+XCB_XTEST_CFLAGS = @XCB_XTEST_CFLAGS@
+XCB_XTEST_LIBS = @XCB_XTEST_LIBS@
 XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
 XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -255,6 +286,8 @@ XRENDER_CFLAGS = @XRENDER_CFLAGS@
 XRENDER_LIBS = @XRENDER_LIBS@
 XSS_CFLAGS = @XSS_CFLAGS@
 XSS_LIBS = @XSS_LIBS@
+XTEST_CFLAGS = @XTEST_CFLAGS@
+XTEST_LIBS = @XTEST_LIBS@
 X_CFLAGS = @X_CFLAGS@
 X_EXTRA_LIBS = @X_EXTRA_LIBS@
 X_LIBS = @X_LIBS@
diff --git a/src/lib/ecore_desktop/Makefile.in b/src/lib/ecore_desktop/Makefile.in
index 4626543..47d1b9d 100644
--- a/src/lib/ecore_desktop/Makefile.in
+++ b/src/lib/ecore_desktop/Makefile.in
@@ -117,6 +117,8 @@ BUILD_ECORE_EVAS_DIRECTFB_TRUE = @BUILD_ECORE_EVAS_DIRECTFB_TRUE@
 BUILD_ECORE_EVAS_FALSE = @BUILD_ECORE_EVAS_FALSE@
 BUILD_ECORE_EVAS_FB_FALSE = @BUILD_ECORE_EVAS_FB_FALSE@
 BUILD_ECORE_EVAS_FB_TRUE = @BUILD_ECORE_EVAS_FB_TRUE@
+BUILD_ECORE_EVAS_SDL_FALSE = @BUILD_ECORE_EVAS_SDL_FALSE@
+BUILD_ECORE_EVAS_SDL_TRUE = @BUILD_ECORE_EVAS_SDL_TRUE@
 BUILD_ECORE_EVAS_TRUE = @BUILD_ECORE_EVAS_TRUE@
 BUILD_ECORE_EVAS_X11_16_FALSE = @BUILD_ECORE_EVAS_X11_16_FALSE@
 BUILD_ECORE_EVAS_X11_16_TRUE = @BUILD_ECORE_EVAS_X11_16_TRUE@
@@ -165,6 +167,7 @@ DEPDIR = @DEPDIR@
 DIRECTFB_CFLAGS = @DIRECTFB_CFLAGS@
 DIRECTFB_LIBS = @DIRECTFB_LIBS@
 DLLTOOL = @DLLTOOL@
+DSYMUTIL = @DSYMUTIL@
 ECHO = @ECHO@
 ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
@@ -173,7 +176,31 @@ EET_CFLAGS = @EET_CFLAGS@
 EET_LIBS = @EET_LIBS@
 EGREP = @EGREP@
 EVAS_CFLAGS = @EVAS_CFLAGS@
+EVAS_DIRECT3D_CFLAGS = @EVAS_DIRECT3D_CFLAGS@
+EVAS_DIRECT3D_LIBS = @EVAS_DIRECT3D_LIBS@
+EVAS_DIRECTFB_CFLAGS = @EVAS_DIRECTFB_CFLAGS@
+EVAS_DIRECTFB_LIBS = @EVAS_DIRECTFB_LIBS@
+EVAS_FB_CFLAGS = @EVAS_FB_CFLAGS@
+EVAS_FB_LIBS = @EVAS_FB_LIBS@
 EVAS_LIBS = @EVAS_LIBS@
+EVAS_OPENGL_GLEW_CFLAGS = @EVAS_OPENGL_GLEW_CFLAGS@
+EVAS_OPENGL_GLEW_LIBS = @EVAS_OPENGL_GLEW_LIBS@
+EVAS_OPENGL_X11_CFLAGS = @EVAS_OPENGL_X11_CFLAGS@
+EVAS_OPENGL_X11_LIBS = @EVAS_OPENGL_X11_LIBS@
+EVAS_SOFTWARE_16_DDRAW_CFLAGS = @EVAS_SOFTWARE_16_DDRAW_CFLAGS@
+EVAS_SOFTWARE_16_DDRAW_LIBS = @EVAS_SOFTWARE_16_DDRAW_LIBS@
+EVAS_SOFTWARE_16_X11_CFLAGS = @EVAS_SOFTWARE_16_X11_CFLAGS@
+EVAS_SOFTWARE_16_X11_LIBS = @EVAS_SOFTWARE_16_X11_LIBS@
+EVAS_SOFTWARE_BUFFER_CFLAGS = @EVAS_SOFTWARE_BUFFER_CFLAGS@
+EVAS_SOFTWARE_BUFFER_LIBS = @EVAS_SOFTWARE_BUFFER_LIBS@
+EVAS_SOFTWARE_DDRAW_CFLAGS = @EVAS_SOFTWARE_DDRAW_CFLAGS@
+EVAS_SOFTWARE_DDRAW_LIBS = @EVAS_SOFTWARE_DDRAW_LIBS@
+EVAS_SOFTWARE_SDL_CFLAGS = @EVAS_SOFTWARE_SDL_CFLAGS@
+EVAS_SOFTWARE_SDL_LIBS = @EVAS_SOFTWARE_SDL_LIBS@
+EVAS_SOFTWARE_X11_CFLAGS = @EVAS_SOFTWARE_X11_CFLAGS@
+EVAS_SOFTWARE_X11_LIBS = @EVAS_SOFTWARE_X11_LIBS@
+EVAS_XRENDER_X11_CFLAGS = @EVAS_XRENDER_X11_CFLAGS@
+EVAS_XRENDER_X11_LIBS = @EVAS_XRENDER_X11_LIBS@
 EXEEXT = @EXEEXT@
 GREP = @GREP@
 INSTALL_DATA = @INSTALL_DATA@
@@ -187,6 +214,7 @@ LIBTOOL = @LIBTOOL@
 LN_S = @LN_S@
 LTLIBOBJS = @LTLIBOBJS@
 MAKEINFO = @MAKEINFO@
+NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 PACKAGE = @PACKAGE@
@@ -199,6 +227,7 @@ PATH_SEPARATOR = @PATH_SEPARATOR@
 PKG_CONFIG = @PKG_CONFIG@
 RANLIB = @RANLIB@
 SDL_CFLAGS = @SDL_CFLAGS@
+SDL_CONFIG = @SDL_CONFIG@
 SDL_LIBS = @SDL_LIBS@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
@@ -231,6 +260,8 @@ XCB_XINERAMA_CFLAGS = @XCB_XINERAMA_CFLAGS@
 XCB_XINERAMA_LIBS = @XCB_XINERAMA_LIBS@
 XCB_XPRINT_CFLAGS = @XCB_XPRINT_CFLAGS@
 XCB_XPRINT_LIBS = @XCB_XPRINT_LIBS@
+XCB_XTEST_CFLAGS = @XCB_XTEST_CFLAGS@
+XCB_XTEST_LIBS = @XCB_XTEST_LIBS@
 XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
 XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -250,6 +281,8 @@ XRENDER_CFLAGS = @XRENDER_CFLAGS@
 XRENDER_LIBS = @XRENDER_LIBS@
 XSS_CFLAGS = @XSS_CFLAGS@
 XSS_LIBS = @XSS_LIBS@
+XTEST_CFLAGS = @XTEST_CFLAGS@
+XTEST_LIBS = @XTEST_LIBS@
 X_CFLAGS = @X_CFLAGS@
 X_EXTRA_LIBS = @X_EXTRA_LIBS@
 X_LIBS = @X_LIBS@
diff --git a/src/lib/ecore_directfb/Makefile.in b/src/lib/ecore_directfb/Makefile.in
index 049b066..abd03de 100644
--- a/src/lib/ecore_directfb/Makefile.in
+++ b/src/lib/ecore_directfb/Makefile.in
@@ -110,6 +110,8 @@ BUILD_ECORE_EVAS_DIRECTFB_TRUE = @BUILD_ECORE_EVAS_DIRECTFB_TRUE@
 BUILD_ECORE_EVAS_FALSE = @BUILD_ECORE_EVAS_FALSE@
 BUILD_ECORE_EVAS_FB_FALSE = @BUILD_ECORE_EVAS_FB_FALSE@
 BUILD_ECORE_EVAS_FB_TRUE = @BUILD_ECORE_EVAS_FB_TRUE@
+BUILD_ECORE_EVAS_SDL_FALSE = @BUILD_ECORE_EVAS_SDL_FALSE@
+BUILD_ECORE_EVAS_SDL_TRUE = @BUILD_ECORE_EVAS_SDL_TRUE@
 BUILD_ECORE_EVAS_TRUE = @BUILD_ECORE_EVAS_TRUE@
 BUILD_ECORE_EVAS_X11_16_FALSE = @BUILD_ECORE_EVAS_X11_16_FALSE@
 BUILD_ECORE_EVAS_X11_16_TRUE = @BUILD_ECORE_EVAS_X11_16_TRUE@
@@ -158,6 +160,7 @@ DEPDIR = @DEPDIR@
 DIRECTFB_CFLAGS = @DIRECTFB_CFLAGS@
 DIRECTFB_LIBS = @DIRECTFB_LIBS@
 DLLTOOL = @DLLTOOL@
+DSYMUTIL = @DSYMUTIL@
 ECHO = @ECHO@
 ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
@@ -166,7 +169,31 @@ EET_CFLAGS = @EET_CFLAGS@
 EET_LIBS = @EET_LIBS@
 EGREP = @EGREP@
 EVAS_CFLAGS = @EVAS_CFLAGS@
+EVAS_DIRECT3D_CFLAGS = @EVAS_DIRECT3D_CFLAGS@
+EVAS_DIRECT3D_LIBS = @EVAS_DIRECT3D_LIBS@
+EVAS_DIRECTFB_CFLAGS = @EVAS_DIRECTFB_CFLAGS@
+EVAS_DIRECTFB_LIBS = @EVAS_DIRECTFB_LIBS@
+EVAS_FB_CFLAGS = @EVAS_FB_CFLAGS@
+EVAS_FB_LIBS = @EVAS_FB_LIBS@
 EVAS_LIBS = @EVAS_LIBS@
+EVAS_OPENGL_GLEW_CFLAGS = @EVAS_OPENGL_GLEW_CFLAGS@
+EVAS_OPENGL_GLEW_LIBS = @EVAS_OPENGL_GLEW_LIBS@
+EVAS_OPENGL_X11_CFLAGS = @EVAS_OPENGL_X11_CFLAGS@
+EVAS_OPENGL_X11_LIBS = @EVAS_OPENGL_X11_LIBS@
+EVAS_SOFTWARE_16_DDRAW_CFLAGS = @EVAS_SOFTWARE_16_DDRAW_CFLAGS@
+EVAS_SOFTWARE_16_DDRAW_LIBS = @EVAS_SOFTWARE_16_DDRAW_LIBS@
+EVAS_SOFTWARE_16_X11_CFLAGS = @EVAS_SOFTWARE_16_X11_CFLAGS@
+EVAS_SOFTWARE_16_X11_LIBS = @EVAS_SOFTWARE_16_X11_LIBS@
+EVAS_SOFTWARE_BUFFER_CFLAGS = @EVAS_SOFTWARE_BUFFER_CFLAGS@
+EVAS_SOFTWARE_BUFFER_LIBS = @EVAS_SOFTWARE_BUFFER_LIBS@
+EVAS_SOFTWARE_DDRAW_CFLAGS = @EVAS_SOFTWARE_DDRAW_CFLAGS@
+EVAS_SOFTWARE_DDRAW_LIBS = @EVAS_SOFTWARE_DDRAW_LIBS@
+EVAS_SOFTWARE_SDL_CFLAGS = @EVAS_SOFTWARE_SDL_CFLAGS@
+EVAS_SOFTWARE_SDL_LIBS = @EVAS_SOFTWARE_SDL_LIBS@
+EVAS_SOFTWARE_X11_CFLAGS = @EVAS_SOFTWARE_X11_CFLAGS@
+EVAS_SOFTWARE_X11_LIBS = @EVAS_SOFTWARE_X11_LIBS@
+EVAS_XRENDER_X11_CFLAGS = @EVAS_XRENDER_X11_CFLAGS@
+EVAS_XRENDER_X11_LIBS = @EVAS_XRENDER_X11_LIBS@
 EXEEXT = @EXEEXT@
 GREP = @GREP@
 INSTALL_DATA = @INSTALL_DATA@
@@ -180,6 +207,7 @@ LIBTOOL = @LIBTOOL@
 LN_S = @LN_S@
 LTLIBOBJS = @LTLIBOBJS@
 MAKEINFO = @MAKEINFO@
+NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 PACKAGE = @PACKAGE@
@@ -192,6 +220,7 @@ PATH_SEPARATOR = @PATH_SEPARATOR@
 PKG_CONFIG = @PKG_CONFIG@
 RANLIB = @RANLIB@
 SDL_CFLAGS = @SDL_CFLAGS@
+SDL_CONFIG = @SDL_CONFIG@
 SDL_LIBS = @SDL_LIBS@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
@@ -224,6 +253,8 @@ XCB_XINERAMA_CFLAGS = @XCB_XINERAMA_CFLAGS@
 XCB_XINERAMA_LIBS = @XCB_XINERAMA_LIBS@
 XCB_XPRINT_CFLAGS = @XCB_XPRINT_CFLAGS@
 XCB_XPRINT_LIBS = @XCB_XPRINT_LIBS@
+XCB_XTEST_CFLAGS = @XCB_XTEST_CFLAGS@
+XCB_XTEST_LIBS = @XCB_XTEST_LIBS@
 XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
 XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -243,6 +274,8 @@ XRENDER_CFLAGS = @XRENDER_CFLAGS@
 XRENDER_LIBS = @XRENDER_LIBS@
 XSS_CFLAGS = @XSS_CFLAGS@
 XSS_LIBS = @XSS_LIBS@
+XTEST_CFLAGS = @XTEST_CFLAGS@
+XTEST_LIBS = @XTEST_LIBS@
 X_CFLAGS = @X_CFLAGS@
 X_EXTRA_LIBS = @X_EXTRA_LIBS@
 X_LIBS = @X_LIBS@
diff --git a/src/lib/ecore_evas/Makefile.in b/src/lib/ecore_evas/Makefile.in
index abaf731..c37c775 100644
--- a/src/lib/ecore_evas/Makefile.in
+++ b/src/lib/ecore_evas/Makefile.in
@@ -118,6 +118,8 @@ BUILD_ECORE_EVAS_DIRECTFB_TRUE = @BUILD_ECORE_EVAS_DIRECTFB_TRUE@
 BUILD_ECORE_EVAS_FALSE = @BUILD_ECORE_EVAS_FALSE@
 BUILD_ECORE_EVAS_FB_FALSE = @BUILD_ECORE_EVAS_FB_FALSE@
 BUILD_ECORE_EVAS_FB_TRUE = @BUILD_ECORE_EVAS_FB_TRUE@
+BUILD_ECORE_EVAS_SDL_FALSE = @BUILD_ECORE_EVAS_SDL_FALSE@
+BUILD_ECORE_EVAS_SDL_TRUE = @BUILD_ECORE_EVAS_SDL_TRUE@
 BUILD_ECORE_EVAS_TRUE = @BUILD_ECORE_EVAS_TRUE@
 BUILD_ECORE_EVAS_X11_16_FALSE = @BUILD_ECORE_EVAS_X11_16_FALSE@
 BUILD_ECORE_EVAS_X11_16_TRUE = @BUILD_ECORE_EVAS_X11_16_TRUE@
@@ -166,6 +168,7 @@ DEPDIR = @DEPDIR@
 DIRECTFB_CFLAGS = @DIRECTFB_CFLAGS@
 DIRECTFB_LIBS = @DIRECTFB_LIBS@
 DLLTOOL = @DLLTOOL@
+DSYMUTIL = @DSYMUTIL@
 ECHO = @ECHO@
 ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
@@ -174,7 +177,31 @@ EET_CFLAGS = @EET_CFLAGS@
 EET_LIBS = @EET_LIBS@
 EGREP = @EGREP@
 EVAS_CFLAGS = @EVAS_CFLAGS@
+EVAS_DIRECT3D_CFLAGS = @EVAS_DIRECT3D_CFLAGS@
+EVAS_DIRECT3D_LIBS = @EVAS_DIRECT3D_LIBS@
+EVAS_DIRECTFB_CFLAGS = @EVAS_DIRECTFB_CFLAGS@
+EVAS_DIRECTFB_LIBS = @EVAS_DIRECTFB_LIBS@
+EVAS_FB_CFLAGS = @EVAS_FB_CFLAGS@
+EVAS_FB_LIBS = @EVAS_FB_LIBS@
 EVAS_LIBS = @EVAS_LIBS@
+EVAS_OPENGL_GLEW_CFLAGS = @EVAS_OPENGL_GLEW_CFLAGS@
+EVAS_OPENGL_GLEW_LIBS = @EVAS_OPENGL_GLEW_LIBS@
+EVAS_OPENGL_X11_CFLAGS = @EVAS_OPENGL_X11_CFLAGS@
+EVAS_OPENGL_X11_LIBS = @EVAS_OPENGL_X11_LIBS@
+EVAS_SOFTWARE_16_DDRAW_CFLAGS = @EVAS_SOFTWARE_16_DDRAW_CFLAGS@
+EVAS_SOFTWARE_16_DDRAW_LIBS = @EVAS_SOFTWARE_16_DDRAW_LIBS@
+EVAS_SOFTWARE_16_X11_CFLAGS = @EVAS_SOFTWARE_16_X11_CFLAGS@
+EVAS_SOFTWARE_16_X11_LIBS = @EVAS_SOFTWARE_16_X11_LIBS@
+EVAS_SOFTWARE_BUFFER_CFLAGS = @EVAS_SOFTWARE_BUFFER_CFLAGS@
+EVAS_SOFTWARE_BUFFER_LIBS = @EVAS_SOFTWARE_BUFFER_LIBS@
+EVAS_SOFTWARE_DDRAW_CFLAGS = @EVAS_SOFTWARE_DDRAW_CFLAGS@
+EVAS_SOFTWARE_DDRAW_LIBS = @EVAS_SOFTWARE_DDRAW_LIBS@
+EVAS_SOFTWARE_SDL_CFLAGS = @EVAS_SOFTWARE_SDL_CFLAGS@
+EVAS_SOFTWARE_SDL_LIBS = @EVAS_SOFTWARE_SDL_LIBS@
+EVAS_SOFTWARE_X11_CFLAGS = @EVAS_SOFTWARE_X11_CFLAGS@
+EVAS_SOFTWARE_X11_LIBS = @EVAS_SOFTWARE_X11_LIBS@
+EVAS_XRENDER_X11_CFLAGS = @EVAS_XRENDER_X11_CFLAGS@
+EVAS_XRENDER_X11_LIBS = @EVAS_XRENDER_X11_LIBS@
 EXEEXT = @EXEEXT@
 GREP = @GREP@
 INSTALL_DATA = @INSTALL_DATA@
@@ -188,6 +215,7 @@ LIBTOOL = @LIBTOOL@
 LN_S = @LN_S@
 LTLIBOBJS = @LTLIBOBJS@
 MAKEINFO = @MAKEINFO@
+NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 PACKAGE = @PACKAGE@
@@ -200,6 +228,7 @@ PATH_SEPARATOR = @PATH_SEPARATOR@
 PKG_CONFIG = @PKG_CONFIG@
 RANLIB = @RANLIB@
 SDL_CFLAGS = @SDL_CFLAGS@
+SDL_CONFIG = @SDL_CONFIG@
 SDL_LIBS = @SDL_LIBS@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
@@ -232,6 +261,8 @@ XCB_XINERAMA_CFLAGS = @XCB_XINERAMA_CFLAGS@
 XCB_XINERAMA_LIBS = @XCB_XINERAMA_LIBS@
 XCB_XPRINT_CFLAGS = @XCB_XPRINT_CFLAGS@
 XCB_XPRINT_LIBS = @XCB_XPRINT_LIBS@
+XCB_XTEST_CFLAGS = @XCB_XTEST_CFLAGS@
+XCB_XTEST_LIBS = @XCB_XTEST_LIBS@
 XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
 XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -251,6 +282,8 @@ XRENDER_CFLAGS = @XRENDER_CFLAGS@
 XRENDER_LIBS = @XRENDER_LIBS@
 XSS_CFLAGS = @XSS_CFLAGS@
 XSS_LIBS = @XSS_LIBS@
+XTEST_CFLAGS = @XTEST_CFLAGS@
+XTEST_LIBS = @XTEST_LIBS@
 X_CFLAGS = @X_CFLAGS@
 X_EXTRA_LIBS = @X_EXTRA_LIBS@
 X_LIBS = @X_LIBS@
diff --git a/src/lib/ecore_evas/ecore_evas_private.h b/src/lib/ecore_evas/ecore_evas_private.h
index 91c6623..72ca495 100644
--- a/src/lib/ecore_evas/ecore_evas_private.h
+++ b/src/lib/ecore_evas/ecore_evas_private.h
@@ -4,13 +4,17 @@
 #ifndef _ECORE_EVAS_PRIVATE_H
 #define _ECORE_EVAS_PRIVATE_H
 
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
 #include "Ecore_Data.h"
 
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <fcntl.h>
 
-#ifndef _WIN32
+#ifdef HAVE_SYS_MMAN_H
 # include <sys/mman.h>
 #endif
 
diff --git a/src/lib/ecore_fb/Makefile.in b/src/lib/ecore_fb/Makefile.in
index fddaf20..ae7c44d 100644
--- a/src/lib/ecore_fb/Makefile.in
+++ b/src/lib/ecore_fb/Makefile.in
@@ -110,6 +110,8 @@ BUILD_ECORE_EVAS_DIRECTFB_TRUE = @BUILD_ECORE_EVAS_DIRECTFB_TRUE@
 BUILD_ECORE_EVAS_FALSE = @BUILD_ECORE_EVAS_FALSE@
 BUILD_ECORE_EVAS_FB_FALSE = @BUILD_ECORE_EVAS_FB_FALSE@
 BUILD_ECORE_EVAS_FB_TRUE = @BUILD_ECORE_EVAS_FB_TRUE@
+BUILD_ECORE_EVAS_SDL_FALSE = @BUILD_ECORE_EVAS_SDL_FALSE@
+BUILD_ECORE_EVAS_SDL_TRUE = @BUILD_ECORE_EVAS_SDL_TRUE@
 BUILD_ECORE_EVAS_TRUE = @BUILD_ECORE_EVAS_TRUE@
 BUILD_ECORE_EVAS_X11_16_FALSE = @BUILD_ECORE_EVAS_X11_16_FALSE@
 BUILD_ECORE_EVAS_X11_16_TRUE = @BUILD_ECORE_EVAS_X11_16_TRUE@
@@ -158,6 +160,7 @@ DEPDIR = @DEPDIR@
 DIRECTFB_CFLAGS = @DIRECTFB_CFLAGS@
 DIRECTFB_LIBS = @DIRECTFB_LIBS@
 DLLTOOL = @DLLTOOL@
+DSYMUTIL = @DSYMUTIL@
 ECHO = @ECHO@
 ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
@@ -166,7 +169,31 @@ EET_CFLAGS = @EET_CFLAGS@
 EET_LIBS = @EET_LIBS@
 EGREP = @EGREP@
 EVAS_CFLAGS = @EVAS_CFLAGS@
+EVAS_DIRECT3D_CFLAGS = @EVAS_DIRECT3D_CFLAGS@
+EVAS_DIRECT3D_LIBS = @EVAS_DIRECT3D_LIBS@
+EVAS_DIRECTFB_CFLAGS = @EVAS_DIRECTFB_CFLAGS@
+EVAS_DIRECTFB_LIBS = @EVAS_DIRECTFB_LIBS@
+EVAS_FB_CFLAGS = @EVAS_FB_CFLAGS@
+EVAS_FB_LIBS = @EVAS_FB_LIBS@
 EVAS_LIBS = @EVAS_LIBS@
+EVAS_OPENGL_GLEW_CFLAGS = @EVAS_OPENGL_GLEW_CFLAGS@
+EVAS_OPENGL_GLEW_LIBS = @EVAS_OPENGL_GLEW_LIBS@
+EVAS_OPENGL_X11_CFLAGS = @EVAS_OPENGL_X11_CFLAGS@
+EVAS_OPENGL_X11_LIBS = @EVAS_OPENGL_X11_LIBS@
+EVAS_SOFTWARE_16_DDRAW_CFLAGS = @EVAS_SOFTWARE_16_DDRAW_CFLAGS@
+EVAS_SOFTWARE_16_DDRAW_LIBS = @EVAS_SOFTWARE_16_DDRAW_LIBS@
+EVAS_SOFTWARE_16_X11_CFLAGS = @EVAS_SOFTWARE_16_X11_CFLAGS@
+EVAS_SOFTWARE_16_X11_LIBS = @EVAS_SOFTWARE_16_X11_LIBS@
+EVAS_SOFTWARE_BUFFER_CFLAGS = @EVAS_SOFTWARE_BUFFER_CFLAGS@
+EVAS_SOFTWARE_BUFFER_LIBS = @EVAS_SOFTWARE_BUFFER_LIBS@
+EVAS_SOFTWARE_DDRAW_CFLAGS = @EVAS_SOFTWARE_DDRAW_CFLAGS@
+EVAS_SOFTWARE_DDRAW_LIBS = @EVAS_SOFTWARE_DDRAW_LIBS@
+EVAS_SOFTWARE_SDL_CFLAGS = @EVAS_SOFTWARE_SDL_CFLAGS@
+EVAS_SOFTWARE_SDL_LIBS = @EVAS_SOFTWARE_SDL_LIBS@
+EVAS_SOFTWARE_X11_CFLAGS = @EVAS_SOFTWARE_X11_CFLAGS@
+EVAS_SOFTWARE_X11_LIBS = @EVAS_SOFTWARE_X11_LIBS@
+EVAS_XRENDER_X11_CFLAGS = @EVAS_XRENDER_X11_CFLAGS@
+EVAS_XRENDER_X11_LIBS = @EVAS_XRENDER_X11_LIBS@
 EXEEXT = @EXEEXT@
 GREP = @GREP@
 INSTALL_DATA = @INSTALL_DATA@
@@ -180,6 +207,7 @@ LIBTOOL = @LIBTOOL@
 LN_S = @LN_S@
 LTLIBOBJS = @LTLIBOBJS@
 MAKEINFO = @MAKEINFO@
+NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 PACKAGE = @PACKAGE@
@@ -192,6 +220,7 @@ PATH_SEPARATOR = @PATH_SEPARATOR@
 PKG_CONFIG = @PKG_CONFIG@
 RANLIB = @RANLIB@
 SDL_CFLAGS = @SDL_CFLAGS@
+SDL_CONFIG = @SDL_CONFIG@
 SDL_LIBS = @SDL_LIBS@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
@@ -224,6 +253,8 @@ XCB_XINERAMA_CFLAGS = @XCB_XINERAMA_CFLAGS@
 XCB_XINERAMA_LIBS = @XCB_XINERAMA_LIBS@
 XCB_XPRINT_CFLAGS = @XCB_XPRINT_CFLAGS@
 XCB_XPRINT_LIBS = @XCB_XPRINT_LIBS@
+XCB_XTEST_CFLAGS = @XCB_XTEST_CFLAGS@
+XCB_XTEST_LIBS = @XCB_XTEST_LIBS@
 XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
 XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -243,6 +274,8 @@ XRENDER_CFLAGS = @XRENDER_CFLAGS@
 XRENDER_LIBS = @XRENDER_LIBS@
 XSS_CFLAGS = @XSS_CFLAGS@
 XSS_LIBS = @XSS_LIBS@
+XTEST_CFLAGS = @XTEST_CFLAGS@
+XTEST_LIBS = @XTEST_LIBS@
 X_CFLAGS = @X_CFLAGS@
 X_EXTRA_LIBS = @X_EXTRA_LIBS@
 X_LIBS = @X_LIBS@
diff --git a/src/lib/ecore_fb/ecore_fb_li.c b/src/lib/ecore_fb/ecore_fb_li.c
index 90d279d..cc1d591 100644
--- a/src/lib/ecore_fb/ecore_fb_li.c
+++ b/src/lib/ecore_fb/ecore_fb_li.c
@@ -1,15 +1,6 @@
 #include "Ecore_Fb.h"
 #include "ecore_fb_private.h"
 
-
-/* Copyright (C) Brad Hards (1999-2002).
- * this macro is used to tell if "bit" is set in "array"
- * it selects a byte from the array, and does a boolean AND 
- * operation with a byte that only has the relevant bit set. 
- * eg. to check for the 12th bit, we do (array[1] & 1<<4)
- */
-#define TEST_BIT(bit, array)    (array[bit/8] & (1<<(bit%8)))
-
 #define CLICK_THRESHOLD_DEFAULT 0.25
 
 static Ecore_List *_ecore_fb_li_devices = NULL;
@@ -19,6 +10,28 @@ static const char *_ecore_fb_li_kbd_syms[128 * 6] =
 #include "ecore_fb_keytable.h"
 };
 
+/* Initial Copyright (C) Brad Hards (1999-2002),
+ * this function is used to tell if "bit" is set in "array"
+ * it selects a byte from the array, and does a boolean AND
+ * operation with a byte that only has the relevant bit set.
+ * eg. to check for the 12th bit, we do (array[1] & 1<<4).
+ * Moved to static inline in order to force compiler to otimized
+ * the unsued part away or force a link error if long has an unexpected
+ * size.
+ *						- bigeasy
+ */
+extern int long_has_neither_32_not_64_bits(void);
+static inline int test_bit(int bit, unsigned long *array)
+{
+	if (sizeof(long) == 4)
+		return array[bit / 32] & (1 << (bit % 32));
+
+	else if (sizeof(long) == 8)
+		return array[bit / 64] & (1 << (bit % 64));
+
+	else long_has_neither_32_nor_64_bits();
+}
+
 static void 
 _ecore_fb_li_event_free_key_down(void *data, void *ev)
 {
@@ -334,6 +347,10 @@ ecore_fb_input_device_listen(Ecore_Fb_Input_Device *dev, int listen)
 	dev->listen = listen;
 }
 
+#ifndef EV_CNT
+#define EV_CNT	(EV_MAX+1)
+#endif
+
 /*
  * Opens an input device
  */
@@ -341,7 +358,7 @@ EAPI Ecore_Fb_Input_Device *
 ecore_fb_input_device_open(const char *dev)
 {
 	Ecore_Fb_Input_Device *device;
-	char event_type_bitmask[EV_MAX/8 + 1];
+	unsigned long event_type_bitmask[EV_CNT / 32 + 1];
 	int event_type;
 	int fd;
 
@@ -378,7 +395,7 @@ ecore_fb_input_device_open(const char *dev)
 	/* set info */
 	for(event_type = 0; event_type < EV_MAX; event_type++)
 	{
-		if(!TEST_BIT(event_type, event_type_bitmask))
+		if(!test_bit(event_type, event_type_bitmask))
 			continue;
 		switch(event_type)
 		{
diff --git a/src/lib/ecore_file/Makefile.am b/src/lib/ecore_file/Makefile.am
index 3e52f50..05e1ee3 100644
--- a/src/lib/ecore_file/Makefile.am
+++ b/src/lib/ecore_file/Makefile.am
@@ -2,6 +2,7 @@ MAINTAINERCLEANFILES = Makefile.in
 
 AM_CPPFLAGS = \
 -I$(top_srcdir)/src/lib/ecore \
+-I$(top_srcdir)/src/lib/ecore_con \
 -I$(top_builddir)/src/lib/ecore \
 @CURL_CFLAGS@
 
@@ -21,7 +22,8 @@ ecore_file_download.c
 
 libecore_file_la_LIBADD = \
 $(top_builddir)/src/lib/ecore/libecore.la \
- at CURL_LIBS@ @ecore_file_win32_lib@ @winsock_libs@
+$(top_builddir)/src/lib/ecore_con/libecore_con.la \
+ at ecore_file_win32_lib@ @winsock_libs@
 
 libecore_file_la_LDFLAGS = @create_shared_lib@ -version-info @version_info@
 
diff --git a/src/lib/ecore_file/Makefile.in b/src/lib/ecore_file/Makefile.in
index 55d638f..9a4b328 100644
--- a/src/lib/ecore_file/Makefile.in
+++ b/src/lib/ecore_file/Makefile.in
@@ -59,7 +59,8 @@ am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
 am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(includedir)"
 libLTLIBRARIES_INSTALL = $(INSTALL)
 LTLIBRARIES = $(lib_LTLIBRARIES)
- at BUILD_ECORE_FILE_TRUE@libecore_file_la_DEPENDENCIES = $(top_builddir)/src/lib/ecore/libecore.la
+ at BUILD_ECORE_FILE_TRUE@libecore_file_la_DEPENDENCIES = $(top_builddir)/src/lib/ecore/libecore.la \
+ at BUILD_ECORE_FILE_TRUE@	$(top_builddir)/src/lib/ecore_con/libecore_con.la
 am__libecore_file_la_SOURCES_DIST = ecore_file.c ecore_file_private.h \
 	ecore_file_monitor.c ecore_file_monitor_inotify.c \
 	ecore_file_monitor_poll.c ecore_file_path.c \
@@ -116,6 +117,8 @@ BUILD_ECORE_EVAS_DIRECTFB_TRUE = @BUILD_ECORE_EVAS_DIRECTFB_TRUE@
 BUILD_ECORE_EVAS_FALSE = @BUILD_ECORE_EVAS_FALSE@
 BUILD_ECORE_EVAS_FB_FALSE = @BUILD_ECORE_EVAS_FB_FALSE@
 BUILD_ECORE_EVAS_FB_TRUE = @BUILD_ECORE_EVAS_FB_TRUE@
+BUILD_ECORE_EVAS_SDL_FALSE = @BUILD_ECORE_EVAS_SDL_FALSE@
+BUILD_ECORE_EVAS_SDL_TRUE = @BUILD_ECORE_EVAS_SDL_TRUE@
 BUILD_ECORE_EVAS_TRUE = @BUILD_ECORE_EVAS_TRUE@
 BUILD_ECORE_EVAS_X11_16_FALSE = @BUILD_ECORE_EVAS_X11_16_FALSE@
 BUILD_ECORE_EVAS_X11_16_TRUE = @BUILD_ECORE_EVAS_X11_16_TRUE@
@@ -164,6 +167,7 @@ DEPDIR = @DEPDIR@
 DIRECTFB_CFLAGS = @DIRECTFB_CFLAGS@
 DIRECTFB_LIBS = @DIRECTFB_LIBS@
 DLLTOOL = @DLLTOOL@
+DSYMUTIL = @DSYMUTIL@
 ECHO = @ECHO@
 ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
@@ -172,7 +176,31 @@ EET_CFLAGS = @EET_CFLAGS@
 EET_LIBS = @EET_LIBS@
 EGREP = @EGREP@
 EVAS_CFLAGS = @EVAS_CFLAGS@
+EVAS_DIRECT3D_CFLAGS = @EVAS_DIRECT3D_CFLAGS@
+EVAS_DIRECT3D_LIBS = @EVAS_DIRECT3D_LIBS@
+EVAS_DIRECTFB_CFLAGS = @EVAS_DIRECTFB_CFLAGS@
+EVAS_DIRECTFB_LIBS = @EVAS_DIRECTFB_LIBS@
+EVAS_FB_CFLAGS = @EVAS_FB_CFLAGS@
+EVAS_FB_LIBS = @EVAS_FB_LIBS@
 EVAS_LIBS = @EVAS_LIBS@
+EVAS_OPENGL_GLEW_CFLAGS = @EVAS_OPENGL_GLEW_CFLAGS@
+EVAS_OPENGL_GLEW_LIBS = @EVAS_OPENGL_GLEW_LIBS@
+EVAS_OPENGL_X11_CFLAGS = @EVAS_OPENGL_X11_CFLAGS@
+EVAS_OPENGL_X11_LIBS = @EVAS_OPENGL_X11_LIBS@
+EVAS_SOFTWARE_16_DDRAW_CFLAGS = @EVAS_SOFTWARE_16_DDRAW_CFLAGS@
+EVAS_SOFTWARE_16_DDRAW_LIBS = @EVAS_SOFTWARE_16_DDRAW_LIBS@
+EVAS_SOFTWARE_16_X11_CFLAGS = @EVAS_SOFTWARE_16_X11_CFLAGS@
+EVAS_SOFTWARE_16_X11_LIBS = @EVAS_SOFTWARE_16_X11_LIBS@
+EVAS_SOFTWARE_BUFFER_CFLAGS = @EVAS_SOFTWARE_BUFFER_CFLAGS@
+EVAS_SOFTWARE_BUFFER_LIBS = @EVAS_SOFTWARE_BUFFER_LIBS@
+EVAS_SOFTWARE_DDRAW_CFLAGS = @EVAS_SOFTWARE_DDRAW_CFLAGS@
+EVAS_SOFTWARE_DDRAW_LIBS = @EVAS_SOFTWARE_DDRAW_LIBS@
+EVAS_SOFTWARE_SDL_CFLAGS = @EVAS_SOFTWARE_SDL_CFLAGS@
+EVAS_SOFTWARE_SDL_LIBS = @EVAS_SOFTWARE_SDL_LIBS@
+EVAS_SOFTWARE_X11_CFLAGS = @EVAS_SOFTWARE_X11_CFLAGS@
+EVAS_SOFTWARE_X11_LIBS = @EVAS_SOFTWARE_X11_LIBS@
+EVAS_XRENDER_X11_CFLAGS = @EVAS_XRENDER_X11_CFLAGS@
+EVAS_XRENDER_X11_LIBS = @EVAS_XRENDER_X11_LIBS@
 EXEEXT = @EXEEXT@
 GREP = @GREP@
 INSTALL_DATA = @INSTALL_DATA@
@@ -186,6 +214,7 @@ LIBTOOL = @LIBTOOL@
 LN_S = @LN_S@
 LTLIBOBJS = @LTLIBOBJS@
 MAKEINFO = @MAKEINFO@
+NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 PACKAGE = @PACKAGE@
@@ -198,6 +227,7 @@ PATH_SEPARATOR = @PATH_SEPARATOR@
 PKG_CONFIG = @PKG_CONFIG@
 RANLIB = @RANLIB@
 SDL_CFLAGS = @SDL_CFLAGS@
+SDL_CONFIG = @SDL_CONFIG@
 SDL_LIBS = @SDL_LIBS@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
@@ -230,6 +260,8 @@ XCB_XINERAMA_CFLAGS = @XCB_XINERAMA_CFLAGS@
 XCB_XINERAMA_LIBS = @XCB_XINERAMA_LIBS@
 XCB_XPRINT_CFLAGS = @XCB_XPRINT_CFLAGS@
 XCB_XPRINT_LIBS = @XCB_XPRINT_LIBS@
+XCB_XTEST_CFLAGS = @XCB_XTEST_CFLAGS@
+XCB_XTEST_LIBS = @XCB_XTEST_LIBS@
 XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
 XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -249,6 +281,8 @@ XRENDER_CFLAGS = @XRENDER_CFLAGS@
 XRENDER_LIBS = @XRENDER_LIBS@
 XSS_CFLAGS = @XSS_CFLAGS@
 XSS_LIBS = @XSS_LIBS@
+XTEST_CFLAGS = @XTEST_CFLAGS@
+XTEST_LIBS = @XTEST_LIBS@
 X_CFLAGS = @X_CFLAGS@
 X_EXTRA_LIBS = @X_EXTRA_LIBS@
 X_LIBS = @X_LIBS@
@@ -362,6 +396,7 @@ x_libs = @x_libs@
 MAINTAINERCLEANFILES = Makefile.in
 AM_CPPFLAGS = \
 -I$(top_srcdir)/src/lib/ecore \
+-I$(top_srcdir)/src/lib/ecore_con \
 -I$(top_builddir)/src/lib/ecore \
 @CURL_CFLAGS@
 
@@ -378,7 +413,8 @@ AM_CPPFLAGS = \
 
 @BUILD_ECORE_FILE_TRUE at libecore_file_la_LIBADD = \
 @BUILD_ECORE_FILE_TRUE@$(top_builddir)/src/lib/ecore/libecore.la \
- at BUILD_ECORE_FILE_TRUE@@CURL_LIBS@ @ecore_file_win32_lib@ @winsock_libs@
+ at BUILD_ECORE_FILE_TRUE@$(top_builddir)/src/lib/ecore_con/libecore_con.la \
+ at BUILD_ECORE_FILE_TRUE@@ecore_file_win32_lib@ @winsock_libs@
 
 @BUILD_ECORE_FILE_TRUE at libecore_file_la_LDFLAGS = @create_shared_lib@ -version-info @version_info@
 EXTRA_DIST = \
diff --git a/src/lib/ecore_file/ecore_file.c b/src/lib/ecore_file/ecore_file.c
index 3183456..c029808 100644
--- a/src/lib/ecore_file/ecore_file.c
+++ b/src/lib/ecore_file/ecore_file.c
@@ -2,11 +2,13 @@
  * vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2
  */
 
+#include <config.h>
+
 #ifndef _FILE_OFFSET_BITS
 # define _FILE_OFFSET_BITS  64
 #endif
 
-#ifdef __linux__
+#ifdef HAVE_FEATURES_H
 # include <features.h>
 #endif
 #include <ctype.h>
@@ -457,6 +459,11 @@ ecore_file_realpath(const char *file)
 {
    char  buf[PATH_MAX];
 
+   /*
+    * Some implementations of realpath do not conform to the SUS.
+    * And as a result we must prevent a null arg from being passed.
+    */
+   if (!file) return strdup("");
    if (!realpath(file, buf)) return strdup("");
 
    return strdup(buf);
diff --git a/src/lib/ecore_file/ecore_file_download.c b/src/lib/ecore_file/ecore_file_download.c
index 85ede05..990e79c 100644
--- a/src/lib/ecore_file/ecore_file_download.c
+++ b/src/lib/ecore_file/ecore_file_download.c
@@ -1,111 +1,99 @@
 /*
  * vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2
  */
+#include "Ecore_Con.h"
 #include "ecore_file_private.h"
 
-static int init = 0;
-
-#ifdef HAVE_CURL
-#include <curl/curl.h>
-
-typedef struct _Ecore_File_Download_Job Ecore_File_Download_Job;
+#define ECORE_MAGIC_FILE_DOWNLOAD_JOB	0xf7427cb8
 
+typedef struct _Ecore_File_Download_Job		Ecore_File_Download_Job;
 struct _Ecore_File_Download_Job
 {
-   Ecore_Fd_Handler *fd_handler;
-   CURL *curl;
-   void (*completion_cb)(void *data, const char *file, int status);
-   int (*progress_cb)(void *data, const char *file, long int dltotal, long int dlnow, long int ultotal, long int ulnow);
-   void *data;
-   FILE *file;
-   char *dst;
+   ECORE_MAGIC;
+
+   Ecore_Con_Url	*url_con;
+   FILE			*file;
+
+   char			*dst;
+
+   void	(*completion_cb)(void *data, const char *file, int status);
+
+   int	(*progress_cb)  (void *data, const char *file,
+			 long int dltotal, long int dlnow,
+			 long int ultotal, long int ulnow);
 };
 
+#ifdef HAVE_CURL
 Ecore_File_Download_Job *_ecore_file_download_curl(const char *url, const char *dst,
 						   void (*completion_cb)(void *data, const char *file, int status),
 						   int (*progress_cb)(void *data, const char *file, long int dltotal, long int dlnow, long int ultotal, long int ulnow),
 						   void *data);
-static int _ecore_file_download_curl_fd_handler(void *data, Ecore_Fd_Handler *fd_handler);
 
-static CURLM *curlm;
-static Ecore_List *_job_list;
-static fd_set _current_fd_set;
+static int _ecore_file_download_url_complete_cb(void *data, int type, void *event);
+static int _ecore_file_download_url_progress_cb(void *data, int type, void *event);
 #endif
+static void _ecore_file_download_abort(Ecore_File_Download_Job *job);
+
+static int			 init = 0;
+static Ecore_Event_Handler	*_url_complete_handler = NULL;
+static Ecore_Event_Handler	*_url_progress_download = NULL;
+static Ecore_List		*_job_list;
 
-int
+EAPI int
 ecore_file_download_init(void)
 {
-   if (++init != 1) return init;
+   ecore_con_url_init();
 
+   if (init++ == 0)
+     {
 #ifdef HAVE_CURL
-   FD_ZERO(&_current_fd_set);
-   _job_list = ecore_list_new();
-   if (!_job_list) return --init;
-
-   if (curl_global_init(CURL_GLOBAL_NOTHING)) return 0;
-
-   curlm = curl_multi_init();
-   if (!curlm)
+	_url_complete_handler = ecore_event_handler_add(ECORE_CON_EVENT_URL_COMPLETE, _ecore_file_download_url_complete_cb, NULL);
+	_url_progress_download = ecore_event_handler_add(ECORE_CON_EVENT_URL_PROGRESS, _ecore_file_download_url_progress_cb, NULL);
+#endif	
+     }
+   if (!_job_list)
      {
-	ecore_list_destroy(_job_list);
-	_job_list = NULL;
-	return --init;
+	_job_list = ecore_list_new();
+	if (!_job_list) return 0;
      }
-#endif
-   return init;
+
+   return 1;
 }
 
-int
+EAPI int
 ecore_file_download_shutdown(void)
 {
-   if (--init != 0) return init;
-#ifdef HAVE_CURL
-   Ecore_File_Download_Job *job;
-
-   if (!ecore_list_empty_is(_job_list))
+   if (--init == 0)
      {
-	ecore_list_first_goto(_job_list);
-	while ((job = ecore_list_next(_job_list)))
-	  {
-	     ecore_main_fd_handler_del(job->fd_handler);
-	     curl_multi_remove_handle(curlm, job->curl);
-	     curl_easy_cleanup(job->curl);
-	     fclose(job->file);
-	     free(job->dst);
-	     free(job);
-	  }
+	if (_url_complete_handler)
+	  ecore_event_handler_del(_url_complete_handler);
+	if (_url_progress_download)
+	  ecore_event_handler_del(_url_progress_download);
+	_url_complete_handler = NULL;
+	_url_progress_download = NULL;
+	if (_job_list)
+	  ecore_list_destroy(_job_list);
+	_job_list = NULL;
      }
-   ecore_list_destroy(_job_list);
-   curl_multi_cleanup(curlm);
-   curl_global_cleanup();
-#endif
-   return init;
+
+   return ecore_con_url_shutdown();
 }
 
-void
+EAPI void
 ecore_file_download_abort_all(void)
 {
-#ifdef HAVE_CURL
-   Ecore_File_Download_Job *job;
-
-   if (!_job_list)
-     return;
-
-   ecore_list_first_goto(_job_list);
-   while ((job = ecore_list_next(_job_list)))
+   if (!ecore_list_empty_is(_job_list))
      {
-	ecore_main_fd_handler_del(job->fd_handler);
-	curl_multi_remove_handle(curlm, job->curl);
-	curl_easy_cleanup(job->curl);
-	fclose(job->file);
-	free(job->dst);
-	free(job);
+	Ecore_File_Download_Job *job;
+
+	while ((job = ecore_list_first_remove(_job_list)))
+	  {
+	     _ecore_file_download_abort(job);
+	  }
      }
    ecore_list_clear(_job_list);
-#endif
 }
 
-
 /**
  * Download @p url to the given @p dst
  * @param  url The complete url to download
@@ -192,17 +180,55 @@ ecore_file_download_protocol_available(const char *protocol)
 }
 
 #ifdef HAVE_CURL
-/* this reports the downloads progress. if we return 0, then download
- * continues, if we return anything else, then the download stops */
 static int
-_ecore_file_download_curl_progress_func(void *clientp, double dltotal, double dlnow, double ultotal, double ulnow)
+_ecore_file_download_url_compare_job(const void *data1, const void *data2)
 {
-   Ecore_File_Download_Job *job;
+   const Ecore_File_Download_Job	*job = data1;
+   const Ecore_Con_Url			*url = data2;
+
+   if (job->url_con == url) return 0;
+   return -1;
+}
+
+static int
+_ecore_file_download_url_complete_cb(void *data, int type, void *event)
+{
+   Ecore_Con_Event_Url_Complete	*ev = event;
+   Ecore_File_Download_Job	*job;
 
-   job = clientp;
+   job = ecore_list_find(_job_list, _ecore_file_download_url_compare_job, ev->url_con);
+   if (!ECORE_MAGIC_CHECK(job, ECORE_MAGIC_FILE_DOWNLOAD_JOB)) return 1;
+
+   ecore_list_remove(_job_list);
+
+   if (job->completion_cb)
+     job->completion_cb(ecore_con_url_data_get(job->url_con), job->dst, !ev->status);
+
+   _ecore_file_download_abort(job);
+
+   return 0;
+}
+
+static int
+_ecore_file_download_url_progress_cb(void *data, int type, void *event)
+{
+/* this reports the downloads progress. if we return 0, then download
+ * continues, if we return anything else, then the download stops */
+   Ecore_Con_Event_Url_Progress	*ev = event;
+   Ecore_File_Download_Job	*job;
+
+   job = ecore_list_find(_job_list, _ecore_file_download_url_compare_job, ev->url_con);
+   if (!ECORE_MAGIC_CHECK(job, ECORE_MAGIC_FILE_DOWNLOAD_JOB)) return 1;
+
+   if (job->progress_cb)
+     if (job->progress_cb(ecore_con_url_data_get(job->url_con), job->dst,
+			  (long int) ev->down.total, (long int) ev->down.now,
+			  (long int) ev->up.total, (long int) ev->up.now) != 0)
+       {
+	  ecore_list_remove(_job_list);
+	  _ecore_file_download_abort(job);
+       }
 
-   if(job->progress_cb)
-     return job->progress_cb(job->data, job->dst, (long int)dltotal, (long int)dlnow, (long int)ultotal, (long int)ulnow);
    return 0;
 }
 
@@ -212,180 +238,52 @@ _ecore_file_download_curl(const char *url, const char *dst,
 						int status),
 			  int (*progress_cb)(void *data, const char *file,
 					     long int dltotal, long int dlnow,
-					     long int ultotal,
-					     long int ulnow),
+					     long int ultotal, long int ulnow),
 			  void *data)
 {
-   CURLMsg *curlmsg;
-   fd_set read_set, write_set, exc_set;
-   int fd_max;
-   int fd;
-   int flags;
-   int n_remaining, still_running;
    Ecore_File_Download_Job *job;
-   double start = 0.0;
 
    job = calloc(1, sizeof(Ecore_File_Download_Job));
    if (!job) return NULL;
 
+   ECORE_MAGIC_SET(job, ECORE_MAGIC_FILE_DOWNLOAD_JOB);
+
    job->file = fopen(dst, "wb");
    if (!job->file)
      {
 	free(job);
 	return NULL;
      }
-   job->curl = curl_easy_init();
-   if (!job->curl)
+   job->url_con = ecore_con_url_new(url);
+   if (!job->url_con)
      {
 	fclose(job->file);
 	free(job);
 	return NULL;
      }
 
-   curl_easy_setopt(job->curl, CURLOPT_URL, url);
-   curl_easy_setopt(job->curl, CURLOPT_WRITEDATA, job->file);
-   curl_easy_setopt(job->curl, CURLOPT_FOLLOWLOCATION, TRUE);
-   
-   if (progress_cb)
-     {
-	curl_easy_setopt(job->curl, CURLOPT_NOPROGRESS, FALSE);
-	curl_easy_setopt(job->curl, CURLOPT_PROGRESSDATA, job);
-	curl_easy_setopt(job->curl, CURLOPT_PROGRESSFUNCTION, _ecore_file_download_curl_progress_func);
-     }
+   ecore_con_url_fd_set(job->url_con, fileno(job->file));
+   ecore_con_url_data_set(job->url_con, data);
+
+   job->dst = strdup(dst);
 
-   job->data = data;
    job->completion_cb = completion_cb;
    job->progress_cb = progress_cb;
-   job->dst = strdup(dst);
    ecore_list_append(_job_list, job);
 
-   curl_multi_add_handle(curlm, job->curl);
-   start = ecore_time_get();
-   while (curl_multi_perform(curlm, &still_running) == CURLM_CALL_MULTI_PERFORM)
-     {
-	/* make this 1/100th of a second to keep interactivity high. really
-	 * though this needs to somehow get the fd from curl and use an fd handler
-	 * and thus select
-	 */
-	if ((ecore_time_get() - start) > 0.01) break;
-     }
-
-   /* check for completed jobs */
-   while ((curlmsg = curl_multi_info_read(curlm, &n_remaining)) != NULL)
-     {
-	Ecore_File_Download_Job *current;
-
-	if (curlmsg->msg != CURLMSG_DONE) continue;
-
-	/* find the job which is done */
-	ecore_list_first_goto(_job_list);
-	while ((current = ecore_list_current(_job_list)))
-	  {
-	     if (curlmsg->easy_handle == current->curl)
-	       {
-		  /* We have a match -- delete the job */
-		  if (current == job)
-		    job = NULL;
-		  if (current->fd_handler)
-		    {
-		       FD_CLR(ecore_main_fd_handler_fd_get(current->fd_handler),
-			      &_current_fd_set);
-		       ecore_main_fd_handler_del(current->fd_handler);
-		    }
-		  ecore_list_remove(_job_list);
-		  curl_multi_remove_handle(curlm, current->curl);
-		  curl_easy_cleanup(current->curl);
-		  fclose(current->file);
-		  if (current->completion_cb)
-		    current->completion_cb(current->data, current->dst,
-					   curlmsg->data.result);
-		  free(current->dst);
-		  free(current);
-		  break;
-	       }
-	     ecore_list_next(_job_list);
-	  }
-     }
-
-   if (job)
-     {
-	FD_ZERO(&read_set);
-	FD_ZERO(&write_set);
-	FD_ZERO(&exc_set);
-
-	/* Stupid curl, why can't I get the fd to the current added job? */
-	curl_multi_fdset(curlm, &read_set, &write_set, &exc_set, &fd_max);
-	for (fd = 0; fd <= fd_max; fd++)
-	  {
-	     if (!FD_ISSET(fd, &_current_fd_set))
-	       {
-		  flags = 0;
-		  if (FD_ISSET(fd, &read_set)) flags |= ECORE_FD_READ;
-		  if (FD_ISSET(fd, &write_set)) flags |= ECORE_FD_WRITE;
-		  if (FD_ISSET(fd, &exc_set)) flags |= ECORE_FD_ERROR;
-		  if (flags)
-		    {
-		       FD_SET(fd, &_current_fd_set);
-		       job->fd_handler = ecore_main_fd_handler_add(fd, flags,
-								   _ecore_file_download_curl_fd_handler,
-								   NULL, NULL, NULL);
-		    }
-	       }
-	  }
-	if (!job->fd_handler)
-	  {
-	     curl_easy_cleanup(job->curl);
-	     fclose(job->file);
-	     free(job);
-	     job = NULL;
-	  }
-     }
+   ecore_con_url_send(job->url_con, NULL, 0, NULL);
 
    return job;
 }
+#endif
 
-static int
-_ecore_file_download_curl_fd_handler(void *data __UNUSED__, Ecore_Fd_Handler *fd_handler __UNUSED__)
+static void
+_ecore_file_download_abort(Ecore_File_Download_Job *job)
 {
-   Ecore_File_Download_Job *job;
-   CURLMsg *curlmsg;
-   int n_remaining, still_running;
-   double start = 0.0;
-
-   start = ecore_time_get();
-   while (curl_multi_perform(curlm, &still_running) == CURLM_CALL_MULTI_PERFORM)
-     {
-	if ((ecore_time_get() - start) > 0.2) break;
-     }
-
-   /* Loop jobs and check if any are done */
-   while ((curlmsg = curl_multi_info_read(curlm, &n_remaining)) != NULL)
-     {
-	if (curlmsg->msg != CURLMSG_DONE) continue;
-
-	/* find the job which is done */
-	ecore_list_first_goto(_job_list);
-	while ((job = ecore_list_current(_job_list)))
-	  {
-	     if (curlmsg->easy_handle == job->curl)
-	       {
-		  /* We have a match -- delete the job */
-		  FD_CLR(ecore_main_fd_handler_fd_get(job->fd_handler),
-			&_current_fd_set);
-		  ecore_list_remove(_job_list);
-		  ecore_main_fd_handler_del(job->fd_handler);
-		  curl_multi_remove_handle(curlm, job->curl);
-		  curl_easy_cleanup(job->curl);
-		  fclose(job->file);
-		  if (job->completion_cb)
-		    job->completion_cb(job->data, job->dst, !curlmsg->data.result);
-		  free(job->dst);
-		  free(job);
-		  break;
-	       }
-	     ecore_list_next(_job_list);
-	  }
-     }
-   return 1;
+#ifdef HAVE_CURL
+   ecore_con_url_destroy(job->url_con);
+#endif  
+   fclose(job->file);
+   free(job->dst);
+   free(job);
 }
-#endif
diff --git a/src/lib/ecore_imf/Makefile.in b/src/lib/ecore_imf/Makefile.in
index f87f105..101d763 100644
--- a/src/lib/ecore_imf/Makefile.in
+++ b/src/lib/ecore_imf/Makefile.in
@@ -110,6 +110,8 @@ BUILD_ECORE_EVAS_DIRECTFB_TRUE = @BUILD_ECORE_EVAS_DIRECTFB_TRUE@
 BUILD_ECORE_EVAS_FALSE = @BUILD_ECORE_EVAS_FALSE@
 BUILD_ECORE_EVAS_FB_FALSE = @BUILD_ECORE_EVAS_FB_FALSE@
 BUILD_ECORE_EVAS_FB_TRUE = @BUILD_ECORE_EVAS_FB_TRUE@
+BUILD_ECORE_EVAS_SDL_FALSE = @BUILD_ECORE_EVAS_SDL_FALSE@
+BUILD_ECORE_EVAS_SDL_TRUE = @BUILD_ECORE_EVAS_SDL_TRUE@
 BUILD_ECORE_EVAS_TRUE = @BUILD_ECORE_EVAS_TRUE@
 BUILD_ECORE_EVAS_X11_16_FALSE = @BUILD_ECORE_EVAS_X11_16_FALSE@
 BUILD_ECORE_EVAS_X11_16_TRUE = @BUILD_ECORE_EVAS_X11_16_TRUE@
@@ -158,6 +160,7 @@ DEPDIR = @DEPDIR@
 DIRECTFB_CFLAGS = @DIRECTFB_CFLAGS@
 DIRECTFB_LIBS = @DIRECTFB_LIBS@
 DLLTOOL = @DLLTOOL@
+DSYMUTIL = @DSYMUTIL@
 ECHO = @ECHO@
 ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
@@ -166,7 +169,31 @@ EET_CFLAGS = @EET_CFLAGS@
 EET_LIBS = @EET_LIBS@
 EGREP = @EGREP@
 EVAS_CFLAGS = @EVAS_CFLAGS@
+EVAS_DIRECT3D_CFLAGS = @EVAS_DIRECT3D_CFLAGS@
+EVAS_DIRECT3D_LIBS = @EVAS_DIRECT3D_LIBS@
+EVAS_DIRECTFB_CFLAGS = @EVAS_DIRECTFB_CFLAGS@
+EVAS_DIRECTFB_LIBS = @EVAS_DIRECTFB_LIBS@
+EVAS_FB_CFLAGS = @EVAS_FB_CFLAGS@
+EVAS_FB_LIBS = @EVAS_FB_LIBS@
 EVAS_LIBS = @EVAS_LIBS@
+EVAS_OPENGL_GLEW_CFLAGS = @EVAS_OPENGL_GLEW_CFLAGS@
+EVAS_OPENGL_GLEW_LIBS = @EVAS_OPENGL_GLEW_LIBS@
+EVAS_OPENGL_X11_CFLAGS = @EVAS_OPENGL_X11_CFLAGS@
+EVAS_OPENGL_X11_LIBS = @EVAS_OPENGL_X11_LIBS@
+EVAS_SOFTWARE_16_DDRAW_CFLAGS = @EVAS_SOFTWARE_16_DDRAW_CFLAGS@
+EVAS_SOFTWARE_16_DDRAW_LIBS = @EVAS_SOFTWARE_16_DDRAW_LIBS@
+EVAS_SOFTWARE_16_X11_CFLAGS = @EVAS_SOFTWARE_16_X11_CFLAGS@
+EVAS_SOFTWARE_16_X11_LIBS = @EVAS_SOFTWARE_16_X11_LIBS@
+EVAS_SOFTWARE_BUFFER_CFLAGS = @EVAS_SOFTWARE_BUFFER_CFLAGS@
+EVAS_SOFTWARE_BUFFER_LIBS = @EVAS_SOFTWARE_BUFFER_LIBS@
+EVAS_SOFTWARE_DDRAW_CFLAGS = @EVAS_SOFTWARE_DDRAW_CFLAGS@
+EVAS_SOFTWARE_DDRAW_LIBS = @EVAS_SOFTWARE_DDRAW_LIBS@
+EVAS_SOFTWARE_SDL_CFLAGS = @EVAS_SOFTWARE_SDL_CFLAGS@
+EVAS_SOFTWARE_SDL_LIBS = @EVAS_SOFTWARE_SDL_LIBS@
+EVAS_SOFTWARE_X11_CFLAGS = @EVAS_SOFTWARE_X11_CFLAGS@
+EVAS_SOFTWARE_X11_LIBS = @EVAS_SOFTWARE_X11_LIBS@
+EVAS_XRENDER_X11_CFLAGS = @EVAS_XRENDER_X11_CFLAGS@
+EVAS_XRENDER_X11_LIBS = @EVAS_XRENDER_X11_LIBS@
 EXEEXT = @EXEEXT@
 GREP = @GREP@
 INSTALL_DATA = @INSTALL_DATA@
@@ -180,6 +207,7 @@ LIBTOOL = @LIBTOOL@
 LN_S = @LN_S@
 LTLIBOBJS = @LTLIBOBJS@
 MAKEINFO = @MAKEINFO@
+NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 PACKAGE = @PACKAGE@
@@ -192,6 +220,7 @@ PATH_SEPARATOR = @PATH_SEPARATOR@
 PKG_CONFIG = @PKG_CONFIG@
 RANLIB = @RANLIB@
 SDL_CFLAGS = @SDL_CFLAGS@
+SDL_CONFIG = @SDL_CONFIG@
 SDL_LIBS = @SDL_LIBS@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
@@ -224,6 +253,8 @@ XCB_XINERAMA_CFLAGS = @XCB_XINERAMA_CFLAGS@
 XCB_XINERAMA_LIBS = @XCB_XINERAMA_LIBS@
 XCB_XPRINT_CFLAGS = @XCB_XPRINT_CFLAGS@
 XCB_XPRINT_LIBS = @XCB_XPRINT_LIBS@
+XCB_XTEST_CFLAGS = @XCB_XTEST_CFLAGS@
+XCB_XTEST_LIBS = @XCB_XTEST_LIBS@
 XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
 XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -243,6 +274,8 @@ XRENDER_CFLAGS = @XRENDER_CFLAGS@
 XRENDER_LIBS = @XRENDER_LIBS@
 XSS_CFLAGS = @XSS_CFLAGS@
 XSS_LIBS = @XSS_LIBS@
+XTEST_CFLAGS = @XTEST_CFLAGS@
+XTEST_LIBS = @XTEST_LIBS@
 X_CFLAGS = @X_CFLAGS@
 X_EXTRA_LIBS = @X_EXTRA_LIBS@
 X_LIBS = @X_LIBS@
diff --git a/src/lib/ecore_imf/ecore_imf_context.c b/src/lib/ecore_imf/ecore_imf_context.c
index 7f23c9e..83f1fd4 100644
--- a/src/lib/ecore_imf/ecore_imf_context.c
+++ b/src/lib/ecore_imf/ecore_imf_context.c
@@ -89,7 +89,11 @@ ecore_imf_context_default_id_by_canvas_type_get(const char *canvas_type)
    int best_goodness = 0;
 
    id = getenv("ECORE_IMF_MODULE");
-   if (id && ecore_imf_module_get(id)) return id;
+   if (id)
+     {
+	if (strcmp(id, "none") == 0) return NULL;
+	if (ecore_imf_module_get(id)) return id;
+     }
 
    modules = ecore_imf_module_available_get();
    if (!modules) return NULL;
@@ -551,7 +555,7 @@ ecore_imf_context_new(const Ecore_IMF_Context_Class *ctxc)
 {
    Ecore_IMF_Context *ctx;
 
-   if (!ctx) return NULL;
+   if (!ctxc) return NULL;
    ctx = malloc(sizeof(Ecore_IMF_Context));
    if (!ctx) return NULL;
    ECORE_MAGIC_SET(ctx, ECORE_MAGIC_CONTEXT);
diff --git a/src/lib/ecore_imf_evas/Makefile.in b/src/lib/ecore_imf_evas/Makefile.in
index e7b63a4..569e3ec 100644
--- a/src/lib/ecore_imf_evas/Makefile.in
+++ b/src/lib/ecore_imf_evas/Makefile.in
@@ -109,6 +109,8 @@ BUILD_ECORE_EVAS_DIRECTFB_TRUE = @BUILD_ECORE_EVAS_DIRECTFB_TRUE@
 BUILD_ECORE_EVAS_FALSE = @BUILD_ECORE_EVAS_FALSE@
 BUILD_ECORE_EVAS_FB_FALSE = @BUILD_ECORE_EVAS_FB_FALSE@
 BUILD_ECORE_EVAS_FB_TRUE = @BUILD_ECORE_EVAS_FB_TRUE@
+BUILD_ECORE_EVAS_SDL_FALSE = @BUILD_ECORE_EVAS_SDL_FALSE@
+BUILD_ECORE_EVAS_SDL_TRUE = @BUILD_ECORE_EVAS_SDL_TRUE@
 BUILD_ECORE_EVAS_TRUE = @BUILD_ECORE_EVAS_TRUE@
 BUILD_ECORE_EVAS_X11_16_FALSE = @BUILD_ECORE_EVAS_X11_16_FALSE@
 BUILD_ECORE_EVAS_X11_16_TRUE = @BUILD_ECORE_EVAS_X11_16_TRUE@
@@ -157,6 +159,7 @@ DEPDIR = @DEPDIR@
 DIRECTFB_CFLAGS = @DIRECTFB_CFLAGS@
 DIRECTFB_LIBS = @DIRECTFB_LIBS@
 DLLTOOL = @DLLTOOL@
+DSYMUTIL = @DSYMUTIL@
 ECHO = @ECHO@
 ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
@@ -165,7 +168,31 @@ EET_CFLAGS = @EET_CFLAGS@
 EET_LIBS = @EET_LIBS@
 EGREP = @EGREP@
 EVAS_CFLAGS = @EVAS_CFLAGS@
+EVAS_DIRECT3D_CFLAGS = @EVAS_DIRECT3D_CFLAGS@
+EVAS_DIRECT3D_LIBS = @EVAS_DIRECT3D_LIBS@
+EVAS_DIRECTFB_CFLAGS = @EVAS_DIRECTFB_CFLAGS@
+EVAS_DIRECTFB_LIBS = @EVAS_DIRECTFB_LIBS@
+EVAS_FB_CFLAGS = @EVAS_FB_CFLAGS@
+EVAS_FB_LIBS = @EVAS_FB_LIBS@
 EVAS_LIBS = @EVAS_LIBS@
+EVAS_OPENGL_GLEW_CFLAGS = @EVAS_OPENGL_GLEW_CFLAGS@
+EVAS_OPENGL_GLEW_LIBS = @EVAS_OPENGL_GLEW_LIBS@
+EVAS_OPENGL_X11_CFLAGS = @EVAS_OPENGL_X11_CFLAGS@
+EVAS_OPENGL_X11_LIBS = @EVAS_OPENGL_X11_LIBS@
+EVAS_SOFTWARE_16_DDRAW_CFLAGS = @EVAS_SOFTWARE_16_DDRAW_CFLAGS@
+EVAS_SOFTWARE_16_DDRAW_LIBS = @EVAS_SOFTWARE_16_DDRAW_LIBS@
+EVAS_SOFTWARE_16_X11_CFLAGS = @EVAS_SOFTWARE_16_X11_CFLAGS@
+EVAS_SOFTWARE_16_X11_LIBS = @EVAS_SOFTWARE_16_X11_LIBS@
+EVAS_SOFTWARE_BUFFER_CFLAGS = @EVAS_SOFTWARE_BUFFER_CFLAGS@
+EVAS_SOFTWARE_BUFFER_LIBS = @EVAS_SOFTWARE_BUFFER_LIBS@
+EVAS_SOFTWARE_DDRAW_CFLAGS = @EVAS_SOFTWARE_DDRAW_CFLAGS@
+EVAS_SOFTWARE_DDRAW_LIBS = @EVAS_SOFTWARE_DDRAW_LIBS@
+EVAS_SOFTWARE_SDL_CFLAGS = @EVAS_SOFTWARE_SDL_CFLAGS@
+EVAS_SOFTWARE_SDL_LIBS = @EVAS_SOFTWARE_SDL_LIBS@
+EVAS_SOFTWARE_X11_CFLAGS = @EVAS_SOFTWARE_X11_CFLAGS@
+EVAS_SOFTWARE_X11_LIBS = @EVAS_SOFTWARE_X11_LIBS@
+EVAS_XRENDER_X11_CFLAGS = @EVAS_XRENDER_X11_CFLAGS@
+EVAS_XRENDER_X11_LIBS = @EVAS_XRENDER_X11_LIBS@
 EXEEXT = @EXEEXT@
 GREP = @GREP@
 INSTALL_DATA = @INSTALL_DATA@
@@ -179,6 +206,7 @@ LIBTOOL = @LIBTOOL@
 LN_S = @LN_S@
 LTLIBOBJS = @LTLIBOBJS@
 MAKEINFO = @MAKEINFO@
+NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 PACKAGE = @PACKAGE@
@@ -191,6 +219,7 @@ PATH_SEPARATOR = @PATH_SEPARATOR@
 PKG_CONFIG = @PKG_CONFIG@
 RANLIB = @RANLIB@
 SDL_CFLAGS = @SDL_CFLAGS@
+SDL_CONFIG = @SDL_CONFIG@
 SDL_LIBS = @SDL_LIBS@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
@@ -223,6 +252,8 @@ XCB_XINERAMA_CFLAGS = @XCB_XINERAMA_CFLAGS@
 XCB_XINERAMA_LIBS = @XCB_XINERAMA_LIBS@
 XCB_XPRINT_CFLAGS = @XCB_XPRINT_CFLAGS@
 XCB_XPRINT_LIBS = @XCB_XPRINT_LIBS@
+XCB_XTEST_CFLAGS = @XCB_XTEST_CFLAGS@
+XCB_XTEST_LIBS = @XCB_XTEST_LIBS@
 XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
 XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -242,6 +273,8 @@ XRENDER_CFLAGS = @XRENDER_CFLAGS@
 XRENDER_LIBS = @XRENDER_LIBS@
 XSS_CFLAGS = @XSS_CFLAGS@
 XSS_LIBS = @XSS_LIBS@
+XTEST_CFLAGS = @XTEST_CFLAGS@
+XTEST_LIBS = @XTEST_LIBS@
 X_CFLAGS = @X_CFLAGS@
 X_EXTRA_LIBS = @X_EXTRA_LIBS@
 X_LIBS = @X_LIBS@
diff --git a/src/lib/ecore_ipc/Makefile.in b/src/lib/ecore_ipc/Makefile.in
index 2986188..bad5d3b 100644
--- a/src/lib/ecore_ipc/Makefile.in
+++ b/src/lib/ecore_ipc/Makefile.in
@@ -107,6 +107,8 @@ BUILD_ECORE_EVAS_DIRECTFB_TRUE = @BUILD_ECORE_EVAS_DIRECTFB_TRUE@
 BUILD_ECORE_EVAS_FALSE = @BUILD_ECORE_EVAS_FALSE@
 BUILD_ECORE_EVAS_FB_FALSE = @BUILD_ECORE_EVAS_FB_FALSE@
 BUILD_ECORE_EVAS_FB_TRUE = @BUILD_ECORE_EVAS_FB_TRUE@
+BUILD_ECORE_EVAS_SDL_FALSE = @BUILD_ECORE_EVAS_SDL_FALSE@
+BUILD_ECORE_EVAS_SDL_TRUE = @BUILD_ECORE_EVAS_SDL_TRUE@
 BUILD_ECORE_EVAS_TRUE = @BUILD_ECORE_EVAS_TRUE@
 BUILD_ECORE_EVAS_X11_16_FALSE = @BUILD_ECORE_EVAS_X11_16_FALSE@
 BUILD_ECORE_EVAS_X11_16_TRUE = @BUILD_ECORE_EVAS_X11_16_TRUE@
@@ -155,6 +157,7 @@ DEPDIR = @DEPDIR@
 DIRECTFB_CFLAGS = @DIRECTFB_CFLAGS@
 DIRECTFB_LIBS = @DIRECTFB_LIBS@
 DLLTOOL = @DLLTOOL@
+DSYMUTIL = @DSYMUTIL@
 ECHO = @ECHO@
 ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
@@ -163,7 +166,31 @@ EET_CFLAGS = @EET_CFLAGS@
 EET_LIBS = @EET_LIBS@
 EGREP = @EGREP@
 EVAS_CFLAGS = @EVAS_CFLAGS@
+EVAS_DIRECT3D_CFLAGS = @EVAS_DIRECT3D_CFLAGS@
+EVAS_DIRECT3D_LIBS = @EVAS_DIRECT3D_LIBS@
+EVAS_DIRECTFB_CFLAGS = @EVAS_DIRECTFB_CFLAGS@
+EVAS_DIRECTFB_LIBS = @EVAS_DIRECTFB_LIBS@
+EVAS_FB_CFLAGS = @EVAS_FB_CFLAGS@
+EVAS_FB_LIBS = @EVAS_FB_LIBS@
 EVAS_LIBS = @EVAS_LIBS@
+EVAS_OPENGL_GLEW_CFLAGS = @EVAS_OPENGL_GLEW_CFLAGS@
+EVAS_OPENGL_GLEW_LIBS = @EVAS_OPENGL_GLEW_LIBS@
+EVAS_OPENGL_X11_CFLAGS = @EVAS_OPENGL_X11_CFLAGS@
+EVAS_OPENGL_X11_LIBS = @EVAS_OPENGL_X11_LIBS@
+EVAS_SOFTWARE_16_DDRAW_CFLAGS = @EVAS_SOFTWARE_16_DDRAW_CFLAGS@
+EVAS_SOFTWARE_16_DDRAW_LIBS = @EVAS_SOFTWARE_16_DDRAW_LIBS@
+EVAS_SOFTWARE_16_X11_CFLAGS = @EVAS_SOFTWARE_16_X11_CFLAGS@
+EVAS_SOFTWARE_16_X11_LIBS = @EVAS_SOFTWARE_16_X11_LIBS@
+EVAS_SOFTWARE_BUFFER_CFLAGS = @EVAS_SOFTWARE_BUFFER_CFLAGS@
+EVAS_SOFTWARE_BUFFER_LIBS = @EVAS_SOFTWARE_BUFFER_LIBS@
+EVAS_SOFTWARE_DDRAW_CFLAGS = @EVAS_SOFTWARE_DDRAW_CFLAGS@
+EVAS_SOFTWARE_DDRAW_LIBS = @EVAS_SOFTWARE_DDRAW_LIBS@
+EVAS_SOFTWARE_SDL_CFLAGS = @EVAS_SOFTWARE_SDL_CFLAGS@
+EVAS_SOFTWARE_SDL_LIBS = @EVAS_SOFTWARE_SDL_LIBS@
+EVAS_SOFTWARE_X11_CFLAGS = @EVAS_SOFTWARE_X11_CFLAGS@
+EVAS_SOFTWARE_X11_LIBS = @EVAS_SOFTWARE_X11_LIBS@
+EVAS_XRENDER_X11_CFLAGS = @EVAS_XRENDER_X11_CFLAGS@
+EVAS_XRENDER_X11_LIBS = @EVAS_XRENDER_X11_LIBS@
 EXEEXT = @EXEEXT@
 GREP = @GREP@
 INSTALL_DATA = @INSTALL_DATA@
@@ -177,6 +204,7 @@ LIBTOOL = @LIBTOOL@
 LN_S = @LN_S@
 LTLIBOBJS = @LTLIBOBJS@
 MAKEINFO = @MAKEINFO@
+NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 PACKAGE = @PACKAGE@
@@ -189,6 +217,7 @@ PATH_SEPARATOR = @PATH_SEPARATOR@
 PKG_CONFIG = @PKG_CONFIG@
 RANLIB = @RANLIB@
 SDL_CFLAGS = @SDL_CFLAGS@
+SDL_CONFIG = @SDL_CONFIG@
 SDL_LIBS = @SDL_LIBS@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
@@ -221,6 +250,8 @@ XCB_XINERAMA_CFLAGS = @XCB_XINERAMA_CFLAGS@
 XCB_XINERAMA_LIBS = @XCB_XINERAMA_LIBS@
 XCB_XPRINT_CFLAGS = @XCB_XPRINT_CFLAGS@
 XCB_XPRINT_LIBS = @XCB_XPRINT_LIBS@
+XCB_XTEST_CFLAGS = @XCB_XTEST_CFLAGS@
+XCB_XTEST_LIBS = @XCB_XTEST_LIBS@
 XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
 XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -240,6 +271,8 @@ XRENDER_CFLAGS = @XRENDER_CFLAGS@
 XRENDER_LIBS = @XRENDER_LIBS@
 XSS_CFLAGS = @XSS_CFLAGS@
 XSS_LIBS = @XSS_LIBS@
+XTEST_CFLAGS = @XTEST_CFLAGS@
+XTEST_LIBS = @XTEST_LIBS@
 X_CFLAGS = @X_CFLAGS@
 X_EXTRA_LIBS = @X_EXTRA_LIBS@
 X_LIBS = @X_LIBS@
diff --git a/src/lib/ecore_ipc/ecore_ipc.c b/src/lib/ecore_ipc/ecore_ipc.c
index 293041f..1ea7887 100644
--- a/src/lib/ecore_ipc/ecore_ipc.c
+++ b/src/lib/ecore_ipc/ecore_ipc.c
@@ -1,14 +1,15 @@
 #include "Ecore.h"
-#include "config.h"
+#include <config.h>
 #include "Ecore_Con.h"
 #include "ecore_private.h"
 #include "ecore_ipc_private.h"
 #include "Ecore_Ipc.h"
 
 #ifdef HAVE_NETINET_IN_H
-#include <netinet/in.h>
-#elif _WIN32
-#include <winsock2.h>
+# include <netinet/in.h>
+#endif
+#ifdef HAVE_WINSOCK2_H
+# include <winsock2.h>
 #endif
 
 #define DLT_ZERO   0
diff --git a/src/lib/ecore_job/Makefile.in b/src/lib/ecore_job/Makefile.in
index a9467a0..94cb3fb 100644
--- a/src/lib/ecore_job/Makefile.in
+++ b/src/lib/ecore_job/Makefile.in
@@ -107,6 +107,8 @@ BUILD_ECORE_EVAS_DIRECTFB_TRUE = @BUILD_ECORE_EVAS_DIRECTFB_TRUE@
 BUILD_ECORE_EVAS_FALSE = @BUILD_ECORE_EVAS_FALSE@
 BUILD_ECORE_EVAS_FB_FALSE = @BUILD_ECORE_EVAS_FB_FALSE@
 BUILD_ECORE_EVAS_FB_TRUE = @BUILD_ECORE_EVAS_FB_TRUE@
+BUILD_ECORE_EVAS_SDL_FALSE = @BUILD_ECORE_EVAS_SDL_FALSE@
+BUILD_ECORE_EVAS_SDL_TRUE = @BUILD_ECORE_EVAS_SDL_TRUE@
 BUILD_ECORE_EVAS_TRUE = @BUILD_ECORE_EVAS_TRUE@
 BUILD_ECORE_EVAS_X11_16_FALSE = @BUILD_ECORE_EVAS_X11_16_FALSE@
 BUILD_ECORE_EVAS_X11_16_TRUE = @BUILD_ECORE_EVAS_X11_16_TRUE@
@@ -155,6 +157,7 @@ DEPDIR = @DEPDIR@
 DIRECTFB_CFLAGS = @DIRECTFB_CFLAGS@
 DIRECTFB_LIBS = @DIRECTFB_LIBS@
 DLLTOOL = @DLLTOOL@
+DSYMUTIL = @DSYMUTIL@
 ECHO = @ECHO@
 ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
@@ -163,7 +166,31 @@ EET_CFLAGS = @EET_CFLAGS@
 EET_LIBS = @EET_LIBS@
 EGREP = @EGREP@
 EVAS_CFLAGS = @EVAS_CFLAGS@
+EVAS_DIRECT3D_CFLAGS = @EVAS_DIRECT3D_CFLAGS@
+EVAS_DIRECT3D_LIBS = @EVAS_DIRECT3D_LIBS@
+EVAS_DIRECTFB_CFLAGS = @EVAS_DIRECTFB_CFLAGS@
+EVAS_DIRECTFB_LIBS = @EVAS_DIRECTFB_LIBS@
+EVAS_FB_CFLAGS = @EVAS_FB_CFLAGS@
+EVAS_FB_LIBS = @EVAS_FB_LIBS@
 EVAS_LIBS = @EVAS_LIBS@
+EVAS_OPENGL_GLEW_CFLAGS = @EVAS_OPENGL_GLEW_CFLAGS@
+EVAS_OPENGL_GLEW_LIBS = @EVAS_OPENGL_GLEW_LIBS@
+EVAS_OPENGL_X11_CFLAGS = @EVAS_OPENGL_X11_CFLAGS@
+EVAS_OPENGL_X11_LIBS = @EVAS_OPENGL_X11_LIBS@
+EVAS_SOFTWARE_16_DDRAW_CFLAGS = @EVAS_SOFTWARE_16_DDRAW_CFLAGS@
+EVAS_SOFTWARE_16_DDRAW_LIBS = @EVAS_SOFTWARE_16_DDRAW_LIBS@
+EVAS_SOFTWARE_16_X11_CFLAGS = @EVAS_SOFTWARE_16_X11_CFLAGS@
+EVAS_SOFTWARE_16_X11_LIBS = @EVAS_SOFTWARE_16_X11_LIBS@
+EVAS_SOFTWARE_BUFFER_CFLAGS = @EVAS_SOFTWARE_BUFFER_CFLAGS@
+EVAS_SOFTWARE_BUFFER_LIBS = @EVAS_SOFTWARE_BUFFER_LIBS@
+EVAS_SOFTWARE_DDRAW_CFLAGS = @EVAS_SOFTWARE_DDRAW_CFLAGS@
+EVAS_SOFTWARE_DDRAW_LIBS = @EVAS_SOFTWARE_DDRAW_LIBS@
+EVAS_SOFTWARE_SDL_CFLAGS = @EVAS_SOFTWARE_SDL_CFLAGS@
+EVAS_SOFTWARE_SDL_LIBS = @EVAS_SOFTWARE_SDL_LIBS@
+EVAS_SOFTWARE_X11_CFLAGS = @EVAS_SOFTWARE_X11_CFLAGS@
+EVAS_SOFTWARE_X11_LIBS = @EVAS_SOFTWARE_X11_LIBS@
+EVAS_XRENDER_X11_CFLAGS = @EVAS_XRENDER_X11_CFLAGS@
+EVAS_XRENDER_X11_LIBS = @EVAS_XRENDER_X11_LIBS@
 EXEEXT = @EXEEXT@
 GREP = @GREP@
 INSTALL_DATA = @INSTALL_DATA@
@@ -177,6 +204,7 @@ LIBTOOL = @LIBTOOL@
 LN_S = @LN_S@
 LTLIBOBJS = @LTLIBOBJS@
 MAKEINFO = @MAKEINFO@
+NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 PACKAGE = @PACKAGE@
@@ -189,6 +217,7 @@ PATH_SEPARATOR = @PATH_SEPARATOR@
 PKG_CONFIG = @PKG_CONFIG@
 RANLIB = @RANLIB@
 SDL_CFLAGS = @SDL_CFLAGS@
+SDL_CONFIG = @SDL_CONFIG@
 SDL_LIBS = @SDL_LIBS@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
@@ -221,6 +250,8 @@ XCB_XINERAMA_CFLAGS = @XCB_XINERAMA_CFLAGS@
 XCB_XINERAMA_LIBS = @XCB_XINERAMA_LIBS@
 XCB_XPRINT_CFLAGS = @XCB_XPRINT_CFLAGS@
 XCB_XPRINT_LIBS = @XCB_XPRINT_LIBS@
+XCB_XTEST_CFLAGS = @XCB_XTEST_CFLAGS@
+XCB_XTEST_LIBS = @XCB_XTEST_LIBS@
 XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
 XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -240,6 +271,8 @@ XRENDER_CFLAGS = @XRENDER_CFLAGS@
 XRENDER_LIBS = @XRENDER_LIBS@
 XSS_CFLAGS = @XSS_CFLAGS@
 XSS_LIBS = @XSS_LIBS@
+XTEST_CFLAGS = @XTEST_CFLAGS@
+XTEST_LIBS = @XTEST_LIBS@
 X_CFLAGS = @X_CFLAGS@
 X_EXTRA_LIBS = @X_EXTRA_LIBS@
 X_LIBS = @X_LIBS@
diff --git a/src/lib/ecore_sdl/Ecore_Sdl.h b/src/lib/ecore_sdl/Ecore_Sdl.h
index 37a89bc..3aa6c79 100644
--- a/src/lib/ecore_sdl/Ecore_Sdl.h
+++ b/src/lib/ecore_sdl/Ecore_Sdl.h
@@ -1,5 +1,5 @@
-#ifndef _ECORE_FB_H
-#define _ECORE_FB_H
+#ifndef _ECORE_SDL_H
+#define _ECORE_SDL_H
 
 #ifdef EAPI
 #undef EAPI
diff --git a/src/lib/ecore_sdl/Makefile.in b/src/lib/ecore_sdl/Makefile.in
index aa52d2c..7640935 100644
--- a/src/lib/ecore_sdl/Makefile.in
+++ b/src/lib/ecore_sdl/Makefile.in
@@ -107,6 +107,8 @@ BUILD_ECORE_EVAS_DIRECTFB_TRUE = @BUILD_ECORE_EVAS_DIRECTFB_TRUE@
 BUILD_ECORE_EVAS_FALSE = @BUILD_ECORE_EVAS_FALSE@
 BUILD_ECORE_EVAS_FB_FALSE = @BUILD_ECORE_EVAS_FB_FALSE@
 BUILD_ECORE_EVAS_FB_TRUE = @BUILD_ECORE_EVAS_FB_TRUE@
+BUILD_ECORE_EVAS_SDL_FALSE = @BUILD_ECORE_EVAS_SDL_FALSE@
+BUILD_ECORE_EVAS_SDL_TRUE = @BUILD_ECORE_EVAS_SDL_TRUE@
 BUILD_ECORE_EVAS_TRUE = @BUILD_ECORE_EVAS_TRUE@
 BUILD_ECORE_EVAS_X11_16_FALSE = @BUILD_ECORE_EVAS_X11_16_FALSE@
 BUILD_ECORE_EVAS_X11_16_TRUE = @BUILD_ECORE_EVAS_X11_16_TRUE@
@@ -155,6 +157,7 @@ DEPDIR = @DEPDIR@
 DIRECTFB_CFLAGS = @DIRECTFB_CFLAGS@
 DIRECTFB_LIBS = @DIRECTFB_LIBS@
 DLLTOOL = @DLLTOOL@
+DSYMUTIL = @DSYMUTIL@
 ECHO = @ECHO@
 ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
@@ -163,7 +166,31 @@ EET_CFLAGS = @EET_CFLAGS@
 EET_LIBS = @EET_LIBS@
 EGREP = @EGREP@
 EVAS_CFLAGS = @EVAS_CFLAGS@
+EVAS_DIRECT3D_CFLAGS = @EVAS_DIRECT3D_CFLAGS@
+EVAS_DIRECT3D_LIBS = @EVAS_DIRECT3D_LIBS@
+EVAS_DIRECTFB_CFLAGS = @EVAS_DIRECTFB_CFLAGS@
+EVAS_DIRECTFB_LIBS = @EVAS_DIRECTFB_LIBS@
+EVAS_FB_CFLAGS = @EVAS_FB_CFLAGS@
+EVAS_FB_LIBS = @EVAS_FB_LIBS@
 EVAS_LIBS = @EVAS_LIBS@
+EVAS_OPENGL_GLEW_CFLAGS = @EVAS_OPENGL_GLEW_CFLAGS@
+EVAS_OPENGL_GLEW_LIBS = @EVAS_OPENGL_GLEW_LIBS@
+EVAS_OPENGL_X11_CFLAGS = @EVAS_OPENGL_X11_CFLAGS@
+EVAS_OPENGL_X11_LIBS = @EVAS_OPENGL_X11_LIBS@
+EVAS_SOFTWARE_16_DDRAW_CFLAGS = @EVAS_SOFTWARE_16_DDRAW_CFLAGS@
+EVAS_SOFTWARE_16_DDRAW_LIBS = @EVAS_SOFTWARE_16_DDRAW_LIBS@
+EVAS_SOFTWARE_16_X11_CFLAGS = @EVAS_SOFTWARE_16_X11_CFLAGS@
+EVAS_SOFTWARE_16_X11_LIBS = @EVAS_SOFTWARE_16_X11_LIBS@
+EVAS_SOFTWARE_BUFFER_CFLAGS = @EVAS_SOFTWARE_BUFFER_CFLAGS@
+EVAS_SOFTWARE_BUFFER_LIBS = @EVAS_SOFTWARE_BUFFER_LIBS@
+EVAS_SOFTWARE_DDRAW_CFLAGS = @EVAS_SOFTWARE_DDRAW_CFLAGS@
+EVAS_SOFTWARE_DDRAW_LIBS = @EVAS_SOFTWARE_DDRAW_LIBS@
+EVAS_SOFTWARE_SDL_CFLAGS = @EVAS_SOFTWARE_SDL_CFLAGS@
+EVAS_SOFTWARE_SDL_LIBS = @EVAS_SOFTWARE_SDL_LIBS@
+EVAS_SOFTWARE_X11_CFLAGS = @EVAS_SOFTWARE_X11_CFLAGS@
+EVAS_SOFTWARE_X11_LIBS = @EVAS_SOFTWARE_X11_LIBS@
+EVAS_XRENDER_X11_CFLAGS = @EVAS_XRENDER_X11_CFLAGS@
+EVAS_XRENDER_X11_LIBS = @EVAS_XRENDER_X11_LIBS@
 EXEEXT = @EXEEXT@
 GREP = @GREP@
 INSTALL_DATA = @INSTALL_DATA@
@@ -177,6 +204,7 @@ LIBTOOL = @LIBTOOL@
 LN_S = @LN_S@
 LTLIBOBJS = @LTLIBOBJS@
 MAKEINFO = @MAKEINFO@
+NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 PACKAGE = @PACKAGE@
@@ -189,6 +217,7 @@ PATH_SEPARATOR = @PATH_SEPARATOR@
 PKG_CONFIG = @PKG_CONFIG@
 RANLIB = @RANLIB@
 SDL_CFLAGS = @SDL_CFLAGS@
+SDL_CONFIG = @SDL_CONFIG@
 SDL_LIBS = @SDL_LIBS@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
@@ -221,6 +250,8 @@ XCB_XINERAMA_CFLAGS = @XCB_XINERAMA_CFLAGS@
 XCB_XINERAMA_LIBS = @XCB_XINERAMA_LIBS@
 XCB_XPRINT_CFLAGS = @XCB_XPRINT_CFLAGS@
 XCB_XPRINT_LIBS = @XCB_XPRINT_LIBS@
+XCB_XTEST_CFLAGS = @XCB_XTEST_CFLAGS@
+XCB_XTEST_LIBS = @XCB_XTEST_LIBS@
 XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
 XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -240,6 +271,8 @@ XRENDER_CFLAGS = @XRENDER_CFLAGS@
 XRENDER_LIBS = @XRENDER_LIBS@
 XSS_CFLAGS = @XSS_CFLAGS@
 XSS_LIBS = @XSS_LIBS@
+XTEST_CFLAGS = @XTEST_CFLAGS@
+XTEST_LIBS = @XTEST_LIBS@
 X_CFLAGS = @X_CFLAGS@
 X_EXTRA_LIBS = @X_EXTRA_LIBS@
 X_LIBS = @X_LIBS@
diff --git a/src/lib/ecore_sdl/ecore_sdl.c b/src/lib/ecore_sdl/ecore_sdl.c
index 0a53596..2d9d316 100644
--- a/src/lib/ecore_sdl/ecore_sdl.c
+++ b/src/lib/ecore_sdl/ecore_sdl.c
@@ -89,8 +89,8 @@ ecore_sdl_feed_events(void)
           }
           case SDL_MOUSEBUTTONDOWN:
           {
-             if (event.button.button == 5 ||
-                 event.button.button == 6)
+             if (event.button.button == SDL_BUTTON_WHEELUP ||
+                 event.button.button == SDL_BUTTON_WHEELDOWN)
                {
                   Ecore_Sdl_Event_Mouse_Wheel   *ev;
 
@@ -98,7 +98,7 @@ ecore_sdl_feed_events(void)
                   ev->x = event.button.x;
                   ev->y = event.button.y;
                   ev->direction = 0;
-                  ev->wheel = event.button.button == 5 ? -1 : 1;
+                  ev->wheel = event.button.button == SDL_BUTTON_WHEELDOWN ? -1 : 1;
                   ev->time = time;
 
                   ecore_event_add(ECORE_SDL_EVENT_MOUSE_WHEEL, ev, NULL, NULL);
diff --git a/src/lib/ecore_txt/Makefile.in b/src/lib/ecore_txt/Makefile.in
index 296b4bc..6c7417a 100644
--- a/src/lib/ecore_txt/Makefile.in
+++ b/src/lib/ecore_txt/Makefile.in
@@ -108,6 +108,8 @@ BUILD_ECORE_EVAS_DIRECTFB_TRUE = @BUILD_ECORE_EVAS_DIRECTFB_TRUE@
 BUILD_ECORE_EVAS_FALSE = @BUILD_ECORE_EVAS_FALSE@
 BUILD_ECORE_EVAS_FB_FALSE = @BUILD_ECORE_EVAS_FB_FALSE@
 BUILD_ECORE_EVAS_FB_TRUE = @BUILD_ECORE_EVAS_FB_TRUE@
+BUILD_ECORE_EVAS_SDL_FALSE = @BUILD_ECORE_EVAS_SDL_FALSE@
+BUILD_ECORE_EVAS_SDL_TRUE = @BUILD_ECORE_EVAS_SDL_TRUE@
 BUILD_ECORE_EVAS_TRUE = @BUILD_ECORE_EVAS_TRUE@
 BUILD_ECORE_EVAS_X11_16_FALSE = @BUILD_ECORE_EVAS_X11_16_FALSE@
 BUILD_ECORE_EVAS_X11_16_TRUE = @BUILD_ECORE_EVAS_X11_16_TRUE@
@@ -156,6 +158,7 @@ DEPDIR = @DEPDIR@
 DIRECTFB_CFLAGS = @DIRECTFB_CFLAGS@
 DIRECTFB_LIBS = @DIRECTFB_LIBS@
 DLLTOOL = @DLLTOOL@
+DSYMUTIL = @DSYMUTIL@
 ECHO = @ECHO@
 ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
@@ -164,7 +167,31 @@ EET_CFLAGS = @EET_CFLAGS@
 EET_LIBS = @EET_LIBS@
 EGREP = @EGREP@
 EVAS_CFLAGS = @EVAS_CFLAGS@
+EVAS_DIRECT3D_CFLAGS = @EVAS_DIRECT3D_CFLAGS@
+EVAS_DIRECT3D_LIBS = @EVAS_DIRECT3D_LIBS@
+EVAS_DIRECTFB_CFLAGS = @EVAS_DIRECTFB_CFLAGS@
+EVAS_DIRECTFB_LIBS = @EVAS_DIRECTFB_LIBS@
+EVAS_FB_CFLAGS = @EVAS_FB_CFLAGS@
+EVAS_FB_LIBS = @EVAS_FB_LIBS@
 EVAS_LIBS = @EVAS_LIBS@
+EVAS_OPENGL_GLEW_CFLAGS = @EVAS_OPENGL_GLEW_CFLAGS@
+EVAS_OPENGL_GLEW_LIBS = @EVAS_OPENGL_GLEW_LIBS@
+EVAS_OPENGL_X11_CFLAGS = @EVAS_OPENGL_X11_CFLAGS@
+EVAS_OPENGL_X11_LIBS = @EVAS_OPENGL_X11_LIBS@
+EVAS_SOFTWARE_16_DDRAW_CFLAGS = @EVAS_SOFTWARE_16_DDRAW_CFLAGS@
+EVAS_SOFTWARE_16_DDRAW_LIBS = @EVAS_SOFTWARE_16_DDRAW_LIBS@
+EVAS_SOFTWARE_16_X11_CFLAGS = @EVAS_SOFTWARE_16_X11_CFLAGS@
+EVAS_SOFTWARE_16_X11_LIBS = @EVAS_SOFTWARE_16_X11_LIBS@
+EVAS_SOFTWARE_BUFFER_CFLAGS = @EVAS_SOFTWARE_BUFFER_CFLAGS@
+EVAS_SOFTWARE_BUFFER_LIBS = @EVAS_SOFTWARE_BUFFER_LIBS@
+EVAS_SOFTWARE_DDRAW_CFLAGS = @EVAS_SOFTWARE_DDRAW_CFLAGS@
+EVAS_SOFTWARE_DDRAW_LIBS = @EVAS_SOFTWARE_DDRAW_LIBS@
+EVAS_SOFTWARE_SDL_CFLAGS = @EVAS_SOFTWARE_SDL_CFLAGS@
+EVAS_SOFTWARE_SDL_LIBS = @EVAS_SOFTWARE_SDL_LIBS@
+EVAS_SOFTWARE_X11_CFLAGS = @EVAS_SOFTWARE_X11_CFLAGS@
+EVAS_SOFTWARE_X11_LIBS = @EVAS_SOFTWARE_X11_LIBS@
+EVAS_XRENDER_X11_CFLAGS = @EVAS_XRENDER_X11_CFLAGS@
+EVAS_XRENDER_X11_LIBS = @EVAS_XRENDER_X11_LIBS@
 EXEEXT = @EXEEXT@
 GREP = @GREP@
 INSTALL_DATA = @INSTALL_DATA@
@@ -178,6 +205,7 @@ LIBTOOL = @LIBTOOL@
 LN_S = @LN_S@
 LTLIBOBJS = @LTLIBOBJS@
 MAKEINFO = @MAKEINFO@
+NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 PACKAGE = @PACKAGE@
@@ -190,6 +218,7 @@ PATH_SEPARATOR = @PATH_SEPARATOR@
 PKG_CONFIG = @PKG_CONFIG@
 RANLIB = @RANLIB@
 SDL_CFLAGS = @SDL_CFLAGS@
+SDL_CONFIG = @SDL_CONFIG@
 SDL_LIBS = @SDL_LIBS@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
@@ -222,6 +251,8 @@ XCB_XINERAMA_CFLAGS = @XCB_XINERAMA_CFLAGS@
 XCB_XINERAMA_LIBS = @XCB_XINERAMA_LIBS@
 XCB_XPRINT_CFLAGS = @XCB_XPRINT_CFLAGS@
 XCB_XPRINT_LIBS = @XCB_XPRINT_LIBS@
+XCB_XTEST_CFLAGS = @XCB_XTEST_CFLAGS@
+XCB_XTEST_LIBS = @XCB_XTEST_LIBS@
 XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
 XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -241,6 +272,8 @@ XRENDER_CFLAGS = @XRENDER_CFLAGS@
 XRENDER_LIBS = @XRENDER_LIBS@
 XSS_CFLAGS = @XSS_CFLAGS@
 XSS_LIBS = @XSS_LIBS@
+XTEST_CFLAGS = @XTEST_CFLAGS@
+XTEST_LIBS = @XTEST_LIBS@
 X_CFLAGS = @X_CFLAGS@
 X_EXTRA_LIBS = @X_EXTRA_LIBS@
 X_LIBS = @X_LIBS@
diff --git a/src/lib/ecore_win32/Makefile.in b/src/lib/ecore_win32/Makefile.in
index 32102ce..3e8b868 100644
--- a/src/lib/ecore_win32/Makefile.in
+++ b/src/lib/ecore_win32/Makefile.in
@@ -125,6 +125,8 @@ BUILD_ECORE_EVAS_DIRECTFB_TRUE = @BUILD_ECORE_EVAS_DIRECTFB_TRUE@
 BUILD_ECORE_EVAS_FALSE = @BUILD_ECORE_EVAS_FALSE@
 BUILD_ECORE_EVAS_FB_FALSE = @BUILD_ECORE_EVAS_FB_FALSE@
 BUILD_ECORE_EVAS_FB_TRUE = @BUILD_ECORE_EVAS_FB_TRUE@
+BUILD_ECORE_EVAS_SDL_FALSE = @BUILD_ECORE_EVAS_SDL_FALSE@
+BUILD_ECORE_EVAS_SDL_TRUE = @BUILD_ECORE_EVAS_SDL_TRUE@
 BUILD_ECORE_EVAS_TRUE = @BUILD_ECORE_EVAS_TRUE@
 BUILD_ECORE_EVAS_X11_16_FALSE = @BUILD_ECORE_EVAS_X11_16_FALSE@
 BUILD_ECORE_EVAS_X11_16_TRUE = @BUILD_ECORE_EVAS_X11_16_TRUE@
@@ -173,6 +175,7 @@ DEPDIR = @DEPDIR@
 DIRECTFB_CFLAGS = @DIRECTFB_CFLAGS@
 DIRECTFB_LIBS = @DIRECTFB_LIBS@
 DLLTOOL = @DLLTOOL@
+DSYMUTIL = @DSYMUTIL@
 ECHO = @ECHO@
 ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
@@ -181,7 +184,31 @@ EET_CFLAGS = @EET_CFLAGS@
 EET_LIBS = @EET_LIBS@
 EGREP = @EGREP@
 EVAS_CFLAGS = @EVAS_CFLAGS@
+EVAS_DIRECT3D_CFLAGS = @EVAS_DIRECT3D_CFLAGS@
+EVAS_DIRECT3D_LIBS = @EVAS_DIRECT3D_LIBS@
+EVAS_DIRECTFB_CFLAGS = @EVAS_DIRECTFB_CFLAGS@
+EVAS_DIRECTFB_LIBS = @EVAS_DIRECTFB_LIBS@
+EVAS_FB_CFLAGS = @EVAS_FB_CFLAGS@
+EVAS_FB_LIBS = @EVAS_FB_LIBS@
 EVAS_LIBS = @EVAS_LIBS@
+EVAS_OPENGL_GLEW_CFLAGS = @EVAS_OPENGL_GLEW_CFLAGS@
+EVAS_OPENGL_GLEW_LIBS = @EVAS_OPENGL_GLEW_LIBS@
+EVAS_OPENGL_X11_CFLAGS = @EVAS_OPENGL_X11_CFLAGS@
+EVAS_OPENGL_X11_LIBS = @EVAS_OPENGL_X11_LIBS@
+EVAS_SOFTWARE_16_DDRAW_CFLAGS = @EVAS_SOFTWARE_16_DDRAW_CFLAGS@
+EVAS_SOFTWARE_16_DDRAW_LIBS = @EVAS_SOFTWARE_16_DDRAW_LIBS@
+EVAS_SOFTWARE_16_X11_CFLAGS = @EVAS_SOFTWARE_16_X11_CFLAGS@
+EVAS_SOFTWARE_16_X11_LIBS = @EVAS_SOFTWARE_16_X11_LIBS@
+EVAS_SOFTWARE_BUFFER_CFLAGS = @EVAS_SOFTWARE_BUFFER_CFLAGS@
+EVAS_SOFTWARE_BUFFER_LIBS = @EVAS_SOFTWARE_BUFFER_LIBS@
+EVAS_SOFTWARE_DDRAW_CFLAGS = @EVAS_SOFTWARE_DDRAW_CFLAGS@
+EVAS_SOFTWARE_DDRAW_LIBS = @EVAS_SOFTWARE_DDRAW_LIBS@
+EVAS_SOFTWARE_SDL_CFLAGS = @EVAS_SOFTWARE_SDL_CFLAGS@
+EVAS_SOFTWARE_SDL_LIBS = @EVAS_SOFTWARE_SDL_LIBS@
+EVAS_SOFTWARE_X11_CFLAGS = @EVAS_SOFTWARE_X11_CFLAGS@
+EVAS_SOFTWARE_X11_LIBS = @EVAS_SOFTWARE_X11_LIBS@
+EVAS_XRENDER_X11_CFLAGS = @EVAS_XRENDER_X11_CFLAGS@
+EVAS_XRENDER_X11_LIBS = @EVAS_XRENDER_X11_LIBS@
 EXEEXT = @EXEEXT@
 GREP = @GREP@
 INSTALL_DATA = @INSTALL_DATA@
@@ -195,6 +222,7 @@ LIBTOOL = @LIBTOOL@
 LN_S = @LN_S@
 LTLIBOBJS = @LTLIBOBJS@
 MAKEINFO = @MAKEINFO@
+NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 PACKAGE = @PACKAGE@
@@ -207,6 +235,7 @@ PATH_SEPARATOR = @PATH_SEPARATOR@
 PKG_CONFIG = @PKG_CONFIG@
 RANLIB = @RANLIB@
 SDL_CFLAGS = @SDL_CFLAGS@
+SDL_CONFIG = @SDL_CONFIG@
 SDL_LIBS = @SDL_LIBS@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
@@ -239,6 +268,8 @@ XCB_XINERAMA_CFLAGS = @XCB_XINERAMA_CFLAGS@
 XCB_XINERAMA_LIBS = @XCB_XINERAMA_LIBS@
 XCB_XPRINT_CFLAGS = @XCB_XPRINT_CFLAGS@
 XCB_XPRINT_LIBS = @XCB_XPRINT_LIBS@
+XCB_XTEST_CFLAGS = @XCB_XTEST_CFLAGS@
+XCB_XTEST_LIBS = @XCB_XTEST_LIBS@
 XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
 XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -258,6 +289,8 @@ XRENDER_CFLAGS = @XRENDER_CFLAGS@
 XRENDER_LIBS = @XRENDER_LIBS@
 XSS_CFLAGS = @XSS_CFLAGS@
 XSS_LIBS = @XSS_LIBS@
+XTEST_CFLAGS = @XTEST_CFLAGS@
+XTEST_LIBS = @XTEST_LIBS@
 X_CFLAGS = @X_CFLAGS@
 X_EXTRA_LIBS = @X_EXTRA_LIBS@
 X_LIBS = @X_LIBS@
diff --git a/src/lib/ecore_x/Ecore_X.h b/src/lib/ecore_x/Ecore_X.h
index 605e231..8ee23ca 100644
--- a/src/lib/ecore_x/Ecore_X.h
+++ b/src/lib/ecore_x/Ecore_X.h
@@ -1448,6 +1448,7 @@ EAPI void                ecore_x_netwm_window_type_set(Ecore_X_Window win, Ecore
 EAPI void                ecore_x_netwm_window_type_get_prefetch(Ecore_X_Window window);
 EAPI void                ecore_x_netwm_window_type_get_fetch(void);
 EAPI int                 ecore_x_netwm_window_type_get(Ecore_X_Window win, Ecore_X_Window_Type *type);
+EAPI int                 ecore_x_netwm_window_types_get(Ecore_X_Window win, Ecore_X_Window_Type **types);
 EAPI int                 ecore_x_netwm_allowed_action_isset(Ecore_X_Window win, Ecore_X_Action action);
 EAPI void                ecore_x_netwm_allowed_action_set(Ecore_X_Window win, Ecore_X_Action *action, unsigned int num);
 EAPI void                ecore_x_netwm_allowed_action_get_prefetch(Ecore_X_Window window);
@@ -1680,7 +1681,9 @@ EAPI void              ecore_x_dpms_timeout_standby_set(unsigned int new_timeout
 EAPI void              ecore_x_dpms_timeout_suspend_set(unsigned int new_timeout);
 EAPI void              ecore_x_dpms_timeout_off_set(unsigned int new_timeout);
 
-
+EAPI int ecore_x_test_fake_key_down(const char *key);
+EAPI int ecore_x_test_fake_key_up(const char *key);
+       
 #ifdef __cplusplus
 }
 #endif
diff --git a/src/lib/ecore_x/Makefile.am b/src/lib/ecore_x/Makefile.am
index d7b44d3..fd46526 100644
--- a/src/lib/ecore_x/Makefile.am
+++ b/src/lib/ecore_x/Makefile.am
@@ -13,6 +13,7 @@ AM_CPPFLAGS = \
 @XCB_XFIXES_CFLAGS@ \
 @XCB_XINERAMA_CFLAGS@ \
 @XCB_XPRINT_CFLAGS@ \
+ at XCB_XTEST_CFLAGS@ \
 @XCB_CFLAGS@ \
 -I$(top_srcdir)/src/lib/ecore \
 -I$(top_srcdir)/src/lib/ecore_txt \
@@ -30,6 +31,7 @@ AM_CPPFLAGS = \
 @XRANDR_CFLAGS@ \
 @XRENDER_CFLAGS@ \
 @XSS_CFLAGS@ \
+ at XTEST_CFLAGS@ \
 @x_cflags@ \
 -I$(top_srcdir)/src/lib/ecore \
 -I$(top_srcdir)/src/lib/ecore_txt \
@@ -85,6 +87,7 @@ libecore_x_la_LIBADD = \
 @XCB_XFIXES_LIBS@ \
 @XCB_XINERAMA_LIBS@ \
 @XCB_XPRINT_LIBS@ \
+ at XCB_XTEST_LIBS@ \
 @XCB_LIBS@ \
 $(top_builddir)/src/lib/ecore/libecore.la \
 $(top_builddir)/src/lib/ecore_txt/libecore_txt.la
@@ -130,6 +133,7 @@ ecore_x_screensaver.c \
 ecore_x_dpms.c \
 ecore_x_drawable.c \
 ecore_x_cursor.c \
+ecore_x_test.c \
 ecore_x_private.h
 
 libecore_x_la_LIBADD = \
@@ -143,6 +147,7 @@ libecore_x_la_LIBADD = \
 @XRANDR_LIBS@ \
 @XRENDER_LIBS@ \
 @XSS_LIBS@ \
+ at XTEST_LIBS@ \
 @x_libs@ \
 $(top_builddir)/src/lib/ecore/libecore.la \
 $(top_builddir)/src/lib/ecore_txt/libecore_txt.la
@@ -185,4 +190,5 @@ ecore_x_screensaver.c \
 ecore_x_dpms.c \
 ecore_x_drawable.c \
 ecore_x_cursor.c \
+ecore_x_test.c \
 ecore_x_private.h
diff --git a/src/lib/ecore_x/Makefile.in b/src/lib/ecore_x/Makefile.in
index fca3bc0..6647552 100644
--- a/src/lib/ecore_x/Makefile.in
+++ b/src/lib/ecore_x/Makefile.in
@@ -67,16 +67,16 @@ am__libecore_x_la_SOURCES_DIST = ecore_x.c ecore_x_dnd.c \
 	ecore_x_window_prop.c ecore_x_window_shape.c ecore_x_pixmap.c \
 	ecore_x_gc.c ecore_x_xinerama.c ecore_x_screensaver.c \
 	ecore_x_dpms.c ecore_x_drawable.c ecore_x_cursor.c \
-	ecore_x_private.h ecore_xcb_atom.c ecore_xcb_cursor.c \
-	ecore_xcb_damage.c ecore_xcb_composite.c ecore_xcb_dnd.c \
-	ecore_xcb_dpms.c ecore_xcb_drawable.c ecore_xcb_e.c \
-	ecore_xcb_events.c ecore_xcb_fixes.c ecore_xcb_gc.c \
-	ecore_xcb_icccm.c ecore_xcb_mwm.c ecore_xcb_netwm.c \
-	ecore_xcb_pixmap.c ecore_xcb_randr.c ecore_xcb_reply.c \
-	ecore_xcb_screensaver.c ecore_xcb_selection.c \
-	ecore_xcb_shape.c ecore_xcb_sync.c ecore_xcb_window.c \
-	ecore_xcb_window_prop.c ecore_xcb_xinerama.c ecore_xcb.c \
-	ecore_xcb_private.h
+	ecore_x_test.c ecore_x_private.h ecore_xcb_atom.c \
+	ecore_xcb_cursor.c ecore_xcb_damage.c ecore_xcb_composite.c \
+	ecore_xcb_dnd.c ecore_xcb_dpms.c ecore_xcb_drawable.c \
+	ecore_xcb_e.c ecore_xcb_events.c ecore_xcb_fixes.c \
+	ecore_xcb_gc.c ecore_xcb_icccm.c ecore_xcb_mwm.c \
+	ecore_xcb_netwm.c ecore_xcb_pixmap.c ecore_xcb_randr.c \
+	ecore_xcb_reply.c ecore_xcb_screensaver.c \
+	ecore_xcb_selection.c ecore_xcb_shape.c ecore_xcb_sync.c \
+	ecore_xcb_window.c ecore_xcb_window_prop.c \
+	ecore_xcb_xinerama.c ecore_xcb.c ecore_xcb_private.h
 @BUILD_ECORE_X_TRUE@@BUILD_ECORE_X_XCB_FALSE at am_libecore_x_la_OBJECTS =  \
 @BUILD_ECORE_X_TRUE@@BUILD_ECORE_X_XCB_FALSE@	ecore_x.lo \
 @BUILD_ECORE_X_TRUE@@BUILD_ECORE_X_XCB_FALSE@	ecore_x_dnd.lo \
@@ -101,7 +101,8 @@ am__libecore_x_la_SOURCES_DIST = ecore_x.c ecore_x_dnd.c \
 @BUILD_ECORE_X_TRUE@@BUILD_ECORE_X_XCB_FALSE@	ecore_x_screensaver.lo \
 @BUILD_ECORE_X_TRUE@@BUILD_ECORE_X_XCB_FALSE@	ecore_x_dpms.lo \
 @BUILD_ECORE_X_TRUE@@BUILD_ECORE_X_XCB_FALSE@	ecore_x_drawable.lo \
- at BUILD_ECORE_X_TRUE@@BUILD_ECORE_X_XCB_FALSE@	ecore_x_cursor.lo
+ at BUILD_ECORE_X_TRUE@@BUILD_ECORE_X_XCB_FALSE@	ecore_x_cursor.lo \
+ at BUILD_ECORE_X_TRUE@@BUILD_ECORE_X_XCB_FALSE@	ecore_x_test.lo
 @BUILD_ECORE_X_XCB_TRUE at am_libecore_x_la_OBJECTS = ecore_xcb_atom.lo \
 @BUILD_ECORE_X_XCB_TRUE@	ecore_xcb_cursor.lo \
 @BUILD_ECORE_X_XCB_TRUE@	ecore_xcb_damage.lo \
@@ -167,6 +168,8 @@ BUILD_ECORE_EVAS_DIRECTFB_TRUE = @BUILD_ECORE_EVAS_DIRECTFB_TRUE@
 BUILD_ECORE_EVAS_FALSE = @BUILD_ECORE_EVAS_FALSE@
 BUILD_ECORE_EVAS_FB_FALSE = @BUILD_ECORE_EVAS_FB_FALSE@
 BUILD_ECORE_EVAS_FB_TRUE = @BUILD_ECORE_EVAS_FB_TRUE@
+BUILD_ECORE_EVAS_SDL_FALSE = @BUILD_ECORE_EVAS_SDL_FALSE@
+BUILD_ECORE_EVAS_SDL_TRUE = @BUILD_ECORE_EVAS_SDL_TRUE@
 BUILD_ECORE_EVAS_TRUE = @BUILD_ECORE_EVAS_TRUE@
 BUILD_ECORE_EVAS_X11_16_FALSE = @BUILD_ECORE_EVAS_X11_16_FALSE@
 BUILD_ECORE_EVAS_X11_16_TRUE = @BUILD_ECORE_EVAS_X11_16_TRUE@
@@ -215,6 +218,7 @@ DEPDIR = @DEPDIR@
 DIRECTFB_CFLAGS = @DIRECTFB_CFLAGS@
 DIRECTFB_LIBS = @DIRECTFB_LIBS@
 DLLTOOL = @DLLTOOL@
+DSYMUTIL = @DSYMUTIL@
 ECHO = @ECHO@
 ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
@@ -223,7 +227,31 @@ EET_CFLAGS = @EET_CFLAGS@
 EET_LIBS = @EET_LIBS@
 EGREP = @EGREP@
 EVAS_CFLAGS = @EVAS_CFLAGS@
+EVAS_DIRECT3D_CFLAGS = @EVAS_DIRECT3D_CFLAGS@
+EVAS_DIRECT3D_LIBS = @EVAS_DIRECT3D_LIBS@
+EVAS_DIRECTFB_CFLAGS = @EVAS_DIRECTFB_CFLAGS@
+EVAS_DIRECTFB_LIBS = @EVAS_DIRECTFB_LIBS@
+EVAS_FB_CFLAGS = @EVAS_FB_CFLAGS@
+EVAS_FB_LIBS = @EVAS_FB_LIBS@
 EVAS_LIBS = @EVAS_LIBS@
+EVAS_OPENGL_GLEW_CFLAGS = @EVAS_OPENGL_GLEW_CFLAGS@
+EVAS_OPENGL_GLEW_LIBS = @EVAS_OPENGL_GLEW_LIBS@
+EVAS_OPENGL_X11_CFLAGS = @EVAS_OPENGL_X11_CFLAGS@
+EVAS_OPENGL_X11_LIBS = @EVAS_OPENGL_X11_LIBS@
+EVAS_SOFTWARE_16_DDRAW_CFLAGS = @EVAS_SOFTWARE_16_DDRAW_CFLAGS@
+EVAS_SOFTWARE_16_DDRAW_LIBS = @EVAS_SOFTWARE_16_DDRAW_LIBS@
+EVAS_SOFTWARE_16_X11_CFLAGS = @EVAS_SOFTWARE_16_X11_CFLAGS@
+EVAS_SOFTWARE_16_X11_LIBS = @EVAS_SOFTWARE_16_X11_LIBS@
+EVAS_SOFTWARE_BUFFER_CFLAGS = @EVAS_SOFTWARE_BUFFER_CFLAGS@
+EVAS_SOFTWARE_BUFFER_LIBS = @EVAS_SOFTWARE_BUFFER_LIBS@
+EVAS_SOFTWARE_DDRAW_CFLAGS = @EVAS_SOFTWARE_DDRAW_CFLAGS@
+EVAS_SOFTWARE_DDRAW_LIBS = @EVAS_SOFTWARE_DDRAW_LIBS@
+EVAS_SOFTWARE_SDL_CFLAGS = @EVAS_SOFTWARE_SDL_CFLAGS@
+EVAS_SOFTWARE_SDL_LIBS = @EVAS_SOFTWARE_SDL_LIBS@
+EVAS_SOFTWARE_X11_CFLAGS = @EVAS_SOFTWARE_X11_CFLAGS@
+EVAS_SOFTWARE_X11_LIBS = @EVAS_SOFTWARE_X11_LIBS@
+EVAS_XRENDER_X11_CFLAGS = @EVAS_XRENDER_X11_CFLAGS@
+EVAS_XRENDER_X11_LIBS = @EVAS_XRENDER_X11_LIBS@
 EXEEXT = @EXEEXT@
 GREP = @GREP@
 INSTALL_DATA = @INSTALL_DATA@
@@ -237,6 +265,7 @@ LIBTOOL = @LIBTOOL@
 LN_S = @LN_S@
 LTLIBOBJS = @LTLIBOBJS@
 MAKEINFO = @MAKEINFO@
+NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 PACKAGE = @PACKAGE@
@@ -249,6 +278,7 @@ PATH_SEPARATOR = @PATH_SEPARATOR@
 PKG_CONFIG = @PKG_CONFIG@
 RANLIB = @RANLIB@
 SDL_CFLAGS = @SDL_CFLAGS@
+SDL_CONFIG = @SDL_CONFIG@
 SDL_LIBS = @SDL_LIBS@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
@@ -281,6 +311,8 @@ XCB_XINERAMA_CFLAGS = @XCB_XINERAMA_CFLAGS@
 XCB_XINERAMA_LIBS = @XCB_XINERAMA_LIBS@
 XCB_XPRINT_CFLAGS = @XCB_XPRINT_CFLAGS@
 XCB_XPRINT_LIBS = @XCB_XPRINT_LIBS@
+XCB_XTEST_CFLAGS = @XCB_XTEST_CFLAGS@
+XCB_XTEST_LIBS = @XCB_XTEST_LIBS@
 XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
 XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -300,6 +332,8 @@ XRENDER_CFLAGS = @XRENDER_CFLAGS@
 XRENDER_LIBS = @XRENDER_LIBS@
 XSS_CFLAGS = @XSS_CFLAGS@
 XSS_LIBS = @XSS_LIBS@
+XTEST_CFLAGS = @XTEST_CFLAGS@
+XTEST_LIBS = @XTEST_LIBS@
 X_CFLAGS = @X_CFLAGS@
 X_EXTRA_LIBS = @X_EXTRA_LIBS@
 X_LIBS = @X_LIBS@
@@ -422,6 +456,7 @@ MAINTAINERCLEANFILES = Makefile.in
 @BUILD_ECORE_X_XCB_FALSE@@XRANDR_CFLAGS@ \
 @BUILD_ECORE_X_XCB_FALSE@@XRENDER_CFLAGS@ \
 @BUILD_ECORE_X_XCB_FALSE@@XSS_CFLAGS@ \
+ at BUILD_ECORE_X_XCB_FALSE@@XTEST_CFLAGS@ \
 @BUILD_ECORE_X_XCB_FALSE@@x_cflags@ \
 @BUILD_ECORE_X_XCB_FALSE at -I$(top_srcdir)/src/lib/ecore \
 @BUILD_ECORE_X_XCB_FALSE at -I$(top_srcdir)/src/lib/ecore_txt \
@@ -440,6 +475,7 @@ MAINTAINERCLEANFILES = Makefile.in
 @BUILD_ECORE_X_XCB_TRUE@@XCB_XFIXES_CFLAGS@ \
 @BUILD_ECORE_X_XCB_TRUE@@XCB_XINERAMA_CFLAGS@ \
 @BUILD_ECORE_X_XCB_TRUE@@XCB_XPRINT_CFLAGS@ \
+ at BUILD_ECORE_X_XCB_TRUE@@XCB_XTEST_CFLAGS@ \
 @BUILD_ECORE_X_XCB_TRUE@@XCB_CFLAGS@ \
 @BUILD_ECORE_X_XCB_TRUE at -I$(top_srcdir)/src/lib/ecore \
 @BUILD_ECORE_X_XCB_TRUE at -I$(top_srcdir)/src/lib/ecore_txt \
@@ -483,6 +519,7 @@ MAINTAINERCLEANFILES = Makefile.in
 @BUILD_ECORE_X_TRUE@@BUILD_ECORE_X_XCB_FALSE at ecore_x_dpms.c \
 @BUILD_ECORE_X_TRUE@@BUILD_ECORE_X_XCB_FALSE at ecore_x_drawable.c \
 @BUILD_ECORE_X_TRUE@@BUILD_ECORE_X_XCB_FALSE at ecore_x_cursor.c \
+ at BUILD_ECORE_X_TRUE@@BUILD_ECORE_X_XCB_FALSE at ecore_x_test.c \
 @BUILD_ECORE_X_TRUE@@BUILD_ECORE_X_XCB_FALSE at ecore_x_private.h
 
 @BUILD_ECORE_X_XCB_TRUE at libecore_x_la_SOURCES = \
@@ -524,6 +561,7 @@ MAINTAINERCLEANFILES = Makefile.in
 @BUILD_ECORE_X_TRUE@@BUILD_ECORE_X_XCB_FALSE@@XRANDR_LIBS@ \
 @BUILD_ECORE_X_TRUE@@BUILD_ECORE_X_XCB_FALSE@@XRENDER_LIBS@ \
 @BUILD_ECORE_X_TRUE@@BUILD_ECORE_X_XCB_FALSE@@XSS_LIBS@ \
+ at BUILD_ECORE_X_TRUE@@BUILD_ECORE_X_XCB_FALSE@@XTEST_LIBS@ \
 @BUILD_ECORE_X_TRUE@@BUILD_ECORE_X_XCB_FALSE@@x_libs@ \
 @BUILD_ECORE_X_TRUE@@BUILD_ECORE_X_XCB_FALSE@$(top_builddir)/src/lib/ecore/libecore.la \
 @BUILD_ECORE_X_TRUE@@BUILD_ECORE_X_XCB_FALSE@$(top_builddir)/src/lib/ecore_txt/libecore_txt.la
@@ -540,6 +578,7 @@ MAINTAINERCLEANFILES = Makefile.in
 @BUILD_ECORE_X_XCB_TRUE@@XCB_XFIXES_LIBS@ \
 @BUILD_ECORE_X_XCB_TRUE@@XCB_XINERAMA_LIBS@ \
 @BUILD_ECORE_X_XCB_TRUE@@XCB_XPRINT_LIBS@ \
+ at BUILD_ECORE_X_XCB_TRUE@@XCB_XTEST_LIBS@ \
 @BUILD_ECORE_X_XCB_TRUE@@XCB_LIBS@ \
 @BUILD_ECORE_X_XCB_TRUE@$(top_builddir)/src/lib/ecore/libecore.la \
 @BUILD_ECORE_X_XCB_TRUE@$(top_builddir)/src/lib/ecore_txt/libecore_txt.la
@@ -582,6 +621,7 @@ ecore_x_screensaver.c \
 ecore_x_dpms.c \
 ecore_x_drawable.c \
 ecore_x_cursor.c \
+ecore_x_test.c \
 ecore_x_private.h
 
 all: all-am
@@ -673,6 +713,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ecore_x_screensaver.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ecore_x_selection.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ecore_x_sync.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ecore_x_test.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ecore_x_window.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ecore_x_window_prop.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ecore_x_window_shape.Plo at am__quote@
diff --git a/src/lib/ecore_x/ecore_x_events.c b/src/lib/ecore_x/ecore_x_events.c
index cafe7d3..e51e5be 100644
--- a/src/lib/ecore_x/ecore_x_events.c
+++ b/src/lib/ecore_x/ecore_x_events.c
@@ -1662,7 +1662,7 @@ _ecore_x_event_handle_screensaver_notify(XEvent *xevent)
    e->win = screensaver_event->window;
    if (screensaver_event->state == ScreenSaverOn)
      e->on = 1;
-   else 
+  else 
      e->on = 0;
    e->time = screensaver_event->time;
    ecore_event_add(ECORE_X_EVENT_SCREENSAVER_NOTIFY, e, NULL, NULL);
diff --git a/src/lib/ecore_x/ecore_x_netwm.c b/src/lib/ecore_x/ecore_x_netwm.c
index 8f3df40..6c9308a 100644
--- a/src/lib/ecore_x/ecore_x_netwm.c
+++ b/src/lib/ecore_x/ecore_x_netwm.c
@@ -999,34 +999,42 @@ ecore_x_netwm_window_type_set(Ecore_X_Window win, Ecore_X_Window_Type type)
 EAPI int
 ecore_x_netwm_window_type_get(Ecore_X_Window win, Ecore_X_Window_Type *type)
 {
-   int                  num, i;
-   Ecore_X_Atom        *atoms;
+   int                  num;
+   Ecore_X_Atom        *atoms = NULL;
 
    if (type) *type = ECORE_X_WINDOW_TYPE_NORMAL;
 
-   num = ecore_x_window_prop_atom_list_get(win, ECORE_X_ATOM_NET_WM_WINDOW_TYPE,
+   num = ecore_x_window_prop_atom_list_get(win, 
+					   ECORE_X_ATOM_NET_WM_WINDOW_TYPE,
 					   &atoms);
-   if (num < 0)
-     {
-	/* IMO this is not the place to mix netwm and icccm /kwo */
-	/* Check if WM_TRANSIENT_FOR is set */
-	if ((type) && (ecore_x_icccm_transient_for_get(win)))
-	  *type = ECORE_X_WINDOW_TYPE_DIALOG;
-	return 1;
-     }
+   if ((type) && (num >= 1) && (atoms))
+     *type = _ecore_x_netwm_window_type_type_get(atoms[0]);
+
+   free(atoms);
+   if (num >= 1) return 1;
+   return 0;
+}
+
+EAPI int
+ecore_x_netwm_window_types_get(Ecore_X_Window win, Ecore_X_Window_Type **types)
+{
+   int                  num, i;
+   Ecore_X_Atom        *atoms = NULL;
 
-   if (type)
+   if (types) *types = NULL;
+   num = ecore_x_window_prop_atom_list_get(win,
+					   ECORE_X_ATOM_NET_WM_WINDOW_TYPE,
+					   &atoms);
+   if ((num <= 0) || (!atoms))
      {
-	for (i = 0; i < num; ++i)
-	  {
-	     *type = _ecore_x_netwm_window_type_type_get(atoms[i]);
-	     if (*type != ECORE_X_WINDOW_TYPE_UNKNOWN)
-	       break;
-	  }
+	if (atoms) free(atoms);
+	return 0;
      }
-
-   free(atoms);
-   return 1;
+   for (i = 0; i < num; i++)
+     atoms[i] = _ecore_x_netwm_window_type_type_get(atoms[i]);
+   if (types) *types = atoms;
+   else free(atoms);
+   return num;
 }
 
 static Ecore_X_Atom
diff --git a/src/lib/ecore_x/ecore_x_test.c b/src/lib/ecore_x/ecore_x_test.c
new file mode 100644
index 0000000..73bbf68
--- /dev/null
+++ b/src/lib/ecore_x/ecore_x_test.c
@@ -0,0 +1,50 @@
+/*
+ * vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2
+ */
+
+#include "ecore_x_private.h"
+#include "Ecore_X.h"
+
+EAPI int
+ecore_x_test_fake_key_down(const char *key)
+{
+#ifdef ECORE_XTEST
+   KeyCode             keycode = 0;
+   KeySym              keysym;
+   
+   if (!strncmp(key, "Keycode-", 8))
+     keycode = atoi(key + 8);
+   else
+     {
+	keysym = XStringToKeysym(key);
+	if (keysym == NoSymbol) return 0;
+	keycode  = XKeysymToKeycode(_ecore_x_disp, XStringToKeysym(key));
+     }
+   if (keycode == 0) return 0;
+   return XTestFakeKeyEvent(_ecore_x_disp, keycode, 1, 0);
+#else
+   return 0;
+#endif
+}
+
+EAPI int
+ecore_x_test_fake_key_up(const char *key)
+{
+#ifdef ECORE_XTEST
+   KeyCode             keycode = 0;
+   KeySym              keysym;
+   
+   if (!strncmp(key, "Keycode-", 8))
+     keycode = atoi(key + 8);
+   else
+     {
+	keysym = XStringToKeysym(key);
+	if (keysym == NoSymbol) return 0;
+	keycode  = XKeysymToKeycode(_ecore_x_disp, XStringToKeysym(key));
+     }
+   if (keycode == 0) return 0;
+   return XTestFakeKeyEvent(_ecore_x_disp, keycode, 0, 0);
+#else
+   return 0;
+#endif
+}
diff --git a/src/lib/ecore_x/ecore_x_window.c b/src/lib/ecore_x/ecore_x_window.c
index 1fc232d..517fcac 100644
--- a/src/lib/ecore_x/ecore_x_window.c
+++ b/src/lib/ecore_x/ecore_x_window.c
@@ -487,7 +487,7 @@ ecore_x_window_focus(Ecore_X_Window win)
 {
    if (win == 0) win = DefaultRootWindow(_ecore_x_disp);   
 //   XSetInputFocus(_ecore_x_disp, win, RevertToNone, CurrentTime);
-   XSetInputFocus(_ecore_x_disp, win, PointerRoot, CurrentTime);
+   XSetInputFocus(_ecore_x_disp, win, RevertToPointerRoot, CurrentTime);
 }
 
 /**
diff --git a/src/lib/ecore_x/ecore_xcb_dnd.c b/src/lib/ecore_x/ecore_xcb_dnd.c
index ae2ca7a..b270d3d 100644
--- a/src/lib/ecore_x/ecore_xcb_dnd.c
+++ b/src/lib/ecore_x/ecore_xcb_dnd.c
@@ -637,7 +637,7 @@ _ecore_x_dnd_drag(Ecore_X_Window root,
 
         ecore_x_dnd_version_get_prefetch(win);
         cookie_tree = xcb_query_tree_unchecked(_ecore_xcb_conn, win);
-        
+
         ecore_x_dnd_version_get_fetch();
         /* We found the correct window ? */
         if (ecore_x_dnd_version_get(win))
@@ -675,7 +675,7 @@ _ecore_x_dnd_drag(Ecore_X_Window root,
 
         ecore_x_dnd_version_get_prefetch(win);
         ecore_x_dnd_type_get_prefetch(_source->win);
-        
+
         ecore_x_dnd_version_get_fetch();
         if (!ecore_x_dnd_version_get(win))
           {
diff --git a/src/lib/ecore_x/ecore_xcb_screensaver.c b/src/lib/ecore_x/ecore_xcb_screensaver.c
index f78e57b..6fdf8c4 100644
--- a/src/lib/ecore_x/ecore_xcb_screensaver.c
+++ b/src/lib/ecore_x/ecore_xcb_screensaver.c
@@ -163,13 +163,13 @@ ecore_x_get_screensaver_fetch(void)
  * @ingroup Ecore_X_ScrenSaver_Group
  */
 EAPI void
-ecore_x_screensaver_timeout_set(double timeout)
+ecore_x_screensaver_timeout_set(int timeout)
 {
    xcb_get_screen_saver_reply_t *reply;
 
    reply = _ecore_xcb_reply_get();
    if (!reply) return;
-   
+
    xcb_set_screen_saver(_ecore_xcb_conn,
                         (int16_t)timeout,
                         reply->interval,
@@ -189,7 +189,7 @@ ecore_x_screensaver_timeout_set(double timeout)
  * then ecore_x_get_screensaver_fetch(), which gets the reply.
  * @ingroup Ecore_X_ScrenSaver_Group
  */
-EAPI double
+EAPI int
 ecore_x_screensaver_timeout_get(void)
 {
    xcb_get_screen_saver_reply_t *reply;
@@ -197,7 +197,7 @@ ecore_x_screensaver_timeout_get(void)
    reply = _ecore_xcb_reply_get();
    if (!reply) return 0.0;
 
-   return (double)reply->timeout;
+   return (int)reply->timeout;
 }
 
 
@@ -213,13 +213,13 @@ ecore_x_screensaver_timeout_get(void)
  * @ingroup Ecore_X_ScrenSaver_Group
  */
 EAPI void
-ecore_x_screensaver_interval_set(double interval)
+ecore_x_screensaver_interval_set(int interval)
 {
    xcb_get_screen_saver_reply_t *reply;
 
    reply = _ecore_xcb_reply_get();
    if (!reply) return;
-   
+
    xcb_set_screen_saver(_ecore_xcb_conn,
                         reply->timeout,
                         (int16_t)interval,
@@ -239,7 +239,7 @@ ecore_x_screensaver_interval_set(double interval)
  * then ecore_x_get_screensaver_fetch(), which gets the reply.
  * @ingroup Ecore_X_ScrenSaver_Group
  */
-EAPI double
+EAPI int
 ecore_x_screensaver_interval_get(void)
 {
    xcb_get_screen_saver_reply_t *reply;
@@ -247,7 +247,7 @@ ecore_x_screensaver_interval_get(void)
    reply = _ecore_xcb_reply_get();
    if (!reply) return 0.0;
 
-   return (double)reply->interval;
+   return (int)reply->interval;
 }
 
 
@@ -263,13 +263,13 @@ ecore_x_screensaver_interval_get(void)
  * @ingroup Ecore_X_ScrenSaver_Group
  */
 EAPI void
-ecore_x_screensaver_blank_set(double blank)
+ecore_x_screensaver_blank_set(int blank)
 {
    xcb_get_screen_saver_reply_t *reply;
 
    reply = _ecore_xcb_reply_get();
    if (!reply) return;
-   
+
    xcb_set_screen_saver(_ecore_xcb_conn,
                         reply->timeout,
                         reply->interval,
@@ -289,7 +289,7 @@ ecore_x_screensaver_blank_set(double blank)
  * then ecore_x_get_screensaver_fetch(), which gets the reply.
  * @ingroup Ecore_X_ScrenSaver_Group
  */
-EAPI double
+EAPI int
 ecore_x_screensaver_blank_get(void)
 {
    xcb_get_screen_saver_reply_t *reply;
@@ -297,7 +297,7 @@ ecore_x_screensaver_blank_get(void)
    reply = _ecore_xcb_reply_get();
    if (!reply) return 0.0;
 
-   return (double)reply->prefer_blanking;
+   return (int)reply->prefer_blanking;
 }
 
 
@@ -313,13 +313,13 @@ ecore_x_screensaver_blank_get(void)
  * @ingroup Ecore_X_ScrenSaver_Group
  */
 EAPI void
-ecore_x_screensaver_expose_set(double expose)
+ecore_x_screensaver_expose_set(int expose)
 {
    xcb_get_screen_saver_reply_t *reply;
 
    reply = _ecore_xcb_reply_get();
    if (!reply) return;
-   
+
    xcb_set_screen_saver(_ecore_xcb_conn,
                         reply->timeout,
                         reply->interval,
@@ -339,7 +339,7 @@ ecore_x_screensaver_expose_set(double expose)
  * then ecore_x_get_screensaver_fetch(), which gets the reply.
  * @ingroup Ecore_X_ScrenSaver_Group
  */
-EAPI double
+EAPI int
 ecore_x_screensaver_expose_get(void)
 {
    xcb_get_screen_saver_reply_t *reply;
@@ -347,7 +347,7 @@ ecore_x_screensaver_expose_get(void)
    reply = _ecore_xcb_reply_get();
    if (!reply) return 0.0;
 
-   return (double)reply->allow_exposures;
+   return (int)reply->allow_exposures;
 }
 
 

-- 
Core abstraction layer for enlightenment DR 0.17



More information about the Pkg-e-commits mailing list