Update package changelog. accepted/2.0alpha-wayland/20130426.191449 submit/2.0alpha-wayland/20130426.191944
authorShibata Makoto <shibata@mac.tec.toyota.co.jp>
Fri, 26 Apr 2013 11:05:46 +0000 (20:05 +0900)
committerShibata Makoto <shibata@mac.tec.toyota.co.jp>
Fri, 26 Apr 2013 11:20:13 +0000 (20:20 +0900)
Change-Id: Ia0fbd2457f6bf9868b37287c3dba2b344a8d2e27
Signed-off-by: Shibata Makoto <shibata@mac.tec.toyota.co.jp>
90 files changed:
COPYING [new file with mode: 0644]
Makefile.am [new file with mode: 0644]
autogen.sh [new file with mode: 0755]
configure.ac [new file with mode: 0644]
packaging/ico-uxf-weston-plugin.changes [new file with mode: 0644]
packaging/ico-uxf-weston-plugin.spec [new file with mode: 0644]
protocol/ico_input_mgr.xml [new file with mode: 0644]
protocol/ico_ivi_shell.xml [new file with mode: 0644]
protocol/ico_window_mgr.xml [new file with mode: 0644]
protocol/xxx.xml [new file with mode: 0644]
shared [new symlink]
src/.deps/ico_input_mgr-protocol.Plo [new file with mode: 0644]
src/.deps/ico_input_mgr_la-ico_input_mgr-protocol.Plo [new file with mode: 0644]
src/.deps/ico_input_mgr_la-ico_input_mgr.Plo [new file with mode: 0644]
src/.deps/ico_ivi_common_la-config-parser.Plo [new file with mode: 0644]
src/.deps/ico_ivi_common_la-ico_ivi_common.Plo [new file with mode: 0644]
src/.deps/ico_ivi_shell-protocol.Plo [new file with mode: 0644]
src/.deps/ico_ivi_shell_la-config-parser.Plo [new file with mode: 0644]
src/.deps/ico_ivi_shell_la-ico_ivi_shell-protocol.Plo [new file with mode: 0644]
src/.deps/ico_ivi_shell_la-ico_ivi_shell.Plo [new file with mode: 0644]
src/.deps/ico_plugin_loader_la-config-parser.Plo [new file with mode: 0644]
src/.deps/ico_plugin_loader_la-ico_plugin_loader.Plo [new file with mode: 0644]
src/.deps/ico_window_mgr-protocol.Plo [new file with mode: 0644]
src/.deps/ico_window_mgr_la-ico_window_mgr-protocol.Plo [new file with mode: 0644]
src/.deps/ico_window_mgr_la-ico_window_mgr.Plo [new file with mode: 0644]
src/Makefile [new file with mode: 0644]
src/Makefile.am [new file with mode: 0644]
src/compositor.h [new file with mode: 0644]
src/config-parser.c [new file with mode: 0644]
src/config-parser.h [new file with mode: 0644]
src/ico_input_mgr.c [new file with mode: 0644]
src/ico_ivi_common.c [new file with mode: 0644]
src/ico_ivi_common.h [new file with mode: 0644]
src/ico_ivi_shell.c [new file with mode: 0644]
src/ico_ivi_shell.h [new file with mode: 0644]
src/ico_plugin_loader.c [new file with mode: 0644]
src/ico_window_mgr.c [new file with mode: 0644]
src/ico_window_mgr.h [new file with mode: 0644]
src/matrix.h [new file with mode: 0644]
tests/Makefile.am [new file with mode: 0644]
tests/test-client.c [new file with mode: 0644]
tests/test-common.c [new file with mode: 0644]
tests/test-common.h [new file with mode: 0644]
tests/test-eflapp.c [new file with mode: 0644]
tests/test-homescreen.c [new file with mode: 0644]
tests/test-send_event.c [new file with mode: 0644]
tests/testdata/cl_surface1.dat [new file with mode: 0644]
tests/testdata/cl_surface2.dat [new file with mode: 0644]
tests/testdata/cl_surface3.dat [new file with mode: 0644]
tests/testdata/hs_alltest.dat [new file with mode: 0644]
tests/testdata/hs_inputtest.dat [new file with mode: 0644]
tests/testdata/hs_layer.dat [new file with mode: 0644]
tests/testdata/hs_resize.dat [new file with mode: 0644]
tests/testdata/hs_resize_flower.dat [new file with mode: 0644]
tests/testdata/hs_resize_native.dat [new file with mode: 0644]
tests/testdata/hs_resize_smoke.dat [new file with mode: 0644]
tests/testdata/hs_resize_smoke2.dat [new file with mode: 0644]
tests/testdata/hs_resize_smoke_xm.dat [new file with mode: 0644]
tests/testdata/hs_resize_smoke_xym.dat [new file with mode: 0644]
tests/testdata/hs_resize_smoke_ym.dat [new file with mode: 0644]
tests/testdata/hs_sleep.dat [new file with mode: 0644]
tests/testlog/event_log.log [new file with mode: 0644]
tests/testlog/test-client01.log [new file with mode: 0644]
tests/testlog/test-client02.log [new file with mode: 0644]
tests/testlog/test-client11.log [new file with mode: 0644]
tests/testlog/test-client12.log [new file with mode: 0644]
tests/testlog/test-client13.log [new file with mode: 0644]
tests/testlog/test-eflapp1.log [new file with mode: 0644]
tests/testlog/test-eflapp2.log [new file with mode: 0644]
tests/testlog/test-eflapp3.log [new file with mode: 0644]
tests/testlog/test-eflapp4.log [new file with mode: 0644]
tests/testlog/test-eflapp5.log [new file with mode: 0644]
tests/testlog/test-homescreen.log [new file with mode: 0644]
tests/testlog/wayland-flower.log [new file with mode: 0644]
tests/testlog/wayland-smoke.log [new file with mode: 0644]
tests/testlog/weston.log [new file with mode: 0644]
tests/weston-plugin-test [new file with mode: 0755]
tests/weston-plugin-test.homescreen [new file with mode: 0755]
tests/weston-plugin-test.input [new file with mode: 0755]
tests/weston-plugin-test.notouch [new file with mode: 0755]
tests/weston-plugin-test.resize [new file with mode: 0755]
tests/weston-plugin-test.resize_flower [new file with mode: 0755]
tests/weston-plugin-test.resize_native [new file with mode: 0755]
tests/weston-plugin-test.resize_smoke [new file with mode: 0755]
tests/weston-plugin-test.resize_smoke2 [new file with mode: 0755]
tests/weston-plugin-test_gdb [new file with mode: 0755]
tests/weston.ini [new file with mode: 0644]
tests/weston_ivi_plugin.ini [new file with mode: 0644]
weston.ini.ico [new file with mode: 0644]
weston_ivi_plugin.ini [new file with mode: 0644]

diff --git a/COPYING b/COPYING
new file mode 100644 (file)
index 0000000..dba95eb
--- /dev/null
+++ b/COPYING
@@ -0,0 +1,23 @@
+Copyright Â© 2008-2012 Kristian Høgsberg
+Copyright Â© 2010-2012 Intel Corporation
+Copyright Â© 2010-2011 Benjamin Franzke
+Copyright Â© 2011-2012 Collabora, Ltd.
+Copyright Â© 2013 TOYOTA MOTOR CORPORATION.
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that copyright
+notice and this permission notice appear in supporting documentation, and
+that the name of the copyright holders not be used in advertising or
+publicity pertaining to distribution of the software without specific,
+written prior permission.  The copyright holders make no representations
+about the suitability of this software for any purpose.  It is provided "as
+is" without express or implied warranty.
+
+THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
+OF THIS SOFTWARE.
diff --git a/Makefile.am b/Makefile.am
new file mode 100644 (file)
index 0000000..709dae5
--- /dev/null
@@ -0,0 +1,6 @@
+SUBDIRS = src tests
+
+DIST_SUBDIRS = src tests
+
+DISTCHECK_CONFIGURE_FLAGS = --disable-setuid-install
+
diff --git a/autogen.sh b/autogen.sh
new file mode 100755 (executable)
index 0000000..916169a
--- /dev/null
@@ -0,0 +1,9 @@
+#! /bin/sh
+
+test -n "$srcdir" || srcdir=`dirname "$0"`
+test -n "$srcdir" || srcdir=.
+(
+  cd "$srcdir" &&
+  autoreconf --force -v --install
+) || exit
+test -n "$NOCONFIGURE" || "$srcdir/configure" "$@"
diff --git a/configure.ac b/configure.ac
new file mode 100644 (file)
index 0000000..f50ba04
--- /dev/null
@@ -0,0 +1,62 @@
+AC_PREREQ([2.68])
+AC_INIT([ico-uxf-weston-plugin],
+        [0.4.91],
+        [https://BUG-REPORT-ADDRESS])
+
+AC_CONFIG_HEADERS([config.h])
+
+AM_INIT_AUTOMAKE([1.11 foreign no-dist-gzip dist-xz])
+
+AM_SILENT_RULES([yes])
+
+# Check for programs
+AC_PROG_CC
+AC_PROG_CXX
+AC_PROG_SED
+
+# Initialize libtool
+LT_PREREQ([2.2])
+LT_INIT([disable-static])
+
+PKG_PROG_PKG_CONFIG()
+
+AC_CHECK_FUNC([dlopen], [],
+              AC_CHECK_LIB([dl], [dlopen], DLOPEN_LIBS="-ldl"))
+AC_SUBST(DLOPEN_LIBS)
+
+AC_CHECK_FUNC([aul_app_get_appid_bypid], [],
+              AC_CHECK_LIB([aul], [aul_app_get_appid_bypid], AUL_LIBS="-laul"))
+AC_SUBST(AUL_LIBS)
+
+AC_CHECK_HEADERS([execinfo.h])
+
+AC_CHECK_FUNCS([mkostemp strchrnul])
+
+PKG_CHECK_MODULES(COMPOSITOR,
+                 [wayland-server egl >= 7.10 glesv2 xkbcommon pixman-1])
+
+AC_ARG_ENABLE(setuid-install, [  --enable-setuid-install],,
+             enable_setuid_install=yes)
+AM_CONDITIONAL(ENABLE_SETUID_INSTALL, test x$enable_setuid_install = xyes)
+
+COMPOSITOR_LIBS="$COMPOSITOR_LIBS $IMAGE_LIBS"
+COMPOSITOR_CFLAGS="$COMPOSITOR_CFLAGS $IMAGE_CFLAGS"
+
+AM_CONDITIONAL(ENABLE_DESKTOP_SHELL, true)
+
+if test "x$GCC" = "xyes"; then
+       my_common_gcc_flags="-Wall -Wextra -Wno-unused-parameter \
+               -Wno-missing-field-initializers -g -fvisibility=hidden"
+       GCC_CFLAGS="$my_common_gcc_flags \
+               -Wstrict-prototypes -Wmissing-prototypes"
+       GCC_CXXFLAGS="$my_common_gcc_flags"
+fi
+AC_SUBST(GCC_CFLAGS)
+AC_SUBST(GCC_CXXFLAGS)
+
+WAYLAND_SCANNER_RULES(['$(top_srcdir)/protocol'])
+
+AC_CONFIG_FILES([Makefile
+                src/Makefile
+                tests/Makefile])
+AC_OUTPUT
diff --git a/packaging/ico-uxf-weston-plugin.changes b/packaging/ico-uxf-weston-plugin.changes
new file mode 100644 (file)
index 0000000..f1ae57f
--- /dev/null
@@ -0,0 +1,3 @@
+* Fri Apr 26 2013 Shibata Makoto <shibata@mac.tec.toyota.co.jp> 3224fe9
+- Import initial.
+
diff --git a/packaging/ico-uxf-weston-plugin.spec b/packaging/ico-uxf-weston-plugin.spec
new file mode 100644 (file)
index 0000000..05db689
--- /dev/null
@@ -0,0 +1,73 @@
+Name:       ico-uxf-weston-plugin
+Summary:    Weston Plugins for IVI
+Version:    0.5.01
+Release:    1.1
+Group:      System/GUI/Libraries
+License:    MIT
+URL:        ""
+Source0:    %{name}-%{version}.tar.bz2
+
+BuildRequires: pkgconfig(wayland-server) >= 1.0
+BuildRequires: pkgconfig(wayland-client) >= 1.0
+BuildRequires: pkgconfig(wayland-egl)
+BuildRequires: pkgconfig(egl)
+BuildRequires: pkgconfig(glesv2)
+BuildRequires: pkgconfig(xkbcommon)
+BuildRequires: pkgconfig(pixman-1)
+BuildRequires: pkgconfig(eina)
+BuildRequires: pkgconfig(evas)
+BuildRequires: pkgconfig(eina)
+BuildRequires: pkgconfig(elementary)
+BuildRequires: pkgconfig(ecore-wayland)
+BuildRequires: aul-devel
+BuildRequires: ecore-devel
+Requires: weston >= 1.0
+
+%description
+Weston Plugins for IVI
+
+%package devel
+Summary:    Development files for %{name}
+Group:      Development/GUI/Libraries
+Requires:   %{name} = %{version}-%{release}
+
+%description devel
+Development files that expose the wayland extended protocols for IVI.
+
+%prep
+%setup -q -n %{name}-%{version}
+
+%build
+autoreconf --install
+
+%autogen --prefix=/usr
+
+%configure
+make %{?_smp_mflags}
+
+%install
+rm -rf %{buildroot}
+%make_install
+
+# configurations
+%define weston_conf /root/.config
+mkdir -p %{buildroot}%{weston_conf}
+install -m 0644 weston.ini.ico %{buildroot}%{weston_conf}
+install -m 0644 weston_ivi_plugin.ini %{buildroot}%{weston_conf}
+
+%files
+%defattr(-,root,root,-)
+%dir %{_libdir}/weston/
+%{_libdir}/weston/*.so
+%{_libdir}/libico-uxf-weston-plugin.so.0.0.5
+%{_libdir}/libico-uxf-weston-plugin.so.0
+%{_libdir}/libico-uxf-weston-plugin.so
+%{weston_conf}/weston.ini.ico
+%{weston_conf}/weston_ivi_plugin.ini
+
+%files devel
+%defattr(-,root,root,-)
+%{_includedir}/%{name}/ico_input_mgr-client-protocol.h
+%{_includedir}/%{name}/ico_ivi_shell-client-protocol.h
+%{_includedir}/%{name}/ico_window_mgr-client-protocol.h
+
diff --git a/protocol/ico_input_mgr.xml b/protocol/ico_input_mgr.xml
new file mode 100644 (file)
index 0000000..25df531
--- /dev/null
@@ -0,0 +1,120 @@
+<protocol name="ico_input_mgr">
+
+  <interface name="ico_input_mgr_control" version="1">
+    <description summary="interface for manager(ex.HomeScreen)">
+      Order a correspondence charge account to the application of the input switch
+      to Multi Input Manager from HomeScreen.
+    </description>
+
+    <request name="add_input_app">
+      <description summary="assign input switch to application">
+        Assign input switch to application from HomeScreen.
+      </description>
+      <arg name="appid" type="string" summary="application Id for input switch"/>
+      <arg name="device" type="string" summary="input device name"/>
+      <arg name="input" type="int" summary="input switch number"/>
+      <arg name="fix" type="uint" summary="fixed assign to application"/>
+    </request>
+
+    <request name="del_input_app">
+      <description summary="de-assign input switch to application">
+        De-assign input switch to application from HomeScreen.
+      </description>
+      <arg name="appid" type="string" summary="application Id for input switch, if NULL all applications with out fixed assign"/>
+      <arg name="device" type="string" summary="input device name, if NULL, all devices with out fixed assign"/>
+      <arg name="input" type="int" summary="input switch number, if -1, all input with out dixed assign"/>
+    </request>
+  </interface>
+
+  <interface name="ico_exinput" version="1">
+    <description summary="interface for application">
+      Inform the switch name and number which there is for application,
+      and notify application of ON/OFF of the switch.
+    </description>
+
+    <event name="capabilities">
+      <description summary="event to application for input switch information">
+        Send Input device and switch information to application
+      </description>
+      <arg name="device" type="string" summary="input device name"/>
+      <arg name="type" type="int" summary="input device type (as enum type)"/>
+      <arg name="swname" type="string" summary="input switch name"/>
+      <arg name="input" type="int" summary="input switch number"/>
+      <arg name="codename" type="string" summary="input code name"/>
+      <arg name="code" type="int" summary="input code number"/>
+    </event>
+
+    <event name="code">
+      <description summary="event to application for input code information">
+        Send Input code information to application
+      </description>
+      <arg name="device" type="string" summary="input device name"/>
+      <arg name="input" type="int" summary="input switch number"/>
+      <arg name="codename" type="string" summary="input code name"/>
+      <arg name="code" type="int" summary="input code number"/>
+    </event>
+
+    <event name="input">
+      <description summary="event to application for switch input">
+        Send Input switch event to application
+      </description>
+      <arg name="time" type="uint" summary="input time of miri-sec"/>
+      <arg name="device" type="string" summary="input device name"/>
+      <arg name="input" type="int" summary="input switch number"/>
+      <arg name="code" type="int" summary="input switch code"/>
+      <arg name="state" type="int" summary="Of/Off status"/>
+    </event>
+  </interface>
+
+  <interface name="ico_input_mgr_device" version="1">
+    <description summary="interface for input controller">
+      An input controller informs attribute of the device and ON/OFF of the switch
+      to Multi Input Manager.
+    </description>
+
+    <enum name="type">
+      <description summary="capability bitmask">
+       Input Controller type mask define.
+      </description>
+      <entry name="pointer" value="1" summary="wl_pointer"/>
+      <entry name="keyboard" value="2" summary="wl_keyboard"/>
+      <entry name="touch" value="4" summary="wl_touch"/>
+      <entry name="switch" value="8" summary="exinput switch"/>
+    </enum>
+
+    <request name="configure_input">
+      <description summary="input controller define input switch">
+        Define input switch from Input Controller
+      </description>
+      <arg name="device" type="string" summary="input device name"/>
+      <arg name="type" type="int" summary="input device type (as enum type)"/>
+      <arg name="swname" type="string" summary="input switch name"/>
+      <arg name="input" type="int" summary="input switch number"/>
+      <arg name="codename" type="string" summary="input code name"/>
+      <arg name="code" type="int" summary="input code number"/>
+    </request>
+
+    <request name="configure_code">
+      <description summary="input controller define input code">
+        Define input code from Input Controller
+      </description>
+      <arg name="device" type="string" summary="input device name"/>
+      <arg name="input" type="int" summary="input switch number"/>
+      <arg name="codename" type="string" summary="input code name"/>
+      <arg name="code" type="int" summary="input code number"/>
+    </request>
+
+    <request name="input_event">
+      <description summary="input controller switch input event">
+        Event of switch input from Input Controller
+      </description>
+      <arg name="time" type="uint" summary="input time of day"/>
+      <arg name="device" type="string" summary="input device name"/>
+      <arg name="input" type="int" summary="input switch number"/>
+      <arg name="code" type="int" summary="input switch code"/>
+      <arg name="state" type="int" summary="Of/Off status"/>
+    </request>
+  </interface>
+
+</protocol>
+
diff --git a/protocol/ico_ivi_shell.xml b/protocol/ico_ivi_shell.xml
new file mode 100644 (file)
index 0000000..5acafa2
--- /dev/null
@@ -0,0 +1,41 @@
+<protocol name="ico_ivi_shell">
+
+  <interface name="ico_ivi_shell" version="1">
+    <description summary="create ivi desktop widgets and helpers">
+      In-Vehicle Infortaiment(IVI) interface to define the
+      foundations of typical desktops. Currently it's possible to set up
+      background, panels and locking surfaces.
+    </description>
+
+    <!-- We'll fold most of wl_shell into this interface and then
+         they'll share the configure event.  -->
+    <event name="configure">
+      <arg name="edges" type="uint"/>
+      <arg name="surface" type="object" interface="wl_surface"/>
+      <arg name="width" type="int"/>
+      <arg name="height" type="int"/>
+    </event>
+
+    <enum name="cursor">
+      <entry name="none" value="0"/>
+
+      <entry name="resize_top" value="1"/>
+      <entry name="resize_bottom" value="2"/>
+
+      <entry name="arrow" value="3"/>
+
+      <entry name="resize_left" value="4"/>
+      <entry name="resize_top_left" value="5"/>
+      <entry name="resize_bottom_left" value="6"/>
+
+      <entry name="move" value="7"/>
+
+      <entry name="resize_right" value="8"/>
+      <entry name="resize_top_right" value="9"/>
+      <entry name="resize_bottom_right" value="10"/>
+
+      <entry name="busy" value="11"/>
+    </enum>
+  </interface>
+
+</protocol>
diff --git a/protocol/ico_window_mgr.xml b/protocol/ico_window_mgr.xml
new file mode 100644 (file)
index 0000000..ea413ab
--- /dev/null
@@ -0,0 +1,91 @@
+<protocol name="ico_window_mgr">
+
+  <interface name="ico_window_mgr" version="1">
+    <description summary="interface for HomeScreen Window Management">
+      for IVI HomeScreen interface.
+    </description>
+
+    <request name="set_user">
+      <arg name="pid" type="int"/>
+      <arg name="appid" type="string"/>
+    </request>
+
+    <request name="set_eventcb">
+      <arg name="eventcb" type="int"/>
+    </request>
+
+    <request name="set_window_layer">
+      <arg name="surfaceid" type="uint"/>
+      <arg name="layer" type="int"/>
+    </request>
+
+    <request name="set_positionsize">
+      <arg name="surfaceid" type="uint"/>
+      <arg name="x" type="int"/>
+      <arg name="y" type="int"/>
+      <arg name="width" type="int"/>
+      <arg name="height" type="int"/>
+    </request>
+
+    <request name="set_visible">
+      <arg name="surfaceid" type="uint"/>
+      <arg name="visible" type="int"/>
+      <arg name="raise" type="int"/>
+    </request>
+
+    <request name="set_transition">
+      <arg name="surfaceid" type="uint"/>
+      <arg name="transition" type="int"/>
+    </request>
+
+    <request name="set_active">
+      <arg name="surfaceid" type="uint"/>
+    </request>
+
+    <request name="set_layer_visible">
+      <arg name="layer" type="int"/>
+      <arg name="visible" type="int"/>
+    </request>
+
+    <event name="window_created">
+      <arg name="surfaceid" type="uint"/>
+      <arg name="pid" type="int"/>
+      <arg name="appid" type="string"/>
+    </event>
+
+    <event name="window_destroyed">
+      <arg name="surfaceid" type="uint"/>
+    </event>
+
+    <event name="window_visible">
+      <arg name="surfaceid" type="uint"/>
+      <arg name="visible" type="int"/>
+      <arg name="raise" type="int"/>
+      <arg name="hint" type="int"/>
+    </event>
+
+    <event name="window_configure">
+      <arg name="surfaceid" type="uint"/>
+      <arg name="appid" type="string"/>
+      <arg name="layer" type="int"/>
+      <arg name="x" type="int"/>
+      <arg name="y" type="int"/>
+      <arg name="width" type="int"/>
+      <arg name="height" type="int"/>
+      <arg name="hint" type="int"/>
+    </event>
+
+    <event name="window_active">
+      <arg name="surfaceid" type="uint"/>
+      <arg name="active" type="uint"/>
+    </event>
+
+    <enum name="active">
+      <entry name="inactive" value="0"/>
+      <entry name="active" value="1"/>
+      <entry name="select" value="2"/>
+    </enum>
+  </interface>
+
+</protocol>
+
diff --git a/protocol/xxx.xml b/protocol/xxx.xml
new file mode 100644 (file)
index 0000000..a0e1a4e
--- /dev/null
@@ -0,0 +1,100 @@
+<protocol name="ico_input_mgr">
+
+  <interface name="ico_input_mgr_control" version="1">
+    <description summary="interface for manager(ex.HomeScreen)">
+      Order a correspondence charge account to the application of the input switch
+      to Multi Input Manager from HomeScreen.
+    </description>
+
+    <request name="add_input_app">
+      <description summary="assign input switch to application">
+        Assign input switch to application from HomeScreen.
+      </description>
+      <arg name="appid" type="string" summary="application Id for input switch"/>
+      <arg name="device" type="string" summary="input device name"/>
+      <arg name="input" type="uint" summary="input switch number"/>
+    </request>
+
+    <request name="del_input_app">
+      <description summary="de-assign input switch to application">
+        De-assign input switch to application from HomeScreen.
+      </description>
+      <arg name="appid" type="string" summary="application Id for input switch"/>
+      <arg name="device" type="string" summary="input device name"/>
+      <arg name="input" type="uint" summary="input switch number"/>
+    </request>
+  </interface>
+
+  <interface name="ico_exinput" version="1">
+    <description summary="interface for application">
+      Inform the switch name and number which there is for application,
+      and notify application of ON/OFF of the switch.
+    </description>
+
+    <request name="set_user">
+      <description summary="set appid for RemoteUI">
+        Set client application Id for RemoteUI
+        (currentry not support RemoteUI)
+      </description>
+      <arg name="appid" type="string" summary="application Id"/>
+    </request>
+
+    <event name="capabilities">
+      <description summary="event to application for input switch information">
+        Send Input device and switch information to application
+      </description>
+      <arg name="device" type="string" summary="input device name"/>
+      <arg name="type" type="int" summary="input device type (as enum type)"/>
+      <arg name="swname" type="string" summary="input switch name"/>
+      <arg name="input" type="uint" summary="input switch number"/>
+    </event>
+
+    <event name="input">
+      <description summary="event to application for switch input">
+        Send Input switch event to application
+      </description>
+      <arg name="time" type="uint" summary="input time of day"/>
+      <arg name="device" type="string" summary="input device name"/>
+      <arg name="input" type="uint" summary="input switch number"/>
+      <arg name="state" type="int" summary="Of/Off status"/>
+    </event>
+  </interface>
+
+  <interface name="ico_input_manager_device" version="1">
+    <description summary="interface for input controller">
+      An input controller informs attribute of the device and ON/OFF of the switch
+      to Multi Input Manager.
+    </description>
+
+    <enum name="type">
+      <description summary="capability bitmask">
+       Input Controller type mask define.
+      </description>
+      <entry name="pointer" value="1" summary="wl_pointer"/>
+      <entry name="keyboard" value="2" summary="wl_keyboard"/>
+      <entry name="touch" value="4" summary="wl_touch"/>
+      <entry name="switch" value="8" summary="exinput switch"/>
+    </enum>
+
+    <request name="configure_input">
+      <description summary="input controller define input switch">
+        Define input switch from Input Controller
+      </description>
+      <arg name="device" type="string" summary="input device name"/>
+      <arg name="type" type="int" summary="input device type (as enum type)"/>
+      <arg name="swname" type="string" summary="input switch name"/>
+      <arg name="input" type="uint" summary="input switch number"/>
+    </request>
+
+    <request name="input_event">
+      <description summary="input controller switch input event">
+        Event of switch input from Input Controller
+      </description>
+      <arg name="time" type="uint" summary="input time of day"/>
+      <arg name="input" type="uint" summary="input switch number"/>
+      <arg name="state" type="int" summary="Of/Off status"/>
+    </request>
+  </interface>
+
+</protocol>
+
diff --git a/shared b/shared
new file mode 120000 (symlink)
index 0000000..e831038
--- /dev/null
+++ b/shared
@@ -0,0 +1 @@
+src
\ No newline at end of file
diff --git a/src/.deps/ico_input_mgr-protocol.Plo b/src/.deps/ico_input_mgr-protocol.Plo
new file mode 100644 (file)
index 0000000..3e1a43d
--- /dev/null
@@ -0,0 +1,100 @@
+ico_input_mgr-protocol.lo: ico_input_mgr-protocol.c /usr/include/stdlib.h \
+ /usr/include/features.h /usr/include/bits/predefs.h \
+ /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h \
+ /usr/include/gnu/stubs.h /usr/include/gnu/stubs-32.h \
+ /usr/lib/gcc/i586-tizen-linux/4.5.3/include/stddef.h \
+ /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \
+ /usr/include/endian.h /usr/include/bits/endian.h \
+ /usr/include/bits/byteswap.h /usr/include/sys/types.h \
+ /usr/include/bits/types.h /usr/include/bits/typesizes.h \
+ /usr/include/time.h /usr/include/sys/select.h /usr/include/bits/select.h \
+ /usr/include/bits/sigset.h /usr/include/bits/time.h \
+ /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \
+ /usr/include/alloca.h \
+ /usr/lib/gcc/i586-tizen-linux/4.5.3/include/stdint.h \
+ /usr/include/stdint.h /usr/include/bits/wchar.h \
+ /usr/include/wayland-util.h /usr/include/math.h \
+ /usr/include/bits/huge_val.h /usr/include/bits/huge_valf.h \
+ /usr/include/bits/huge_vall.h /usr/include/bits/inf.h \
+ /usr/include/bits/nan.h /usr/include/bits/mathdef.h \
+ /usr/include/bits/mathcalls.h /usr/include/bits/mathinline.h \
+ /usr/include/inttypes.h \
+ /usr/lib/gcc/i586-tizen-linux/4.5.3/include/stdarg.h
+
+/usr/include/stdlib.h:
+
+/usr/include/features.h:
+
+/usr/include/bits/predefs.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/gnu/stubs-32.h:
+
+/usr/lib/gcc/i586-tizen-linux/4.5.3/include/stddef.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/bits/byteswap.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/time.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/alloca.h:
+
+/usr/lib/gcc/i586-tizen-linux/4.5.3/include/stdint.h:
+
+/usr/include/stdint.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/wayland-util.h:
+
+/usr/include/math.h:
+
+/usr/include/bits/huge_val.h:
+
+/usr/include/bits/huge_valf.h:
+
+/usr/include/bits/huge_vall.h:
+
+/usr/include/bits/inf.h:
+
+/usr/include/bits/nan.h:
+
+/usr/include/bits/mathdef.h:
+
+/usr/include/bits/mathcalls.h:
+
+/usr/include/bits/mathinline.h:
+
+/usr/include/inttypes.h:
+
+/usr/lib/gcc/i586-tizen-linux/4.5.3/include/stdarg.h:
diff --git a/src/.deps/ico_input_mgr_la-ico_input_mgr-protocol.Plo b/src/.deps/ico_input_mgr_la-ico_input_mgr-protocol.Plo
new file mode 100644 (file)
index 0000000..db3ee53
--- /dev/null
@@ -0,0 +1,101 @@
+ico_input_mgr_la-ico_input_mgr-protocol.lo: ico_input_mgr-protocol.c \
+ /usr/include/stdlib.h /usr/include/features.h \
+ /usr/include/bits/predefs.h /usr/include/sys/cdefs.h \
+ /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+ /usr/include/gnu/stubs-32.h \
+ /usr/lib/gcc/i586-tizen-linux/4.5.3/include/stddef.h \
+ /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \
+ /usr/include/endian.h /usr/include/bits/endian.h \
+ /usr/include/bits/byteswap.h /usr/include/sys/types.h \
+ /usr/include/bits/types.h /usr/include/bits/typesizes.h \
+ /usr/include/time.h /usr/include/sys/select.h /usr/include/bits/select.h \
+ /usr/include/bits/sigset.h /usr/include/bits/time.h \
+ /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \
+ /usr/include/alloca.h \
+ /usr/lib/gcc/i586-tizen-linux/4.5.3/include/stdint.h \
+ /usr/include/stdint.h /usr/include/bits/wchar.h \
+ /usr/include/wayland-util.h /usr/include/math.h \
+ /usr/include/bits/huge_val.h /usr/include/bits/huge_valf.h \
+ /usr/include/bits/huge_vall.h /usr/include/bits/inf.h \
+ /usr/include/bits/nan.h /usr/include/bits/mathdef.h \
+ /usr/include/bits/mathcalls.h /usr/include/bits/mathinline.h \
+ /usr/include/inttypes.h \
+ /usr/lib/gcc/i586-tizen-linux/4.5.3/include/stdarg.h
+
+/usr/include/stdlib.h:
+
+/usr/include/features.h:
+
+/usr/include/bits/predefs.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/gnu/stubs-32.h:
+
+/usr/lib/gcc/i586-tizen-linux/4.5.3/include/stddef.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/bits/byteswap.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/time.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/alloca.h:
+
+/usr/lib/gcc/i586-tizen-linux/4.5.3/include/stdint.h:
+
+/usr/include/stdint.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/wayland-util.h:
+
+/usr/include/math.h:
+
+/usr/include/bits/huge_val.h:
+
+/usr/include/bits/huge_valf.h:
+
+/usr/include/bits/huge_vall.h:
+
+/usr/include/bits/inf.h:
+
+/usr/include/bits/nan.h:
+
+/usr/include/bits/mathdef.h:
+
+/usr/include/bits/mathcalls.h:
+
+/usr/include/bits/mathinline.h:
+
+/usr/include/inttypes.h:
+
+/usr/lib/gcc/i586-tizen-linux/4.5.3/include/stdarg.h:
diff --git a/src/.deps/ico_input_mgr_la-ico_input_mgr.Plo b/src/.deps/ico_input_mgr_la-ico_input_mgr.Plo
new file mode 100644 (file)
index 0000000..563b72a
--- /dev/null
@@ -0,0 +1,299 @@
+ico_input_mgr_la-ico_input_mgr.lo: ico_input_mgr.c /usr/include/stdlib.h \
+ /usr/include/features.h /usr/include/bits/predefs.h \
+ /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h \
+ /usr/include/gnu/stubs.h /usr/include/gnu/stubs-32.h \
+ /usr/lib/gcc/i586-tizen-linux/4.5.3/include/stddef.h \
+ /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \
+ /usr/include/endian.h /usr/include/bits/endian.h \
+ /usr/include/bits/byteswap.h /usr/include/sys/types.h \
+ /usr/include/bits/types.h /usr/include/bits/typesizes.h \
+ /usr/include/time.h /usr/include/sys/select.h /usr/include/bits/select.h \
+ /usr/include/bits/sigset.h /usr/include/bits/time.h \
+ /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \
+ /usr/include/alloca.h /usr/include/stdio.h /usr/include/libio.h \
+ /usr/include/_G_config.h /usr/include/wchar.h \
+ /usr/lib/gcc/i586-tizen-linux/4.5.3/include/stdarg.h \
+ /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+ /usr/include/bits/stdio.h \
+ /usr/lib/gcc/i586-tizen-linux/4.5.3/include/stdbool.h \
+ /usr/include/string.h /usr/include/xlocale.h /usr/include/bits/string.h \
+ /usr/include/bits/string2.h /usr/include/unistd.h \
+ /usr/include/bits/posix_opt.h /usr/include/bits/environments.h \
+ /usr/include/bits/confname.h /usr/include/getopt.h \
+ /usr/include/linux/input.h /usr/include/sys/time.h \
+ /usr/include/sys/ioctl.h /usr/include/bits/ioctls.h \
+ /usr/include/asm/ioctls.h /usr/include/asm-generic/ioctls.h \
+ /usr/include/linux/ioctl.h /usr/include/asm/ioctl.h \
+ /usr/include/asm-generic/ioctl.h /usr/include/bits/ioctl-types.h \
+ /usr/include/sys/ttydefaults.h /usr/include/linux/types.h \
+ /usr/include/asm/types.h /usr/include/asm-generic/types.h \
+ /usr/include/asm-generic/int-ll64.h /usr/include/asm/bitsperlong.h \
+ /usr/include/asm-generic/bitsperlong.h /usr/include/linux/posix_types.h \
+ /usr/include/linux/stddef.h /usr/include/asm/posix_types.h \
+ /usr/include/asm/posix_types_32.h /usr/include/asm-generic/posix_types.h \
+ /usr/include/assert.h /usr/include/signal.h /usr/include/bits/signum.h \
+ /usr/include/bits/siginfo.h /usr/include/bits/sigaction.h \
+ /usr/include/bits/sigcontext.h /usr/include/asm/sigcontext.h \
+ /usr/include/bits/sigstack.h /usr/include/sys/ucontext.h \
+ /usr/include/bits/sigthread.h /usr/include/math.h \
+ /usr/include/bits/huge_val.h /usr/include/bits/huge_valf.h \
+ /usr/include/bits/huge_vall.h /usr/include/bits/inf.h \
+ /usr/include/bits/nan.h /usr/include/bits/mathdef.h \
+ /usr/include/bits/mathcalls.h /usr/include/bits/mathinline.h \
+ /usr/include/wayland-server.h \
+ /usr/lib/gcc/i586-tizen-linux/4.5.3/include/stdint.h \
+ /usr/include/stdint.h /usr/include/bits/wchar.h \
+ /usr/include/wayland-util.h /usr/include/inttypes.h \
+ /usr/include/wayland-version.h /usr/include/wayland-server-protocol.h \
+ compositor.h /usr/include/pixman-1/pixman.h \
+ /usr/include/pixman-1/pixman-version.h \
+ /usr/include/xkbcommon/xkbcommon.h \
+ /usr/include/xkbcommon/xkbcommon-names.h \
+ /usr/include/xkbcommon/xkbcommon-keysyms.h /usr/include/GLES2/gl2.h \
+ /usr/include/GLES2/gl2platform.h /usr/include/KHR/khrplatform.h \
+ /usr/include/GLES2/gl2ext.h /usr/include/EGL/egl.h \
+ /usr/include/EGL/eglplatform.h /usr/include/X11/Xlib.h \
+ /usr/include/X11/X.h /usr/include/X11/Xfuncproto.h \
+ /usr/include/X11/Xosdefs.h /usr/include/X11/Xutil.h \
+ /usr/include/X11/keysym.h /usr/include/X11/keysymdef.h \
+ /usr/include/EGL/eglext.h /usr/include/EGL/eglmesaext.h matrix.h \
+ config-parser.h ico_ivi_common.h ico_ivi_shell.h ico_window_mgr.h \
+ ico_input_mgr-server-protocol.h /usr/include/wayland-util.h
+
+/usr/include/stdlib.h:
+
+/usr/include/features.h:
+
+/usr/include/bits/predefs.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/gnu/stubs-32.h:
+
+/usr/lib/gcc/i586-tizen-linux/4.5.3/include/stddef.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/bits/byteswap.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/time.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/alloca.h:
+
+/usr/include/stdio.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/lib/gcc/i586-tizen-linux/4.5.3/include/stdarg.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/lib/gcc/i586-tizen-linux/4.5.3/include/stdbool.h:
+
+/usr/include/string.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/bits/string.h:
+
+/usr/include/bits/string2.h:
+
+/usr/include/unistd.h:
+
+/usr/include/bits/posix_opt.h:
+
+/usr/include/bits/environments.h:
+
+/usr/include/bits/confname.h:
+
+/usr/include/getopt.h:
+
+/usr/include/linux/input.h:
+
+/usr/include/sys/time.h:
+
+/usr/include/sys/ioctl.h:
+
+/usr/include/bits/ioctls.h:
+
+/usr/include/asm/ioctls.h:
+
+/usr/include/asm-generic/ioctls.h:
+
+/usr/include/linux/ioctl.h:
+
+/usr/include/asm/ioctl.h:
+
+/usr/include/asm-generic/ioctl.h:
+
+/usr/include/bits/ioctl-types.h:
+
+/usr/include/sys/ttydefaults.h:
+
+/usr/include/linux/types.h:
+
+/usr/include/asm/types.h:
+
+/usr/include/asm-generic/types.h:
+
+/usr/include/asm-generic/int-ll64.h:
+
+/usr/include/asm/bitsperlong.h:
+
+/usr/include/asm-generic/bitsperlong.h:
+
+/usr/include/linux/posix_types.h:
+
+/usr/include/linux/stddef.h:
+
+/usr/include/asm/posix_types.h:
+
+/usr/include/asm/posix_types_32.h:
+
+/usr/include/asm-generic/posix_types.h:
+
+/usr/include/assert.h:
+
+/usr/include/signal.h:
+
+/usr/include/bits/signum.h:
+
+/usr/include/bits/siginfo.h:
+
+/usr/include/bits/sigaction.h:
+
+/usr/include/bits/sigcontext.h:
+
+/usr/include/asm/sigcontext.h:
+
+/usr/include/bits/sigstack.h:
+
+/usr/include/sys/ucontext.h:
+
+/usr/include/bits/sigthread.h:
+
+/usr/include/math.h:
+
+/usr/include/bits/huge_val.h:
+
+/usr/include/bits/huge_valf.h:
+
+/usr/include/bits/huge_vall.h:
+
+/usr/include/bits/inf.h:
+
+/usr/include/bits/nan.h:
+
+/usr/include/bits/mathdef.h:
+
+/usr/include/bits/mathcalls.h:
+
+/usr/include/bits/mathinline.h:
+
+/usr/include/wayland-server.h:
+
+/usr/lib/gcc/i586-tizen-linux/4.5.3/include/stdint.h:
+
+/usr/include/stdint.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/wayland-util.h:
+
+/usr/include/inttypes.h:
+
+/usr/include/wayland-version.h:
+
+/usr/include/wayland-server-protocol.h:
+
+compositor.h:
+
+/usr/include/pixman-1/pixman.h:
+
+/usr/include/pixman-1/pixman-version.h:
+
+/usr/include/xkbcommon/xkbcommon.h:
+
+/usr/include/xkbcommon/xkbcommon-names.h:
+
+/usr/include/xkbcommon/xkbcommon-keysyms.h:
+
+/usr/include/GLES2/gl2.h:
+
+/usr/include/GLES2/gl2platform.h:
+
+/usr/include/KHR/khrplatform.h:
+
+/usr/include/GLES2/gl2ext.h:
+
+/usr/include/EGL/egl.h:
+
+/usr/include/EGL/eglplatform.h:
+
+/usr/include/X11/Xlib.h:
+
+/usr/include/X11/X.h:
+
+/usr/include/X11/Xfuncproto.h:
+
+/usr/include/X11/Xosdefs.h:
+
+/usr/include/X11/Xutil.h:
+
+/usr/include/X11/keysym.h:
+
+/usr/include/X11/keysymdef.h:
+
+/usr/include/EGL/eglext.h:
+
+/usr/include/EGL/eglmesaext.h:
+
+matrix.h:
+
+config-parser.h:
+
+ico_ivi_common.h:
+
+ico_ivi_shell.h:
+
+ico_window_mgr.h:
+
+ico_input_mgr-server-protocol.h:
+
+/usr/include/wayland-util.h:
diff --git a/src/.deps/ico_ivi_common_la-config-parser.Plo b/src/.deps/ico_ivi_common_la-config-parser.Plo
new file mode 100644 (file)
index 0000000..eb2a2ef
--- /dev/null
@@ -0,0 +1,99 @@
+ico_ivi_common_la-config-parser.lo: ../shared/config-parser.c \
+ /usr/include/string.h /usr/include/features.h \
+ /usr/include/bits/predefs.h /usr/include/sys/cdefs.h \
+ /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+ /usr/include/gnu/stubs-32.h \
+ /usr/lib/gcc/i586-tizen-linux/4.5.3/include/stddef.h \
+ /usr/include/xlocale.h /usr/include/bits/string.h \
+ /usr/include/bits/string2.h /usr/include/endian.h \
+ /usr/include/bits/endian.h /usr/include/bits/byteswap.h \
+ /usr/include/bits/types.h /usr/include/bits/typesizes.h \
+ /usr/include/stdlib.h /usr/include/stdio.h /usr/include/libio.h \
+ /usr/include/_G_config.h /usr/include/wchar.h \
+ /usr/lib/gcc/i586-tizen-linux/4.5.3/include/stdarg.h \
+ /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+ /usr/include/bits/stdio.h /usr/include/bits/waitflags.h \
+ /usr/include/bits/waitstatus.h /usr/include/sys/types.h \
+ /usr/include/time.h /usr/include/sys/select.h /usr/include/bits/select.h \
+ /usr/include/bits/sigset.h /usr/include/bits/time.h \
+ /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \
+ /usr/include/alloca.h /usr/include/assert.h /usr/include/ctype.h \
+ ../shared/config-parser.h
+
+/usr/include/string.h:
+
+/usr/include/features.h:
+
+/usr/include/bits/predefs.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/gnu/stubs-32.h:
+
+/usr/lib/gcc/i586-tizen-linux/4.5.3/include/stddef.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/bits/string.h:
+
+/usr/include/bits/string2.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/bits/byteswap.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/stdio.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/lib/gcc/i586-tizen-linux/4.5.3/include/stdarg.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/time.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/alloca.h:
+
+/usr/include/assert.h:
+
+/usr/include/ctype.h:
+
+../shared/config-parser.h:
diff --git a/src/.deps/ico_ivi_common_la-ico_ivi_common.Plo b/src/.deps/ico_ivi_common_la-ico_ivi_common.Plo
new file mode 100644 (file)
index 0000000..e150983
--- /dev/null
@@ -0,0 +1,216 @@
+ico_ivi_common_la-ico_ivi_common.lo: ico_ivi_common.c \
+ /usr/include/stdlib.h /usr/include/features.h \
+ /usr/include/bits/predefs.h /usr/include/sys/cdefs.h \
+ /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+ /usr/include/gnu/stubs-32.h \
+ /usr/lib/gcc/i586-tizen-linux/4.5.3/include/stddef.h \
+ /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \
+ /usr/include/endian.h /usr/include/bits/endian.h \
+ /usr/include/bits/byteswap.h /usr/include/xlocale.h \
+ /usr/include/sys/types.h /usr/include/bits/types.h \
+ /usr/include/bits/typesizes.h /usr/include/time.h \
+ /usr/include/sys/select.h /usr/include/bits/select.h \
+ /usr/include/bits/sigset.h /usr/include/bits/time.h \
+ /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \
+ /usr/include/alloca.h /usr/include/stdio.h /usr/include/libio.h \
+ /usr/include/_G_config.h /usr/include/wchar.h \
+ /usr/lib/gcc/i586-tizen-linux/4.5.3/include/stdarg.h \
+ /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+ /usr/include/bits/stdio.h \
+ /usr/lib/gcc/i586-tizen-linux/4.5.3/include/stdbool.h \
+ /usr/include/string.h /usr/include/bits/string.h \
+ /usr/include/bits/string2.h /usr/include/unistd.h \
+ /usr/include/bits/posix_opt.h /usr/include/bits/environments.h \
+ /usr/include/bits/confname.h /usr/include/getopt.h /usr/include/dlfcn.h \
+ /usr/include/bits/dlfcn.h compositor.h /usr/include/pixman-1/pixman.h \
+ /usr/include/pixman-1/pixman-version.h \
+ /usr/lib/gcc/i586-tizen-linux/4.5.3/include/stdint.h \
+ /usr/include/stdint.h /usr/include/bits/wchar.h \
+ /usr/include/xkbcommon/xkbcommon.h \
+ /usr/include/xkbcommon/xkbcommon-names.h \
+ /usr/include/xkbcommon/xkbcommon-keysyms.h /usr/include/wayland-server.h \
+ /usr/include/wayland-util.h /usr/include/math.h \
+ /usr/include/bits/huge_val.h /usr/include/bits/huge_valf.h \
+ /usr/include/bits/huge_vall.h /usr/include/bits/inf.h \
+ /usr/include/bits/nan.h /usr/include/bits/mathdef.h \
+ /usr/include/bits/mathcalls.h /usr/include/bits/mathinline.h \
+ /usr/include/inttypes.h /usr/include/wayland-version.h \
+ /usr/include/wayland-server-protocol.h /usr/include/GLES2/gl2.h \
+ /usr/include/GLES2/gl2platform.h /usr/include/KHR/khrplatform.h \
+ /usr/include/GLES2/gl2ext.h /usr/include/EGL/egl.h \
+ /usr/include/EGL/eglplatform.h /usr/include/X11/Xlib.h \
+ /usr/include/X11/X.h /usr/include/X11/Xfuncproto.h \
+ /usr/include/X11/Xosdefs.h /usr/include/X11/Xutil.h \
+ /usr/include/X11/keysym.h /usr/include/X11/keysymdef.h \
+ /usr/include/EGL/eglext.h /usr/include/EGL/eglmesaext.h matrix.h \
+ config-parser.h ico_ivi_common.h
+
+/usr/include/stdlib.h:
+
+/usr/include/features.h:
+
+/usr/include/bits/predefs.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/gnu/stubs-32.h:
+
+/usr/lib/gcc/i586-tizen-linux/4.5.3/include/stddef.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/bits/byteswap.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/time.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/alloca.h:
+
+/usr/include/stdio.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/lib/gcc/i586-tizen-linux/4.5.3/include/stdarg.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/lib/gcc/i586-tizen-linux/4.5.3/include/stdbool.h:
+
+/usr/include/string.h:
+
+/usr/include/bits/string.h:
+
+/usr/include/bits/string2.h:
+
+/usr/include/unistd.h:
+
+/usr/include/bits/posix_opt.h:
+
+/usr/include/bits/environments.h:
+
+/usr/include/bits/confname.h:
+
+/usr/include/getopt.h:
+
+/usr/include/dlfcn.h:
+
+/usr/include/bits/dlfcn.h:
+
+compositor.h:
+
+/usr/include/pixman-1/pixman.h:
+
+/usr/include/pixman-1/pixman-version.h:
+
+/usr/lib/gcc/i586-tizen-linux/4.5.3/include/stdint.h:
+
+/usr/include/stdint.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/xkbcommon/xkbcommon.h:
+
+/usr/include/xkbcommon/xkbcommon-names.h:
+
+/usr/include/xkbcommon/xkbcommon-keysyms.h:
+
+/usr/include/wayland-server.h:
+
+/usr/include/wayland-util.h:
+
+/usr/include/math.h:
+
+/usr/include/bits/huge_val.h:
+
+/usr/include/bits/huge_valf.h:
+
+/usr/include/bits/huge_vall.h:
+
+/usr/include/bits/inf.h:
+
+/usr/include/bits/nan.h:
+
+/usr/include/bits/mathdef.h:
+
+/usr/include/bits/mathcalls.h:
+
+/usr/include/bits/mathinline.h:
+
+/usr/include/inttypes.h:
+
+/usr/include/wayland-version.h:
+
+/usr/include/wayland-server-protocol.h:
+
+/usr/include/GLES2/gl2.h:
+
+/usr/include/GLES2/gl2platform.h:
+
+/usr/include/KHR/khrplatform.h:
+
+/usr/include/GLES2/gl2ext.h:
+
+/usr/include/EGL/egl.h:
+
+/usr/include/EGL/eglplatform.h:
+
+/usr/include/X11/Xlib.h:
+
+/usr/include/X11/X.h:
+
+/usr/include/X11/Xfuncproto.h:
+
+/usr/include/X11/Xosdefs.h:
+
+/usr/include/X11/Xutil.h:
+
+/usr/include/X11/keysym.h:
+
+/usr/include/X11/keysymdef.h:
+
+/usr/include/EGL/eglext.h:
+
+/usr/include/EGL/eglmesaext.h:
+
+matrix.h:
+
+config-parser.h:
+
+ico_ivi_common.h:
diff --git a/src/.deps/ico_ivi_shell-protocol.Plo b/src/.deps/ico_ivi_shell-protocol.Plo
new file mode 100644 (file)
index 0000000..3a201d3
--- /dev/null
@@ -0,0 +1,100 @@
+ico_ivi_shell-protocol.lo: ico_ivi_shell-protocol.c /usr/include/stdlib.h \
+ /usr/include/features.h /usr/include/bits/predefs.h \
+ /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h \
+ /usr/include/gnu/stubs.h /usr/include/gnu/stubs-32.h \
+ /usr/lib/gcc/i586-tizen-linux/4.5.3/include/stddef.h \
+ /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \
+ /usr/include/endian.h /usr/include/bits/endian.h \
+ /usr/include/bits/byteswap.h /usr/include/sys/types.h \
+ /usr/include/bits/types.h /usr/include/bits/typesizes.h \
+ /usr/include/time.h /usr/include/sys/select.h /usr/include/bits/select.h \
+ /usr/include/bits/sigset.h /usr/include/bits/time.h \
+ /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \
+ /usr/include/alloca.h \
+ /usr/lib/gcc/i586-tizen-linux/4.5.3/include/stdint.h \
+ /usr/include/stdint.h /usr/include/bits/wchar.h \
+ /usr/include/wayland-util.h /usr/include/math.h \
+ /usr/include/bits/huge_val.h /usr/include/bits/huge_valf.h \
+ /usr/include/bits/huge_vall.h /usr/include/bits/inf.h \
+ /usr/include/bits/nan.h /usr/include/bits/mathdef.h \
+ /usr/include/bits/mathcalls.h /usr/include/bits/mathinline.h \
+ /usr/include/inttypes.h \
+ /usr/lib/gcc/i586-tizen-linux/4.5.3/include/stdarg.h
+
+/usr/include/stdlib.h:
+
+/usr/include/features.h:
+
+/usr/include/bits/predefs.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/gnu/stubs-32.h:
+
+/usr/lib/gcc/i586-tizen-linux/4.5.3/include/stddef.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/bits/byteswap.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/time.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/alloca.h:
+
+/usr/lib/gcc/i586-tizen-linux/4.5.3/include/stdint.h:
+
+/usr/include/stdint.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/wayland-util.h:
+
+/usr/include/math.h:
+
+/usr/include/bits/huge_val.h:
+
+/usr/include/bits/huge_valf.h:
+
+/usr/include/bits/huge_vall.h:
+
+/usr/include/bits/inf.h:
+
+/usr/include/bits/nan.h:
+
+/usr/include/bits/mathdef.h:
+
+/usr/include/bits/mathcalls.h:
+
+/usr/include/bits/mathinline.h:
+
+/usr/include/inttypes.h:
+
+/usr/lib/gcc/i586-tizen-linux/4.5.3/include/stdarg.h:
diff --git a/src/.deps/ico_ivi_shell_la-config-parser.Plo b/src/.deps/ico_ivi_shell_la-config-parser.Plo
new file mode 100644 (file)
index 0000000..e9d2044
--- /dev/null
@@ -0,0 +1,99 @@
+ico_ivi_shell_la-config-parser.lo: ../shared/config-parser.c \
+ /usr/include/string.h /usr/include/features.h \
+ /usr/include/bits/predefs.h /usr/include/sys/cdefs.h \
+ /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+ /usr/include/gnu/stubs-32.h \
+ /usr/lib/gcc/i586-tizen-linux/4.5.3/include/stddef.h \
+ /usr/include/xlocale.h /usr/include/bits/string.h \
+ /usr/include/bits/string2.h /usr/include/endian.h \
+ /usr/include/bits/endian.h /usr/include/bits/byteswap.h \
+ /usr/include/bits/types.h /usr/include/bits/typesizes.h \
+ /usr/include/stdlib.h /usr/include/stdio.h /usr/include/libio.h \
+ /usr/include/_G_config.h /usr/include/wchar.h \
+ /usr/lib/gcc/i586-tizen-linux/4.5.3/include/stdarg.h \
+ /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+ /usr/include/bits/stdio.h /usr/include/bits/waitflags.h \
+ /usr/include/bits/waitstatus.h /usr/include/sys/types.h \
+ /usr/include/time.h /usr/include/sys/select.h /usr/include/bits/select.h \
+ /usr/include/bits/sigset.h /usr/include/bits/time.h \
+ /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \
+ /usr/include/alloca.h /usr/include/assert.h /usr/include/ctype.h \
+ ../shared/config-parser.h
+
+/usr/include/string.h:
+
+/usr/include/features.h:
+
+/usr/include/bits/predefs.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/gnu/stubs-32.h:
+
+/usr/lib/gcc/i586-tizen-linux/4.5.3/include/stddef.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/bits/string.h:
+
+/usr/include/bits/string2.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/bits/byteswap.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/stdio.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/lib/gcc/i586-tizen-linux/4.5.3/include/stdarg.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/time.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/alloca.h:
+
+/usr/include/assert.h:
+
+/usr/include/ctype.h:
+
+../shared/config-parser.h:
diff --git a/src/.deps/ico_ivi_shell_la-ico_ivi_shell-protocol.Plo b/src/.deps/ico_ivi_shell_la-ico_ivi_shell-protocol.Plo
new file mode 100644 (file)
index 0000000..5e31b84
--- /dev/null
@@ -0,0 +1,101 @@
+ico_ivi_shell_la-ico_ivi_shell-protocol.lo: ico_ivi_shell-protocol.c \
+ /usr/include/stdlib.h /usr/include/features.h \
+ /usr/include/bits/predefs.h /usr/include/sys/cdefs.h \
+ /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+ /usr/include/gnu/stubs-32.h \
+ /usr/lib/gcc/i586-tizen-linux/4.5.3/include/stddef.h \
+ /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \
+ /usr/include/endian.h /usr/include/bits/endian.h \
+ /usr/include/bits/byteswap.h /usr/include/sys/types.h \
+ /usr/include/bits/types.h /usr/include/bits/typesizes.h \
+ /usr/include/time.h /usr/include/sys/select.h /usr/include/bits/select.h \
+ /usr/include/bits/sigset.h /usr/include/bits/time.h \
+ /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \
+ /usr/include/alloca.h \
+ /usr/lib/gcc/i586-tizen-linux/4.5.3/include/stdint.h \
+ /usr/include/stdint.h /usr/include/bits/wchar.h \
+ /usr/include/wayland-util.h /usr/include/math.h \
+ /usr/include/bits/huge_val.h /usr/include/bits/huge_valf.h \
+ /usr/include/bits/huge_vall.h /usr/include/bits/inf.h \
+ /usr/include/bits/nan.h /usr/include/bits/mathdef.h \
+ /usr/include/bits/mathcalls.h /usr/include/bits/mathinline.h \
+ /usr/include/inttypes.h \
+ /usr/lib/gcc/i586-tizen-linux/4.5.3/include/stdarg.h
+
+/usr/include/stdlib.h:
+
+/usr/include/features.h:
+
+/usr/include/bits/predefs.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/gnu/stubs-32.h:
+
+/usr/lib/gcc/i586-tizen-linux/4.5.3/include/stddef.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/bits/byteswap.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/time.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/alloca.h:
+
+/usr/lib/gcc/i586-tizen-linux/4.5.3/include/stdint.h:
+
+/usr/include/stdint.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/wayland-util.h:
+
+/usr/include/math.h:
+
+/usr/include/bits/huge_val.h:
+
+/usr/include/bits/huge_valf.h:
+
+/usr/include/bits/huge_vall.h:
+
+/usr/include/bits/inf.h:
+
+/usr/include/bits/nan.h:
+
+/usr/include/bits/mathdef.h:
+
+/usr/include/bits/mathcalls.h:
+
+/usr/include/bits/mathinline.h:
+
+/usr/include/inttypes.h:
+
+/usr/lib/gcc/i586-tizen-linux/4.5.3/include/stdarg.h:
diff --git a/src/.deps/ico_ivi_shell_la-ico_ivi_shell.Plo b/src/.deps/ico_ivi_shell_la-ico_ivi_shell.Plo
new file mode 100644 (file)
index 0000000..4ce3c69
--- /dev/null
@@ -0,0 +1,297 @@
+ico_ivi_shell_la-ico_ivi_shell.lo: ico_ivi_shell.c /usr/include/stdlib.h \
+ /usr/include/features.h /usr/include/bits/predefs.h \
+ /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h \
+ /usr/include/gnu/stubs.h /usr/include/gnu/stubs-32.h \
+ /usr/lib/gcc/i586-tizen-linux/4.5.3/include/stddef.h \
+ /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \
+ /usr/include/endian.h /usr/include/bits/endian.h \
+ /usr/include/bits/byteswap.h /usr/include/sys/types.h \
+ /usr/include/bits/types.h /usr/include/bits/typesizes.h \
+ /usr/include/time.h /usr/include/sys/select.h /usr/include/bits/select.h \
+ /usr/include/bits/sigset.h /usr/include/bits/time.h \
+ /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \
+ /usr/include/alloca.h /usr/include/stdio.h /usr/include/libio.h \
+ /usr/include/_G_config.h /usr/include/wchar.h \
+ /usr/lib/gcc/i586-tizen-linux/4.5.3/include/stdarg.h \
+ /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+ /usr/include/bits/stdio.h \
+ /usr/lib/gcc/i586-tizen-linux/4.5.3/include/stdbool.h \
+ /usr/include/string.h /usr/include/xlocale.h /usr/include/bits/string.h \
+ /usr/include/bits/string2.h /usr/include/unistd.h \
+ /usr/include/bits/posix_opt.h /usr/include/bits/environments.h \
+ /usr/include/bits/confname.h /usr/include/getopt.h \
+ /usr/include/linux/input.h /usr/include/sys/time.h \
+ /usr/include/sys/ioctl.h /usr/include/bits/ioctls.h \
+ /usr/include/asm/ioctls.h /usr/include/asm-generic/ioctls.h \
+ /usr/include/linux/ioctl.h /usr/include/asm/ioctl.h \
+ /usr/include/asm-generic/ioctl.h /usr/include/bits/ioctl-types.h \
+ /usr/include/sys/ttydefaults.h /usr/include/linux/types.h \
+ /usr/include/asm/types.h /usr/include/asm-generic/types.h \
+ /usr/include/asm-generic/int-ll64.h /usr/include/asm/bitsperlong.h \
+ /usr/include/asm-generic/bitsperlong.h /usr/include/linux/posix_types.h \
+ /usr/include/linux/stddef.h /usr/include/asm/posix_types.h \
+ /usr/include/asm/posix_types_32.h /usr/include/asm-generic/posix_types.h \
+ /usr/include/assert.h /usr/include/signal.h /usr/include/bits/signum.h \
+ /usr/include/bits/siginfo.h /usr/include/bits/sigaction.h \
+ /usr/include/bits/sigcontext.h /usr/include/asm/sigcontext.h \
+ /usr/include/bits/sigstack.h /usr/include/sys/ucontext.h \
+ /usr/include/bits/sigthread.h /usr/include/math.h \
+ /usr/include/bits/huge_val.h /usr/include/bits/huge_valf.h \
+ /usr/include/bits/huge_vall.h /usr/include/bits/inf.h \
+ /usr/include/bits/nan.h /usr/include/bits/mathdef.h \
+ /usr/include/bits/mathcalls.h /usr/include/bits/mathinline.h \
+ /usr/include/wayland-server.h \
+ /usr/lib/gcc/i586-tizen-linux/4.5.3/include/stdint.h \
+ /usr/include/stdint.h /usr/include/bits/wchar.h \
+ /usr/include/wayland-util.h /usr/include/inttypes.h \
+ /usr/include/wayland-version.h /usr/include/wayland-server-protocol.h \
+ compositor.h /usr/include/pixman-1/pixman.h \
+ /usr/include/pixman-1/pixman-version.h \
+ /usr/include/xkbcommon/xkbcommon.h \
+ /usr/include/xkbcommon/xkbcommon-names.h \
+ /usr/include/xkbcommon/xkbcommon-keysyms.h /usr/include/GLES2/gl2.h \
+ /usr/include/GLES2/gl2platform.h /usr/include/KHR/khrplatform.h \
+ /usr/include/GLES2/gl2ext.h /usr/include/EGL/egl.h \
+ /usr/include/EGL/eglplatform.h /usr/include/X11/Xlib.h \
+ /usr/include/X11/X.h /usr/include/X11/Xfuncproto.h \
+ /usr/include/X11/Xosdefs.h /usr/include/X11/Xutil.h \
+ /usr/include/X11/keysym.h /usr/include/X11/keysymdef.h \
+ /usr/include/EGL/eglext.h /usr/include/EGL/eglmesaext.h matrix.h \
+ config-parser.h ico_ivi_common.h ico_ivi_shell.h \
+ ico_ivi_shell-server-protocol.h /usr/include/wayland-util.h
+
+/usr/include/stdlib.h:
+
+/usr/include/features.h:
+
+/usr/include/bits/predefs.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/gnu/stubs-32.h:
+
+/usr/lib/gcc/i586-tizen-linux/4.5.3/include/stddef.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/bits/byteswap.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/time.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/alloca.h:
+
+/usr/include/stdio.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/lib/gcc/i586-tizen-linux/4.5.3/include/stdarg.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/lib/gcc/i586-tizen-linux/4.5.3/include/stdbool.h:
+
+/usr/include/string.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/bits/string.h:
+
+/usr/include/bits/string2.h:
+
+/usr/include/unistd.h:
+
+/usr/include/bits/posix_opt.h:
+
+/usr/include/bits/environments.h:
+
+/usr/include/bits/confname.h:
+
+/usr/include/getopt.h:
+
+/usr/include/linux/input.h:
+
+/usr/include/sys/time.h:
+
+/usr/include/sys/ioctl.h:
+
+/usr/include/bits/ioctls.h:
+
+/usr/include/asm/ioctls.h:
+
+/usr/include/asm-generic/ioctls.h:
+
+/usr/include/linux/ioctl.h:
+
+/usr/include/asm/ioctl.h:
+
+/usr/include/asm-generic/ioctl.h:
+
+/usr/include/bits/ioctl-types.h:
+
+/usr/include/sys/ttydefaults.h:
+
+/usr/include/linux/types.h:
+
+/usr/include/asm/types.h:
+
+/usr/include/asm-generic/types.h:
+
+/usr/include/asm-generic/int-ll64.h:
+
+/usr/include/asm/bitsperlong.h:
+
+/usr/include/asm-generic/bitsperlong.h:
+
+/usr/include/linux/posix_types.h:
+
+/usr/include/linux/stddef.h:
+
+/usr/include/asm/posix_types.h:
+
+/usr/include/asm/posix_types_32.h:
+
+/usr/include/asm-generic/posix_types.h:
+
+/usr/include/assert.h:
+
+/usr/include/signal.h:
+
+/usr/include/bits/signum.h:
+
+/usr/include/bits/siginfo.h:
+
+/usr/include/bits/sigaction.h:
+
+/usr/include/bits/sigcontext.h:
+
+/usr/include/asm/sigcontext.h:
+
+/usr/include/bits/sigstack.h:
+
+/usr/include/sys/ucontext.h:
+
+/usr/include/bits/sigthread.h:
+
+/usr/include/math.h:
+
+/usr/include/bits/huge_val.h:
+
+/usr/include/bits/huge_valf.h:
+
+/usr/include/bits/huge_vall.h:
+
+/usr/include/bits/inf.h:
+
+/usr/include/bits/nan.h:
+
+/usr/include/bits/mathdef.h:
+
+/usr/include/bits/mathcalls.h:
+
+/usr/include/bits/mathinline.h:
+
+/usr/include/wayland-server.h:
+
+/usr/lib/gcc/i586-tizen-linux/4.5.3/include/stdint.h:
+
+/usr/include/stdint.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/wayland-util.h:
+
+/usr/include/inttypes.h:
+
+/usr/include/wayland-version.h:
+
+/usr/include/wayland-server-protocol.h:
+
+compositor.h:
+
+/usr/include/pixman-1/pixman.h:
+
+/usr/include/pixman-1/pixman-version.h:
+
+/usr/include/xkbcommon/xkbcommon.h:
+
+/usr/include/xkbcommon/xkbcommon-names.h:
+
+/usr/include/xkbcommon/xkbcommon-keysyms.h:
+
+/usr/include/GLES2/gl2.h:
+
+/usr/include/GLES2/gl2platform.h:
+
+/usr/include/KHR/khrplatform.h:
+
+/usr/include/GLES2/gl2ext.h:
+
+/usr/include/EGL/egl.h:
+
+/usr/include/EGL/eglplatform.h:
+
+/usr/include/X11/Xlib.h:
+
+/usr/include/X11/X.h:
+
+/usr/include/X11/Xfuncproto.h:
+
+/usr/include/X11/Xosdefs.h:
+
+/usr/include/X11/Xutil.h:
+
+/usr/include/X11/keysym.h:
+
+/usr/include/X11/keysymdef.h:
+
+/usr/include/EGL/eglext.h:
+
+/usr/include/EGL/eglmesaext.h:
+
+matrix.h:
+
+config-parser.h:
+
+ico_ivi_common.h:
+
+ico_ivi_shell.h:
+
+ico_ivi_shell-server-protocol.h:
+
+/usr/include/wayland-util.h:
diff --git a/src/.deps/ico_plugin_loader_la-config-parser.Plo b/src/.deps/ico_plugin_loader_la-config-parser.Plo
new file mode 100644 (file)
index 0000000..caff5f8
--- /dev/null
@@ -0,0 +1,99 @@
+ico_plugin_loader_la-config-parser.lo: ../shared/config-parser.c \
+ /usr/include/string.h /usr/include/features.h \
+ /usr/include/bits/predefs.h /usr/include/sys/cdefs.h \
+ /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+ /usr/include/gnu/stubs-32.h \
+ /usr/lib/gcc/i586-tizen-linux/4.5.3/include/stddef.h \
+ /usr/include/xlocale.h /usr/include/bits/string.h \
+ /usr/include/bits/string2.h /usr/include/endian.h \
+ /usr/include/bits/endian.h /usr/include/bits/byteswap.h \
+ /usr/include/bits/types.h /usr/include/bits/typesizes.h \
+ /usr/include/stdlib.h /usr/include/stdio.h /usr/include/libio.h \
+ /usr/include/_G_config.h /usr/include/wchar.h \
+ /usr/lib/gcc/i586-tizen-linux/4.5.3/include/stdarg.h \
+ /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+ /usr/include/bits/stdio.h /usr/include/bits/waitflags.h \
+ /usr/include/bits/waitstatus.h /usr/include/sys/types.h \
+ /usr/include/time.h /usr/include/sys/select.h /usr/include/bits/select.h \
+ /usr/include/bits/sigset.h /usr/include/bits/time.h \
+ /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \
+ /usr/include/alloca.h /usr/include/assert.h /usr/include/ctype.h \
+ ../shared/config-parser.h
+
+/usr/include/string.h:
+
+/usr/include/features.h:
+
+/usr/include/bits/predefs.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/gnu/stubs-32.h:
+
+/usr/lib/gcc/i586-tizen-linux/4.5.3/include/stddef.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/bits/string.h:
+
+/usr/include/bits/string2.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/bits/byteswap.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/stdio.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/lib/gcc/i586-tizen-linux/4.5.3/include/stdarg.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/time.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/alloca.h:
+
+/usr/include/assert.h:
+
+/usr/include/ctype.h:
+
+../shared/config-parser.h:
diff --git a/src/.deps/ico_plugin_loader_la-ico_plugin_loader.Plo b/src/.deps/ico_plugin_loader_la-ico_plugin_loader.Plo
new file mode 100644 (file)
index 0000000..cc11ee5
--- /dev/null
@@ -0,0 +1,218 @@
+ico_plugin_loader_la-ico_plugin_loader.lo: ico_plugin_loader.c \
+ /usr/include/stdlib.h /usr/include/features.h \
+ /usr/include/bits/predefs.h /usr/include/sys/cdefs.h \
+ /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+ /usr/include/gnu/stubs-32.h \
+ /usr/lib/gcc/i586-tizen-linux/4.5.3/include/stddef.h \
+ /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \
+ /usr/include/endian.h /usr/include/bits/endian.h \
+ /usr/include/bits/byteswap.h /usr/include/xlocale.h \
+ /usr/include/sys/types.h /usr/include/bits/types.h \
+ /usr/include/bits/typesizes.h /usr/include/time.h \
+ /usr/include/sys/select.h /usr/include/bits/select.h \
+ /usr/include/bits/sigset.h /usr/include/bits/time.h \
+ /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \
+ /usr/include/alloca.h /usr/include/stdio.h /usr/include/libio.h \
+ /usr/include/_G_config.h /usr/include/wchar.h \
+ /usr/lib/gcc/i586-tizen-linux/4.5.3/include/stdarg.h \
+ /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+ /usr/include/bits/stdio.h \
+ /usr/lib/gcc/i586-tizen-linux/4.5.3/include/stdbool.h \
+ /usr/include/string.h /usr/include/bits/string.h \
+ /usr/include/bits/string2.h /usr/include/unistd.h \
+ /usr/include/bits/posix_opt.h /usr/include/bits/environments.h \
+ /usr/include/bits/confname.h /usr/include/getopt.h /usr/include/dlfcn.h \
+ /usr/include/bits/dlfcn.h /usr/include/sys/time.h compositor.h \
+ /usr/include/pixman-1/pixman.h /usr/include/pixman-1/pixman-version.h \
+ /usr/lib/gcc/i586-tizen-linux/4.5.3/include/stdint.h \
+ /usr/include/stdint.h /usr/include/bits/wchar.h \
+ /usr/include/xkbcommon/xkbcommon.h \
+ /usr/include/xkbcommon/xkbcommon-names.h \
+ /usr/include/xkbcommon/xkbcommon-keysyms.h /usr/include/wayland-server.h \
+ /usr/include/wayland-util.h /usr/include/math.h \
+ /usr/include/bits/huge_val.h /usr/include/bits/huge_valf.h \
+ /usr/include/bits/huge_vall.h /usr/include/bits/inf.h \
+ /usr/include/bits/nan.h /usr/include/bits/mathdef.h \
+ /usr/include/bits/mathcalls.h /usr/include/bits/mathinline.h \
+ /usr/include/inttypes.h /usr/include/wayland-version.h \
+ /usr/include/wayland-server-protocol.h /usr/include/GLES2/gl2.h \
+ /usr/include/GLES2/gl2platform.h /usr/include/KHR/khrplatform.h \
+ /usr/include/GLES2/gl2ext.h /usr/include/EGL/egl.h \
+ /usr/include/EGL/eglplatform.h /usr/include/X11/Xlib.h \
+ /usr/include/X11/X.h /usr/include/X11/Xfuncproto.h \
+ /usr/include/X11/Xosdefs.h /usr/include/X11/Xutil.h \
+ /usr/include/X11/keysym.h /usr/include/X11/keysymdef.h \
+ /usr/include/EGL/eglext.h /usr/include/EGL/eglmesaext.h matrix.h \
+ config-parser.h ico_ivi_common.h
+
+/usr/include/stdlib.h:
+
+/usr/include/features.h:
+
+/usr/include/bits/predefs.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/gnu/stubs-32.h:
+
+/usr/lib/gcc/i586-tizen-linux/4.5.3/include/stddef.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/bits/byteswap.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/time.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/alloca.h:
+
+/usr/include/stdio.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/lib/gcc/i586-tizen-linux/4.5.3/include/stdarg.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/lib/gcc/i586-tizen-linux/4.5.3/include/stdbool.h:
+
+/usr/include/string.h:
+
+/usr/include/bits/string.h:
+
+/usr/include/bits/string2.h:
+
+/usr/include/unistd.h:
+
+/usr/include/bits/posix_opt.h:
+
+/usr/include/bits/environments.h:
+
+/usr/include/bits/confname.h:
+
+/usr/include/getopt.h:
+
+/usr/include/dlfcn.h:
+
+/usr/include/bits/dlfcn.h:
+
+/usr/include/sys/time.h:
+
+compositor.h:
+
+/usr/include/pixman-1/pixman.h:
+
+/usr/include/pixman-1/pixman-version.h:
+
+/usr/lib/gcc/i586-tizen-linux/4.5.3/include/stdint.h:
+
+/usr/include/stdint.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/xkbcommon/xkbcommon.h:
+
+/usr/include/xkbcommon/xkbcommon-names.h:
+
+/usr/include/xkbcommon/xkbcommon-keysyms.h:
+
+/usr/include/wayland-server.h:
+
+/usr/include/wayland-util.h:
+
+/usr/include/math.h:
+
+/usr/include/bits/huge_val.h:
+
+/usr/include/bits/huge_valf.h:
+
+/usr/include/bits/huge_vall.h:
+
+/usr/include/bits/inf.h:
+
+/usr/include/bits/nan.h:
+
+/usr/include/bits/mathdef.h:
+
+/usr/include/bits/mathcalls.h:
+
+/usr/include/bits/mathinline.h:
+
+/usr/include/inttypes.h:
+
+/usr/include/wayland-version.h:
+
+/usr/include/wayland-server-protocol.h:
+
+/usr/include/GLES2/gl2.h:
+
+/usr/include/GLES2/gl2platform.h:
+
+/usr/include/KHR/khrplatform.h:
+
+/usr/include/GLES2/gl2ext.h:
+
+/usr/include/EGL/egl.h:
+
+/usr/include/EGL/eglplatform.h:
+
+/usr/include/X11/Xlib.h:
+
+/usr/include/X11/X.h:
+
+/usr/include/X11/Xfuncproto.h:
+
+/usr/include/X11/Xosdefs.h:
+
+/usr/include/X11/Xutil.h:
+
+/usr/include/X11/keysym.h:
+
+/usr/include/X11/keysymdef.h:
+
+/usr/include/EGL/eglext.h:
+
+/usr/include/EGL/eglmesaext.h:
+
+matrix.h:
+
+config-parser.h:
+
+ico_ivi_common.h:
diff --git a/src/.deps/ico_window_mgr-protocol.Plo b/src/.deps/ico_window_mgr-protocol.Plo
new file mode 100644 (file)
index 0000000..0efa35f
--- /dev/null
@@ -0,0 +1,101 @@
+ico_window_mgr-protocol.lo: ico_window_mgr-protocol.c \
+ /usr/include/stdlib.h /usr/include/features.h \
+ /usr/include/bits/predefs.h /usr/include/sys/cdefs.h \
+ /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+ /usr/include/gnu/stubs-32.h \
+ /usr/lib/gcc/i586-tizen-linux/4.5.3/include/stddef.h \
+ /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \
+ /usr/include/endian.h /usr/include/bits/endian.h \
+ /usr/include/bits/byteswap.h /usr/include/sys/types.h \
+ /usr/include/bits/types.h /usr/include/bits/typesizes.h \
+ /usr/include/time.h /usr/include/sys/select.h /usr/include/bits/select.h \
+ /usr/include/bits/sigset.h /usr/include/bits/time.h \
+ /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \
+ /usr/include/alloca.h \
+ /usr/lib/gcc/i586-tizen-linux/4.5.3/include/stdint.h \
+ /usr/include/stdint.h /usr/include/bits/wchar.h \
+ /usr/include/wayland-util.h /usr/include/math.h \
+ /usr/include/bits/huge_val.h /usr/include/bits/huge_valf.h \
+ /usr/include/bits/huge_vall.h /usr/include/bits/inf.h \
+ /usr/include/bits/nan.h /usr/include/bits/mathdef.h \
+ /usr/include/bits/mathcalls.h /usr/include/bits/mathinline.h \
+ /usr/include/inttypes.h \
+ /usr/lib/gcc/i586-tizen-linux/4.5.3/include/stdarg.h
+
+/usr/include/stdlib.h:
+
+/usr/include/features.h:
+
+/usr/include/bits/predefs.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/gnu/stubs-32.h:
+
+/usr/lib/gcc/i586-tizen-linux/4.5.3/include/stddef.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/bits/byteswap.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/time.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/alloca.h:
+
+/usr/lib/gcc/i586-tizen-linux/4.5.3/include/stdint.h:
+
+/usr/include/stdint.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/wayland-util.h:
+
+/usr/include/math.h:
+
+/usr/include/bits/huge_val.h:
+
+/usr/include/bits/huge_valf.h:
+
+/usr/include/bits/huge_vall.h:
+
+/usr/include/bits/inf.h:
+
+/usr/include/bits/nan.h:
+
+/usr/include/bits/mathdef.h:
+
+/usr/include/bits/mathcalls.h:
+
+/usr/include/bits/mathinline.h:
+
+/usr/include/inttypes.h:
+
+/usr/lib/gcc/i586-tizen-linux/4.5.3/include/stdarg.h:
diff --git a/src/.deps/ico_window_mgr_la-ico_window_mgr-protocol.Plo b/src/.deps/ico_window_mgr_la-ico_window_mgr-protocol.Plo
new file mode 100644 (file)
index 0000000..09edb45
--- /dev/null
@@ -0,0 +1,101 @@
+ico_window_mgr_la-ico_window_mgr-protocol.lo: ico_window_mgr-protocol.c \
+ /usr/include/stdlib.h /usr/include/features.h \
+ /usr/include/bits/predefs.h /usr/include/sys/cdefs.h \
+ /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+ /usr/include/gnu/stubs-32.h \
+ /usr/lib/gcc/i586-tizen-linux/4.5.3/include/stddef.h \
+ /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \
+ /usr/include/endian.h /usr/include/bits/endian.h \
+ /usr/include/bits/byteswap.h /usr/include/sys/types.h \
+ /usr/include/bits/types.h /usr/include/bits/typesizes.h \
+ /usr/include/time.h /usr/include/sys/select.h /usr/include/bits/select.h \
+ /usr/include/bits/sigset.h /usr/include/bits/time.h \
+ /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \
+ /usr/include/alloca.h \
+ /usr/lib/gcc/i586-tizen-linux/4.5.3/include/stdint.h \
+ /usr/include/stdint.h /usr/include/bits/wchar.h \
+ /usr/include/wayland-util.h /usr/include/math.h \
+ /usr/include/bits/huge_val.h /usr/include/bits/huge_valf.h \
+ /usr/include/bits/huge_vall.h /usr/include/bits/inf.h \
+ /usr/include/bits/nan.h /usr/include/bits/mathdef.h \
+ /usr/include/bits/mathcalls.h /usr/include/bits/mathinline.h \
+ /usr/include/inttypes.h \
+ /usr/lib/gcc/i586-tizen-linux/4.5.3/include/stdarg.h
+
+/usr/include/stdlib.h:
+
+/usr/include/features.h:
+
+/usr/include/bits/predefs.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/gnu/stubs-32.h:
+
+/usr/lib/gcc/i586-tizen-linux/4.5.3/include/stddef.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/bits/byteswap.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/time.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/alloca.h:
+
+/usr/lib/gcc/i586-tizen-linux/4.5.3/include/stdint.h:
+
+/usr/include/stdint.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/wayland-util.h:
+
+/usr/include/math.h:
+
+/usr/include/bits/huge_val.h:
+
+/usr/include/bits/huge_valf.h:
+
+/usr/include/bits/huge_vall.h:
+
+/usr/include/bits/inf.h:
+
+/usr/include/bits/nan.h:
+
+/usr/include/bits/mathdef.h:
+
+/usr/include/bits/mathcalls.h:
+
+/usr/include/bits/mathinline.h:
+
+/usr/include/inttypes.h:
+
+/usr/lib/gcc/i586-tizen-linux/4.5.3/include/stdarg.h:
diff --git a/src/.deps/ico_window_mgr_la-ico_window_mgr.Plo b/src/.deps/ico_window_mgr_la-ico_window_mgr.Plo
new file mode 100644 (file)
index 0000000..7a23249
--- /dev/null
@@ -0,0 +1,335 @@
+ico_window_mgr_la-ico_window_mgr.lo: ico_window_mgr.c \
+ /usr/include/stdlib.h /usr/include/features.h \
+ /usr/include/bits/predefs.h /usr/include/sys/cdefs.h \
+ /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+ /usr/include/gnu/stubs-32.h \
+ /usr/lib/gcc/i586-tizen-linux/4.5.3/include/stddef.h \
+ /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \
+ /usr/include/endian.h /usr/include/bits/endian.h \
+ /usr/include/bits/byteswap.h /usr/include/xlocale.h \
+ /usr/include/sys/types.h /usr/include/bits/types.h \
+ /usr/include/bits/typesizes.h /usr/include/time.h \
+ /usr/include/sys/select.h /usr/include/bits/select.h \
+ /usr/include/bits/sigset.h /usr/include/bits/time.h \
+ /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \
+ /usr/include/alloca.h /usr/include/stdio.h /usr/include/libio.h \
+ /usr/include/_G_config.h /usr/include/wchar.h \
+ /usr/lib/gcc/i586-tizen-linux/4.5.3/include/stdarg.h \
+ /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+ /usr/include/bits/stdio.h \
+ /usr/lib/gcc/i586-tizen-linux/4.5.3/include/stdbool.h \
+ /usr/include/string.h /usr/include/bits/string.h \
+ /usr/include/bits/string2.h /usr/include/unistd.h \
+ /usr/include/bits/posix_opt.h /usr/include/bits/environments.h \
+ /usr/include/bits/confname.h /usr/include/getopt.h \
+ /usr/include/linux/input.h /usr/include/sys/time.h \
+ /usr/include/sys/ioctl.h /usr/include/bits/ioctls.h \
+ /usr/include/asm/ioctls.h /usr/include/asm-generic/ioctls.h \
+ /usr/include/linux/ioctl.h /usr/include/asm/ioctl.h \
+ /usr/include/asm-generic/ioctl.h /usr/include/bits/ioctl-types.h \
+ /usr/include/sys/ttydefaults.h /usr/include/linux/types.h \
+ /usr/include/asm/types.h /usr/include/asm-generic/types.h \
+ /usr/include/asm-generic/int-ll64.h /usr/include/asm/bitsperlong.h \
+ /usr/include/asm-generic/bitsperlong.h /usr/include/linux/posix_types.h \
+ /usr/include/linux/stddef.h /usr/include/asm/posix_types.h \
+ /usr/include/asm/posix_types_32.h /usr/include/asm-generic/posix_types.h \
+ /usr/include/assert.h /usr/include/signal.h /usr/include/bits/signum.h \
+ /usr/include/bits/siginfo.h /usr/include/bits/sigaction.h \
+ /usr/include/bits/sigcontext.h /usr/include/asm/sigcontext.h \
+ /usr/include/bits/sigstack.h /usr/include/sys/ucontext.h \
+ /usr/include/bits/sigthread.h /usr/include/math.h \
+ /usr/include/bits/huge_val.h /usr/include/bits/huge_valf.h \
+ /usr/include/bits/huge_vall.h /usr/include/bits/inf.h \
+ /usr/include/bits/nan.h /usr/include/bits/mathdef.h \
+ /usr/include/bits/mathcalls.h /usr/include/bits/mathinline.h \
+ /usr/include/sys/stat.h /usr/include/bits/stat.h /usr/include/fcntl.h \
+ /usr/include/bits/fcntl.h /usr/include/bits/uio.h \
+ /usr/include/wayland-server.h \
+ /usr/lib/gcc/i586-tizen-linux/4.5.3/include/stdint.h \
+ /usr/include/stdint.h /usr/include/bits/wchar.h \
+ /usr/include/wayland-util.h /usr/include/inttypes.h \
+ /usr/include/wayland-version.h /usr/include/wayland-server-protocol.h \
+ /usr/include/aul/aul.h /usr/include/errno.h /usr/include/bits/errno.h \
+ /usr/include/linux/errno.h /usr/include/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/bundle.h compositor.h /usr/include/pixman-1/pixman.h \
+ /usr/include/pixman-1/pixman-version.h \
+ /usr/include/xkbcommon/xkbcommon.h \
+ /usr/include/xkbcommon/xkbcommon-names.h \
+ /usr/include/xkbcommon/xkbcommon-keysyms.h /usr/include/GLES2/gl2.h \
+ /usr/include/GLES2/gl2platform.h /usr/include/KHR/khrplatform.h \
+ /usr/include/GLES2/gl2ext.h /usr/include/EGL/egl.h \
+ /usr/include/EGL/eglplatform.h /usr/include/X11/Xlib.h \
+ /usr/include/X11/X.h /usr/include/X11/Xfuncproto.h \
+ /usr/include/X11/Xosdefs.h /usr/include/X11/Xutil.h \
+ /usr/include/X11/keysym.h /usr/include/X11/keysymdef.h \
+ /usr/include/EGL/eglext.h /usr/include/EGL/eglmesaext.h matrix.h \
+ config-parser.h ico_ivi_common.h ico_ivi_shell.h ico_window_mgr.h \
+ ico_ivi_shell-server-protocol.h /usr/include/wayland-util.h \
+ ico_window_mgr-server-protocol.h
+
+/usr/include/stdlib.h:
+
+/usr/include/features.h:
+
+/usr/include/bits/predefs.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/gnu/stubs-32.h:
+
+/usr/lib/gcc/i586-tizen-linux/4.5.3/include/stddef.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/bits/byteswap.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/time.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/alloca.h:
+
+/usr/include/stdio.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/lib/gcc/i586-tizen-linux/4.5.3/include/stdarg.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/lib/gcc/i586-tizen-linux/4.5.3/include/stdbool.h:
+
+/usr/include/string.h:
+
+/usr/include/bits/string.h:
+
+/usr/include/bits/string2.h:
+
+/usr/include/unistd.h:
+
+/usr/include/bits/posix_opt.h:
+
+/usr/include/bits/environments.h:
+
+/usr/include/bits/confname.h:
+
+/usr/include/getopt.h:
+
+/usr/include/linux/input.h:
+
+/usr/include/sys/time.h:
+
+/usr/include/sys/ioctl.h:
+
+/usr/include/bits/ioctls.h:
+
+/usr/include/asm/ioctls.h:
+
+/usr/include/asm-generic/ioctls.h:
+
+/usr/include/linux/ioctl.h:
+
+/usr/include/asm/ioctl.h:
+
+/usr/include/asm-generic/ioctl.h:
+
+/usr/include/bits/ioctl-types.h:
+
+/usr/include/sys/ttydefaults.h:
+
+/usr/include/linux/types.h:
+
+/usr/include/asm/types.h:
+
+/usr/include/asm-generic/types.h:
+
+/usr/include/asm-generic/int-ll64.h:
+
+/usr/include/asm/bitsperlong.h:
+
+/usr/include/asm-generic/bitsperlong.h:
+
+/usr/include/linux/posix_types.h:
+
+/usr/include/linux/stddef.h:
+
+/usr/include/asm/posix_types.h:
+
+/usr/include/asm/posix_types_32.h:
+
+/usr/include/asm-generic/posix_types.h:
+
+/usr/include/assert.h:
+
+/usr/include/signal.h:
+
+/usr/include/bits/signum.h:
+
+/usr/include/bits/siginfo.h:
+
+/usr/include/bits/sigaction.h:
+
+/usr/include/bits/sigcontext.h:
+
+/usr/include/asm/sigcontext.h:
+
+/usr/include/bits/sigstack.h:
+
+/usr/include/sys/ucontext.h:
+
+/usr/include/bits/sigthread.h:
+
+/usr/include/math.h:
+
+/usr/include/bits/huge_val.h:
+
+/usr/include/bits/huge_valf.h:
+
+/usr/include/bits/huge_vall.h:
+
+/usr/include/bits/inf.h:
+
+/usr/include/bits/nan.h:
+
+/usr/include/bits/mathdef.h:
+
+/usr/include/bits/mathcalls.h:
+
+/usr/include/bits/mathinline.h:
+
+/usr/include/sys/stat.h:
+
+/usr/include/bits/stat.h:
+
+/usr/include/fcntl.h:
+
+/usr/include/bits/fcntl.h:
+
+/usr/include/bits/uio.h:
+
+/usr/include/wayland-server.h:
+
+/usr/lib/gcc/i586-tizen-linux/4.5.3/include/stdint.h:
+
+/usr/include/stdint.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/wayland-util.h:
+
+/usr/include/inttypes.h:
+
+/usr/include/wayland-version.h:
+
+/usr/include/wayland-server-protocol.h:
+
+/usr/include/aul/aul.h:
+
+/usr/include/errno.h:
+
+/usr/include/bits/errno.h:
+
+/usr/include/linux/errno.h:
+
+/usr/include/asm/errno.h:
+
+/usr/include/asm-generic/errno.h:
+
+/usr/include/asm-generic/errno-base.h:
+
+/usr/include/bundle.h:
+
+compositor.h:
+
+/usr/include/pixman-1/pixman.h:
+
+/usr/include/pixman-1/pixman-version.h:
+
+/usr/include/xkbcommon/xkbcommon.h:
+
+/usr/include/xkbcommon/xkbcommon-names.h:
+
+/usr/include/xkbcommon/xkbcommon-keysyms.h:
+
+/usr/include/GLES2/gl2.h:
+
+/usr/include/GLES2/gl2platform.h:
+
+/usr/include/KHR/khrplatform.h:
+
+/usr/include/GLES2/gl2ext.h:
+
+/usr/include/EGL/egl.h:
+
+/usr/include/EGL/eglplatform.h:
+
+/usr/include/X11/Xlib.h:
+
+/usr/include/X11/X.h:
+
+/usr/include/X11/Xfuncproto.h:
+
+/usr/include/X11/Xosdefs.h:
+
+/usr/include/X11/Xutil.h:
+
+/usr/include/X11/keysym.h:
+
+/usr/include/X11/keysymdef.h:
+
+/usr/include/EGL/eglext.h:
+
+/usr/include/EGL/eglmesaext.h:
+
+matrix.h:
+
+config-parser.h:
+
+ico_ivi_common.h:
+
+ico_ivi_shell.h:
+
+ico_window_mgr.h:
+
+ico_ivi_shell-server-protocol.h:
+
+/usr/include/wayland-util.h:
+
+ico_window_mgr-server-protocol.h:
diff --git a/src/Makefile b/src/Makefile
new file mode 100644 (file)
index 0000000..49d47c7
--- /dev/null
@@ -0,0 +1,888 @@
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# src/Makefile.  Generated from Makefile.in by configure.
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
+# Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+
+
+
+pkgdatadir = $(datadir)/ico-uxf-weston-plugin
+pkgincludedir = $(includedir)/ico-uxf-weston-plugin
+pkglibdir = $(libdir)/ico-uxf-weston-plugin
+pkglibexecdir = $(libexecdir)/ico-uxf-weston-plugin
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = i686-pc-linux-gnu
+host_triplet = i686-pc-linux-gnu
+subdir = src
+DIST_COMMON = $(include_HEADERS) $(srcdir)/Makefile.am \
+       $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+       $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+    *) f=$$p;; \
+  esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+  srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+  for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+  for p in $$list; do echo "$$p $$p"; done | \
+  sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+  $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+    if (++n[$$2] == $(am__install_max)) \
+      { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+    END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(moduledir)" \
+       "$(DESTDIR)$(includedir)"
+LTLIBRARIES = $(lib_LTLIBRARIES) $(module_LTLIBRARIES)
+am__DEPENDENCIES_1 =
+ico_input_mgr_la_DEPENDENCIES = $(am__DEPENDENCIES_1)
+am_ico_input_mgr_la_OBJECTS = ico_input_mgr_la-ico_input_mgr.lo \
+       ico_input_mgr_la-ico_input_mgr-protocol.lo
+ico_input_mgr_la_OBJECTS = $(am_ico_input_mgr_la_OBJECTS)
+AM_V_lt = $(am__v_lt_$(V))
+am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
+am__v_lt_0 = --silent
+ico_input_mgr_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+       $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+       $(ico_input_mgr_la_CFLAGS) $(CFLAGS) \
+       $(ico_input_mgr_la_LDFLAGS) $(LDFLAGS) -o $@
+ico_ivi_common_la_DEPENDENCIES = $(am__DEPENDENCIES_1)
+am_ico_ivi_common_la_OBJECTS = ico_ivi_common_la-ico_ivi_common.lo \
+       ico_ivi_common_la-config-parser.lo
+ico_ivi_common_la_OBJECTS = $(am_ico_ivi_common_la_OBJECTS)
+ico_ivi_common_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+       $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+       $(ico_ivi_common_la_CFLAGS) $(CFLAGS) \
+       $(ico_ivi_common_la_LDFLAGS) $(LDFLAGS) -o $@
+ico_ivi_shell_la_DEPENDENCIES = $(am__DEPENDENCIES_1)
+am_ico_ivi_shell_la_OBJECTS = ico_ivi_shell_la-ico_ivi_shell.lo \
+       ico_ivi_shell_la-config-parser.lo \
+       ico_ivi_shell_la-ico_ivi_shell-protocol.lo
+ico_ivi_shell_la_OBJECTS = $(am_ico_ivi_shell_la_OBJECTS)
+ico_ivi_shell_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+       $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+       $(ico_ivi_shell_la_CFLAGS) $(CFLAGS) \
+       $(ico_ivi_shell_la_LDFLAGS) $(LDFLAGS) -o $@
+ico_plugin_loader_la_DEPENDENCIES = $(am__DEPENDENCIES_1)
+am_ico_plugin_loader_la_OBJECTS =  \
+       ico_plugin_loader_la-ico_plugin_loader.lo \
+       ico_plugin_loader_la-config-parser.lo
+ico_plugin_loader_la_OBJECTS = $(am_ico_plugin_loader_la_OBJECTS)
+ico_plugin_loader_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+       $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+       $(ico_plugin_loader_la_CFLAGS) $(CFLAGS) \
+       $(ico_plugin_loader_la_LDFLAGS) $(LDFLAGS) -o $@
+ico_window_mgr_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
+       $(am__DEPENDENCIES_1)
+am_ico_window_mgr_la_OBJECTS = ico_window_mgr_la-ico_window_mgr.lo \
+       ico_window_mgr_la-ico_window_mgr-protocol.lo
+ico_window_mgr_la_OBJECTS = $(am_ico_window_mgr_la_OBJECTS)
+ico_window_mgr_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+       $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+       $(ico_window_mgr_la_CFLAGS) $(CFLAGS) \
+       $(ico_window_mgr_la_LDFLAGS) $(LDFLAGS) -o $@
+libico_uxf_weston_plugin_la_DEPENDENCIES =
+am_libico_uxf_weston_plugin_la_OBJECTS = ico_ivi_shell-protocol.lo \
+       ico_window_mgr-protocol.lo ico_input_mgr-protocol.lo
+libico_uxf_weston_plugin_la_OBJECTS =  \
+       $(am_libico_uxf_weston_plugin_la_OBJECTS)
+libico_uxf_weston_plugin_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+       $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+       $(AM_CFLAGS) $(CFLAGS) $(libico_uxf_weston_plugin_la_LDFLAGS) \
+       $(LDFLAGS) -o $@
+DEFAULT_INCLUDES = -I. -I$(top_builddir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+am__mv = mv -f
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+       $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+       $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+       $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+       $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_$(V))
+am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
+am__v_CC_0 = @echo "  CC    " $@;
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
+CCLD = $(CC)
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+       $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+       $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_$(V))
+am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
+am__v_CCLD_0 = @echo "  CCLD  " $@;
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo "  GEN   " $@;
+SOURCES = $(ico_input_mgr_la_SOURCES) $(ico_ivi_common_la_SOURCES) \
+       $(ico_ivi_shell_la_SOURCES) $(ico_plugin_loader_la_SOURCES) \
+       $(ico_window_mgr_la_SOURCES) \
+       $(libico_uxf_weston_plugin_la_SOURCES)
+DIST_SOURCES = $(ico_input_mgr_la_SOURCES) \
+       $(ico_ivi_common_la_SOURCES) $(ico_ivi_shell_la_SOURCES) \
+       $(ico_plugin_loader_la_SOURCES) $(ico_window_mgr_la_SOURCES) \
+       $(libico_uxf_weston_plugin_la_SOURCES)
+HEADERS = $(include_HEADERS)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = ${SHELL} /home/tizen/takeo/ico-uxf-weston-plugin-0.5.01/missing --run aclocal-1.11
+AMTAR = ${SHELL} /home/tizen/takeo/ico-uxf-weston-plugin-0.5.01/missing --run tar
+AM_DEFAULT_VERBOSITY = 0
+AR = ar
+AUL_LIBS = -laul
+AUTOCONF = ${SHELL} /home/tizen/takeo/ico-uxf-weston-plugin-0.5.01/missing --run autoconf
+AUTOHEADER = ${SHELL} /home/tizen/takeo/ico-uxf-weston-plugin-0.5.01/missing --run autoheader
+AUTOMAKE = ${SHELL} /home/tizen/takeo/ico-uxf-weston-plugin-0.5.01/missing --run automake-1.11
+AWK = gawk
+CC = gcc
+CCDEPMODE = depmode=gcc3
+CFLAGS = -g -O2
+COMPOSITOR_CFLAGS = -I/usr/include/libdrm -I/usr/include/pixman-1   
+COMPOSITOR_LIBS = -lwayland-server -lEGL -lGLESv2 -lxkbcommon -lpixman-1   
+CPP = gcc -E
+CPPFLAGS = 
+CXX = g++
+CXXCPP = g++ -E
+CXXDEPMODE = depmode=gcc3
+CXXFLAGS = -g -O2
+CYGPATH_W = echo
+DEFS = -DHAVE_CONFIG_H
+DEPDIR = .deps
+DLOPEN_LIBS = -ldl
+DSYMUTIL = 
+DUMPBIN = 
+ECHO_C = 
+ECHO_N = -n
+ECHO_T = 
+EGREP = /bin/grep -E
+EXEEXT = 
+FGREP = /bin/grep -F
+GCC_CFLAGS = -Wall -Wextra -Wno-unused-parameter               -Wno-missing-field-initializers -g -fvisibility=hidden          -Wstrict-prototypes -Wmissing-prototypes
+GCC_CXXFLAGS = -Wall -Wextra -Wno-unused-parameter             -Wno-missing-field-initializers -g -fvisibility=hidden
+GREP = /bin/grep
+INSTALL = /usr/bin/install -c
+INSTALL_DATA = ${INSTALL} -m 644
+INSTALL_PROGRAM = ${INSTALL}
+INSTALL_SCRIPT = ${INSTALL}
+INSTALL_STRIP_PROGRAM = $(install_sh) -c -s
+LD = /usr/bin/ld
+LDFLAGS = 
+LIBOBJS = 
+LIBS = 
+LIBTOOL = $(SHELL) $(top_builddir)/libtool
+LIPO = 
+LN_S = ln -s
+LTLIBOBJS = 
+MAKEINFO = ${SHELL} /home/tizen/takeo/ico-uxf-weston-plugin-0.5.01/missing --run makeinfo
+MKDIR_P = /bin/mkdir -p
+NM = /usr/bin/nm -B
+NMEDIT = 
+OBJDUMP = objdump
+OBJEXT = o
+OTOOL = 
+OTOOL64 = 
+PACKAGE = ico-uxf-weston-plugin
+PACKAGE_BUGREPORT = https://BUG-REPORT-ADDRESS
+PACKAGE_NAME = ico-uxf-weston-plugin
+PACKAGE_STRING = ico-uxf-weston-plugin 0.4.91
+PACKAGE_TARNAME = ico-uxf-weston-plugin
+PACKAGE_URL = 
+PACKAGE_VERSION = 0.4.91
+PATH_SEPARATOR = :
+PKG_CONFIG = /usr/bin/pkg-config
+PKG_CONFIG_LIBDIR = 
+PKG_CONFIG_PATH = 
+RANLIB = ranlib
+SED = /bin/sed
+SET_MAKE = 
+SHELL = /bin/sh
+STRIP = strip
+VERSION = 0.4.91
+abs_builddir = /home/tizen/takeo/ico-uxf-weston-plugin-0.5.01/src
+abs_srcdir = /home/tizen/takeo/ico-uxf-weston-plugin-0.5.01/src
+abs_top_builddir = /home/tizen/takeo/ico-uxf-weston-plugin-0.5.01
+abs_top_srcdir = /home/tizen/takeo/ico-uxf-weston-plugin-0.5.01
+ac_ct_CC = gcc
+ac_ct_CXX = g++
+ac_ct_DUMPBIN = 
+am__include = include
+am__leading_dot = .
+am__quote = 
+am__tar = ${AMTAR} chof - "$$tardir"
+am__untar = ${AMTAR} xf -
+bindir = ${exec_prefix}/bin
+build = i686-pc-linux-gnu
+build_alias = 
+build_cpu = i686
+build_os = linux-gnu
+build_vendor = pc
+builddir = .
+datadir = ${datarootdir}
+datarootdir = ${prefix}/share
+docdir = ${datarootdir}/doc/${PACKAGE_TARNAME}
+dvidir = ${docdir}
+exec_prefix = ${prefix}
+host = i686-pc-linux-gnu
+host_alias = 
+host_cpu = i686
+host_os = linux-gnu
+host_vendor = pc
+htmldir = ${docdir}
+includedir = /usr/include/ico-uxf-weston-plugin
+infodir = ${datarootdir}/info
+install_sh = ${SHELL} /home/tizen/takeo/ico-uxf-weston-plugin-0.5.01/install-sh
+libdir = ${exec_prefix}/lib
+libexecdir = ${exec_prefix}/libexec
+localedir = ${datarootdir}/locale
+localstatedir = ${prefix}/var
+lt_ECHO = echo
+mandir = ${datarootdir}/man
+mkdir_p = /bin/mkdir -p
+oldincludedir = /usr/include
+pdfdir = ${docdir}
+prefix = /usr
+program_transform_name = s,x,x,
+psdir = ${docdir}
+sbindir = ${exec_prefix}/sbin
+sharedstatedir = ${prefix}/com
+srcdir = .
+sysconfdir = ${prefix}/etc
+target_alias = 
+top_build_prefix = ../
+top_builddir = ..
+top_srcdir = ..
+wayland_protocoldir = $(top_srcdir)/protocol
+wayland_scanner = /usr/bin/wayland-scanner
+lib_LTLIBRARIES = libico-uxf-weston-plugin.la
+include_HEADERS = \
+       ico_ivi_shell-client-protocol.h         \
+       ico_window_mgr-client-protocol.h        \
+       ico_input_mgr-client-protocol.h
+
+libico_uxf_weston_plugin_la_LIBADD = -lrt -lm
+libico_uxf_weston_plugin_la_LDFLAGS = -version-info 0:5:0
+libico_uxf_weston_plugin_la_SOURCES = \
+       ico_ivi_shell-protocol.c                        \
+       ico_window_mgr-protocol.c                       \
+       ico_input_mgr-protocol.c
+
+AM_CPPFLAGS = \
+       -DDATADIR='"$(datadir)"'                \
+       -DMODULEDIR='"$(moduledir)"'            \
+       -DLIBEXECDIR='"$(libexecdir)"'
+
+EXT_CFLAGS = 
+moduledir = ${exec_prefix}/lib/weston
+module_LTLIBRARIES = \
+       $(ico_plugin_loader)    \
+       $(ico_ivi_common)               \
+       $(ico_ivi_shell)                \
+       $(ico_window_mgr)               \
+       $(ico_input_mgr)
+
+
+#      $(ico_input_mgr)
+
+# Weston Plugin Loader
+ico_plugin_loader = ico_plugin_loader.la
+ico_plugin_loader_la_LDFLAGS = -module -avoid-version
+ico_plugin_loader_la_LIBADD = $(COMPOSITOR_LIBS)
+ico_plugin_loader_la_CFLAGS = $(GCC_CFLAGS) $(EXT_CFLAGS) $(COMPOSITOR_CFLAGS)
+ico_plugin_loader_la_SOURCES = \
+       ico_plugin_loader.c ../shared/config-parser.c
+
+
+# IVI Common Functions
+ico_ivi_common = ico_ivi_common.la
+ico_ivi_common_la_LDFLAGS = -module -avoid-version
+ico_ivi_common_la_LIBADD = $(COMPOSITOR_LIBS)
+ico_ivi_common_la_CFLAGS = $(GCC_CFLAGS) $(EXT_CFLAGS) $(COMPOSITOR_CFLAGS)
+ico_ivi_common_la_SOURCES = \
+       ico_ivi_common.c ../shared/config-parser.c
+
+
+# IVI-Shell
+ico_ivi_shell = ico_ivi_shell.la
+ico_ivi_shell_la_LDFLAGS = -module -avoid-version
+ico_ivi_shell_la_LIBADD = $(COMPOSITOR_LIBS)
+ico_ivi_shell_la_CFLAGS = $(GCC_CFLAGS) $(EXT_CFLAGS) $(COMPOSITOR_CFLAGS)
+ico_ivi_shell_la_SOURCES = \
+       ico_ivi_shell.c                                 \
+       ../shared/config-parser.c               \
+       ico_ivi_shell-protocol.c                \
+       ico_ivi_shell-server-protocol.h
+
+
+# Multi Window Manager
+ico_window_mgr = ico_window_mgr.la
+ico_window_mgr_la_LDFLAGS = -module -avoid-version
+ico_window_mgr_la_LIBADD = $(COMPOSITOR_LIBS) $(AUL_LIBS)
+ico_window_mgr_la_CFLAGS = $(GCC_CFLAGS) $(EXT_CFLAGS) $(COMPOSITOR_CFLAGS)
+ico_window_mgr_la_SOURCES = \
+       ico_window_mgr.c                                \
+       ico_window_mgr-protocol.c               \
+       ico_window_mgr-server-protocol.h
+
+
+# Multi Input Manager
+ico_input_mgr = ico_input_mgr.la
+ico_input_mgr_la_LDFLAGS = -module -avoid-version
+ico_input_mgr_la_LIBADD = $(COMPOSITOR_LIBS)
+ico_input_mgr_la_CFLAGS = $(GCC_CFLAGS) $(EXT_CFLAGS) $(COMPOSITOR_CFLAGS)
+ico_input_mgr_la_SOURCES = \
+       ico_input_mgr.c                                 \
+       ico_input_mgr-protocol.c                \
+       ico_input_mgr-server-protocol.h
+
+
+# Wayland protocol(Build by wayland-scanner)
+BUILT_SOURCES = \
+       ico_ivi_shell-protocol.c                        \
+       ico_ivi_shell-server-protocol.h         \
+       ico_ivi_shell-client-protocol.h         \
+       ico_window_mgr-protocol.c                       \
+       ico_window_mgr-server-protocol.h        \
+       ico_window_mgr-client-protocol.h        \
+       ico_input_mgr-protocol.c                        \
+       ico_input_mgr-server-protocol.h         \
+       ico_input_mgr-client-protocol.h         \
+       git-version.h
+
+CLEANFILES = $(BUILT_SOURCES)
+all: $(BUILT_SOURCES)
+       $(MAKE) $(AM_MAKEFLAGS) all-am
+
+.SUFFIXES:
+.SUFFIXES: .c .lo .o .obj
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
+       @for dep in $?; do \
+         case '$(am__configure_deps)' in \
+           *$$dep*) \
+             ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+               && { if test -f $@; then exit 0; else break; fi; }; \
+             exit 1;; \
+         esac; \
+       done; \
+       echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/Makefile'; \
+       $(am__cd) $(top_srcdir) && \
+         $(AUTOMAKE) --foreign src/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+       @case '$?' in \
+         *config.status*) \
+           cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+         *) \
+           echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+           cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+       esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure:  $(am__configure_deps)
+       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+install-libLTLIBRARIES: $(lib_LTLIBRARIES)
+       @$(NORMAL_INSTALL)
+       test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
+       @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
+       list2=; for p in $$list; do \
+         if test -f $$p; then \
+           list2="$$list2 $$p"; \
+         else :; fi; \
+       done; \
+       test -z "$$list2" || { \
+         echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
+         $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
+       }
+
+uninstall-libLTLIBRARIES:
+       @$(NORMAL_UNINSTALL)
+       @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
+       for p in $$list; do \
+         $(am__strip_dir) \
+         echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \
+         $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \
+       done
+
+clean-libLTLIBRARIES:
+       -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
+       @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
+         dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
+         test "$$dir" != "$$p" || dir=.; \
+         echo "rm -f \"$${dir}/so_locations\""; \
+         rm -f "$${dir}/so_locations"; \
+       done
+install-moduleLTLIBRARIES: $(module_LTLIBRARIES)
+       @$(NORMAL_INSTALL)
+       test -z "$(moduledir)" || $(MKDIR_P) "$(DESTDIR)$(moduledir)"
+       @list='$(module_LTLIBRARIES)'; test -n "$(moduledir)" || list=; \
+       list2=; for p in $$list; do \
+         if test -f $$p; then \
+           list2="$$list2 $$p"; \
+         else :; fi; \
+       done; \
+       test -z "$$list2" || { \
+         echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(moduledir)'"; \
+         $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(moduledir)"; \
+       }
+
+uninstall-moduleLTLIBRARIES:
+       @$(NORMAL_UNINSTALL)
+       @list='$(module_LTLIBRARIES)'; test -n "$(moduledir)" || list=; \
+       for p in $$list; do \
+         $(am__strip_dir) \
+         echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(moduledir)/$$f'"; \
+         $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(moduledir)/$$f"; \
+       done
+
+clean-moduleLTLIBRARIES:
+       -test -z "$(module_LTLIBRARIES)" || rm -f $(module_LTLIBRARIES)
+       @list='$(module_LTLIBRARIES)'; for p in $$list; do \
+         dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
+         test "$$dir" != "$$p" || dir=.; \
+         echo "rm -f \"$${dir}/so_locations\""; \
+         rm -f "$${dir}/so_locations"; \
+       done
+ico_input_mgr.la: $(ico_input_mgr_la_OBJECTS) $(ico_input_mgr_la_DEPENDENCIES) 
+       $(AM_V_CCLD)$(ico_input_mgr_la_LINK) -rpath $(moduledir) $(ico_input_mgr_la_OBJECTS) $(ico_input_mgr_la_LIBADD) $(LIBS)
+ico_ivi_common.la: $(ico_ivi_common_la_OBJECTS) $(ico_ivi_common_la_DEPENDENCIES) 
+       $(AM_V_CCLD)$(ico_ivi_common_la_LINK) -rpath $(moduledir) $(ico_ivi_common_la_OBJECTS) $(ico_ivi_common_la_LIBADD) $(LIBS)
+ico_ivi_shell.la: $(ico_ivi_shell_la_OBJECTS) $(ico_ivi_shell_la_DEPENDENCIES) 
+       $(AM_V_CCLD)$(ico_ivi_shell_la_LINK) -rpath $(moduledir) $(ico_ivi_shell_la_OBJECTS) $(ico_ivi_shell_la_LIBADD) $(LIBS)
+ico_plugin_loader.la: $(ico_plugin_loader_la_OBJECTS) $(ico_plugin_loader_la_DEPENDENCIES) 
+       $(AM_V_CCLD)$(ico_plugin_loader_la_LINK) -rpath $(moduledir) $(ico_plugin_loader_la_OBJECTS) $(ico_plugin_loader_la_LIBADD) $(LIBS)
+ico_window_mgr.la: $(ico_window_mgr_la_OBJECTS) $(ico_window_mgr_la_DEPENDENCIES) 
+       $(AM_V_CCLD)$(ico_window_mgr_la_LINK) -rpath $(moduledir) $(ico_window_mgr_la_OBJECTS) $(ico_window_mgr_la_LIBADD) $(LIBS)
+libico-uxf-weston-plugin.la: $(libico_uxf_weston_plugin_la_OBJECTS) $(libico_uxf_weston_plugin_la_DEPENDENCIES) 
+       $(AM_V_CCLD)$(libico_uxf_weston_plugin_la_LINK) -rpath $(libdir) $(libico_uxf_weston_plugin_la_OBJECTS) $(libico_uxf_weston_plugin_la_LIBADD) $(LIBS)
+
+mostlyclean-compile:
+       -rm -f *.$(OBJEXT)
+
+distclean-compile:
+       -rm -f *.tab.c
+
+include ./$(DEPDIR)/ico_input_mgr-protocol.Plo
+include ./$(DEPDIR)/ico_input_mgr_la-ico_input_mgr-protocol.Plo
+include ./$(DEPDIR)/ico_input_mgr_la-ico_input_mgr.Plo
+include ./$(DEPDIR)/ico_ivi_common_la-config-parser.Plo
+include ./$(DEPDIR)/ico_ivi_common_la-ico_ivi_common.Plo
+include ./$(DEPDIR)/ico_ivi_shell-protocol.Plo
+include ./$(DEPDIR)/ico_ivi_shell_la-config-parser.Plo
+include ./$(DEPDIR)/ico_ivi_shell_la-ico_ivi_shell-protocol.Plo
+include ./$(DEPDIR)/ico_ivi_shell_la-ico_ivi_shell.Plo
+include ./$(DEPDIR)/ico_plugin_loader_la-config-parser.Plo
+include ./$(DEPDIR)/ico_plugin_loader_la-ico_plugin_loader.Plo
+include ./$(DEPDIR)/ico_window_mgr-protocol.Plo
+include ./$(DEPDIR)/ico_window_mgr_la-ico_window_mgr-protocol.Plo
+include ./$(DEPDIR)/ico_window_mgr_la-ico_window_mgr.Plo
+
+.c.o:
+       $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+       $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+#      $(AM_V_CC) \
+#      source='$<' object='$@' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(COMPILE) -c $<
+
+.c.obj:
+       $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+       $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+#      $(AM_V_CC) \
+#      source='$<' object='$@' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(COMPILE) -c `$(CYGPATH_W) '$<'`
+
+.c.lo:
+       $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+       $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+#      $(AM_V_CC) \
+#      source='$<' object='$@' libtool=yes \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(LTCOMPILE) -c -o $@ $<
+
+ico_input_mgr_la-ico_input_mgr.lo: ico_input_mgr.c
+       $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ico_input_mgr_la_CFLAGS) $(CFLAGS) -MT ico_input_mgr_la-ico_input_mgr.lo -MD -MP -MF $(DEPDIR)/ico_input_mgr_la-ico_input_mgr.Tpo -c -o ico_input_mgr_la-ico_input_mgr.lo `test -f 'ico_input_mgr.c' || echo '$(srcdir)/'`ico_input_mgr.c
+       $(AM_V_at)$(am__mv) $(DEPDIR)/ico_input_mgr_la-ico_input_mgr.Tpo $(DEPDIR)/ico_input_mgr_la-ico_input_mgr.Plo
+#      $(AM_V_CC) \
+#      source='ico_input_mgr.c' object='ico_input_mgr_la-ico_input_mgr.lo' libtool=yes \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ico_input_mgr_la_CFLAGS) $(CFLAGS) -c -o ico_input_mgr_la-ico_input_mgr.lo `test -f 'ico_input_mgr.c' || echo '$(srcdir)/'`ico_input_mgr.c
+
+ico_input_mgr_la-ico_input_mgr-protocol.lo: ico_input_mgr-protocol.c
+       $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ico_input_mgr_la_CFLAGS) $(CFLAGS) -MT ico_input_mgr_la-ico_input_mgr-protocol.lo -MD -MP -MF $(DEPDIR)/ico_input_mgr_la-ico_input_mgr-protocol.Tpo -c -o ico_input_mgr_la-ico_input_mgr-protocol.lo `test -f 'ico_input_mgr-protocol.c' || echo '$(srcdir)/'`ico_input_mgr-protocol.c
+       $(AM_V_at)$(am__mv) $(DEPDIR)/ico_input_mgr_la-ico_input_mgr-protocol.Tpo $(DEPDIR)/ico_input_mgr_la-ico_input_mgr-protocol.Plo
+#      $(AM_V_CC) \
+#      source='ico_input_mgr-protocol.c' object='ico_input_mgr_la-ico_input_mgr-protocol.lo' libtool=yes \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ico_input_mgr_la_CFLAGS) $(CFLAGS) -c -o ico_input_mgr_la-ico_input_mgr-protocol.lo `test -f 'ico_input_mgr-protocol.c' || echo '$(srcdir)/'`ico_input_mgr-protocol.c
+
+ico_ivi_common_la-ico_ivi_common.lo: ico_ivi_common.c
+       $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ico_ivi_common_la_CFLAGS) $(CFLAGS) -MT ico_ivi_common_la-ico_ivi_common.lo -MD -MP -MF $(DEPDIR)/ico_ivi_common_la-ico_ivi_common.Tpo -c -o ico_ivi_common_la-ico_ivi_common.lo `test -f 'ico_ivi_common.c' || echo '$(srcdir)/'`ico_ivi_common.c
+       $(AM_V_at)$(am__mv) $(DEPDIR)/ico_ivi_common_la-ico_ivi_common.Tpo $(DEPDIR)/ico_ivi_common_la-ico_ivi_common.Plo
+#      $(AM_V_CC) \
+#      source='ico_ivi_common.c' object='ico_ivi_common_la-ico_ivi_common.lo' libtool=yes \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ico_ivi_common_la_CFLAGS) $(CFLAGS) -c -o ico_ivi_common_la-ico_ivi_common.lo `test -f 'ico_ivi_common.c' || echo '$(srcdir)/'`ico_ivi_common.c
+
+ico_ivi_common_la-config-parser.lo: ../shared/config-parser.c
+       $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ico_ivi_common_la_CFLAGS) $(CFLAGS) -MT ico_ivi_common_la-config-parser.lo -MD -MP -MF $(DEPDIR)/ico_ivi_common_la-config-parser.Tpo -c -o ico_ivi_common_la-config-parser.lo `test -f '../shared/config-parser.c' || echo '$(srcdir)/'`../shared/config-parser.c
+       $(AM_V_at)$(am__mv) $(DEPDIR)/ico_ivi_common_la-config-parser.Tpo $(DEPDIR)/ico_ivi_common_la-config-parser.Plo
+#      $(AM_V_CC) \
+#      source='../shared/config-parser.c' object='ico_ivi_common_la-config-parser.lo' libtool=yes \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ico_ivi_common_la_CFLAGS) $(CFLAGS) -c -o ico_ivi_common_la-config-parser.lo `test -f '../shared/config-parser.c' || echo '$(srcdir)/'`../shared/config-parser.c
+
+ico_ivi_shell_la-ico_ivi_shell.lo: ico_ivi_shell.c
+       $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ico_ivi_shell_la_CFLAGS) $(CFLAGS) -MT ico_ivi_shell_la-ico_ivi_shell.lo -MD -MP -MF $(DEPDIR)/ico_ivi_shell_la-ico_ivi_shell.Tpo -c -o ico_ivi_shell_la-ico_ivi_shell.lo `test -f 'ico_ivi_shell.c' || echo '$(srcdir)/'`ico_ivi_shell.c
+       $(AM_V_at)$(am__mv) $(DEPDIR)/ico_ivi_shell_la-ico_ivi_shell.Tpo $(DEPDIR)/ico_ivi_shell_la-ico_ivi_shell.Plo
+#      $(AM_V_CC) \
+#      source='ico_ivi_shell.c' object='ico_ivi_shell_la-ico_ivi_shell.lo' libtool=yes \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ico_ivi_shell_la_CFLAGS) $(CFLAGS) -c -o ico_ivi_shell_la-ico_ivi_shell.lo `test -f 'ico_ivi_shell.c' || echo '$(srcdir)/'`ico_ivi_shell.c
+
+ico_ivi_shell_la-config-parser.lo: ../shared/config-parser.c
+       $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ico_ivi_shell_la_CFLAGS) $(CFLAGS) -MT ico_ivi_shell_la-config-parser.lo -MD -MP -MF $(DEPDIR)/ico_ivi_shell_la-config-parser.Tpo -c -o ico_ivi_shell_la-config-parser.lo `test -f '../shared/config-parser.c' || echo '$(srcdir)/'`../shared/config-parser.c
+       $(AM_V_at)$(am__mv) $(DEPDIR)/ico_ivi_shell_la-config-parser.Tpo $(DEPDIR)/ico_ivi_shell_la-config-parser.Plo
+#      $(AM_V_CC) \
+#      source='../shared/config-parser.c' object='ico_ivi_shell_la-config-parser.lo' libtool=yes \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ico_ivi_shell_la_CFLAGS) $(CFLAGS) -c -o ico_ivi_shell_la-config-parser.lo `test -f '../shared/config-parser.c' || echo '$(srcdir)/'`../shared/config-parser.c
+
+ico_ivi_shell_la-ico_ivi_shell-protocol.lo: ico_ivi_shell-protocol.c
+       $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ico_ivi_shell_la_CFLAGS) $(CFLAGS) -MT ico_ivi_shell_la-ico_ivi_shell-protocol.lo -MD -MP -MF $(DEPDIR)/ico_ivi_shell_la-ico_ivi_shell-protocol.Tpo -c -o ico_ivi_shell_la-ico_ivi_shell-protocol.lo `test -f 'ico_ivi_shell-protocol.c' || echo '$(srcdir)/'`ico_ivi_shell-protocol.c
+       $(AM_V_at)$(am__mv) $(DEPDIR)/ico_ivi_shell_la-ico_ivi_shell-protocol.Tpo $(DEPDIR)/ico_ivi_shell_la-ico_ivi_shell-protocol.Plo
+#      $(AM_V_CC) \
+#      source='ico_ivi_shell-protocol.c' object='ico_ivi_shell_la-ico_ivi_shell-protocol.lo' libtool=yes \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ico_ivi_shell_la_CFLAGS) $(CFLAGS) -c -o ico_ivi_shell_la-ico_ivi_shell-protocol.lo `test -f 'ico_ivi_shell-protocol.c' || echo '$(srcdir)/'`ico_ivi_shell-protocol.c
+
+ico_plugin_loader_la-ico_plugin_loader.lo: ico_plugin_loader.c
+       $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ico_plugin_loader_la_CFLAGS) $(CFLAGS) -MT ico_plugin_loader_la-ico_plugin_loader.lo -MD -MP -MF $(DEPDIR)/ico_plugin_loader_la-ico_plugin_loader.Tpo -c -o ico_plugin_loader_la-ico_plugin_loader.lo `test -f 'ico_plugin_loader.c' || echo '$(srcdir)/'`ico_plugin_loader.c
+       $(AM_V_at)$(am__mv) $(DEPDIR)/ico_plugin_loader_la-ico_plugin_loader.Tpo $(DEPDIR)/ico_plugin_loader_la-ico_plugin_loader.Plo
+#      $(AM_V_CC) \
+#      source='ico_plugin_loader.c' object='ico_plugin_loader_la-ico_plugin_loader.lo' libtool=yes \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ico_plugin_loader_la_CFLAGS) $(CFLAGS) -c -o ico_plugin_loader_la-ico_plugin_loader.lo `test -f 'ico_plugin_loader.c' || echo '$(srcdir)/'`ico_plugin_loader.c
+
+ico_plugin_loader_la-config-parser.lo: ../shared/config-parser.c
+       $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ico_plugin_loader_la_CFLAGS) $(CFLAGS) -MT ico_plugin_loader_la-config-parser.lo -MD -MP -MF $(DEPDIR)/ico_plugin_loader_la-config-parser.Tpo -c -o ico_plugin_loader_la-config-parser.lo `test -f '../shared/config-parser.c' || echo '$(srcdir)/'`../shared/config-parser.c
+       $(AM_V_at)$(am__mv) $(DEPDIR)/ico_plugin_loader_la-config-parser.Tpo $(DEPDIR)/ico_plugin_loader_la-config-parser.Plo
+#      $(AM_V_CC) \
+#      source='../shared/config-parser.c' object='ico_plugin_loader_la-config-parser.lo' libtool=yes \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ico_plugin_loader_la_CFLAGS) $(CFLAGS) -c -o ico_plugin_loader_la-config-parser.lo `test -f '../shared/config-parser.c' || echo '$(srcdir)/'`../shared/config-parser.c
+
+ico_window_mgr_la-ico_window_mgr.lo: ico_window_mgr.c
+       $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ico_window_mgr_la_CFLAGS) $(CFLAGS) -MT ico_window_mgr_la-ico_window_mgr.lo -MD -MP -MF $(DEPDIR)/ico_window_mgr_la-ico_window_mgr.Tpo -c -o ico_window_mgr_la-ico_window_mgr.lo `test -f 'ico_window_mgr.c' || echo '$(srcdir)/'`ico_window_mgr.c
+       $(AM_V_at)$(am__mv) $(DEPDIR)/ico_window_mgr_la-ico_window_mgr.Tpo $(DEPDIR)/ico_window_mgr_la-ico_window_mgr.Plo
+#      $(AM_V_CC) \
+#      source='ico_window_mgr.c' object='ico_window_mgr_la-ico_window_mgr.lo' libtool=yes \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ico_window_mgr_la_CFLAGS) $(CFLAGS) -c -o ico_window_mgr_la-ico_window_mgr.lo `test -f 'ico_window_mgr.c' || echo '$(srcdir)/'`ico_window_mgr.c
+
+ico_window_mgr_la-ico_window_mgr-protocol.lo: ico_window_mgr-protocol.c
+       $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ico_window_mgr_la_CFLAGS) $(CFLAGS) -MT ico_window_mgr_la-ico_window_mgr-protocol.lo -MD -MP -MF $(DEPDIR)/ico_window_mgr_la-ico_window_mgr-protocol.Tpo -c -o ico_window_mgr_la-ico_window_mgr-protocol.lo `test -f 'ico_window_mgr-protocol.c' || echo '$(srcdir)/'`ico_window_mgr-protocol.c
+       $(AM_V_at)$(am__mv) $(DEPDIR)/ico_window_mgr_la-ico_window_mgr-protocol.Tpo $(DEPDIR)/ico_window_mgr_la-ico_window_mgr-protocol.Plo
+#      $(AM_V_CC) \
+#      source='ico_window_mgr-protocol.c' object='ico_window_mgr_la-ico_window_mgr-protocol.lo' libtool=yes \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ico_window_mgr_la_CFLAGS) $(CFLAGS) -c -o ico_window_mgr_la-ico_window_mgr-protocol.lo `test -f 'ico_window_mgr-protocol.c' || echo '$(srcdir)/'`ico_window_mgr-protocol.c
+
+mostlyclean-libtool:
+       -rm -f *.lo
+
+clean-libtool:
+       -rm -rf .libs _libs
+install-includeHEADERS: $(include_HEADERS)
+       @$(NORMAL_INSTALL)
+       test -z "$(includedir)" || $(MKDIR_P) "$(DESTDIR)$(includedir)"
+       @list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \
+       for p in $$list; do \
+         if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+         echo "$$d$$p"; \
+       done | $(am__base_list) | \
+       while read files; do \
+         echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(includedir)'"; \
+         $(INSTALL_HEADER) $$files "$(DESTDIR)$(includedir)" || exit $$?; \
+       done
+
+uninstall-includeHEADERS:
+       @$(NORMAL_UNINSTALL)
+       @list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \
+       files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+       test -n "$$files" || exit 0; \
+       echo " ( cd '$(DESTDIR)$(includedir)' && rm -f" $$files ")"; \
+       cd "$(DESTDIR)$(includedir)" && rm -f $$files
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+       unique=`for i in $$list; do \
+           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+         done | \
+         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+             END { if (nonempty) { for (i in files) print i; }; }'`; \
+       mkid -fID $$unique
+tags: TAGS
+
+TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+               $(TAGS_FILES) $(LISP)
+       set x; \
+       here=`pwd`; \
+       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+       unique=`for i in $$list; do \
+           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+         done | \
+         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+             END { if (nonempty) { for (i in files) print i; }; }'`; \
+       shift; \
+       if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+         test -n "$$unique" || unique=$$empty_fix; \
+         if test $$# -gt 0; then \
+           $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+             "$$@" $$unique; \
+         else \
+           $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+             $$unique; \
+         fi; \
+       fi
+ctags: CTAGS
+CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+               $(TAGS_FILES) $(LISP)
+       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+       unique=`for i in $$list; do \
+           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+         done | \
+         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+             END { if (nonempty) { for (i in files) print i; }; }'`; \
+       test -z "$(CTAGS_ARGS)$$unique" \
+         || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+            $$unique
+
+GTAGS:
+       here=`$(am__cd) $(top_builddir) && pwd` \
+         && $(am__cd) $(top_srcdir) \
+         && gtags -i $(GTAGS_ARGS) "$$here"
+
+distclean-tags:
+       -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+       @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+       list='$(DISTFILES)'; \
+         dist_files=`for file in $$list; do echo $$file; done | \
+         sed -e "s|^$$srcdirstrip/||;t" \
+             -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+       case $$dist_files in \
+         */*) $(MKDIR_P) `echo "$$dist_files" | \
+                          sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+                          sort -u` ;; \
+       esac; \
+       for file in $$dist_files; do \
+         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+         if test -d $$d/$$file; then \
+           dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+           if test -d "$(distdir)/$$file"; then \
+             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+           fi; \
+           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+             cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+           fi; \
+           cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+         else \
+           test -f "$(distdir)/$$file" \
+           || cp -p $$d/$$file "$(distdir)/$$file" \
+           || exit 1; \
+         fi; \
+       done
+check-am: all-am
+check: $(BUILT_SOURCES)
+       $(MAKE) $(AM_MAKEFLAGS) check-am
+all-am: Makefile $(LTLIBRARIES) $(HEADERS)
+installdirs:
+       for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(moduledir)" "$(DESTDIR)$(includedir)"; do \
+         test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+       done
+install: $(BUILT_SOURCES)
+       $(MAKE) $(AM_MAKEFLAGS) install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+       @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+       $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+         install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+         `test -z '$(STRIP)' || \
+           echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+       -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+       -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+       -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+       @echo "This command is intended for maintainers to use"
+       @echo "it deletes files that may require special tools to rebuild."
+       -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+clean: clean-am
+
+clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \
+       clean-moduleLTLIBRARIES mostlyclean-am
+
+distclean: distclean-am
+       -rm -rf ./$(DEPDIR)
+       -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+       distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-includeHEADERS install-moduleLTLIBRARIES
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am: install-libLTLIBRARIES
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+       -rm -rf ./$(DEPDIR)
+       -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+       mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-includeHEADERS uninstall-libLTLIBRARIES \
+       uninstall-moduleLTLIBRARIES
+
+.MAKE: all check install install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+       clean-libLTLIBRARIES clean-libtool clean-moduleLTLIBRARIES \
+       ctags distclean distclean-compile distclean-generic \
+       distclean-libtool distclean-tags distdir dvi dvi-am html \
+       html-am info info-am install install-am install-data \
+       install-data-am install-dvi install-dvi-am install-exec \
+       install-exec-am install-html install-html-am \
+       install-includeHEADERS install-info install-info-am \
+       install-libLTLIBRARIES install-man install-moduleLTLIBRARIES \
+       install-pdf install-pdf-am install-ps install-ps-am \
+       install-strip installcheck installcheck-am installdirs \
+       maintainer-clean maintainer-clean-generic mostlyclean \
+       mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+       pdf pdf-am ps ps-am tags uninstall uninstall-am \
+       uninstall-includeHEADERS uninstall-libLTLIBRARIES \
+       uninstall-moduleLTLIBRARIES
+
+
+git-version.h : .FORCE
+       $(AM_V_GEN)(echo "#define BUILD_ID \"$(shell git --work-tree=$(top_srcdir) describe --always --dirty) $(shell git --work-tree=$(top_srcdir) log -1 --format='%s (%ci)')\"" > $@-new; \
+       cmp -s $@ $@-new || cp $@-new $@; \
+       rm $@-new)
+
+.FORCE :
+
+%-protocol.c : $(wayland_protocoldir)/%.xml
+       $(AM_V_GEN)$(wayland_scanner) code < $< > $@
+
+%-server-protocol.h : $(wayland_protocoldir)/%.xml
+       $(AM_V_GEN)$(wayland_scanner) server-header < $< > $@
+
+%-client-protocol.h : $(wayland_protocoldir)/%.xml
+       $(AM_V_GEN)$(wayland_scanner) client-header < $< > $@
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/src/Makefile.am b/src/Makefile.am
new file mode 100644 (file)
index 0000000..9401246
--- /dev/null
@@ -0,0 +1,103 @@
+lib_LTLIBRARIES = libico-uxf-weston-plugin.la
+
+include_HEADERS =               \
+       ico_ivi_shell-client-protocol.h         \
+       ico_window_mgr-client-protocol.h        \
+       ico_input_mgr-client-protocol.h
+
+includedir = /usr/include/ico-uxf-weston-plugin
+
+libico_uxf_weston_plugin_la_LIBADD = -lrt -lm
+libico_uxf_weston_plugin_la_LDFLAGS = -version-info 0:5:0
+libico_uxf_weston_plugin_la_SOURCES =          \
+       ico_ivi_shell-protocol.c                        \
+       ico_window_mgr-protocol.c                       \
+       ico_input_mgr-protocol.c
+
+AM_CPPFLAGS =                                  \
+       -DDATADIR='"$(datadir)"'                \
+       -DMODULEDIR='"$(moduledir)"'            \
+       -DLIBEXECDIR='"$(libexecdir)"'
+
+EXT_CFLAGS =
+
+git-version.h : .FORCE
+       $(AM_V_GEN)(echo "#define BUILD_ID \"$(shell git --work-tree=$(top_srcdir) describe --always --dirty) $(shell git --work-tree=$(top_srcdir) log -1 --format='%s (%ci)')\"" > $@-new; \
+       cmp -s $@ $@-new || cp $@-new $@; \
+       rm $@-new)
+
+.FORCE :
+
+moduledir = @libdir@/weston
+module_LTLIBRARIES =           \
+       $(ico_plugin_loader)    \
+       $(ico_ivi_common)               \
+       $(ico_ivi_shell)                \
+       $(ico_window_mgr)               \
+       $(ico_input_mgr)
+
+#      $(ico_input_mgr)
+
+# Weston Plugin Loader
+ico_plugin_loader = ico_plugin_loader.la
+ico_plugin_loader_la_LDFLAGS = -module -avoid-version
+ico_plugin_loader_la_LIBADD = $(COMPOSITOR_LIBS)
+ico_plugin_loader_la_CFLAGS = $(GCC_CFLAGS) $(EXT_CFLAGS) $(COMPOSITOR_CFLAGS)
+ico_plugin_loader_la_SOURCES =          \
+       ico_plugin_loader.c ../shared/config-parser.c
+
+# IVI Common Functions
+ico_ivi_common = ico_ivi_common.la
+ico_ivi_common_la_LDFLAGS = -module -avoid-version
+ico_ivi_common_la_LIBADD = $(COMPOSITOR_LIBS)
+ico_ivi_common_la_CFLAGS = $(GCC_CFLAGS) $(EXT_CFLAGS) $(COMPOSITOR_CFLAGS)
+ico_ivi_common_la_SOURCES =          \
+       ico_ivi_common.c ../shared/config-parser.c
+
+# IVI-Shell
+ico_ivi_shell = ico_ivi_shell.la
+ico_ivi_shell_la_LDFLAGS = -module -avoid-version
+ico_ivi_shell_la_LIBADD = $(COMPOSITOR_LIBS)
+ico_ivi_shell_la_CFLAGS = $(GCC_CFLAGS) $(EXT_CFLAGS) $(COMPOSITOR_CFLAGS)
+ico_ivi_shell_la_SOURCES =                     \
+       ico_ivi_shell.c                                 \
+       ../shared/config-parser.c               \
+       ico_ivi_shell-protocol.c                \
+       ico_ivi_shell-server-protocol.h
+
+# Multi Window Manager
+ico_window_mgr = ico_window_mgr.la
+ico_window_mgr_la_LDFLAGS = -module -avoid-version
+ico_window_mgr_la_LIBADD = $(COMPOSITOR_LIBS) $(AUL_LIBS)
+ico_window_mgr_la_CFLAGS = $(GCC_CFLAGS) $(EXT_CFLAGS) $(COMPOSITOR_CFLAGS)
+ico_window_mgr_la_SOURCES =                    \
+       ico_window_mgr.c                                \
+       ico_window_mgr-protocol.c               \
+       ico_window_mgr-server-protocol.h
+
+# Multi Input Manager
+ico_input_mgr = ico_input_mgr.la
+ico_input_mgr_la_LDFLAGS = -module -avoid-version
+ico_input_mgr_la_LIBADD = $(COMPOSITOR_LIBS)
+ico_input_mgr_la_CFLAGS = $(GCC_CFLAGS) $(EXT_CFLAGS) $(COMPOSITOR_CFLAGS)
+ico_input_mgr_la_SOURCES =                     \
+       ico_input_mgr.c                                 \
+       ico_input_mgr-protocol.c                \
+       ico_input_mgr-server-protocol.h
+
+# Wayland protocol(Build by wayland-scanner)
+BUILT_SOURCES =                                                        \
+       ico_ivi_shell-protocol.c                        \
+       ico_ivi_shell-server-protocol.h         \
+       ico_ivi_shell-client-protocol.h         \
+       ico_window_mgr-protocol.c                       \
+       ico_window_mgr-server-protocol.h        \
+       ico_window_mgr-client-protocol.h        \
+       ico_input_mgr-protocol.c                        \
+       ico_input_mgr-server-protocol.h         \
+       ico_input_mgr-client-protocol.h         \
+       git-version.h
+
+CLEANFILES = $(BUILT_SOURCES)
+
+@wayland_scanner_rules@
diff --git a/src/compositor.h b/src/compositor.h
new file mode 100644 (file)
index 0000000..d2ae587
--- /dev/null
@@ -0,0 +1,841 @@
+/*
+ * Copyright Â© 2008-2011 Kristian Høgsberg
+ * Copyright Â© 2012 Collabora, Ltd.
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and
+ * its documentation for any purpose is hereby granted without fee, provided
+ * that the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation, and that the name of the copyright holders not be used in
+ * advertising or publicity pertaining to distribution of the software
+ * without specific, written prior permission.  The copyright holders make
+ * no representations about the suitability of this software for any
+ * purpose.  It is provided "as is" without express or implied warranty.
+ *
+ * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
+ * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
+ * FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
+ * SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
+ * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
+ * CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
+ * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+
+#ifndef _WAYLAND_SYSTEM_COMPOSITOR_H_
+#define _WAYLAND_SYSTEM_COMPOSITOR_H_
+
+#include <pixman.h>
+#include <xkbcommon/xkbcommon.h>
+#include <wayland-server.h>
+
+#include <GLES2/gl2.h>
+#include <GLES2/gl2ext.h>
+#include <EGL/egl.h>
+#include <EGL/eglext.h>
+
+/* #include "version.h" */
+#include "matrix.h"
+#include "config-parser.h"
+
+#define ARRAY_LENGTH(a) (sizeof (a) / sizeof (a)[0])
+
+#define container_of(ptr, type, member) ({              \
+    const __typeof__( ((type *)0)->member ) *__mptr = (ptr);    \
+    (type *)( (char *)__mptr - offsetof(type,member) );})
+
+struct weston_transform {
+    struct weston_matrix matrix;
+    struct wl_list link;
+};
+
+struct weston_surface;
+struct shell_surface;
+struct weston_seat;
+struct weston_output;
+struct input_method;
+
+enum weston_keyboard_modifier {
+    MODIFIER_CTRL = (1 << 0),
+    MODIFIER_ALT = (1 << 1),
+    MODIFIER_SUPER = (1 << 2),
+    MODIFIER_SHIFT = (1 << 3),
+};
+
+enum weston_led {
+    LED_NUM_LOCK = (1 << 0),
+    LED_CAPS_LOCK = (1 << 1),
+    LED_SCROLL_LOCK = (1 << 2),
+};
+
+struct weston_mode {
+    uint32_t flags;
+    int32_t width, height;
+    uint32_t refresh;
+    struct wl_list link;
+};
+
+struct weston_shell_client {
+    void (*send_configure)(struct weston_surface *surface,
+                   uint32_t edges, int32_t width, int32_t height);
+};
+
+struct weston_shell_interface {
+    void *shell;            /* either desktop or tablet */
+
+    struct shell_surface *(*create_shell_surface)(void *shell,
+                              struct weston_surface *surface,
+                              const struct weston_shell_client *client);
+
+    void (*set_toplevel)(struct shell_surface *shsurf);
+
+    void (*set_transient)(struct shell_surface *shsurf,
+                  struct weston_surface *parent,
+                  int x, int y, uint32_t flags);
+    int (*move)(struct shell_surface *shsurf, struct weston_seat *ws);
+    int (*resize)(struct shell_surface *shsurf,
+              struct weston_seat *ws, uint32_t edges);
+
+};
+
+struct weston_border {
+    int32_t left, right, top, bottom;
+};
+
+struct weston_animation {
+    void (*frame)(struct weston_animation *animation,
+              struct weston_output *output, uint32_t msecs);
+    int frame_counter;
+    struct wl_list link;
+};
+
+struct weston_spring {
+    double k;
+    double friction;
+    double current;
+    double target;
+    double previous;
+    uint32_t timestamp;
+};
+
+enum {
+    ZOOM_FOCUS_POINTER,
+    ZOOM_FOCUS_TEXT
+};
+
+struct weston_fixed_point {
+    wl_fixed_t x, y;
+};
+
+struct weston_output_zoom {
+    int active;
+    uint32_t type;
+    float increment;
+    float level;
+    float max_level;
+    float trans_x, trans_y;
+    struct weston_animation animation_z;
+    struct weston_spring spring_z;
+    struct weston_animation animation_xy;
+    struct weston_spring spring_xy;
+    struct weston_fixed_point from;
+    struct weston_fixed_point to;
+    struct weston_fixed_point current;
+    struct weston_fixed_point text_cursor;
+};
+
+/* bit compatible with drm definitions. */
+enum dpms_enum {
+    WESTON_DPMS_ON,
+    WESTON_DPMS_STANDBY,
+    WESTON_DPMS_SUSPEND,
+    WESTON_DPMS_OFF
+};
+
+struct weston_output {
+    uint32_t id;
+
+    EGLSurface egl_surface;
+    struct wl_list link;
+    struct wl_list resource_list;
+    struct wl_global *global;
+    struct weston_compositor *compositor;
+    struct weston_matrix matrix;
+    struct wl_list animation_list;
+    int32_t x, y, width, height;
+    int32_t mm_width, mm_height;
+    struct weston_border border;
+    pixman_region32_t region;
+    int current_buffer;
+    pixman_region32_t buffer_damage[2];
+    int repaint_needed;
+    int repaint_scheduled;
+    struct weston_output_zoom zoom;
+    int dirty;
+    struct wl_signal frame_signal;
+    uint32_t frame_time;
+    int disable_planes;
+
+    char *make, *model;
+    uint32_t subpixel;
+    uint32_t transform;
+    
+    struct weston_mode *current;
+    struct weston_mode *origin;
+    struct wl_list mode_list;
+
+    void (*repaint)(struct weston_output *output,
+            pixman_region32_t *damage);
+    void (*destroy)(struct weston_output *output);
+    void (*assign_planes)(struct weston_output *output);
+    int (*switch_mode)(struct weston_output *output, struct weston_mode *mode);
+
+    /* backlight values are on 0-255 range, where higher is brighter */
+    uint32_t backlight_current;
+    void (*set_backlight)(struct weston_output *output, uint32_t value);
+    void (*set_dpms)(struct weston_output *output, enum dpms_enum level);
+};
+
+struct weston_xkb_info {
+    struct xkb_keymap *keymap;
+    int keymap_fd;
+    size_t keymap_size;
+    char *keymap_area;
+    xkb_mod_index_t shift_mod;
+    xkb_mod_index_t caps_mod;
+    xkb_mod_index_t ctrl_mod;
+    xkb_mod_index_t alt_mod;
+    xkb_mod_index_t mod2_mod;
+    xkb_mod_index_t mod3_mod;
+    xkb_mod_index_t super_mod;
+    xkb_mod_index_t mod5_mod;
+    xkb_led_index_t num_led;
+    xkb_led_index_t caps_led;
+    xkb_led_index_t scroll_led;
+};
+
+struct weston_seat {
+    struct wl_seat seat;
+    struct wl_pointer pointer;
+    int has_pointer;
+    struct wl_keyboard keyboard;
+    int has_keyboard;
+    struct wl_touch touch;
+    int has_touch;
+
+    struct weston_compositor *compositor;
+    struct weston_surface *sprite;
+    struct wl_listener sprite_destroy_listener;
+    struct weston_surface *drag_surface;
+    struct wl_listener drag_surface_destroy_listener;
+    int32_t hotspot_x, hotspot_y;
+    struct wl_list link;
+    enum weston_keyboard_modifier modifier_state;
+    struct wl_surface *saved_kbd_focus;
+    struct wl_listener saved_kbd_focus_listener;
+
+    uint32_t num_tp;
+
+    struct wl_listener new_drag_icon_listener;
+
+    void (*led_update)(struct weston_seat *ws, enum weston_led leds);
+
+    struct weston_xkb_info xkb_info;
+    struct {
+        struct xkb_state *state;
+        enum weston_led leds;
+    } xkb_state;
+
+    struct input_method *input_method;
+};
+
+struct weston_shader {
+    GLuint program;
+    GLuint vertex_shader, fragment_shader;
+    GLint proj_uniform;
+    GLint tex_uniforms[3];
+    GLint alpha_uniform;
+    GLint color_uniform;
+};
+
+enum {
+    WESTON_COMPOSITOR_ACTIVE,
+    WESTON_COMPOSITOR_IDLE,     /* shell->unlock called on activity */
+    WESTON_COMPOSITOR_SLEEPING  /* no rendering, no frame events */
+};
+
+struct weston_layer {
+    struct wl_list surface_list;
+    struct wl_list link;
+};
+
+struct weston_plane {
+    pixman_region32_t damage;
+    pixman_region32_t opaque;
+    int32_t x, y;
+};
+
+struct weston_renderer {
+    void (*repaint_output)(struct weston_output *output,
+                   pixman_region32_t *output_damage);
+    void (*flush_damage)(struct weston_surface *surface);
+    void (*attach)(struct weston_surface *es, struct wl_buffer *buffer);
+    void (*destroy_surface)(struct weston_surface *surface);
+};
+
+struct weston_compositor {
+    struct wl_signal destroy_signal;
+
+    EGLDisplay egl_display;
+    EGLContext egl_context;
+    EGLConfig egl_config;
+    struct weston_shader texture_shader_rgba;
+    struct weston_shader texture_shader_rgbx;
+    struct weston_shader texture_shader_egl_external;
+    struct weston_shader texture_shader_y_uv;
+    struct weston_shader texture_shader_y_u_v;
+    struct weston_shader texture_shader_y_xuxv;
+    struct weston_shader solid_shader;
+    struct weston_shader *current_shader;
+    struct wl_display *wl_display;
+    struct weston_shell_interface shell_interface;
+
+    struct wl_signal activate_signal;
+    struct wl_signal kill_signal;
+    struct wl_signal lock_signal;
+    struct wl_signal unlock_signal;
+
+    struct wl_signal show_input_panel_signal;
+    struct wl_signal hide_input_panel_signal;
+
+    struct wl_event_loop *input_loop;
+    struct wl_event_source *input_loop_source;
+
+    struct weston_layer fade_layer;
+    struct weston_layer cursor_layer;
+
+    struct wl_list output_list;
+    struct wl_list seat_list;
+    struct wl_list layer_list;
+    struct wl_list surface_list;
+    struct wl_list key_binding_list;
+    struct wl_list button_binding_list;
+    struct wl_list axis_binding_list;
+    struct {
+        struct weston_spring spring;
+        struct weston_animation animation;
+        struct weston_surface *surface;
+    } fade;
+
+    uint32_t state;
+    struct wl_event_source *idle_source;
+    uint32_t idle_inhibit;
+    int option_idle_time;       /* default timeout, s */
+    int idle_time;          /* effective timeout, s */
+
+    /* Repaint state. */
+    struct wl_array vertices;
+    struct wl_array indices; /* only used in compositor-wayland */
+    struct wl_array vtxcnt;
+    struct weston_plane primary_plane;
+    int fan_debug;
+
+    uint32_t focus;
+
+    struct weston_renderer *renderer;
+
+    PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGEOESPROC
+        image_target_renderbuffer_storage;
+    PFNGLEGLIMAGETARGETTEXTURE2DOESPROC image_target_texture_2d;
+    PFNEGLCREATEIMAGEKHRPROC create_image;
+    PFNEGLDESTROYIMAGEKHRPROC destroy_image;
+
+    int has_unpack_subimage;
+    GLenum read_format;
+
+    PFNEGLBINDWAYLANDDISPLAYWL bind_display;
+    PFNEGLUNBINDWAYLANDDISPLAYWL unbind_display;
+    PFNEGLQUERYWAYLANDBUFFERWL query_buffer;
+    int has_bind_display;
+
+    void (*destroy)(struct weston_compositor *ec);
+    void (*restore)(struct weston_compositor *ec);
+    int (*authenticate)(struct weston_compositor *c, uint32_t id);
+
+    void (*ping_handler)(struct weston_surface *surface, uint32_t serial);
+
+    int launcher_sock;
+
+    uint32_t output_id_pool;
+
+    struct xkb_rule_names xkb_names;
+    struct xkb_context *xkb_context;
+    struct weston_xkb_info xkb_info;
+};
+
+struct weston_region {
+    struct wl_resource resource;
+    pixman_region32_t region;
+};
+
+/* Using weston_surface transformations
+ *
+ * To add a transformation to a surface, create a struct weston_transform, and
+ * add it to the list surface->geometry.transformation_list. Whenever you
+ * change the list, anything under surface->geometry, or anything in the
+ * weston_transforms linked into the list, you must set
+ * surface->geometry.dirty = 1.
+ *
+ * The order in the list defines the order of transformations. Let the list
+ * contain the transformation matrices M1, ..., Mn as head to tail. The
+ * transformation is applied to surface-local coordinate vector p as
+ *    P = Mn * ... * M2 * M1 * p
+ * to produce the global coordinate vector P. The total transform
+ *    Mn * ... * M2 * M1
+ * is cached in surface->transform.matrix, and the inverse of it in
+ * surface->transform.inverse.
+ *
+ * The list always contains surface->transform.position transformation, which
+ * is the translation by surface->geometry.x and y.
+ *
+ * If you want to apply a transformation in local coordinates, add your
+ * weston_transform to the head of the list. If you want to apply a
+ * transformation in global coordinates, add it to the tail of the list.
+ */
+
+struct weston_surface {
+    struct wl_surface surface;
+    struct weston_compositor *compositor;
+    GLuint textures[3];
+    int num_textures;
+    pixman_region32_t clip;
+    pixman_region32_t damage;
+    pixman_region32_t opaque;
+    pixman_region32_t input;
+    int32_t pitch;
+    struct wl_list link;
+    struct wl_list layer_link;
+    struct weston_shader *shader;
+    GLfloat color[4];
+    float alpha;
+    struct weston_plane *plane;
+
+    /* Surface geometry state, mutable.
+     * If you change anything, set dirty = 1.
+     * That includes the transformations referenced from the list.
+     */
+    struct {
+        float x, y; /* surface translation on display */
+        int32_t width, height;
+
+        /* struct weston_transform */
+        struct wl_list transformation_list;
+
+        int dirty;
+    } geometry;
+
+    /* State derived from geometry state, read-only.
+     * This is updated by weston_surface_update_transform().
+     */
+    struct {
+        pixman_region32_t boundingbox;
+        pixman_region32_t opaque;
+
+        /* matrix and inverse are used only if enabled = 1.
+         * If enabled = 0, use x, y, width, height directly.
+         */
+        int enabled;
+        struct weston_matrix matrix;
+        struct weston_matrix inverse;
+
+        struct weston_transform position; /* matrix from x, y */
+    } transform;
+
+    /*
+     * Which output to vsync this surface to.
+     * Used to determine, whether to send or queue frame events.
+     * Must be NULL, if 'link' is not in weston_compositor::surface_list.
+     */
+    struct weston_output *output;
+
+    /*
+     * A more complete representation of all outputs this surface is
+     * displayed on.
+     */
+    uint32_t output_mask;
+
+    struct wl_list frame_callback_list;
+
+    EGLImageKHR images[3];
+    GLenum target;
+    int num_images;
+
+    struct wl_buffer *buffer;
+    struct wl_listener buffer_destroy_listener;
+
+    /* All the pending state, that wl_surface.commit will apply. */
+    struct {
+        /* wl_surface.attach */
+        int remove_contents;
+        struct wl_buffer *buffer;
+        struct wl_listener buffer_destroy_listener;
+        int32_t sx;
+        int32_t sy;
+
+        /* wl_surface.damage */
+        pixman_region32_t damage;
+
+        /* wl_surface.set_opaque_region */
+        pixman_region32_t opaque;
+
+        /* wl_surface.set_input_region */
+        pixman_region32_t input;
+
+        /* wl_surface.frame */
+        struct wl_list frame_callback_list;
+    } pending;
+
+    /*
+     * If non-NULL, this function will be called on surface::attach after
+     * a new buffer has been set up for this surface. The integer params
+     * are the sx and sy paramerters supplied to surface::attach .
+     */
+    void (*configure)(struct weston_surface *es, int32_t sx, int32_t sy);
+    void *private;
+};
+
+enum weston_key_state_update {
+    STATE_UPDATE_AUTOMATIC,
+    STATE_UPDATE_NONE,
+};
+
+void
+weston_version(int *major, int *minor, int *micro);
+
+void
+weston_surface_update_transform(struct weston_surface *surface);
+
+void
+weston_surface_to_global_fixed(struct weston_surface *surface,
+                   wl_fixed_t sx, wl_fixed_t sy,
+                   wl_fixed_t *x, wl_fixed_t *y);
+void
+weston_surface_to_global_float(struct weston_surface *surface,
+                   float sx, float sy, float *x, float *y);
+
+void
+weston_surface_from_global_float(struct weston_surface *surface,
+                 float x, float y, float *sx, float *sy);
+void
+weston_surface_from_global(struct weston_surface *surface,
+               int32_t x, int32_t y, int32_t *sx, int32_t *sy);
+void
+weston_surface_from_global_fixed(struct weston_surface *surface,
+                     wl_fixed_t x, wl_fixed_t y,
+                     wl_fixed_t *sx, wl_fixed_t *sy);
+
+void
+weston_spring_init(struct weston_spring *spring,
+           double k, double current, double target);
+void
+weston_spring_update(struct weston_spring *spring, uint32_t msec);
+int
+weston_spring_done(struct weston_spring *spring);
+
+void
+weston_surface_activate(struct weston_surface *surface,
+            struct weston_seat *seat);
+void
+notify_motion(struct weston_seat *seat, uint32_t time,
+          wl_fixed_t x, wl_fixed_t y);
+void
+notify_button(struct weston_seat *seat, uint32_t time, int32_t button,
+          enum wl_pointer_button_state state);
+void
+notify_axis(struct weston_seat *seat, uint32_t time, uint32_t axis,
+        wl_fixed_t value);
+void
+notify_key(struct weston_seat *seat, uint32_t time, uint32_t key,
+       enum wl_keyboard_key_state state,
+       enum weston_key_state_update update_state);
+void
+notify_modifiers(struct weston_seat *seat, uint32_t serial);
+
+void
+notify_pointer_focus(struct weston_seat *seat, struct weston_output *output,
+             wl_fixed_t x, wl_fixed_t y);
+
+void
+notify_keyboard_focus_in(struct weston_seat *seat, struct wl_array *keys,
+             enum weston_key_state_update update_state);
+void
+notify_keyboard_focus_out(struct weston_seat *seat);
+
+void
+notify_touch(struct weston_seat *seat, uint32_t time, int touch_id,
+         wl_fixed_t x, wl_fixed_t y, int touch_type);
+
+void
+weston_layer_init(struct weston_layer *layer, struct wl_list *below);
+
+void
+weston_plane_init(struct weston_plane *plane, int32_t x, int32_t y);
+void
+weston_plane_release(struct weston_plane *plane);
+
+void
+weston_output_finish_frame(struct weston_output *output, uint32_t msecs);
+void
+weston_output_schedule_repaint(struct weston_output *output);
+void
+weston_output_damage(struct weston_output *output);
+void
+weston_compositor_schedule_repaint(struct weston_compositor *compositor);
+void
+weston_compositor_fade(struct weston_compositor *compositor, float tint);
+void
+weston_compositor_damage_all(struct weston_compositor *compositor);
+void
+weston_compositor_unlock(struct weston_compositor *compositor);
+void
+weston_compositor_wake(struct weston_compositor *compositor);
+void
+weston_compositor_activity(struct weston_compositor *compositor);
+void
+weston_compositor_update_drag_surfaces(struct weston_compositor *compositor);
+
+
+struct weston_binding;
+typedef void (*weston_key_binding_handler_t)(struct wl_seat *seat,
+                         uint32_t time, uint32_t key,
+                         void *data);
+struct weston_binding *
+weston_compositor_add_key_binding(struct weston_compositor *compositor,
+                  uint32_t key,
+                  enum weston_keyboard_modifier modifier,
+                  weston_key_binding_handler_t binding,
+                  void *data);
+
+typedef void (*weston_button_binding_handler_t)(struct wl_seat *seat,
+                        uint32_t time, uint32_t button,
+                        void *data);
+struct weston_binding *
+weston_compositor_add_button_binding(struct weston_compositor *compositor,
+                     uint32_t button,
+                     enum weston_keyboard_modifier modifier,
+                     weston_button_binding_handler_t binding,
+                     void *data);
+
+typedef void (*weston_axis_binding_handler_t)(struct wl_seat *seat,
+                          uint32_t time, uint32_t axis,
+                          wl_fixed_t value, void *data);
+struct weston_binding *
+weston_compositor_add_axis_binding(struct weston_compositor *compositor,
+                       uint32_t axis,
+                       enum weston_keyboard_modifier modifier,
+                       weston_axis_binding_handler_t binding,
+                   void *data);
+void
+weston_binding_destroy(struct weston_binding *binding);
+
+void
+weston_binding_list_destroy_all(struct wl_list *list);
+
+void
+weston_compositor_run_key_binding(struct weston_compositor *compositor,
+                  struct weston_seat *seat, uint32_t time,
+                  uint32_t key,
+                  enum wl_keyboard_key_state state);
+void
+weston_compositor_run_button_binding(struct weston_compositor *compositor,
+                     struct weston_seat *seat, uint32_t time,
+                     uint32_t button,
+                     enum wl_pointer_button_state value);
+void
+weston_compositor_run_axis_binding(struct weston_compositor *compositor,
+                   struct weston_seat *seat, uint32_t time,
+                   uint32_t axis, int32_t value);
+
+int
+weston_environment_get_fd(const char *env);
+
+struct wl_list *
+weston_compositor_top(struct weston_compositor *compositor);
+
+struct weston_surface *
+weston_surface_create(struct weston_compositor *compositor);
+
+void
+weston_surface_configure(struct weston_surface *surface,
+             float x, float y, int width, int height);
+
+void
+weston_surface_restack(struct weston_surface *surface, struct wl_list *below);
+
+void
+weston_surface_set_position(struct weston_surface *surface,
+                float x, float y);
+
+int
+weston_surface_is_mapped(struct weston_surface *surface);
+
+void
+weston_surface_schedule_repaint(struct weston_surface *surface);
+
+void
+weston_surface_damage(struct weston_surface *surface);
+
+void
+weston_surface_damage_below(struct weston_surface *surface);
+
+void
+weston_surface_move_to_plane(struct weston_surface *surface,
+                 struct weston_plane *plane);
+void
+weston_surface_unmap(struct weston_surface *surface);
+
+void
+weston_buffer_post_release(struct wl_buffer *buffer);
+
+uint32_t
+weston_compositor_get_time(void);
+
+int
+weston_compositor_init(struct weston_compositor *ec, struct wl_display *display,
+               int argc, char *argv[], const char *config_file);
+void
+weston_compositor_shutdown(struct weston_compositor *ec);
+void
+weston_text_cursor_position_notify(struct weston_surface *surface,
+                        wl_fixed_t x, wl_fixed_t y);
+void
+weston_output_init_zoom(struct weston_output *output);
+void
+weston_output_update_zoom(struct weston_output *output, uint32_t type);
+void
+weston_output_update_matrix(struct weston_output *output);
+void
+weston_output_move(struct weston_output *output, int x, int y);
+void
+weston_output_init(struct weston_output *output, struct weston_compositor *c,
+           int x, int y, int width, int height, uint32_t transform);
+void
+weston_output_destroy(struct weston_output *output);
+
+void
+weston_seat_init(struct weston_seat *seat, struct weston_compositor *ec);
+void
+weston_seat_init_pointer(struct weston_seat *seat);
+int
+weston_seat_init_keyboard(struct weston_seat *seat, struct xkb_keymap *keymap);
+void
+weston_seat_init_touch(struct weston_seat *seat);
+
+void
+weston_seat_release(struct weston_seat *seat);
+
+/* String literal of spaces, the same width as the timestamp. */
+#define STAMP_SPACE "               "
+
+void
+weston_log_file_open(const char *filename);
+void
+weston_log_file_close(void);
+int
+weston_log(const char *fmt, ...)
+    __attribute__ ((format (printf, 1, 2)));
+int
+weston_log_continue(const char *fmt, ...)
+    __attribute__ ((format (printf, 1, 2)));
+
+enum {
+    TTY_ENTER_VT,
+    TTY_LEAVE_VT
+};
+
+typedef void (*tty_vt_func_t)(struct weston_compositor *compositor, int event);
+
+struct tty *
+tty_create(struct weston_compositor *compositor,
+       tty_vt_func_t vt_func, int tty_nr);
+
+void
+tty_destroy(struct tty *tty);
+
+void
+tty_reset(struct tty *tty);
+
+int
+tty_activate_vt(struct tty *tty, int vt);
+
+void
+screenshooter_create(struct weston_compositor *ec);
+
+struct clipboard *
+clipboard_create(struct weston_seat *seat);
+
+void
+text_cursor_position_notifier_create(struct weston_compositor *ec);
+
+void
+text_model_factory_create(struct weston_compositor *ec);
+
+void
+input_method_create(struct weston_compositor *ec,
+            struct weston_seat *seat);
+
+struct weston_process;
+typedef void (*weston_process_cleanup_func_t)(struct weston_process *process,
+                        int status);
+
+struct weston_process {
+    pid_t pid;
+    weston_process_cleanup_func_t cleanup;
+    struct wl_list link;
+};
+
+struct wl_client *
+weston_client_launch(struct weston_compositor *compositor,
+             struct weston_process *proc,
+             const char *path,
+             weston_process_cleanup_func_t cleanup);
+
+void
+weston_watch_process(struct weston_process *process);
+
+struct weston_surface_animation;
+typedef void (*weston_surface_animation_done_func_t)(struct weston_surface_animation *animation, void *data);
+
+struct weston_surface_animation *
+weston_zoom_run(struct weston_surface *surface, float start, float stop,
+        weston_surface_animation_done_func_t done, void *data);
+
+struct weston_surface_animation *
+weston_fade_run(struct weston_surface *surface,
+        weston_surface_animation_done_func_t done, void *data);
+struct weston_surface_animation *
+weston_slide_run(struct weston_surface *surface, float start, float stop,
+         weston_surface_animation_done_func_t done, void *data);
+
+void
+weston_surface_set_color(struct weston_surface *surface,
+             float red, float green, float blue, float alpha);
+
+void
+weston_surface_destroy(struct weston_surface *surface);
+
+int
+weston_output_switch_mode(struct weston_output *output, struct weston_mode *mode);
+
+int
+gles2_renderer_init(struct weston_compositor *ec);
+void
+gles2_renderer_destroy(struct weston_compositor *ec);
+
+struct weston_compositor *
+backend_init(struct wl_display *display, int argc, char *argv[],
+        const char *config_file);
+
+int
+module_init(struct weston_compositor *compositor);
+
+#endif
diff --git a/src/config-parser.c b/src/config-parser.c
new file mode 100644 (file)
index 0000000..95c6cf8
--- /dev/null
@@ -0,0 +1,187 @@
+/*
+ * Copyright Â© 2011 Intel Corporation
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that copyright
+ * notice and this permission notice appear in supporting documentation, and
+ * that the name of the copyright holders not be used in advertising or
+ * publicity pertaining to distribution of the software without specific,
+ * written prior permission.  The copyright holders make no representations
+ * about the suitability of this software for any purpose.  It is provided "as
+ * is" without express or implied warranty.
+ *
+ * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ * EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
+ * OF THIS SOFTWARE.
+ */
+
+#include <string.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <assert.h>
+#include <ctype.h>
+
+#include "config-parser.h"
+
+static int
+handle_key(const struct config_key *key, const char *value)
+{
+    char *end, *s;
+    int i, len;
+    unsigned int ui;
+    
+    switch (key->type) {
+    case CONFIG_KEY_INTEGER:
+        i = strtol(value, &end, 0);
+        if (*end != '\n') {
+            fprintf(stderr, "invalid integer: %s\n", value);
+            return -1;
+        }
+        *(int *)key->data = i;
+        return 0;
+
+    case CONFIG_KEY_UNSIGNED_INTEGER:
+        ui = strtoul(value, &end, 0);
+        if (*end != '\n') {
+            fprintf(stderr, "invalid integer: %s\n", value);
+            return -1;
+        }
+        *(unsigned int *)key->data = ui;
+        return 0;
+
+    case CONFIG_KEY_STRING:
+        len = strlen(value);
+        while (len > 0 && isspace(value[len - 1]))
+            len--;
+        s = malloc(len + 1);
+        if (s == NULL)
+            return -1;
+        memcpy(s, value, len);
+        s[len] = '\0';
+        *(char **)key->data = s;
+        return 0;
+
+    case CONFIG_KEY_BOOLEAN:
+        if (strcmp(value, "false\n") == 0)
+            *(int *)key->data = 0;
+        else if (strcmp(value, "true\n") == 0)
+            *(int *)key->data = 1;
+        else {
+            fprintf(stderr, "invalid bool: %s\n", value);
+            return -1;
+        }
+        return 0;
+
+    default:
+        assert(0);
+        break;
+    }
+
+    return -1;
+}
+
+int
+parse_config_file(const char *path,
+          const struct config_section *sections, int num_sections,
+          void *data)
+{
+    FILE *fp;
+    char line[512], *p;
+    const struct config_section *current = NULL;
+    int i;
+
+    fp = fopen(path, "r");
+    if (fp == NULL) {
+        fprintf(stderr, "couldn't open %s\n", path);
+        return -1;
+    }
+
+    while (fgets(line, sizeof line, fp)) {
+        if (line[0] == '#' || line[0] == '\n') {
+            continue;
+        } if (line[0] == '[') {
+            p = strchr(&line[1], ']');
+            if (!p || p[1] != '\n') {
+                fprintf(stderr, "malformed "
+                    "section header: %s\n", line);
+                fclose(fp);
+                return -1;
+            }
+            if (current && current->done)
+                current->done(data);
+            p[0] = '\0';
+            for (i = 0; i < num_sections; i++) {
+                if (strcmp(sections[i].name, &line[1]) == 0) {
+                    current = &sections[i];
+                    break;
+                }
+            }
+            if (i == num_sections)
+                current = NULL;
+        } else if (p = strchr(line, '='), p != NULL) {
+            if (current == NULL)
+                continue;
+            p[0] = '\0';
+            for (i = 0; i < current->num_keys; i++) {
+                if (strcmp(current->keys[i].name, line) == 0) {
+                    if (handle_key(&current->keys[i], &p[1]) < 0) {
+                        fclose(fp);
+                        return -1;
+                    }
+                    break;
+                }
+            }
+        } else {
+            fprintf(stderr, "malformed config line: %s\n", line);
+            fclose(fp);
+            return -1;
+        }
+    }
+
+    if (current && current->done)
+        current->done(data);
+
+    fclose(fp);
+
+    return 0;
+}
+
+char *
+config_file_path(const char *name)
+{
+    const char dotconf[] = "/.config/";
+    const char *config_dir;
+    const char *home_dir;
+    char *path;
+    size_t size;
+
+    config_dir = getenv("XDG_CONFIG_HOME");
+    if (!config_dir) {
+        home_dir = getenv("HOME");
+        if (!home_dir) {
+            fprintf(stderr, "HOME is not set, using cwd.\n");
+            return strdup(name);
+        }
+
+        size = strlen(home_dir) + sizeof dotconf + strlen(name);
+        path = malloc(size);
+        if (!path)
+            return NULL;
+
+        snprintf(path, size, "%s%s%s", home_dir, dotconf, name);
+        return path;
+    }
+
+    size = strlen(config_dir) + 1 + strlen(name) + 1;
+    path = malloc(size);
+    if (!path)
+        return NULL;
+
+    snprintf(path, size, "%s/%s", config_dir, name);
+    return path;
+}
diff --git a/src/config-parser.h b/src/config-parser.h
new file mode 100644 (file)
index 0000000..0f6ca84
--- /dev/null
@@ -0,0 +1,73 @@
+/*
+ * Copyright Â© 2008 Kristian Høgsberg
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that copyright
+ * notice and this permission notice appear in supporting documentation, and
+ * that the name of the copyright holders not be used in advertising or
+ * publicity pertaining to distribution of the software without specific,
+ * written prior permission.  The copyright holders make no representations
+ * about the suitability of this software for any purpose.  It is provided "as
+ * is" without express or implied warranty.
+ *
+ * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ * EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
+ * OF THIS SOFTWARE.
+ */
+
+#ifndef CONFIGPARSER_H
+#define CONFIGPARSER_H
+
+enum config_key_type {
+    CONFIG_KEY_INTEGER,     /* typeof data = int */
+    CONFIG_KEY_UNSIGNED_INTEGER,    /* typeof data = unsigned int */
+    CONFIG_KEY_STRING,      /* typeof data = char* */
+    CONFIG_KEY_BOOLEAN      /* typeof data = int */
+};
+
+struct config_key {
+    const char *name;
+    enum config_key_type type;
+    void *data;
+};
+
+struct config_section {
+    const char *name;
+    const struct config_key *keys;
+    int num_keys;
+    void (*done)(void *data);
+};
+
+int
+parse_config_file(const char *path,
+          const struct config_section *sections, int num_sections,
+          void *data);
+
+char *
+config_file_path(const char *name);
+
+enum weston_option_type {
+    WESTON_OPTION_INTEGER,
+    WESTON_OPTION_UNSIGNED_INTEGER,
+    WESTON_OPTION_STRING,
+    WESTON_OPTION_BOOLEAN
+};
+
+struct weston_option {
+    enum weston_option_type type;
+    const char *name;
+    int short_name;
+    void *data;
+};
+
+int
+parse_options(const struct weston_option *options,
+          int count, int argc, char *argv[]);
+
+#endif /* CONFIGPARSER_H */
+
diff --git a/src/ico_input_mgr.c b/src/ico_input_mgr.c
new file mode 100644 (file)
index 0000000..1d020b5
--- /dev/null
@@ -0,0 +1,969 @@
+/*
+ * Copyright Â© 2010-2011 Intel Corporation
+ * Copyright Â© 2008-2011 Kristian Høgsberg
+ * Copyright Â© 2013 TOYOTA MOTOR CORPORATION.
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and
+ * its documentation for any purpose is hereby granted without fee, provided
+ * that the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation, and that the name of the copyright holders not be used in
+ * advertising or publicity pertaining to distribution of the software
+ * without specific, written prior permission.  The copyright holders make
+ * no representations about the suitability of this software for any
+ * purpose.  It is provided "as is" without express or implied warranty.
+ *
+ * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
+ * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
+ * FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
+ * SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
+ * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
+ * CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
+ * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+/**
+ * @brief   Multi Input Manager (Weston(Wayland) PlugIn)
+ *
+ * @date    Feb-08-2013
+ */
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <stdbool.h>
+#include <string.h>
+#include <unistd.h>
+#include <linux/input.h>
+#include <assert.h>
+#include <signal.h>
+#include <math.h>
+#include <time.h>
+#include <sys/types.h>
+
+#include <wayland-server.h>
+#include "compositor.h"
+#include "ico_ivi_common.h"
+#include "ico_ivi_shell.h"
+#include "ico_window_mgr.h"
+#include "ico_input_mgr-server-protocol.h"
+
+/* degine maximum length                */
+#define ICO_MINPUT_DEVICE_LEN           32
+#define ICO_MINPUT_SW_LEN               20
+#define ICO_MINPUT_MAX_CODES            20
+
+/* structure definition */
+/* working table of Multi Input Manager */
+struct ico_input_mgr {
+    struct weston_compositor *compositor;   /* Weston Compositor                    */
+    struct wl_list  ictl_list;              /* Input Controller List                */
+    struct wl_list  app_list;               /* application List                     */
+    struct wl_resource *inputmgr;
+};
+
+/* Input Switch Table                   */
+struct ico_ictl_code {
+    uint16_t    code;                       /* input code numner                    */
+    char        name[ICO_MINPUT_SW_LEN];    /* input code name                      */
+};
+
+struct ico_ictl_input {
+    struct wl_list link;                    /* link                                 */
+    char        swname[ICO_MINPUT_SW_LEN];  /* input switch name                    */
+    int32_t     input;                      /* input Id                             */
+    uint16_t    fix;                        /* fixed assign to application          */
+    uint16_t    ncode;                      /* number of codes                      */
+    struct ico_ictl_code code[ICO_MINPUT_MAX_CODES];   /* codes                     */
+    struct ico_app_mgr  *app;               /* send event tagret application        */
+};
+
+/* Input Controller Management Table    */
+struct ico_ictl_mgr {
+    struct wl_list link;                    /* link                                 */
+    struct wl_client    *client;            /* client                               */
+    struct wl_resource  *resource;          /* resource                             */
+    char    device[ICO_MINPUT_DEVICE_LEN];  /* device name                          */
+    int     type;                           /* device type                          */
+    struct wl_list ico_ictl_input;          /* list of input switchs                */
+};
+
+/* Application Management Table */
+struct ico_app_mgr {
+    struct wl_list link;                    /* link                                 */
+    struct wl_client    *client;            /* client                               */
+    struct wl_resource  *resource;          /* resource for send event              */
+    struct wl_resource  *mgr_resource;      /* resource as manager(if NULL, client) */
+    char    appid[ICO_IVI_APPID_LENGTH];    /* application id                       */
+};
+
+/* prototype of static function */
+/* bind input manager form manager(ex.HomeScreen)   */
+static void ico_control_bind(struct wl_client *client, void *data,
+                             uint32_t version, uint32_t id);
+/* unbind input manager form manager(ex.HomeScreen) */
+static void ico_control_unbind(struct wl_resource *resource);
+/* bind input manager form input controller         */
+static void ico_device_bind(struct wl_client *client, void *data,
+                            uint32_t version, uint32_t id);
+/* unbind input manager form input controller       */
+static void ico_device_unbind(struct wl_resource *resource);
+/* bind input manager (form application)            */
+static void ico_exinput_bind(struct wl_client *client, void *data,
+                             uint32_t version, uint32_t id);
+/* unbind input manager (form application)          */
+static void ico_exinput_unbind(struct wl_resource *resource);
+
+/* find ictl manager by device name */
+static struct ico_ictl_mgr *find_ictlmgr_by_device(const char *device);
+/* find ictl input switch by input Id */
+static struct ico_ictl_input *find_ictlinput_by_input(struct ico_ictl_mgr *pIctlMgr,
+                                                      const int32_t input);
+/* find app manager by application Id */
+static struct ico_app_mgr *find_app_by_appid(const char *appid);
+/* add input event to application     */
+static void ico_mgr_add_input_app(struct wl_client *client, struct wl_resource *resource,
+                                  const char *appid, const char *device, int32_t input,
+                                  uint32_t fix);
+/* delete input event to application  */
+static void ico_mgr_del_input_app(struct wl_client *client, struct wl_resource *resource,
+                                  const char *appid, const char *device, int32_t input);
+/* create and regist Input Controller table */
+static void ico_device_configure_input(struct wl_client *client,
+                                       struct wl_resource *resource, const char *device,
+                                       int32_t type, const char *swname, int32_t input,
+                                       const char *codename, int32_t code);
+/* add input to from Input Controller table */
+static void ico_device_configure_code(struct wl_client *client,
+                                      struct wl_resource *resource, const char *device,
+                                      int32_t input, const char *codename, int32_t code);
+/* device input event                       */
+static void ico_device_input_event(struct wl_client *client, struct wl_resource *resource,
+                                   uint32_t time, const char *device,
+                                   int32_t input, int32_t code, int32_t state);
+
+/* entry finction called by Weston  */
+WL_EXPORT int module_init(struct weston_compositor *ec);
+
+/* definition of Wayland protocol */
+/* mgr interface */
+static const struct ico_input_mgr_control_interface ico_input_mgr_implementation = {
+    ico_mgr_add_input_app,
+    ico_mgr_del_input_app,
+};
+
+/* Input Controller interface */
+static const struct ico_input_mgr_device_interface input_mgr_ictl_implementation = {
+    ico_device_configure_input,
+    ico_device_configure_code,
+    ico_device_input_event
+};
+
+/* definition of class variable */
+struct ico_input_mgr    *pInputMgr = NULL;
+
+/* implementation */
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   ico_mgr_add_input_app: add input event to application from HomeScreen.
+ *
+ * @param[in]   client          client(HomeScreen)
+ * @param[in]   resource        resource of request
+ * @param[in]   appid           target application id
+ * @param[in]   device          device name
+ * @param[in]   input           input switch number
+ * @param[in]   fix             fix to application(1=fix,0=general)
+ * @return      none
+ */
+/*--------------------------------------------------------------------------*/
+static void
+ico_mgr_add_input_app(struct wl_client *client, struct wl_resource *resource,
+                      const char *appid, const char *device, int32_t input, uint32_t fix)
+{
+    uifw_trace("ico_mgr_add_input_app: Enter(appid=%s,dev=%s,input=%d,fix=%d)",
+               appid, device, input, fix);
+
+    struct ico_ictl_mgr     *pIctlMgr;
+    struct ico_ictl_input   *pInput;
+    struct ico_app_mgr      *pAppMgr;
+
+    pIctlMgr = find_ictlmgr_by_device(device);
+    if (! pIctlMgr) {
+        /* not configure input controller, create   */
+        ico_device_configure_input(NULL, NULL, device, 0, NULL, input, NULL, 0);
+        pIctlMgr = find_ictlmgr_by_device(device);
+        if (! pIctlMgr) {
+            uifw_error("ico_mgr_add_input_app: Leave(No Memory)");
+            return;
+        }
+    }
+    pInput = find_ictlinput_by_input(pIctlMgr, input);
+    if (! pInput)   {
+        /* not configure input switch, create   */
+        ico_device_configure_input(NULL, NULL, device, 0, NULL, input, NULL, 0);
+        pInput = find_ictlinput_by_input(pIctlMgr, input);
+        if (! pInput)   {
+            uifw_error("ico_mgr_add_input_app: Leave(No Memory)");
+            return;
+        }
+    }
+
+    /* find application         */
+    pAppMgr = find_app_by_appid(appid);
+    if (! pAppMgr)  {
+        /* create Application Management Table  */
+        pAppMgr = (struct ico_app_mgr *)malloc(sizeof(struct ico_app_mgr));
+        if (! pAppMgr)  {
+            uifw_error("ico_mgr_add_input_app: Leave(No Memory)");
+            return;
+        }
+        memset(pAppMgr, 0, sizeof(struct ico_app_mgr));
+        strncpy(pAppMgr->appid, appid, sizeof(pAppMgr->appid)-1);
+        wl_list_insert(pInputMgr->app_list.prev, &pAppMgr->link);
+    }
+
+    pInput->app = pAppMgr;
+    pInput->fix = fix;
+    uifw_trace("ico_mgr_add_input_app: Leave(%s.%s[%d] assign to %s)",
+               pIctlMgr->device, pInput->swname ? pInput->swname : "(NULL)", input,
+               pAppMgr->appid);
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   ico_mgr_del_input_app: delete input event at application from HomeScreen.
+ *
+ * @param[in]   client          client(HomeScreen)
+ * @param[in]   resource        resource of request
+ * @param[in]   appid           target application id,
+ *                              if NULL, all applictions without fixed assign switch
+ * @param[in]   device          device name
+ *                              if NULL, all device without fixed assign switch
+ * @param[in]   input           input switch number
+ *                              if -1, all input without fixed assign switch
+ * @return      none
+ */
+/*--------------------------------------------------------------------------*/
+static void
+ico_mgr_del_input_app(struct wl_client *client, struct wl_resource *resource,
+                      const char *appid, const char *device, int32_t input)
+{
+    uifw_trace("ico_mgr_del_input_app: Enter(appid=%s,dev=%s,input=%d)",
+               appid ? appid : "(NULL)", device ? device : "(NULL)", input);
+
+    int     alldev = 0;
+    struct ico_ictl_mgr     *pIctlMgr = NULL;
+    struct ico_ictl_input   *pInput = NULL;
+    struct ico_app_mgr      *pAppMgr;
+
+    if ((device != NULL) && (*device != 0)) {
+        pIctlMgr = find_ictlmgr_by_device(device);
+        if (! pIctlMgr) {
+            /* not configure input controller, NOP  */
+            uifw_trace("ico_mgr_del_input_app: Leave(%s dose not exist)", device);
+            return;
+        }
+        if (input >= 0) {
+            pInput = find_ictlinput_by_input(pIctlMgr, input);
+            if (! pInput)   {
+                /* not configure input switch, NOP  */
+                uifw_trace("ico_mgr_del_input_app: Leave(%s.%d dose not exist)",
+                           device, input);
+                return;
+            }
+        }
+    }
+    else    {
+        alldev = 1;
+    }
+
+    /* find application         */
+    if ((appid != NULL) && (*appid != 0))   {
+        pAppMgr = find_app_by_appid(appid);
+        if (! pAppMgr)  {
+            /* application dose not exist, NOP  */
+            uifw_trace("ico_mgr_del_input_app: Leave(app.%s dose not exist)", appid);
+            return;
+        }
+        if (alldev == 0)    {
+            if (input >= 0) {
+                if (pInput->app != pAppMgr) {
+                    /* not same application, NOP        */
+                    uifw_trace("ico_mgr_del_input_app: Leave(%s.%d not app.%s, current %s)",
+                               device, input, appid,
+                               pInput->app ? pInput->app->appid : "(NULL)");
+                    return;
+                }
+                uifw_trace("ico_mgr_del_input_app: Leave(%s.%d app.%s deleted)",
+                           device, input, appid);
+                pInput->app = NULL;
+                return;
+            }
+            else    {
+                wl_list_for_each (pInput, &pIctlMgr->ico_ictl_input, link)  {
+                    if ((pInput->fix == 0) && (pInput->app == pAppMgr))   {
+                        uifw_trace("ico_mgr_del_input_app: %s.%d app.%s deleted",
+                                   pIctlMgr->device, pInput->input, appid);
+                        pInput->app = NULL;
+                    }
+                }
+            }
+        }
+        else    {
+            /* reset all device without fixed assign    */
+            wl_list_for_each (pIctlMgr, &pInputMgr->ictl_list, link)    {
+                wl_list_for_each (pInput, &pIctlMgr->ico_ictl_input, link)  {
+                    if ((pInput->fix == 0) && (pInput->app == pAppMgr))   {
+                        uifw_trace("ico_mgr_del_input_app: %s.%d app.%s deleted",
+                                   pIctlMgr->device, pInput->input, pInput->app->appid);
+                        pInput->app = NULL;
+                    }
+                }
+            }
+        }
+    }
+    else    {
+        if (alldev == 0)    {
+            if (input >= 0) {
+                if ((pInput->fix == 0) && (pInput->app != NULL))    {
+                    uifw_trace("ico_mgr_del_input_app: %s.%d app.%s deleted",
+                               pIctlMgr->device, pInput->input, pInput->app->appid);
+                    pInput->app = NULL;
+                }
+            }
+            else    {
+                wl_list_for_each (pInput, &pIctlMgr->ico_ictl_input, link)  {
+                    if ((pInput->fix == 0) && (pInput->app != NULL))    {
+                        uifw_trace("ico_mgr_del_input_app: %s.%d app.%s deleted",
+                               pIctlMgr->device, pInput->input, pInput->app->appid);
+                        pInput->app = NULL;
+                    }
+                }
+            }
+        }
+        else    {
+            /* reset all application without fixed assign       */
+            wl_list_for_each (pIctlMgr, &pInputMgr->ictl_list, link)    {
+                wl_list_for_each (pInput, &pIctlMgr->ico_ictl_input, link)  {
+                    if ((pInput->fix == 0) && (pInput->app != NULL))    {
+                        uifw_trace("ico_mgr_del_input_app: %s.%d app.%s deleted",
+                                   pIctlMgr->device, pInput->input, pInput->app->appid);
+                        pInput->app = NULL;
+                    }
+                }
+            }
+        }
+    }
+    uifw_trace("ico_mgr_del_input_app: Leave");
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   ico_device_configure_input: configure input device and input switch
+ *          from Device Input Controller.
+ *
+ * @param[in]   client          client(Device Input Controller)
+ * @param[in]   resource        resource of request
+ * @param[in]   device          device name
+ * @param[in]   type            device type(saved but unused)
+ * @param[in]   swname          input switch name
+ * @param[in]   input           input switch number
+ * @param[in]   codename        input code name
+ * @param[in]   code            input code number
+ * @return      none
+ */
+/*--------------------------------------------------------------------------*/
+static void
+ico_device_configure_input(struct wl_client *client, struct wl_resource *resource,
+                           const char *device, int32_t type, const char *swname,
+                           int32_t input, const char *codename, int32_t code)
+{
+    uifw_trace("ico_device_configure_input: Enter(client=%08x,dev=%s,type=%d,swname=%s,"
+               "input=%d,code=%d[%s])", (int)client, device, type,
+               swname ? swname : "(NULL)", input, code, codename ? codename : " ");
+
+    struct ico_ictl_mgr     *pIctlMgr;
+    struct ico_ictl_input   *pInput;
+    struct ico_app_mgr      *pAppMgr;
+
+    pIctlMgr = find_ictlmgr_by_device(device);
+    if (! pIctlMgr) {
+        /* create ictl mgr table */
+        pIctlMgr = (struct ico_ictl_mgr *)malloc(sizeof(struct ico_ictl_mgr));
+        if (pIctlMgr == NULL) {
+            uifw_error("ico_device_configure_input: Leave(No Memory)");
+            return;
+        }
+        uifw_trace("ico_device_configure_input: create pIctlMgr(mgr=%08x,input=%d)",
+                   (int)pIctlMgr, input);
+        memset(pIctlMgr, 0, sizeof(struct ico_ictl_mgr));
+        wl_list_init(&pIctlMgr->ico_ictl_input);
+        strncpy(pIctlMgr->device, device, sizeof(pIctlMgr->device)-1);
+
+        /* add list */
+        wl_list_insert(pInputMgr->ictl_list.prev, &pIctlMgr->link);
+    }
+    pIctlMgr->client = client;
+    pIctlMgr->resource = resource;
+    if (type)   {
+        pIctlMgr->type = type;
+    }
+
+    /* search and add input switch  */
+    wl_list_for_each (pInput, &pIctlMgr->ico_ictl_input, link)  {
+        if (pInput->input == input)     break;
+    }
+    if (&pInput->link == &pIctlMgr->ico_ictl_input)    {
+        uifw_trace("ico_device_configure_input: create %s.%s(%d) switch",
+                   device, swname, input);
+        pInput = (struct ico_ictl_input *)malloc(sizeof(struct ico_ictl_input));
+        if (pInput == NULL) {
+            uifw_error("ico_device_configure_input: Leave(No Memory)");
+            return;
+        }
+        memset(pInput, 0, sizeof(struct ico_ictl_input));
+        if (swname) {
+            strncpy(pInput->swname, swname, sizeof(pInput->swname)-1);
+        }
+        else    {
+            strcpy(pInput->swname, "(Unknown)");
+        }
+        wl_list_insert(pIctlMgr->ico_ictl_input.prev, &pInput->link);
+    }
+    if (swname) {
+        strncpy(pInput->swname, swname, sizeof(pInput->swname)-1);
+    }
+    pInput->input = input;
+    memset(pInput->code, 0, sizeof(pInput->code));
+    pInput->ncode = 1;
+    pInput->code[0].code = code;
+    if (codename)   {
+        strncpy(pInput->code[0].name, codename, sizeof(pInput->code[0].name)-1);
+    }
+
+    if (client == NULL) {
+        /* internal call for table create   */
+        uifw_trace("ico_device_configure_input: Leave(table create)");
+        return;
+    }
+
+    /* send to application and manager(ex.HomeScreen)   */
+    wl_list_for_each (pAppMgr, &pInputMgr->app_list, link)  {
+        if (pAppMgr->resource == NULL)  continue;
+        if ((pInput->app != NULL) && (pInput->app != pAppMgr) && (pInput->fix)) continue;
+
+        uifw_trace("ico_device_configure_input: send capabilities to app(%s) %s.%s[%d]",
+                   pAppMgr->appid, device, pInput->swname, input);
+        ico_exinput_send_capabilities(pAppMgr->resource, device, pIctlMgr->type,
+                                      pInput->swname, input,
+                                      pInput->code[0].name, pInput->code[0].code);
+    }
+    uifw_trace("ico_device_configure_input: Leave");
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   ico_device_configure_code: add input switch from Device Input Controller.
+ *
+ * @param[in]   client          client(Device Input Controller)
+ * @param[in]   resource        resource of request
+ * @param[in]   device          device name
+ * @param[in]   input           input switch number
+ * @param[in]   codename        input code name
+ * @param[in]   code            input code number
+ * @return      none
+ */
+/*--------------------------------------------------------------------------*/
+static void
+ico_device_configure_code(struct wl_client *client, struct wl_resource *resource,
+                          const char *device, int32_t input,
+                          const char *codename, int32_t code)
+{
+    uifw_trace("ico_device_configure_code: Enter(client=%08x,dev=%s,input=%d,code=%d[%s])",
+               (int)client, device, input, code, codename ? codename : " ");
+
+    int     i;
+    struct ico_ictl_mgr     *pIctlMgr;
+    struct ico_ictl_input   *pInput;
+    struct ico_app_mgr      *pAppMgr;
+
+    pIctlMgr = find_ictlmgr_by_device(device);
+    if (! pIctlMgr) {
+        uifw_warn("ico_device_configure_code: Leave(dev=%s dose not exist)", device);
+        return;
+    }
+    /* search input switch      */
+    wl_list_for_each (pInput, &pIctlMgr->ico_ictl_input, link)  {
+        if (pInput->input == input)     break;
+    }
+    if (&pInput->link == &pIctlMgr->ico_ictl_input)    {
+        uifw_warn("ico_device_configure_code: Leave(input=%s.%d dose not exist)",
+                  device, input);
+        return;
+    }
+
+    /* search input code        */
+    for (i = 0; i < pInput->ncode; i++) {
+        if (pInput->code[i].code == code)   break;
+    }
+    if (i >= pInput->ncode) {
+        /* code dose not exist, add */
+        if (pInput->ncode >= ICO_MINPUT_MAX_CODES) {
+            uifw_warn("ico_device_configure_code: Leave(input=%s.%d code overflow)",
+                      device, input);
+            return;
+        }
+        i = pInput->ncode;
+        pInput->ncode ++;
+        pInput->code[i].code = code;
+    }
+    memset(pInput->code[i].name, 0, sizeof(pInput->code[i].name));
+    strncpy(pInput->code[i].name, codename, sizeof(pInput->code[i].name)-1);
+
+    /* send to application and manager(ex.HomeScreen)   */
+    wl_list_for_each (pAppMgr, &pInputMgr->app_list, link)  {
+        if (pAppMgr->resource == NULL)  continue;
+        if ((pInput->app != NULL) && (pInput->app != pAppMgr) && (pInput->fix)) continue;
+        uifw_trace("ico_device_configure_input: send code to app(%s) %s.%s[%d]",
+                   pAppMgr->appid, device, pInput->swname, input);
+        ico_exinput_send_code(pAppMgr->resource, device, input,
+                              pInput->code[i].name, pInput->code[i].code);
+    }
+    uifw_trace("ico_device_configure_code: Leave");
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   ico_device_input_event: device input event from Device Input Controller.
+ *
+ * @param[in]   client          client(Device Input Controller)
+ * @param[in]   resource        resource of request
+ * @param[in]   time            device input time(miri-sec)
+ * @param[in]   device          device name
+ * @param[in]   input           input switch number
+ * @param[in]   code            input code number
+ * @param[in]   state           input state(1=On, 0=Off)
+ * @return      none
+ */
+/*--------------------------------------------------------------------------*/
+static void
+ico_device_input_event(struct wl_client *client, struct wl_resource *resource,
+                       uint32_t time, const char *device,
+                       int32_t input, int32_t code, int32_t state)
+{
+    uifw_trace("ico_device_input_event: Enter(time=%d,dev=%s,input=%d,code=%d,state=%d)",
+               time, device, input, code, state);
+
+    struct ico_ictl_mgr     *pIctlMgr;
+    struct ico_ictl_input   *pInput;
+
+    /* find input devcie by client      */
+    pIctlMgr = find_ictlmgr_by_device(device);
+    if (! pIctlMgr) {
+        uifw_error("ico_device_input_event: Leave(Unknown client(%08x))", (int)client);
+        return;
+    }
+    /* find input switch by input Id    */
+    pInput = find_ictlinput_by_input(pIctlMgr, input);
+    if (! pInput) {
+        uifw_warn("ico_device_input_event: Leave(Unknown input(%s,%d))",
+                  pIctlMgr->device, input);
+        return;
+    }
+
+    if (! pInput->app)  {
+        uifw_trace("ico_device_input_event: Leave(%s.%s not assign)",
+                  pIctlMgr->device, pInput->swname);
+        return;
+    }
+
+    /* send event to application        */
+    uifw_trace("ico_device_input_event: send event=%s.%s[%d],%d,%d to App.%s",
+               pIctlMgr->device, pInput->swname, input, code, state, pInput->app->appid);
+    ico_exinput_send_input(pInput->app->resource, time, pIctlMgr->device,
+                           input, code, state);
+
+    uifw_trace("ico_device_input_event: Leave");
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   ico_control_bind: ico_input_mgr_control bind from HomeScreen
+ *
+ * @param[in]   client          client(HomeScreen)
+ * @param[in]   data            data(unused)
+ * @param[in]   version         protocol version(unused)
+ * @param[in]   id              client object id
+ * @return      none
+ */
+/*--------------------------------------------------------------------------*/
+static void
+ico_control_bind(struct wl_client *client, void *data, uint32_t version, uint32_t id)
+{
+    char                    *appid;
+    struct ico_app_mgr      *pAppMgr;
+
+    uifw_trace("ico_control_bind: Enter(client=%08x)", (int)client);
+    appid = ico_window_mgr_appid(client);
+
+    if (! appid)    {
+        /* client dose not exist        */
+        uifw_warn("ico_control_bind: Leave(client=%08x dose not exist)", (int)client);
+        return;
+    }
+
+    /* find application         */
+    pAppMgr = find_app_by_appid(appid);
+    if (! pAppMgr)  {
+        /* create Application Management Table  */
+        pAppMgr = (struct ico_app_mgr *)malloc(sizeof(struct ico_app_mgr));
+        if (! pAppMgr)  {
+            uifw_error("ico_control_bind: Leave(No Memory)");
+            return;
+        }
+        memset(pAppMgr, 0, sizeof(struct ico_app_mgr));
+        strncpy(pAppMgr->appid, appid, sizeof(pAppMgr->appid)-1);
+        wl_list_insert(pInputMgr->app_list.prev, &pAppMgr->link);
+    }
+    pAppMgr->client = client;
+    if (! pAppMgr->mgr_resource)    {
+        pAppMgr->mgr_resource = wl_client_add_object(client,
+                                                     &ico_input_mgr_control_interface,
+                                                     &ico_input_mgr_implementation,
+                                                     id, pInputMgr);
+        pAppMgr->mgr_resource->destroy = ico_control_unbind;
+    }
+    uifw_trace("ico_control_bind: Leave");
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   ico_control_unbind: ico_input_mgr_control unbind from HomeScreen
+ *
+ * @param[in]   resource        client resource(HomeScreen)
+ * @return      none
+ */
+/*--------------------------------------------------------------------------*/
+static void
+ico_control_unbind(struct wl_resource *resource)
+{
+    struct ico_app_mgr      *pAppMgr;
+
+    uifw_trace("ico_control_unbind: Enter(resource=%08x)", (int)resource);
+
+    wl_list_for_each (pAppMgr, &pInputMgr->app_list, link)  {
+        if (pAppMgr->mgr_resource == resource)  {
+            uifw_trace("ico_control_unbind: find app.%s", pAppMgr->appid);
+            pAppMgr->mgr_resource = NULL;
+            break;
+        }
+    }
+
+    free(resource);
+    uifw_trace("ico_control_unbind: Leave");
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   ico_device_bind: ico_input_mgr_device bind from Device Input Controller
+ *
+ * @param[in]   client          client(Device Input Controller)
+ * @param[in]   data            data(unused)
+ * @param[in]   version         protocol version(unused)
+ * @param[in]   id              client object id
+ * @return      none
+ */
+/*--------------------------------------------------------------------------*/
+static void
+ico_device_bind(struct wl_client *client, void *data, uint32_t version, uint32_t id)
+{
+    struct wl_resource *mgr_resource;
+
+    uifw_trace("ico_device_bind: Enter(client=%08x)", (int)client);
+
+    mgr_resource = wl_client_add_object(client, &ico_input_mgr_device_interface,
+                                        &input_mgr_ictl_implementation,
+                                        id, NULL);
+    mgr_resource->destroy = ico_device_unbind;
+    uifw_trace("ico_device_bind: Leave");
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   ico_device_unbind: ico_input_mgr_device unbind from Device Input Controller
+ *
+ * @param[in]   resource        client resource(Device Input Controller)
+ * @return      none
+ */
+/*--------------------------------------------------------------------------*/
+static void
+ico_device_unbind(struct wl_resource *resource)
+{
+    uifw_trace("ico_device_unbind: Enter(resource=%08x)", (int)resource);
+    free(resource);
+    uifw_trace("ico_device_unbind: Leave");
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   ico_exinput_bind: ico_exinput bind from Application
+ *
+ * @param[in]   client          client(Application)
+ * @param[in]   data            data(unused)
+ * @param[in]   version         protocol version(unused)
+ * @param[in]   id              client object id
+ * @return      none
+ */
+/*--------------------------------------------------------------------------*/
+static void
+ico_exinput_bind(struct wl_client *client, void *data, uint32_t version, uint32_t id)
+{
+    int                     i;
+    char                    *appid;
+    struct ico_app_mgr      *pAppMgr;
+    struct ico_ictl_mgr     *pIctlMgr;
+    struct ico_ictl_input   *pInput;
+
+    appid = ico_window_mgr_appid(client);
+    uifw_trace("ico_exinput_bind: Enter(client=%08x,%s)", (int)client,
+               appid ? appid : "(NULL)");
+
+    if (! appid)    {
+        /* client dose not exist        */
+        uifw_warn("ico_exinput_bind: Leave(client=%08x dose not exist)", (int)client);
+        return;
+    }
+
+    /* find application         */
+    pAppMgr = find_app_by_appid(appid);
+    if (! pAppMgr)  {
+        /* create Application Management Table  */
+        pAppMgr = (struct ico_app_mgr *)malloc(sizeof(struct ico_app_mgr));
+        if (! pAppMgr)  {
+            uifw_error("ico_exinput_bind: Leave(No Memory)");
+            return;
+        }
+        memset(pAppMgr, 0, sizeof(struct ico_app_mgr));
+        strncpy(pAppMgr->appid, appid, sizeof(pAppMgr->appid)-1);
+        wl_list_insert(pInputMgr->app_list.prev, &pAppMgr->link);
+        uifw_trace("ico_exinput_bind: Create App.%s table", appid);
+    }
+    pAppMgr->client = client;
+    if (! pAppMgr->resource)    {
+        pAppMgr->resource = wl_client_add_object(client, &ico_exinput_interface,
+                                                 NULL, id, pInputMgr);
+        pAppMgr->resource->destroy = ico_exinput_unbind;
+    }
+
+    /* send all capabilities    */
+    wl_list_for_each (pIctlMgr, &pInputMgr->ictl_list, link)    {
+        if (pIctlMgr->client == NULL)   {
+            uifw_trace("ico_exinput_bind: Input controller.%s not initialized",
+                       pIctlMgr->device);
+            continue;
+        }
+
+        wl_list_for_each (pInput, &pIctlMgr->ico_ictl_input, link)  {
+            if (pInput->swname[0] == 0) {
+                uifw_trace("ico_exinput_bind: Input %s not initialized", pIctlMgr->device);
+                continue;
+            }
+            if ((pInput->app != NULL) && (pInput->app != pAppMgr) && (pInput->fix)) {   
+                uifw_trace("ico_exinput_bind: Input %s.%s fixed assign to App.%s",
+                           pIctlMgr->device, pInput->swname, pInput->app->appid);
+                continue;
+            }
+            uifw_trace("ico_exinput_bind: send capabilities to app(%s) %s.%s[%d]",
+                       pAppMgr->appid, pIctlMgr->device, pInput->swname, pInput->input);
+            ico_exinput_send_capabilities(pAppMgr->resource, pIctlMgr->device,
+                                          pIctlMgr->type, pInput->swname, pInput->input,
+                                          pInput->code[0].name, pInput->code[0].code);
+            for (i = 1; i < pInput->ncode; i++) {
+                ico_exinput_send_code(pAppMgr->resource, pIctlMgr->device, pInput->input,
+                                      pInput->code[i].name, pInput->code[i].code);
+            }
+        }
+    }
+    uifw_trace("ico_exinput_bind: Leave");
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   ico_exinput_unbind: ico_exinput unbind from Application
+ *
+ * @param[in]   resource        client resource(Application)
+ * @return      none
+ */
+/*--------------------------------------------------------------------------*/
+static void
+ico_exinput_unbind(struct wl_resource *resource)
+{
+    struct ico_app_mgr      *pAppMgr;
+    struct ico_app_mgr      *pAppMgrTmp;
+    struct ico_ictl_mgr     *pIctlMgr;
+    struct ico_ictl_input   *pInput;
+    int                     fix = 0;
+
+    uifw_trace("ico_exinput_unbind: Enter(resource=%08x)", (int)resource);
+
+    wl_list_for_each_safe (pAppMgr, pAppMgrTmp, &pInputMgr->app_list, link) {
+        if (pAppMgr->resource == resource)  {
+            uifw_trace("ico_exinput_unbind: find app.%s", pAppMgr->appid);
+
+            /* release application from input switch    */
+            wl_list_for_each (pIctlMgr, &pInputMgr->ictl_list, link)    {
+                wl_list_for_each (pInput, &pIctlMgr->ico_ictl_input, link)  {
+                    if (pInput->app == pAppMgr) {
+                        if (pInput->fix == 0)   {
+                            uifw_trace("ico_exinput_unbind: app.%s remove %s.%s",
+                                       pAppMgr->appid, pIctlMgr->device, pInput->swname);
+                            pInput->app = NULL;
+                        }
+                        else    {
+                            uifw_trace("ico_exinput_unbind: app.%s fix assign %s.%s",
+                                       pAppMgr->appid, pIctlMgr->device, pInput->swname);
+                            fix ++;
+                        }
+                    }
+                }
+            }
+            if (fix == 0)   {
+                wl_list_remove(&pAppMgr->link);
+                free(pAppMgr);
+            }
+            else    {
+                pAppMgr->client = NULL;
+                pAppMgr->resource = NULL;
+            }
+        }
+    }
+
+    free(resource);
+    uifw_trace("ico_exinput_unbind: Leave");
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   find_ictlmgr_by_device: find Input Controller by device name
+ *
+ * @param[in]   device          device name
+ * @return      Input Controller Manager table address
+ * @retval      !=NULL          address
+ * @retval      ==NULL          not exist
+ */
+/*--------------------------------------------------------------------------*/
+static struct ico_ictl_mgr *
+find_ictlmgr_by_device(const char *device)
+{
+    struct ico_ictl_mgr     *pIctlMgr;
+
+    wl_list_for_each (pIctlMgr, &pInputMgr->ictl_list, link)    {
+        if (strcmp(pIctlMgr->device, device) == 0)  {
+            return pIctlMgr;
+        }
+    }
+    return NULL;
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   find_ictlinput_by_input: find Input Switch by input Id
+ *
+ * @param[in]   pIctlMgr        Input Controller device
+ * @param[in]   input           Input Id
+ * @return      Input Switch table address
+ * @retval      !=NULL          address
+ * @retval      ==NULL          not exist
+ */
+/*--------------------------------------------------------------------------*/
+static struct ico_ictl_input *
+find_ictlinput_by_input(struct ico_ictl_mgr *pIctlMgr, const int32_t input)
+{
+    struct ico_ictl_input   *pInput;
+
+    wl_list_for_each (pInput, &pIctlMgr->ico_ictl_input, link)  {
+        if (pInput->input == input) {
+            return pInput;
+        }
+    }
+    return NULL;
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   find_app_by_appid: find Application by application Id
+ *
+ * @param[in]   appid           application Id
+ * @return      Application Management table address
+ * @retval      !=NULL          address
+ * @retval      ==NULL          not exist
+ */
+/*--------------------------------------------------------------------------*/
+static struct ico_app_mgr *
+find_app_by_appid(const char *appid)
+{
+    struct ico_app_mgr      *pAppMgr;
+
+    wl_list_for_each (pAppMgr, &pInputMgr->app_list, link)  {
+        if (strcmp(pAppMgr->appid, appid) == 0) {
+            return pAppMgr;
+        }
+    }
+    return NULL;
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   module_init: initialization of this plugin
+ *
+ * @param[in]   ec          weston compositor
+ * @return      result
+ * @retval      0           OK
+ * @retval      -1          error
+ */
+/*--------------------------------------------------------------------------*/
+WL_EXPORT int
+module_init(struct weston_compositor *ec)
+{
+    uifw_trace("ico_input_mgr: Enter(module_init)");
+
+    /* initialize management table */
+    pInputMgr = (struct ico_input_mgr *)malloc(sizeof(struct ico_input_mgr));
+    if (pInputMgr == NULL) {
+        uifw_trace("ico_input_mgr: malloc failed");
+        return -1;
+    }
+    memset(pInputMgr, 0, sizeof(struct ico_input_mgr));
+    pInputMgr->compositor = ec;
+
+    /* interface to desktop manager(ex.HomeScreen)  */
+    if (wl_display_add_global(ec->wl_display,
+                              &ico_input_mgr_control_interface,
+                              pInputMgr,
+                              ico_control_bind) == NULL) {
+        uifw_trace("ico_input_mgr: wl_display_add_global mgr failed");
+        return -1;
+    }
+
+    /* interface to Input Controller(ictl) */
+    if (wl_display_add_global(ec->wl_display,
+                              &ico_input_mgr_device_interface,
+                              pInputMgr,
+                              ico_device_bind) == NULL) {
+        uifw_trace("ico_input_mgr: wl_display_add_global ictl failed");
+        return -1;
+    }
+
+    /* interface to App(exinput) */
+    if (wl_display_add_global(ec->wl_display, &ico_exinput_interface,
+                              pInputMgr, ico_exinput_bind) == NULL) {
+        uifw_trace("ico_input_mgr: wl_display_add_global exseat failed");
+        return -1;
+    }
+
+    /* initialize list */
+    wl_list_init(&pInputMgr->ictl_list);
+    wl_list_init(&pInputMgr->app_list);
+
+    uifw_trace("ico_input_mgr: Leave(module_init)");
+    return 0;
+}
+
diff --git a/src/ico_ivi_common.c b/src/ico_ivi_common.c
new file mode 100644 (file)
index 0000000..39c84cb
--- /dev/null
@@ -0,0 +1,334 @@
+/*
+ * Copyright Â© 2010-2011 Intel Corporation
+ * Copyright Â© 2008-2011 Kristian Høgsberg
+ * Copyright Â© 2013 TOYOTA MOTOR CORPORATION.
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and
+ * its documentation for any purpose is hereby granted without fee, provided
+ * that the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation, and that the name of the copyright holders not be used in
+ * advertising or publicity pertaining to distribution of the software
+ * without specific, written prior permission.  The copyright holders make
+ * no representations about the suitability of this software for any
+ * purpose.  It is provided "as is" without express or implied warranty.
+ *
+ * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
+ * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
+ * FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
+ * SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
+ * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
+ * CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
+ * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+/**
+ * @brief   Weston(Wayland) Plugin: IVI Common Functions.
+ *
+ * @date    Feb-08-2013
+ */
+
+#define _GNU_SOURCE
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <stdbool.h>
+#include <string.h>
+#include <unistd.h>
+#include <dlfcn.h>
+
+#include "compositor.h"
+#include "ico_ivi_common.h"
+
+/* IVI Plugin Common Table                  */
+struct ico_ivi_common {
+    int32_t myNodeId;                       /* (HostId << 16) | DisplayNo               */
+    int (*usurf_2_node)(const int surfaceid);
+                                            /* Function address of nodeId from surfaceId*/
+    int (*send_to_mgr)(const int event, const int surfaceid, const char *appid,
+                       const int param1, const int param2, const int param3,
+                       const int param4, const int param5, const int param6);
+                                            /* Function address of send to manager      */
+    int (*send_surface_change)(struct weston_surface *surface,
+                               const int x, const int y, const int width, const int height);
+                                            /* Function address of send configure to manager*/
+};
+
+/* This function is called from the ico_plugin-loader and initializes this module.*/
+int module_init(struct weston_compositor *ec);
+
+/* Static area for control ico_ivi_common       */
+static struct ico_ivi_common *_ico_ivi_common = NULL;
+
+/* Special options                              */
+static int  _ico_option_flag = 0;
+
+/* Debug level                                  */
+static int  _ico_ivi_debug = 3;
+
+static const struct config_key debug_config_keys[] = {
+        { "option_flag", CONFIG_KEY_INTEGER, &_ico_option_flag },
+        { "ivi_debug", CONFIG_KEY_INTEGER, &_ico_ivi_debug },
+    };
+
+static const struct config_section conf_debug[] = {
+        { "debug", debug_config_keys, ARRAY_LENGTH(debug_config_keys) },
+    };
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   ico_special_option: Answer special option flag
+ *
+ * @param       None
+ * @return      Special option flag
+ */
+/*--------------------------------------------------------------------------*/
+WL_EXPORT   int
+ico_option_flag(void)
+{
+    return _ico_option_flag;
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   ico_ivi_debuglevel: Answer debug output level.
+ *
+ * @param       None
+ * @return      Debug output level
+ * @retval      0       No debug output
+ * @retval      1       Only error output
+ * @retval      2       Error and information output
+ * @retval      3       All output with debug write
+ */
+/*--------------------------------------------------------------------------*/
+WL_EXPORT   int
+ico_ivi_debuglevel(void)
+{
+    return _ico_ivi_debug;
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   ico_ivi_get_mynode: Get my NodeId
+ *
+ * @param       None
+ * @return      NodeId of my node
+ */
+/*--------------------------------------------------------------------------*/
+WL_EXPORT   int
+ico_ivi_get_mynode(void)
+{
+    /* Reference Platform 0.50 only support 1 ECU   */
+    return 0;
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   ico_ivi_set_usurf_2_node: Regist function of convert surfaceId to NodeId
+ *
+ * @param[in]   usurf_2_node    Function address of usurf_2_node
+ * @return      None
+ */
+/*--------------------------------------------------------------------------*/
+WL_EXPORT   void
+ico_ivi_set_usurf_2_node(int (*usurf_2_node)(const int surfaceid))
+{
+    _ico_ivi_common->usurf_2_node = usurf_2_node;
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   ico_ivi_usurf_2_node: Convert surfaceId to NodeId
+ *
+ * @param[in]   surfaceid       ivi-shell surfaceId
+ * @return      NodeId
+ * @retval      >= 0            NodeId
+ * @retval      < 0             Surface dose not exist
+ */
+/*--------------------------------------------------------------------------*/
+WL_EXPORT   int
+ico_ivi_usurf_2_node(const int surfaceid)
+{
+    int     nodeId;
+
+    if (_ico_ivi_common->usurf_2_node)  {
+        /* If declared convert function, call function          */
+        nodeId = (*_ico_ivi_common->usurf_2_node) (surfaceid);
+        if (nodeId >= 0)    {
+            return nodeId;
+        }
+    }
+
+    /* If NOT declare convert function, convert from surfaceId  */
+    return ICO_IVI_SURFACEID_2_NODEID(surfaceid);
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   ico_ivi_set_send_to_mgr: Regist function of send to manager
+ *
+ * @param[in]   send_to_mgr     Function address of send to manager
+ * @return      None
+ */
+/*--------------------------------------------------------------------------*/
+WL_EXPORT   void
+ico_ivi_set_send_to_mgr(int (*send_to_mgr)(const int event,
+                        const int surfaceid, const char *appid,
+                        const int param1, const int param2, const int param3,
+                        const int param4, const int param5, const int param6))
+{
+    _ico_ivi_common->send_to_mgr = send_to_mgr;
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   ico_ivi_send_to_mgr: Send event to manager
+ *
+ * @param[in]   event           Event code
+ * @param[in]   client_resource Client resource
+ * @param[in]   surfaceid       SurfaceId  (depend of event code)
+ * @param[in]   appid           ApplicationId  (depend of event code)
+ * @param[in]   param1          Parameter.1 (depend of event code)
+ * @param[in]   param2          Parameter.2 (depend of event code)
+ * @param[in]     :
+ * @param[in]   param6          Parameter.6 (depend of event code)
+ * @return      number of managers
+ * @retval      > 0             number of managers
+ * @retval      0               manager not exist
+ * @retval      -1              Multi Input Manager not exist
+ */
+/*--------------------------------------------------------------------------*/
+WL_EXPORT   int
+ico_ivi_send_to_mgr(const int event, struct wl_resource *client_resource,
+                    const int surfaceid, const char *appid,
+                    const int param1, const int param2, const int param3,
+                    const int param4, const int param5, const int param6)
+{
+    if (_ico_ivi_common->send_to_mgr)   {
+        return (*_ico_ivi_common->send_to_mgr)(event, surfaceid, appid,
+                                               param1, param2, param3,
+                                               param4, param5, param6);
+    }
+    return -1;
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   ico_ivi_set_send_surface_change: Regist function of surface change
+ *
+ * @param[in]   send_surface_change     Function address of surface change
+ * @return      None
+ */
+/*--------------------------------------------------------------------------*/
+WL_EXPORT   void
+ico_ivi_set_send_surface_change(int (*send_surface_change)(struct weston_surface *surface,
+                                                           const int x, const int y,
+                                                           const int width,
+                                                           const int height))
+{
+    _ico_ivi_common->send_surface_change = send_surface_change;
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   ico_ivi_send_surface_change: Send surface change event to manager
+ *
+ * @param[in]   surface         Weston surface
+ * @return      number of managers
+ * @retval      > 0             number of managers
+ * @retval      0               manager not exist
+ * @retval      -1              Multi Input Manager not exist
+ */
+/*--------------------------------------------------------------------------*/
+WL_EXPORT   int
+ico_ivi_send_surface_change(struct weston_surface *surface,
+                            const int x, const int y, const int width, const int height)
+{
+    if (_ico_ivi_common->send_surface_change)   {
+        return (*_ico_ivi_common->send_surface_change)(surface, x, y, width, height);
+    }
+    return -1;
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   ico_ivi_nodename_2_node: Convert node name to hostId
+ *
+ * @param[in]   nodename    Node name(same as host name)
+ * @return      HostId
+ * @retval      >= 0        HostId
+ */
+/*--------------------------------------------------------------------------*/
+WL_EXPORT int
+ico_ivi_nodename_2_node(const char *nodename)
+{
+    if (nodename == NULL)   {
+        uifw_trace("ico_ivi_nodename_2_node: NULL => %d",
+                   ICO_IVI_NODEID_2_HOSTID(_ico_ivi_common->myNodeId));
+        return ICO_IVI_NODEID_2_HOSTID(_ico_ivi_common->myNodeId);
+    }
+
+    /* Reference Platform 0.50 only support 1 ECU   */
+    uifw_trace("ico_ivi_nodename_2_node: %s => None", nodename );
+    return 0;
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   ico_ivi_dispname_2_node: Convert display name to nodeId
+ *
+ * @param[in]   dispname    Node name(same as display name)
+ * @return      NodeId
+ * @retval      >= 0        NodeId
+ */
+/*--------------------------------------------------------------------------*/
+WL_EXPORT int
+ico_ivi_dispname_2_node(const char *dispname)
+{
+    if (dispname == NULL)   {
+        uifw_trace("ico_ivi_dispname_2_node: NULL => %x", _ico_ivi_common->myNodeId);
+        return _ico_ivi_common->myNodeId;
+    }
+
+    /* Reference Platform 0.50 only support 1 ECU   */
+    uifw_trace("ico_ivi_dispname_2_node: %s => None", dispname);
+    return 0;
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   IVI Common: Initialize function of ico_ivi_common.
+ *
+ * @param[in]   ec          Weston compositor. (from Weston)
+ * @return      result
+ * @retval      0           Normal end
+ * @retval      -1          Error
+ */
+/*--------------------------------------------------------------------------*/
+WL_EXPORT int
+module_init(struct weston_compositor *ec)
+{
+    char    *config_file;
+
+    uifw_info("ico_ivi_common: Enter(module_init)");
+
+    /* Get debug level from config file         */
+    config_file = config_file_path(ICO_IVI_PLUGIN_CONFIG);
+    parse_config_file(config_file, conf_debug, ARRAY_LENGTH(conf_debug), NULL);
+    free(config_file);
+
+    uifw_info("ico_ivi_common: option flag=0x%08x debug=%d",
+              ico_option_flag(), ico_ivi_debuglevel());
+
+    /* Allocate static area                     */
+    _ico_ivi_common = (struct ico_ivi_common *) malloc(sizeof(struct ico_ivi_common));
+    if (! _ico_ivi_common)  {
+        uifw_error("ico_ivi_common: Leave(No Memory)");
+        return -1;
+    }
+    memset(_ico_ivi_common, 0, sizeof(struct ico_ivi_common));
+
+    uifw_info("ico_ivi_common: Leave(module_init)");
+
+    return 0;
+}
+
diff --git a/src/ico_ivi_common.h b/src/ico_ivi_common.h
new file mode 100644 (file)
index 0000000..58c4193
--- /dev/null
@@ -0,0 +1,123 @@
+/*
+ * Copyright Â© 2010-2011 Intel Corporation
+ * Copyright Â© 2008-2011 Kristian Høgsberg
+ * Copyright Â© 2013 TOYOTA MOTOR CORPORATION.
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and
+ * its documentation for any purpose is hereby granted without fee, provided
+ * that the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation, and that the name of the copyright holders not be used in
+ * advertising or publicity pertaining to distribution of the software
+ * without specific, written prior permission.  The copyright holders make
+ * no representations about the suitability of this software for any
+ * purpose.  It is provided "as is" without express or implied warranty.
+ *
+ * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
+ * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
+ * FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
+ * SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
+ * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
+ * CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
+ * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+/**
+ * @brief   The common functions that each Plugin is available.
+ *
+ * @date    Feb-08-2013
+ */
+
+#ifndef _ICO_IVI_COMMON_H_
+#define _ICO_IVI_COMMON_H_
+
+/* Macros                               */
+#define ICO_IVI_NODEID_2_HOSTID( nodeid )       (((unsigned int)nodeid) >> 16)
+#define ICO_IVI_NODEID_2_DISPLAYNO( nodeid )    (((unsigned int)nodeid) & 0x0ffff)
+#define ICO_IVI_NODEDISP_2_NODEID( nodeid, displayno )  \
+                                                ((nodeid << 16) | displayno)
+#define ICO_IVI_SURFACEID_2_HOSTID( surfid )    (((unsigned int)surfid) >> 24)
+#define ICO_IVI_SURFACEID_2_DISPLAYNO( surfid ) ((((unsigned int)surfid) >> 16) & 0x0ff)
+#define ICO_IVI_SURFACEID_2_NODEID( surfid )    \
+            ICO_IVI_NODEDISP_2_NODEID( ICO_IVI_SURFACEID_2_HOSTID(surfid),  \
+                                       ICO_IVI_SURFACEID_2_DISPLAYNO(surfid) )
+#define ICO_IVI_SURFACEID_BASE( nodeid )    \
+            (ICO_IVI_NODEID_2_HOSTID(nodeid) << 24) |   \
+            (ICO_IVI_NODEID_2_DISPLAYNO(nodeid) << 16)
+
+/* Return value                         */
+#define ICO_IVI_EOK         0               /* OK                                   */
+#define ICO_IVI_ENOENT      -2              /* No such object                       */
+#define ICO_IVI_EIO         -5              /* Send error                           */
+#define ICO_IVI_ENOMEM      -12             /* Out of memory                        */
+#define ICO_IVI_EBUSY       -16             /* Not available now                    */
+#define ICO_IVI_EINVAL      -22             /* Invalid argument                     */
+
+/* Configuration file                   */
+#define ICO_IVI_PLUGIN_CONFIG   "weston_ivi_plugin.ini"
+
+/* System limit                         */
+#define ICO_IVI_APPID_LENGTH    (128)       /* Maximum length of applicationId(AppCore) */
+                                            /* (with terminate NULL)                */
+#define ICO_IVI_MAX_COORDINATE  (16383)     /* Maximum X or Y coordinate            */
+/* Fixed value                          */
+#define ICO_IVI_DEFAULT_LAYER   (0)         /* Default layerId for surface creation */
+#ifndef TRUE
+#define TRUE    1
+#endif
+#ifndef FALSE
+#define FALSE   0
+#endif
+
+/* Function prototype                   */
+                                        /* Get my node numner                       */
+int ico_ivi_get_mynode(void);
+                                        /* Convert host name to ECU number          */
+int ico_ivi_nodename_2_node(const char *nodename);
+                                        /* Convert display name to nodeId           */
+int ico_ivi_dispname_2_node(const char *dispname);
+                                        /* Regist function of display to nodeId convert*/
+void ico_ivi_set_usurf_2_node(int (*usurf_2_node)(const int surfaceid));
+                                        /* Convery surfaceId to nodeId              */
+int ico_ivi_usurf_2_node(const int surfaceid);
+                                        /* Regist function of send event to manager */
+void ico_ivi_set_send_to_mgr(int (*send_to_mgr)(const int event,
+                            const int surfaceid, const char *appid,
+                            const int param1, const int param2, const int param3,
+                            const int param4, const int param5, const int param6));
+                                        /* Send event to manager                    */
+int ico_ivi_send_to_mgr(const int event, struct wl_resource *client_resource,
+                            const int surfaceid, const char *appid,
+                            const int param1, const int param2, const int param3,
+                            const int param4, const int param5, const int param6);
+
+void ico_ivi_set_send_surface_change(int (*send_surface_change)(
+                            struct weston_surface *surface,
+                            const int x, const int y, const int width, const int height));
+int ico_ivi_send_surface_change(struct weston_surface *surface,
+                            const int x, const int y, const int width, const int height);
+
+int ico_option_flag(void);
+int ico_ivi_debuglevel(void);
+
+/* Debug Traces                         */
+/* Define for debug write               */
+#define UIFW_DEBUG_OUT  1   /* 1=Debug Print/0=No Debug Print           */
+
+#if UIFW_DEBUG_OUT > 0
+#define uifw_trace(fmt,...)  \
+    { if (ico_ivi_debuglevel() >= 4) {weston_log("DBG>"fmt" (%s:%d)\n",##__VA_ARGS__,__FILE__,__LINE__);} }
+#else  /*UIFW_DEBUG_OUT*/
+#define uifw_trace(fmt,...)
+#endif /*UIFW_DEBUG_OUT*/
+
+#define uifw_info(fmt,...)  \
+    { if (ico_ivi_debuglevel() >= 3) {weston_log("INF>"fmt" (%s:%d)\n",##__VA_ARGS__,__FILE__,__LINE__);} }
+#define uifw_msg(fmt,...)  \
+    { if (ico_ivi_debuglevel() >= 3) {weston_log("INF>"fmt"\n",##__VA_ARGS__);} }
+#define uifw_warn(fmt,...)  \
+    { if (ico_ivi_debuglevel() >= 2) {weston_log("WRN>"fmt" (%s:%d)\n",##__VA_ARGS__,__FILE__,__LINE__);} }
+#define uifw_error(fmt,...)  \
+    { if (ico_ivi_debuglevel() >= 1) {weston_log("ERR>"fmt" (%s:%d)\n",##__VA_ARGS__,__FILE__,__LINE__);} }
+
+#endif  /*_ICO_IVI_COMMON_H_*/
+
diff --git a/src/ico_ivi_shell.c b/src/ico_ivi_shell.c
new file mode 100644 (file)
index 0000000..34c09da
--- /dev/null
@@ -0,0 +1,1907 @@
+/*
+ * Copyright Â© 2010-2011 Intel Corporation
+ * Copyright Â© 2008-2011 Kristian Høgsberg
+ * Copyright Â© 2013 TOYOTA MOTOR CORPORATION.
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and
+ * its documentation for any purpose is hereby granted without fee, provided
+ * that the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation, and that the name of the copyright holders not be used in
+ * advertising or publicity pertaining to distribution of the software
+ * without specific, written prior permission.  The copyright holders make
+ * no representations about the suitability of this software for any
+ * purpose.  It is provided "as is" without express or implied warranty.
+ *
+ * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
+ * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
+ * FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
+ * SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
+ * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
+ * CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
+ * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+/**
+ * @brief   Weston(Wayland) IVI Shell
+ * @brief   Shell for IVI(In-Vehicle Infotainment).
+ *
+ * @date    Feb-08-2013
+ */
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <stdbool.h>
+#include <string.h>
+#include <unistd.h>
+#include <linux/input.h>
+#include <assert.h>
+#include <signal.h>
+#include <math.h>
+#include <sys/types.h>
+#include <sys/time.h>
+#include <time.h>
+
+#include <wayland-server.h>
+#include "compositor.h"
+#include "ico_ivi_common.h"
+#include "ico_ivi_shell.h"
+#include "ico_ivi_shell-server-protocol.h"
+
+/* Animation to apply at the time of indication start of the screen */
+enum animation_type {
+    ANIMATION_NONE,                 /* No animation                         */
+    ANIMATION_ZOOM,                 /* Zoom In                              */
+    ANIMATION_FADE,                 /* Fade In                              */
+    ANIMATION_SLIDE                 /* Slide In                             */
+};
+
+/* Layer management                 */
+struct  ivi_layer_list  {
+    int     layer;                  /* Layer.ID                             */
+    int     visible;
+    struct wl_list surface_list;    /* Surfacae list                        */
+    struct wl_list link;            /* Link pointer for layer list          */
+};
+
+/* Static table for Shell           */
+struct shell_surface;
+struct ivi_shell {
+    struct weston_compositor *compositor;
+    struct wl_listener destroy_listener;
+    struct weston_layer surface;            /* Surface list                 */
+    struct ivi_layer_list ivi_layer;        /* Layer list                   */
+    enum animation_type win_animation_type; /* Default animetion            */
+    int win_visible_on_create;              /* Visible on create surface    */
+    struct shell_surface *active_shsurf;    /* Active shell surface         */
+};
+
+/* Surface type                     */
+enum shell_surface_type {
+    SHELL_SURFACE_NONE,             /* Surface type undefine                */
+    SHELL_SURFACE_TOPLEVEL,         /* Top level surface for application    */
+    SHELL_SURFACE_CHILD             /* Child surface                        */
+};
+
+/* Shell surface table              */
+struct shell_surface {
+    struct wl_resource  resource;
+
+    struct weston_surface *surface;
+    struct wl_listener surface_destroy_listener;
+    struct weston_surface *parent;
+    struct ivi_shell *shell;
+
+    enum    shell_surface_type type;
+    enum    shell_surface_type next_type;
+    char    *title;
+    char    *class;
+
+    int     geometry_x;
+    int     geometry_y;
+    int     geometry_width;
+    int     geometry_height;
+    short   visible;
+    short   mapped;
+    struct ivi_layer_list *layer_list;
+    struct wl_list        ivi_layer;
+
+    struct {
+        struct weston_transform transform;
+        struct weston_matrix rotation;
+    } rotation;
+
+    struct {
+        int32_t  x;
+        int32_t  y;
+        uint32_t flags;
+    } transient;
+
+    struct wl_list link;
+    const struct weston_shell_client *client;
+};
+
+static struct ivi_shell *default_shell = NULL;
+
+
+/* static function prototype    */
+static void bind_shell(struct wl_client *client, void *data, uint32_t version, uint32_t id);
+static void unbind_shell(struct wl_resource *resource);
+static struct shell_surface *get_shell_surface(struct weston_surface *surface);
+static struct ivi_shell *shell_surface_get_shell(struct shell_surface *shsurf);
+static void ivi_shell_restack_ivi_layer(struct ivi_shell *shell,
+                                        struct shell_surface *shsurf);
+
+static void (*shell_hook_bind)(struct wl_client *client) = NULL;
+static void (*shell_hook_unbind)(struct wl_client *client) = NULL;
+static void (*shell_hook_create)(struct wl_client *client, struct wl_resource *resource,
+                                 struct weston_surface *surface,
+                                 struct shell_surface *shsurf) = NULL;
+static void (*shell_hook_destroy)(struct weston_surface *surface) = NULL;
+static void (*shell_hook_map)(struct weston_surface *surface, int32_t *width,
+                              int32_t *height, int32_t *sx, int32_t *sy) = NULL;
+static void (*shell_hook_change)(struct weston_surface *surface, const int to,
+                                 const int manager) = NULL;
+static void (*shell_hook_select)(struct weston_surface *surface) = NULL;
+
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   get_animation_type: animetion type convert name to enumeration value.
+ *
+ * @param[in]   animation   animation name
+ * @return      animetion enumeration value
+ * @retval      ANIMATION_NONE  no animetion
+ * @retval      ANIMATION_ZOOM  zoom animetion
+ * @retval      ANIMATION_FADE  fade animetion
+ * @retval      ANIMATION_SLIDE slide animetion
+ */
+/*--------------------------------------------------------------------------*/
+static enum animation_type
+get_animation_type(char *animation)
+{
+    if (!animation)
+        return ANIMATION_NONE;
+
+    if (!strcmp("zoom", animation))
+        return ANIMATION_ZOOM;
+    else if (!strcmp("fade", animation))
+        return ANIMATION_FADE;
+    else if (!strcmp("slide", animation))
+        return ANIMATION_SLIDE;
+    else
+        return ANIMATION_NONE;
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   shell_configuration: initiale configuration ico_ivi_shell
+ *
+ * @param[in]   shell   ico_ivi_shell static table area
+ * @return      none
+ */
+/*--------------------------------------------------------------------------*/
+static void
+shell_configuration(struct ivi_shell *shell)
+{
+    char    *config_file;
+    char    *win_animation = NULL;
+
+    struct config_key shell_keys[] = {
+        { "animation",          CONFIG_KEY_STRING, &win_animation },
+        { "visible_on_create",  CONFIG_KEY_INTEGER, &shell->win_visible_on_create },
+    };
+
+    struct config_section cs[] = {
+        { "shell", shell_keys, ARRAY_LENGTH(shell_keys), NULL },
+    };
+
+    config_file = config_file_path(ICO_IVI_PLUGIN_CONFIG);
+    parse_config_file(config_file, cs, ARRAY_LENGTH(cs), shell);
+    free(config_file);
+
+    shell->win_animation_type = get_animation_type(win_animation);
+
+    uifw_info("shell_configuration: Anima=%d Visible=%d Debug=%d",
+              shell->win_animation_type, shell->win_visible_on_create,
+              ico_ivi_debuglevel());
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   send_configure: send configure(resize) event to client applicstion
+ *
+ * @param[in]   surface     weston surface
+ * @param[in]   edges       surface resize position
+ * @param[in]   width       surface width
+ * @param[in]   height      surface height
+ * @return      none
+ */
+/*--------------------------------------------------------------------------*/
+static void
+send_configure(struct weston_surface *surface,
+               uint32_t edges, int32_t width, int32_t height)
+{
+    struct shell_surface *shsurf = get_shell_surface(surface);
+
+    wl_shell_surface_send_configure(&shsurf->resource,
+                                    edges, width, height);
+}
+
+static const struct weston_shell_client shell_client = {
+    send_configure
+};
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   reset_shell_surface_type: reset surface type
+ *
+ * @param[in]   shsurf      shell surface
+ * @return      always 0
+ */
+/*--------------------------------------------------------------------------*/
+static int
+reset_shell_surface_type(struct shell_surface *shsurf)
+{
+    uifw_trace("reset_shell_surface_type: [%08x]", (int)shsurf);
+    shsurf->type = SHELL_SURFACE_NONE;
+    return 0;
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   set_surface_type: set surface type
+ *
+ * @param[in]   shsurf      shell surface
+ * @return      none
+ */
+/*--------------------------------------------------------------------------*/
+static void
+set_surface_type(struct shell_surface *shsurf)
+{
+    struct weston_surface *surface = shsurf->surface;
+    struct weston_surface *pes = shsurf->parent;
+    struct shell_surface *psh;
+
+    uifw_trace("set_surface_type: [%08x] (%08x) type=%x",
+               (int)shsurf, (int)surface, (int)shsurf->next_type);
+
+    reset_shell_surface_type(shsurf);
+
+    shsurf->type = shsurf->next_type;
+    shsurf->next_type = SHELL_SURFACE_NONE;
+
+    switch (shsurf->type) {
+    case SHELL_SURFACE_TOPLEVEL:
+        break;
+    case SHELL_SURFACE_CHILD:
+        psh = get_shell_surface(pes);
+        if (psh)    {
+            shsurf->geometry_x = psh->geometry_x + shsurf->transient.x;
+            shsurf->geometry_y = psh->geometry_y + shsurf->transient.y;
+        }
+        else    {
+            shsurf->geometry_x = pes->geometry.x + shsurf->transient.x;
+            shsurf->geometry_y = pes->geometry.y + shsurf->transient.y;
+        }
+        break;
+    default:
+        break;
+    }
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   shell_surface_pong: recceive pong(ping reply) (NOP)
+ *
+ * @param[in]   client      wayland client
+ * @param[in]   resource    pong resource
+ * @param[in]   serial      event serial number
+ * @return      none
+ */
+/*--------------------------------------------------------------------------*/
+static void
+shell_surface_pong(struct wl_client *client, struct wl_resource *resource, uint32_t serial)
+{
+    uifw_trace("shell_surface_pong: NOP[%08x]", (int)resource->data);
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   shell_surface_move: recceive move request (NOP)
+ *
+ * @param[in]   client          wayland client
+ * @param[in]   resource        move request resource
+ * @param[in]   seat_resource   seat resource
+ * @param[in]   serial          event serial number
+ * @return      none
+ */
+/*--------------------------------------------------------------------------*/
+static void
+shell_surface_move(struct wl_client *client, struct wl_resource *resource,
+                   struct wl_resource *seat_resource, uint32_t serial)
+{
+    uifw_trace("shell_surface_move: NOP[%08x]", (int)resource->data);
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   shell_surface_resize: recceive resize request (NOP)
+ *
+ * @param[in]   client          wayland client
+ * @param[in]   resource        resize request resource
+ * @param[in]   seat_resource   seat resource
+ * @param[in]   serial          event serial number
+ * @param[in]   edges           resize position
+ * @return      none
+ */
+/*--------------------------------------------------------------------------*/
+static void
+shell_surface_resize(struct wl_client *client, struct wl_resource *resource,
+                     struct wl_resource *seat_resource, uint32_t serial,
+                     uint32_t edges)
+{
+    uifw_trace("shell_surface_resize: NOP[%08x]", (int)resource->data);
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   set_toplevel: set surface to TopLevel
+ *
+ * @param[in]   shsurf          shell surface
+ * @return      none
+ */
+/*--------------------------------------------------------------------------*/
+static void
+set_toplevel(struct shell_surface *shsurf)
+{
+    shsurf->next_type = SHELL_SURFACE_TOPLEVEL;
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   shell_surface_set_toplevel: set surface to TopLevel(client interface)
+ *
+ * @param[in]   client          wayland client
+ * @param[in]   resource        set toplevel request resource
+ * @return      none
+ */
+/*--------------------------------------------------------------------------*/
+static void
+shell_surface_set_toplevel(struct wl_client *client, struct wl_resource *resource)
+{
+    struct shell_surface *shsurf = resource->data;
+
+    uifw_trace("shell_surface_set_toplevel: Set TopLevel[%08x] surf=%08x",
+               (int)shsurf, (int)shsurf->surface);
+
+    set_toplevel(shsurf);
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   set_transient: set surface to child
+ *
+ * @param[in]   shsurf          shell surface
+ * @param[in]   parent          parent surface
+ * @param[in]   x               relative X position from a parent
+ * @param[in]   y               relative Y position from a parent
+ * @param[in]   flags           flag(unused)
+ * @return      none
+ */
+/*--------------------------------------------------------------------------*/
+static void
+set_transient(struct shell_surface *shsurf,
+              struct weston_surface *parent, int x, int y, uint32_t flags)
+{
+    /* assign to parents output */
+    shsurf->parent = parent;
+    shsurf->transient.x = x;
+    shsurf->transient.y = y;
+    shsurf->transient.flags = flags;
+    shsurf->next_type = SHELL_SURFACE_CHILD;
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   shell_surface_set_transient: set surface to child(client interface)
+ *
+ * @param[in]   client          wayland client
+ * @param[in]   resource        set transient request resource
+ * @param[in]   parent_resource parent surface resource
+ * @param[in]   x               relative X position from a parent
+ * @param[in]   y               relative Y position from a parent
+ * @param[in]   flags           flag(unused)
+ * @return      none
+ */
+/*--------------------------------------------------------------------------*/
+static void
+shell_surface_set_transient(struct wl_client *client, struct wl_resource *resource,
+                            struct wl_resource *parent_resource,
+                            int x, int y, uint32_t flags)
+{
+    struct shell_surface *shsurf = resource->data;
+    struct weston_surface *parent = parent_resource->data;
+
+    set_transient(shsurf, parent, x, y, flags);
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   shell_surface_set_fullscreen: set surface to full screen(same as toplevel)
+ *
+ * @param[in]   client          wayland client
+ * @param[in]   resource        set fullscreen request resource
+ * @param[in]   method          method(unused)
+ * @param[in]   framerate       frame rate(unused)
+ * @param[in]   output_resource output resource(unused)
+ * @return      none
+ */
+/*--------------------------------------------------------------------------*/
+static void
+shell_surface_set_fullscreen(struct wl_client *client, struct wl_resource *resource,
+                             uint32_t method, uint32_t framerate,
+                             struct wl_resource *output_resource)
+{
+    struct shell_surface *shsurf = resource->data;
+    uifw_trace("shell_surface_set_fullscreen: "
+               "NOP(same as set_toplevel)[%08x]", (int)shsurf);
+    set_toplevel(shsurf);
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   shell_surface_set_popup: set surface to popup(same as toplevel)
+ *
+ * @param[in]   client          wayland client
+ * @param[in]   resource        set popup request resource
+ * @param[in]   seat_resource   seat resource(unused)
+ * @param[in]   serial          event serial number(unused)
+ * @param[in]   parent_resource parent resource(unused)
+ * @param[in]   x               relative X position from a parent(unused)
+ * @param[in]   y               relative Y position from a parent(unused)
+ * @param[in]   flags           flag(unused)
+ * @return      none
+ */
+/*--------------------------------------------------------------------------*/
+static void
+shell_surface_set_popup(struct wl_client *client, struct wl_resource *resource,
+                        struct wl_resource *seat_resource, uint32_t serial,
+                        struct wl_resource *parent_resource,
+                        int32_t x, int32_t y, uint32_t flags)
+{
+    struct shell_surface *shsurf = resource->data;
+    uifw_trace("shell_surface_set_popup: NOP(same as set_toplevel)[%08x]", (int)shsurf);
+    set_toplevel(shsurf);
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   shell_surface_set_maximized: set surface to maximized(same as toplevel)
+ *
+ * @param[in]   client          wayland client
+ * @param[in]   resource        set maximized request resource
+ * @param[in]   output_resource output resource(unused)
+ * @return      none
+ */
+/*--------------------------------------------------------------------------*/
+static void
+shell_surface_set_maximized(struct wl_client *client, struct wl_resource *resource,
+                            struct wl_resource *output_resource )
+{
+    struct shell_surface *shsurf = resource->data;
+    uifw_trace("shell_surface_set_maximized: NOP(same as set_toplevel)[%08x]", (int)shsurf);
+    set_toplevel(shsurf);
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   shell_surface_set_title: set surface title
+ *
+ * @param[in]   client      wayland client
+ * @param[in]   resource    set title request resource
+ * @param[in]   title       surface title
+ * @return      none
+ */
+/*--------------------------------------------------------------------------*/
+static void
+shell_surface_set_title(struct wl_client *client,
+                        struct wl_resource *resource, const char *title)
+{
+    struct shell_surface *shsurf = resource->data;
+
+    uifw_trace("shell_surface_set_title: [%08x] %s", (int)shsurf, title);
+
+    if (shsurf->title)  {
+        free(shsurf->title);
+    }
+    shsurf->title = strdup(title);
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   shell_surface_set_class: set surface class name
+ *
+ * @param[in]   client      wayland client
+ * @param[in]   resource    set class request resource
+ * @param[in]   class       surface class name
+ * @return      none
+ */
+/*--------------------------------------------------------------------------*/
+static void
+shell_surface_set_class(struct wl_client *client,
+                        struct wl_resource *resource, const char *class)
+{
+    struct shell_surface *shsurf = resource->data;
+
+    uifw_trace("shell_surface_set_class: [%08x] %s", (int)shsurf, class);
+
+    if (shsurf->class)  {
+        free(shsurf->class);
+    }
+    shsurf->class = strdup(class);
+}
+
+static const struct wl_shell_surface_interface shell_surface_implementation = {
+    shell_surface_pong,
+    shell_surface_move,
+    shell_surface_resize,
+    shell_surface_set_toplevel,
+    shell_surface_set_transient,
+    shell_surface_set_fullscreen,
+    shell_surface_set_popup,
+    shell_surface_set_maximized,
+    shell_surface_set_title,
+    shell_surface_set_class
+};
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   shell_surface_get_shell: get ico_ivi_shell static table
+ *
+ * @param[in]   shsurf      shell surface(if NULL, return default)
+ * @return      ico_ivi_shell static table address
+ */
+/*--------------------------------------------------------------------------*/
+static struct ivi_shell *
+shell_surface_get_shell(struct shell_surface *shsurf)
+{
+    if (shsurf) {
+        return shsurf->shell;
+    }
+    return default_shell;
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   destroy_shell_surface: destroy surface
+ *
+ * @param[in]   shsurf      shell surface
+ * @return      none
+ */
+/*--------------------------------------------------------------------------*/
+static void
+destroy_shell_surface(struct shell_surface *shsurf)
+{
+    uifw_trace("destroy_shell_surface: Enter[%08x]", (int)shsurf);
+
+    if (shsurf->visible != FALSE)   {
+        shsurf->visible = FALSE;
+        ivi_shell_restack_ivi_layer(shell_surface_get_shell(shsurf), shsurf);
+    }
+
+    wl_list_remove(&shsurf->ivi_layer);
+
+    if (shell_hook_destroy) {
+        /* call sufrace destory hook routine    */
+        uifw_trace("destroy_shell_surface: call ivi_shell_hook_destroy(%08x)",
+                   (int)shsurf->surface);
+        (void) (*shell_hook_destroy) (shsurf->surface);
+        uifw_trace("destroy_shell_surface: ret");
+    }
+
+    wl_list_remove(&shsurf->surface_destroy_listener.link);
+    shsurf->surface->configure = NULL;
+
+    wl_list_remove(&shsurf->link);
+    free(shsurf);
+
+    uifw_trace("destroy_shell_surface: Leave");
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   shell_destroy_shell_surface: destroy surface(client interface)
+ *
+ * @param[in]   resource    destroy request resource
+ * @return      none
+ */
+/*--------------------------------------------------------------------------*/
+static void
+shell_destroy_shell_surface(struct wl_resource *resource)
+{
+    struct shell_surface *shsurf = resource->data;
+
+    uifw_trace("shell_destroy_shell_surface: Enter [%08x]", (int)shsurf);
+
+    destroy_shell_surface(shsurf);
+
+    uifw_trace("shell_destroy_shell_surface: Leave");
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   shell_handle_surface_destroy: destroy surface(listener interface)
+ *
+ * @param[in]   listener    listener
+ * @param[in]   data        user data(unused)
+ * @return      none
+ */
+/*--------------------------------------------------------------------------*/
+static void
+shell_handle_surface_destroy(struct wl_listener *listener, void *data)
+{
+    struct shell_surface *shsurf = container_of(listener, struct shell_surface,
+                                                surface_destroy_listener);
+
+    uifw_trace("shell_handle_surface_destroy: Enter [%08x] data=%08x",
+               (int)shsurf, (int)data);
+
+    if (shsurf->resource.client) {
+        wl_resource_destroy(&shsurf->resource);
+    } else {
+        wl_signal_emit(&shsurf->resource.destroy_signal, &shsurf->resource);
+        destroy_shell_surface(shsurf);
+    }
+    uifw_trace("shell_handle_surface_destroy: Leave");
+}
+
+static void
+shell_surface_configure(struct weston_surface *, int32_t, int32_t);
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   get_shell_surface: get shell surface
+ *
+ * @param[in]   surface     weston surface
+ * @return      shell surface address
+ */
+/*--------------------------------------------------------------------------*/
+static struct shell_surface *
+get_shell_surface(struct weston_surface *surface)
+{
+    if (surface->configure == shell_surface_configure)
+        return surface->private;
+    else
+        return NULL;
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   create_shell_surface: create shell surface
+ *
+ * @param[in]   surface     weston surface
+ * @param[in]   client      client
+ * @return      created shell surface address
+ */
+/*--------------------------------------------------------------------------*/
+static  struct shell_surface *
+create_shell_surface(void *shell, struct weston_surface *surface,
+                     const struct weston_shell_client *client)
+{
+    struct shell_surface *shsurf;
+
+    if (surface->configure) {
+        uifw_warn("create_shell_surface: surface->configure already set");
+        return NULL;
+    }
+
+    shsurf = calloc(1, sizeof *shsurf);
+    if (!shsurf) {
+        uifw_error("create_shell_surface: no memory to allocate shell surface");
+        return NULL;
+    }
+
+    uifw_trace("create_shell_surface: (%08x) [%08x] client=%08x (visible=%d)",
+               (int)surface, (int)shsurf, (int)client,
+               ((struct ivi_shell *)shell)->win_visible_on_create);
+
+    surface->configure = shell_surface_configure;
+    surface->private = shsurf;
+
+    shsurf->shell = (struct ivi_shell *) shell;
+    shsurf->surface = surface;
+    shsurf->visible = shsurf->shell->win_visible_on_create;
+
+    wl_signal_init(&shsurf->resource.destroy_signal);
+    shsurf->surface_destroy_listener.notify = shell_handle_surface_destroy;
+    wl_signal_add(&surface->surface.resource.destroy_signal,
+                  &shsurf->surface_destroy_listener);
+
+    /* init link so its safe to always remove it in destroy_shell_surface */
+    wl_list_init(&shsurf->link);
+
+    /* empty when not in use */
+    wl_list_init(&shsurf->rotation.transform.link);
+    weston_matrix_init(&shsurf->rotation.rotation);
+
+    shsurf->type = SHELL_SURFACE_NONE;
+    shsurf->next_type = SHELL_SURFACE_NONE;
+
+    shsurf->client = client;
+
+    wl_list_init(&shsurf->ivi_layer);
+    return shsurf;
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   shell_get_shell_surface: create shell surface(client interface)
+ *
+ * @param[in]   client              client
+ * @param[in]   resource            get shell surface request resource
+ * @param[in]   id                  created shell surface object id in the client
+ * @param[in]   surface_resource    weston surface resource
+ * @return      none
+ */
+/*--------------------------------------------------------------------------*/
+static void
+shell_get_shell_surface(struct wl_client *client, struct wl_resource *resource,
+                        uint32_t id, struct wl_resource *surface_resource)
+{
+    struct weston_surface *surface = surface_resource->data;
+    struct ivi_shell *shell = resource->data;
+    struct shell_surface *shsurf;
+
+    if (get_shell_surface(surface)) {
+        wl_resource_post_error(surface_resource,
+                               WL_DISPLAY_ERROR_INVALID_OBJECT,
+                               "ivi_shell::get_shell_surface already requested");
+        return;
+    }
+
+    uifw_trace("shell_get_shell_surface: Enter (%08x) client=%08x",
+               (int)surface, (int)client);
+
+    shsurf = create_shell_surface(shell, surface, &shell_client);
+    if (!shsurf) {
+        wl_resource_post_error(surface_resource,
+                               WL_DISPLAY_ERROR_INVALID_OBJECT,
+                               "surface->configure already set");
+        return;
+    }
+
+    shsurf->resource.destroy = shell_destroy_shell_surface;
+    shsurf->resource.object.id = id;
+    shsurf->resource.object.interface = &wl_shell_surface_interface;
+    shsurf->resource.object.implementation =
+        (void (**)(void)) &shell_surface_implementation;
+    shsurf->resource.data = shsurf;
+
+    wl_client_add_resource(client, &shsurf->resource);
+
+    wl_list_init(&shsurf->ivi_layer);
+    uifw_trace("shell_get_shell_surface: Init shsurf(%08x) weston_surf=%08x",
+               (int)shsurf, (int)surface);
+
+    if (shell_hook_create)  {
+        /* call surface create hook routine     */
+        uifw_trace("shell_get_shell_surface: call ivi_shell_hook_create(%08x,,%08x,%08x)",
+                   (int)client, (int)surface, (int)shsurf);
+        (void) (*shell_hook_create)(client, resource, surface, shsurf);
+        uifw_trace("shell_get_shell_surface: ret  ivi_shell_hook_create");
+    }
+    uifw_trace("shell_get_shell_surface: Leave");
+}
+
+static const struct wl_shell_interface shell_implementation = {
+    shell_get_shell_surface
+};
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   weston_surface_set_initial_position: set surface initial position
+ *
+ * @param[in]   surface     weston surface
+ * @param[in]   shell       ico_ivi_shell static table address
+ * @return      none
+ */
+/*--------------------------------------------------------------------------*/
+static void
+weston_surface_set_initial_position(struct weston_surface *surface, struct ivi_shell *shell)
+{
+    struct weston_output *output, *target_output;
+
+    if (shell->win_visible_on_create)   {
+        wl_list_for_each (output, &shell->compositor->output_list, link)    {
+            target_output = output;
+            break;
+        }
+        if (! target_output)    {
+            weston_surface_set_position(surface, (float)(10 + random() % 400),
+                                        (float)(10 + random() % 400));
+        }
+        else    {
+            int range_x = target_output->width - surface->geometry.width;
+            int range_y = target_output->height - surface->geometry.height;
+            if (range_x < 0)    range_x = 400;
+            if (range_y < 0)    range_y = 400;
+            weston_surface_set_position(surface, (float)(random() % range_x),
+                                        (float)(random() % range_y));
+        }
+    }
+    else    {
+        weston_surface_set_position(surface, (float)0.0, (float)0.0);
+    }
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   map: surface initial mapping to screen
+ *
+ * @param[in]   shell       ico_ivi_shell static table address
+ * @param[in]   surface     weston surface
+ * @param[in]   width       surface width
+ * @param[in]   height      surface height
+ * @param[in]   sx          surface upper-left X position on screen
+ * @param[in]   sy          surface upper-left Y position on screen
+ * @return      none
+ */
+/*--------------------------------------------------------------------------*/
+static void
+map(struct ivi_shell *shell, struct weston_surface *surface,
+    int32_t width, int32_t height, int32_t sx, int32_t sy)
+{
+    struct shell_surface *shsurf = get_shell_surface(surface);
+    enum shell_surface_type surface_type = shsurf->type;
+    struct weston_surface *parent;
+
+    uifw_trace("map: Enter(%08x) sx/sy=%d/%d, w/h=%d/%d",
+               (int)surface, ((int)sx)/256, ((int)sy)/256, width, height);
+
+    shsurf->mapped = 1;
+    surface->geometry.width = width;
+    surface->geometry.height = height;
+    shsurf->geometry_x = sx;
+    shsurf->geometry_y = sy;
+    shsurf->geometry_width = width;
+    shsurf->geometry_height = height;
+    surface->geometry.dirty = 1;
+
+    /* initial positioning, see also configure() */
+    switch (surface_type) {
+    case SHELL_SURFACE_TOPLEVEL:
+        weston_surface_set_initial_position(surface, shell);
+        uifw_trace("map: TopLevel x/y=%d/%d w/h=%d/%d",
+                   (int)surface->geometry.x, (int)surface->geometry.y,
+                   (int)surface->geometry.width, (int)surface->geometry.height);
+        shsurf->geometry_x = surface->geometry.x;
+        shsurf->geometry_x = surface->geometry.y;
+        break;
+    case SHELL_SURFACE_NONE:
+        weston_surface_set_position(surface, (float)(surface->geometry.x + sx),
+                                    (float)(surface->geometry.y + sy));
+        break;
+    default:
+        ;
+    }
+    if ((ico_option_flag() & ICO_OPTION_FLAG_UNVISIBLE) && (shsurf->visible == FALSE))   {
+        surface->geometry.x = (float)(ICO_IVI_MAX_COORDINATE+1);
+        surface->geometry.y = (float)(ICO_IVI_MAX_COORDINATE+1);
+    }
+
+    switch (surface_type) {
+    case SHELL_SURFACE_CHILD:
+        parent = shsurf->parent;
+        wl_list_insert(parent->layer_link.prev, &surface->layer_link);
+        break;
+    case SHELL_SURFACE_NONE:
+        break;
+    default:
+        if (! shsurf->layer_list)   {
+            ivi_shell_set_layer(shsurf, ICO_IVI_DEFAULT_LAYER);
+        }
+        break;
+    }
+
+    if (surface_type != SHELL_SURFACE_NONE) {
+        weston_surface_update_transform(surface);
+        ivi_shell_restack_ivi_layer(shell, shsurf);
+    }
+
+    if (surface_type == SHELL_SURFACE_TOPLEVEL) {
+        switch (shell->win_animation_type) {
+        case ANIMATION_FADE:
+            weston_fade_run(surface, NULL, NULL);
+            break;
+        case ANIMATION_ZOOM:
+            weston_zoom_run(surface, 0.8, 1.0, NULL, NULL);
+            break;
+        case ANIMATION_SLIDE:
+            weston_slide_run(surface, (float)surface->geometry.height, 0.0, NULL, NULL);
+            break;
+        default:
+            break;
+        }
+    }
+
+    if (shell_hook_map) {
+        /* Surface map hook routine         */
+        uifw_trace("map: call ivi_shell_hook_map(%08x, x/y=%d/%d, w/h=%d/%d)",
+                   (int)surface, sx, sy, width, height);
+        (void) (*shell_hook_map) (surface, &width, &height, &sx, &sy);
+        uifw_trace("map: ret  ivi_shell_hook_map(%08x, x/y=%d/%d, w/h=%d/%d)",
+                   (int)surface, sx, sy, width, height);
+    }
+
+    if (shell_hook_change)  {
+        /* Surface change hook routine      */
+        uifw_trace("map: call ivi_shell_hook_change(%08x)", (int)surface);
+        (void) (*shell_hook_change)(surface, -1, 1);    /* Send to Manager  */
+        uifw_trace("map: ret  ivi_shell_hook_change")
+    }
+    uifw_trace("map: Leave");
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   configure: surface change
+ *
+ * @param[in]   shell       ico_ivi_shell static table address
+ * @param[in]   surface     weston surface
+ * @param[in]   x           surface upper-left X position on screen
+ * @param[in]   y           surface upper-left Y position on screen
+ * @param[in]   width       surface width
+ * @param[in]   height      surface height
+ * @return      none
+ */
+/*--------------------------------------------------------------------------*/
+static void
+configure(struct ivi_shell *shell, struct weston_surface *surface,
+          GLfloat x, GLfloat y, int32_t width, int32_t height)
+{
+    enum shell_surface_type surface_type = SHELL_SURFACE_NONE;
+    struct shell_surface *shsurf;
+
+    shsurf = get_shell_surface(surface);
+
+    uifw_trace("configure: Enter(%08x) [%08x] x/y=%d/%d, w/h=%d/%d",
+               (int)surface, (int)shsurf, (int)x, (int)y, width, height);
+
+    if (shsurf) {
+        surface_type = shsurf->type;
+        shsurf->geometry_x = (int)x;
+        shsurf->geometry_y = (int)y;
+        shsurf->geometry_width = width;
+        shsurf->geometry_height = height;
+        ivi_shell_surface_configure(shsurf, x, y, width, height);
+    }
+    else    {
+        surface->geometry.x = x;
+        surface->geometry.y = y;
+        surface->geometry.width = width;
+        surface->geometry.height = height;
+        surface->geometry.dirty = 1;
+    }
+
+    if (surface->output) {
+        weston_surface_update_transform(surface);
+    }
+
+    uifw_trace("configure: Leave");
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   shell_surface_configure: shell surface change
+ *
+ * @param[in]   es          weston surface
+ * @param[in]   sx          surface upper-left X position on screen
+ * @param[in]   sy          surface upper-left Y position on screen
+ * @return      none
+ */
+/*--------------------------------------------------------------------------*/
+static void
+shell_surface_configure(struct weston_surface *es, int32_t sx, int32_t sy)
+{
+    struct shell_surface *shsurf = get_shell_surface(es);
+    struct ivi_shell *shell = shsurf->shell;
+    int     type_changed = 0;
+    int     num_mgr;
+
+    uifw_trace("shell_surface_configure: Enter(surf=%08x out=%08x buf=%08x)",
+               (int)es, (int)es->output, (int)es->buffer);
+
+    if (shsurf->next_type != SHELL_SURFACE_NONE &&
+        shsurf->type != shsurf->next_type) {
+        set_surface_type(shsurf);
+        type_changed = 1;
+    }
+
+    if (! weston_surface_is_mapped(es)) { 
+        if ((es->geometry.width > 0) && (es->geometry.height >0))   {
+            uifw_trace("shell_surface_configure: map Surface size(sx/sy=%d/%d w/h=%d/%d)",
+                       sx, sy, es->buffer->width, es->buffer->height);
+            map(shell, es, es->geometry.width, es->geometry.height, sx, sy);
+        }
+        else    {
+            uifw_trace("shell_surface_configure: map Buffer size(sx/sy=%d/%d w/h=%d/%d)",
+                       sx, sy, es->buffer->width, es->buffer->height);
+            map(shell, es, es->buffer->width, es->buffer->height, sx, sy);
+        }
+    }
+    else    {
+        if ((shsurf->mapped == 0) && (es->buffer != NULL))  {
+            if ((es->geometry.width > 0) && (es->geometry.height >0))   {
+                uifw_trace("shell_surface_configure: map Surface size(sx/sy=%d/%d w/h=%d/%d)",
+                           sx, sy, es->buffer->width, es->buffer->height);
+                map(shell, es, es->geometry.width, es->geometry.height, sx, sy);
+            }
+            else    {
+                uifw_trace("shell_surface_configure: map Buffer size(sx/sy=%d/%d w/h=%d/%d)",
+                           sx, sy, es->buffer->width, es->buffer->height);
+                map(shell, es, es->buffer->width, es->buffer->height, sx, sy);
+            }
+        }
+
+        GLfloat from_x, from_y;
+        GLfloat to_x, to_y;
+
+        weston_surface_to_global_float(es, 0, 0, &from_x, &from_y);
+        weston_surface_to_global_float(es, sx, sy, &to_x, &to_y);
+
+        if ((es->geometry.width <= 0) || (es->geometry.height <= 0))    {
+            num_mgr = 0;
+        }
+        else    {
+            /* Surface change request from App  */
+            uifw_trace("shell_surface_configure: App request change(sx/sy=%d/%d w/h=%d/%d)",
+                       sx, sy, es->buffer->width, es->buffer->height);
+            es->geometry.width = shsurf->geometry_width;
+            es->geometry.height = shsurf->geometry_height;
+            es->geometry.x = shsurf->geometry_x;
+            es->geometry.y = shsurf->geometry_y;
+            if (es->geometry.width > es->buffer->width) {
+                es->geometry.width = es->buffer->width;
+                es->geometry.x = shsurf->geometry_x +
+                                 (shsurf->geometry_width - es->geometry.width)/2;
+            }
+            if (es->geometry.height > es->buffer->height)   {
+                es->geometry.height = es->buffer->height;
+                es->geometry.y = shsurf->geometry_y +
+                                 (shsurf->geometry_height - es->geometry.height)/2;
+            }
+            ivi_shell_surface_configure(shsurf, es->geometry.x, es->geometry.y,
+                                        es->geometry.width, es->geometry.height);
+            uifw_trace("shell_surface_configure: w/h=%d/%d->%d/%d x/y=%d/%d->%d/%d",
+                       shsurf->geometry_width, shsurf->geometry_height,
+                       es->geometry.width, es->geometry.height,
+                       shsurf->geometry_x, shsurf->geometry_y,
+                       (int)es->geometry.x, (int)es->geometry.y);
+            num_mgr = ico_ivi_send_surface_change(es,
+                                                  shsurf->geometry_x + to_x -from_x,
+                                                  shsurf->geometry_y + to_y - from_y,
+                                                  es->buffer->width, es->buffer->height);
+            uifw_trace("shell_surface_configure: ret ivi_shell_hook_change(%d)", num_mgr)
+        }
+        if (num_mgr <= 0)   {
+            /* manager not exist, change surface        */
+            uifw_trace("shell_surface_configure: configure to Buffer size(no Manager) "
+                       "x=%d+%d-%d y=%d+%d-%d",
+                       (int)es->geometry.x, (int)to_x, (int)from_x,
+                       (int)es->geometry.y, (int)to_y, (int)from_y);
+            if ((es->geometry.x > ICO_IVI_MAX_COORDINATE) &&
+                (es->geometry.y > ICO_IVI_MAX_COORDINATE) &&
+                (shsurf->visible))  {
+                es->geometry.x = 0;
+                es->geometry.y = 0;
+            }
+            configure(shell, es,
+                      es->geometry.x + to_x - from_x,
+                      es->geometry.y + to_y - from_y,
+                      es->buffer->width, es->buffer->height);
+        }
+    }
+    uifw_trace("shell_surface_configure: Leave(surf=%08x out=%08x buf=%08x)",
+               (int)es, (int)es->output, (int)es->buffer);
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   bind_shell: client bind shell
+ *
+ * @param[in]   client      client(ex.HomeScreen)
+ * @param[in]   data        user data(ico_ivi_shell static table address)
+ * @param[in]   version     interface version number(unused)
+ * @param[in]   id          client object id
+ * @return      none
+ */
+/*--------------------------------------------------------------------------*/
+static void
+bind_shell(struct wl_client *client, void *data, uint32_t version, uint32_t id)
+{
+    struct ivi_shell *shell = data;
+    struct wl_resource *resource;
+
+    uifw_trace("bind_shell: client=%08x id=%d", (int)client, (int)id);
+
+    resource = wl_client_add_object(client, &wl_shell_interface,
+                                    &shell_implementation, id, shell);
+
+    resource->destroy = unbind_shell;
+
+    if (shell_hook_bind)    {
+        (*shell_hook_bind)(client);
+    }
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   unbind_shell: client unbind shell
+ *
+ * @param[in]   resource    unbind request resource
+ * @return      none
+ */
+/*--------------------------------------------------------------------------*/
+static void
+unbind_shell(struct wl_resource *resource)
+{
+    uifw_trace("unbind_shell");
+
+    if (shell_hook_unbind)  {
+        (*shell_hook_unbind)(resource->client);
+    }
+    free(resource);
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   unbind_ivi_shell: client unbind ico_ivi_shell
+ *
+ * @param[in]   resource    unbind request resource
+ * @return      none
+ */
+/*--------------------------------------------------------------------------*/
+static void
+unbind_ivi_shell(struct wl_resource *resource)
+{
+    uifw_trace("unbind_ivi_shell");
+    free(resource);
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   bind_ivi_shell: client bind ico_ivi_shell
+ *
+ * @param[in]   client      client(ex.HomeScreen)
+ * @param[in]   data        user data(ico_ivi_shell static table address)
+ * @param[in]   version     interface version number(unused)
+ * @param[in]   id          client object id
+ * @return      none
+ */
+/*--------------------------------------------------------------------------*/
+static void
+bind_ivi_shell(struct wl_client *client,
+               void *data, uint32_t version, uint32_t id)
+{
+    struct ivi_shell *shell = data;
+    struct wl_resource *resource;
+
+    resource = wl_client_add_object(client, &ico_ivi_shell_interface,
+                                    NULL, id, shell);
+
+    uifw_trace("bind_ivi_shell: client=%08x id=%d", (int)client, (int)id);
+
+    resource->destroy = unbind_ivi_shell;
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   shell_destroy: destroy ico_ivi_shell
+ *
+ * @param[in]   listener    shell destroy listener
+ * @param[in]   data        user data(unused)
+ * @return      none
+ */
+/*--------------------------------------------------------------------------*/
+static void
+shell_destroy(struct wl_listener *listener, void *data)
+{
+    struct ivi_shell *shell =
+        container_of(listener, struct ivi_shell, destroy_listener);
+
+    uifw_trace("shell_destroy");
+
+    free(shell);
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   ivi_shell_restack_ivi_layer: rebuild compositor surface list
+ *
+ * @param[in]   shell       ico_ivi_shell static table address
+ * @param[in]   shsurf      target shell surface(if NULL, no need change surface)
+ * @return      none
+ */
+/*--------------------------------------------------------------------------*/
+static void
+ivi_shell_restack_ivi_layer(struct ivi_shell *shell, struct shell_surface *shsurf)
+{
+    struct shell_surface  *es;
+    struct ivi_layer_list *el;
+    float   new_x, new_y;
+
+    uifw_trace("ivi_shell_restack_ivi_layer: Enter[%08x]", (int)shsurf);
+
+    /* make compositor surface list     */
+    wl_list_init(&shell->surface.surface_list);
+    wl_list_for_each (el, &shell->ivi_layer.link, link) {
+        if (ico_option_flag() & ICO_OPTION_FLAG_UNVISIBLE)  {
+            wl_list_for_each (es, &el->surface_list, ivi_layer) {
+                if (es->surface != NULL)    {
+                    if ((el->visible == FALSE) || (es->visible == FALSE))   {
+                        new_x = (float)(ICO_IVI_MAX_COORDINATE+1);
+                        new_y = (float)(ICO_IVI_MAX_COORDINATE+1);
+                    }
+                    else if (es->surface->buffer)   {
+                        if (es->geometry_width > es->surface->buffer->width) {
+                            new_x = (float)(es->geometry_x +
+                                    (es->geometry_width - es->surface->geometry.width)/2);
+                        }
+                        else    {
+                            new_x = (float)es->geometry_x;
+                        }
+                        if (es->geometry_height > es->surface->buffer->height) {
+                            new_y = (float) (es->geometry_y +
+                                    (es->geometry_height - es->surface->geometry.height)/2);
+                        }
+                        else    {
+                            new_y = (float)es->geometry_y;
+                        }
+                    }
+                    else    {
+                        new_x = (float)(ICO_IVI_MAX_COORDINATE+1);
+                        new_y = (float)(ICO_IVI_MAX_COORDINATE+1);
+                    }
+                    wl_list_insert(shell->surface.surface_list.prev,
+                                   &es->surface->layer_link);
+                    if ((new_x != es->surface->geometry.x) ||
+                        (new_y != es->surface->geometry.y)) {
+                        weston_surface_damage_below(es->surface);
+                        es->surface->geometry.x = new_x;
+                        es->surface->geometry.y = new_y;
+                        weston_surface_damage_below(es->surface);
+                    }
+                }
+            }
+        }
+        else    {
+            if (el->visible != FALSE)   {
+                wl_list_for_each (es, &el->surface_list, ivi_layer) {
+                    if ((es->visible != FALSE) && (es->surface) &&
+                        (es->surface->output != NULL) &&
+                        (es->surface->shader != NULL))  {
+                        wl_list_insert(shell->surface.surface_list.prev,
+                                       &es->surface->layer_link);
+                    }
+                }
+            }
+        }
+    }
+
+    /* damage(redraw) target surfacem if target exist   */
+    if (shsurf) {
+        weston_surface_damage_below(shsurf->surface);
+    }
+
+    /* composit and draw screen(plane)  */
+    weston_compositor_schedule_repaint(shell->compositor);
+
+    uifw_trace("ivi_shell_restack_ivi_layer: Leave");
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   click_to_activate_binding: clieck and select surface
+ *
+ * @param[in]   seat        clicked target seat
+ * @param[in]   button      click button(unused)
+ * @param[in]   data        user data(ico_ivi_shell static table address)
+ * @return      none
+ */
+/*--------------------------------------------------------------------------*/
+static void
+click_to_activate_binding(struct wl_seat *seat, uint32_t time, uint32_t button, void *data)
+{
+    struct ivi_shell *shell = data;
+    struct shell_surface *shsurf;
+    struct weston_surface *surface;
+
+    if ((! seat) || (! seat->pointer) || (! seat->pointer->focus))  {
+        uifw_trace("click_to_activate_binding: Surface dose not exist");
+    }
+    else    {
+        surface = (struct weston_surface *) seat->pointer->focus;
+        shsurf = get_shell_surface(surface);
+        if (! shsurf)   {
+            uifw_trace("click_to_activate_binding: Shell surface dose not exist");
+        }
+        else if ((shsurf->type == SHELL_SURFACE_NONE) ||
+                 (shsurf->visible == 0))    {
+            uifw_trace("click_to_activate_binding: Surface[%08x] is not visible",
+                       (int)shsurf);
+        }
+        else if (shell_hook_select) {
+            if (shell->active_shsurf != shsurf) {
+                shell->active_shsurf = shsurf;
+                /* surface select hook routine      */
+                uifw_trace("click_to_activate_binding: call ivi_shell_hook_select[%08x]",
+                           (int)shsurf);
+                (void) (*shell_hook_select)(surface);
+                uifw_trace("click_to_activate_binding: ret  ivi_shell_hook_select")
+            }
+            else    {
+                uifw_trace("click_to_activate_binding: ShellSurface[%08x] already active",
+                           (int)shsurf);
+            }
+        }
+        else    {
+            uifw_trace("click_to_activate_binding: no hook[%08x]", (int)shsurf);
+        }
+    }
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   ivi_shell_set_visible: surface visible control
+ *                                 API for other weston plugin
+ *
+ * @param[in]   shsurf      shell surface
+ * @param[in]   visible     visibility(1=visible/0=unvisible)
+ * @return      none
+ */
+/*--------------------------------------------------------------------------*/
+WL_EXPORT void
+ivi_shell_set_visible(struct shell_surface *shsurf, const int visible)
+{
+    struct ivi_shell *shell = shell_surface_get_shell(shsurf);
+    int next;
+
+    uifw_trace("ivi_shell_set_visible: [%08x] visible=%d", (int)shsurf, (int)visible);
+
+    if (visible < 0)    {
+        next = shell->win_visible_on_create;
+    }
+    else    {
+        next = visible;
+    }
+
+    if ((shsurf->visible != FALSE) && (next == 0))  {
+        /* change show ==> hide         */
+        shsurf->visible = FALSE;
+        ivi_shell_restack_ivi_layer(shell, shsurf);
+    }
+    else if ((shsurf->visible == FALSE) && (next != 0)) {
+        /* change hide ==> show         */
+        shsurf->visible = TRUE;
+        ivi_shell_restack_ivi_layer(shell, shsurf);
+    }
+    else    {
+        /* other case, no change        */
+        uifw_trace("ivi_shell_set_visible: No change");
+    }
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   ivi_shell_is_visible: get surface visibility
+ *                                API for other weston plugin
+ *
+ * @param[in]   shsurf      shell surface
+ * @return      visibility
+ * @retval      true        visible
+ * @retval      false       unvisible
+ */
+/*--------------------------------------------------------------------------*/
+WL_EXPORT bool
+ivi_shell_is_visible(struct shell_surface *shsurf)
+{
+    return(shsurf->visible);
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   ivi_shell_set_layer: set(or change) surface layer
+ *                               API for other weston plugin
+ *
+ * @param[in]   shsurf      shell surface
+ * @param[in]   layer       layer id
+ * @return      none
+ */
+/*--------------------------------------------------------------------------*/
+WL_EXPORT void
+ivi_shell_set_layer(struct shell_surface *shsurf, const int layer)
+{
+    struct ivi_shell *shell;
+    struct ivi_layer_list *el;
+    struct ivi_layer_list *new_el;
+
+    uifw_trace("ivi_shell_set_layer: Enter([%08x],%08x,%d)",
+               (int)shsurf, (int)shsurf->surface, layer);
+
+    shell = shell_surface_get_shell(shsurf);
+
+    /* check if same layer                      */
+    if ((shsurf->layer_list != NULL) && (shsurf->layer_list->layer == layer))   {
+        uifw_trace("ivi_shell_set_layer: Leave(Same Layer)");
+        return;
+    }
+
+    /* search existing layer                    */
+    wl_list_for_each (el, &shell->ivi_layer.link, link) {
+        uifw_trace("ivi_shell_set_layer: el=%08x(%d)", (int)el, el->layer);
+        if (el->layer == layer) break;
+    }
+
+    if (&el->link == &shell->ivi_layer.link)    {
+        /* layer not exist, create new layer    */
+        uifw_trace("ivi_shell_set_layer: New Layer %d", layer);
+        new_el = malloc(sizeof(struct ivi_layer_list));
+        if (! new_el)   {
+            uifw_trace("ivi_shell_set_layer: Leave(No Memory)");
+            return;
+        }
+
+        memset(new_el, 0, sizeof(struct ivi_layer_list));
+        new_el->layer = layer;
+        new_el->visible = TRUE;
+        wl_list_init(&new_el->surface_list);
+        wl_list_init(&new_el->link);
+
+        wl_list_remove(&shsurf->ivi_layer);
+        wl_list_insert(&new_el->surface_list, &shsurf->ivi_layer);
+        shsurf->layer_list = new_el;
+
+        wl_list_for_each (el, &shell->ivi_layer.link, link) {
+            if (layer >= el->layer) break;
+        }
+        if (&el->link == &shell->ivi_layer.link)    {
+            wl_list_insert(shell->ivi_layer.link.prev, &new_el->link);
+        }
+        else    {
+            wl_list_insert(el->link.prev, &new_el->link);
+        }
+    }
+    else    {
+        uifw_trace("ivi_shell_set_layer: Add surface to Layer %d", layer);
+        wl_list_remove(&shsurf->ivi_layer);
+        wl_list_insert(&el->surface_list, &shsurf->ivi_layer);
+        shsurf->layer_list = el;
+    }
+
+    /* rebild compositor surface list       */
+    ivi_shell_restack_ivi_layer(shell, shsurf);
+
+    uifw_trace("ivi_shell_set_layer: Leave");
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   ivi_shell_set_raise: surface stack control
+ *                               API for other weston plugin
+ *
+ * @param[in]   shsurf      shell surface
+ * @param[in]   raise       raise/lower(1=raise/0=lower)
+ * @return      none
+ */
+/*--------------------------------------------------------------------------*/
+WL_EXPORT void
+ivi_shell_set_raise(struct shell_surface *shsurf, const int raise)
+{
+    uifw_trace("ivi_shell_set_raise: Enter(%08x,%d) layer_list=%08x",
+               (int)shsurf->surface, raise, (int)shsurf->layer_list);
+
+    wl_list_remove(&shsurf->ivi_layer);
+    if (raise)  {
+        /* raise ... surface stack to top of layer          */
+        wl_list_insert(&shsurf->layer_list->surface_list, &shsurf->ivi_layer);
+        uifw_trace("ivi_shell_set_raise: Raise Link to Top");
+    }
+    else    {
+        /* Lower ... surface stack to bottom of layer       */
+        wl_list_insert(shsurf->layer_list->surface_list.prev, &shsurf->ivi_layer);
+        uifw_trace("ivi_shell_set_raise: Lower Link to Bottom");
+    }
+
+    /* rebild compositor surface list               */
+    ivi_shell_restack_ivi_layer(shell_surface_get_shell(shsurf), shsurf);
+
+    uifw_trace("ivi_shell_set_raise: Leave");
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   ivi_shell_set_toplevel: set surface type toplevel
+ *                                  API for other weston plugin
+ *
+ * @param[in]   shsurf      shell surface
+ * @return      none
+ */
+/*--------------------------------------------------------------------------*/
+WL_EXPORT void
+ivi_shell_set_toplevel(struct shell_surface *shsurf)
+{
+    uifw_trace("ivi_shell_set_toplevel: (%08x)", (int)shsurf->surface);
+    set_toplevel(shsurf);
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   ivi_shell_set_surface_type: set surface type
+ *                                      API for other weston plugin
+ *
+ * @param[in]   shsurf      shell surface
+ * @return      none
+ */
+/*--------------------------------------------------------------------------*/
+WL_EXPORT void
+ivi_shell_set_surface_type(struct shell_surface *shsurf)
+{
+    uifw_trace("ivi_shell_set_surfacetype: (%08x)", (int)shsurf->surface);
+    set_surface_type(shsurf);
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   ivi_shell_send_configure: send surface resize event
+ *                                    API for other weston plugin
+ *
+ * @param[in]   shsurf      shell surface
+ * @param[in]   id          client object id(unused)
+ * @param[in]   edges       surface resize position
+ * @param[in]   width       surface width
+ * @param[in]   height      surface height
+ * @return      none
+ */
+/*--------------------------------------------------------------------------*/
+WL_EXPORT void
+ivi_shell_send_configure(struct shell_surface *shsurf, const int id,
+                         const int edges, const int width, const int height)
+{
+    /* send cgange event to manager     */
+    uifw_trace("ivi_shell_send_configure: (%08x) edges=%x w/h=%d/%d",
+               (int)shsurf->surface, edges, width, height);
+    shsurf->geometry_width = width;
+    shsurf->geometry_height = height;
+    wl_shell_surface_send_configure(&shsurf->resource, edges, width, height);
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   ivi_shell_set_positionsize: set surface position and size
+ *                                      API for other weston plugin
+ *
+ * @param[in]   shsurf      shell surface
+ * @param[in]   x           surface upper-left X position on screen
+ * @param[in]   y           surface upper-left Y position on screen
+ * @param[in]   width       surface width
+ * @param[in]   height      surface height
+ * @return      none
+ */
+/*--------------------------------------------------------------------------*/
+WL_EXPORT void
+ivi_shell_set_positionsize(struct shell_surface *shsurf,
+                           const int x, const int y, const int width, const int height)
+{
+    shsurf->geometry_x = x;
+    shsurf->geometry_y = y;
+    shsurf->geometry_width = width;
+    shsurf->geometry_height = height;
+
+    weston_compositor_schedule_repaint(shell_surface_get_shell(shsurf)->compositor);
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   ivi_shell_set_layer_visible: layer visible control
+ *                                       API for other weston plugin
+ *
+ * @param[in]   layer       layer id
+ * @param[in]   visible     visibility(1=visible/0=unvisible)
+ * @return      none
+ */
+/*--------------------------------------------------------------------------*/
+WL_EXPORT void
+ivi_shell_set_layer_visible(const int layer, const int visible)
+{
+    struct ivi_shell *shell;
+    struct ivi_layer_list *el;
+    struct ivi_layer_list *new_el;
+    struct shell_surface  *es;
+
+    uifw_trace("ivi_shell_set_layer_visible: Enter(layer=%d, visible=%d)", layer, visible);
+
+    shell = shell_surface_get_shell(NULL);
+
+    /* Search Layer                             */
+    wl_list_for_each (el, &shell->ivi_layer.link, link) {
+        if (el->layer == layer) break;
+    }
+
+    if (&el->link == &shell->ivi_layer.link)    {
+        /* layer not exist, create new layer    */
+        uifw_trace("ivi_shell_set_layer_visible: New Layer %d", layer);
+        new_el = malloc(sizeof(struct ivi_layer_list));
+        if (! new_el)   {
+            uifw_trace("ivi_shell_set_layer_visible: Leave(No Memory)");
+            return;
+        }
+
+        memset(new_el, 0, sizeof(struct ivi_layer_list));
+        new_el->layer = layer;
+        new_el->visible = TRUE;
+        wl_list_init(&new_el->surface_list);
+        wl_list_init(&new_el->link);
+
+        wl_list_for_each (el, &shell->ivi_layer.link, link) {
+            if (layer >= el->layer) break;
+        }
+        if (&el->link == &shell->ivi_layer.link)    {
+            wl_list_insert(shell->ivi_layer.link.prev, &new_el->link);
+        }
+        else    {
+            wl_list_insert(el->link.prev, &new_el->link);
+        }
+        uifw_trace("ivi_shell_set_layer_visible: Leave(new layer)");
+        return;
+    }
+
+    /* control all surface in layer */
+    if ((el->visible != FALSE) && (visible == 0))   {
+        /* layer change to NOT visible  */
+        uifw_trace("ivi_shell_set_layer_visible: change to not visible");
+        el->visible = FALSE;
+    }
+    else if ((el->visible == FALSE) && (visible != 0))  {
+        /* layer change to visible      */
+        uifw_trace("ivi_shell_set_layer_visible: change to visible");
+        el->visible = TRUE;
+    }
+    else    {
+        /* no change    */
+        uifw_trace("ivi_shell_set_layer_visible: Leave(no Change %d=>%d)",
+                   el->visible, visible);
+        return;
+    }
+
+    /* set damege area          */
+    wl_list_for_each (es, &el->surface_list, ivi_layer) {
+        if ((es->visible != FALSE) &&
+            (es->surface->output != NULL) &&
+            (es->surface->shader != NULL))  {
+            /* Damage(redraw) target surface    */
+            weston_surface_damage_below(es->surface);
+        }
+    }
+
+    /* rebild compositor surface list       */
+    ivi_shell_restack_ivi_layer(shell, NULL);
+
+    uifw_trace("ivi_shell_set_layer_visible: Leave");
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   ivi_shell_surface_configure: surface change
+ *                                       API for other weston plugin
+ *
+ * @param[in]   shsurf      shell surface
+ * @param[in]   x           surface upper-left X position on screen
+ * @param[in]   y           surface upper-left Y position on screen
+ * @param[in]   width       surface width
+ * @param[in]   height      surface height
+ * @return      none
+ */
+/*--------------------------------------------------------------------------*/
+WL_EXPORT void
+ivi_shell_surface_configure(struct shell_surface *shsurf, const int x,
+                            const int y, const int width, const int height)
+{
+    int set_unvisible = 0;
+
+    if (ico_option_flag() & ICO_OPTION_FLAG_UNVISIBLE)  {
+        if ((shsurf->surface != NULL) && (shsurf->surface->buffer != NULL) &&
+            (shsurf->surface->output != NULL) && (shsurf->surface->shader != NULL))  {
+            if ((shsurf->visible == FALSE) ||
+                ((shsurf->layer_list != NULL) &&
+                 (shsurf->layer_list->visible == FALSE)))   {
+                set_unvisible = 1;
+            }
+        }
+    }
+    if (set_unvisible)  {
+        uifw_trace("ivi_shell_surface_configure: %08x %d,%d(%d/%d) unvisible",
+                   (int)shsurf, x, y, width, height);
+        weston_surface_configure(shsurf->surface,
+                                 ICO_IVI_MAX_COORDINATE+1, ICO_IVI_MAX_COORDINATE+1,
+                                 width, height);
+    }
+    else    {
+        uifw_trace("ivi_shell_surface_configure: %08x %d,%d(%d/%d) visible",
+                   (int)shsurf, x, y, width, height);
+        weston_surface_configure(shsurf->surface, x, y, width, height);
+    }
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   ivi_shell_hook_bind: regist hook function for shell bind
+ *                               API for other weston plugin
+ *
+ * @param[in]   hook_bind       hook function(if NULL, reset hook function)
+ * @return      none
+ */
+/*--------------------------------------------------------------------------*/
+WL_EXPORT void
+ivi_shell_hook_bind(void (*hook_bind)(struct wl_client *client))
+{
+    uifw_trace("ivi_shell_hook_bind: Hook %08x", (int)hook_bind);
+    shell_hook_bind = hook_bind;
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   ivi_shell_hook_unbind: regist hook function for shell unbind
+ *                                 API for other weston plugin
+ *
+ * @param[in]   hook_unbind     hook function(if NULL, reset hook function)
+ * @return      none
+ */
+/*--------------------------------------------------------------------------*/
+WL_EXPORT void
+ivi_shell_hook_unbind(void (*hook_unbind)(struct wl_client *client))
+{
+    uifw_trace("ivi_shell_hook_unbind: Hook %08x", (int)hook_unbind);
+    shell_hook_unbind = hook_unbind;
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   ivi_shell_hook_create: regist hook function for create shell surface
+ *                                 API for other weston plugin
+ *
+ * @param[in]   hook_create     hook function(if NULL, reset hook function)
+ * @return      none
+ */
+/*--------------------------------------------------------------------------*/
+WL_EXPORT void
+ivi_shell_hook_create(void (*hook_create)(struct wl_client *client,
+                      struct wl_resource *resource, struct weston_surface *surface,
+                      struct shell_surface *shsurf))
+{
+    uifw_trace("ivi_shell_hook_create: Hook %08x", (int)hook_create);
+    shell_hook_create = hook_create;
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   ivi_shell_hook_destroy: regist hook function for destroy shell surface
+ *                                  API for other weston plugin
+ *
+ * @param[in]   hook_destroy    hook function(if NULL, reset hook function)
+ * @return      none
+ */
+/*--------------------------------------------------------------------------*/
+WL_EXPORT void
+ivi_shell_hook_destroy(void (*hook_destroy)(struct weston_surface *surface))
+{
+    uifw_trace("ivi_shell_hook_destroy: Hook %08x", (int)hook_destroy);
+    shell_hook_destroy = hook_destroy;
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   ivi_shell_hook_map: regist hook function for map shell surface
+ *                              API for other weston plugin
+ *
+ * @param[in]   hook_map        hook function(if NULL, reset hook function)
+ * @return      none
+ */
+/*--------------------------------------------------------------------------*/
+WL_EXPORT void
+ivi_shell_hook_map(void (*hook_map)(struct weston_surface *surface,
+                        int32_t *width, int32_t *height, int32_t *sx, int32_t *sy))
+{
+    uifw_trace("ivi_shell_hook_map: Hook %08x", (int)hook_map);
+    shell_hook_map = hook_map;
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   ivi_shell_hook_change: regist hook function for change shell surface
+ *                                 API for other weston plugin
+ *
+ * @param[in]   hook_change     hook function(if NULL, reset hook function)
+ * @return      none
+ */
+/*--------------------------------------------------------------------------*/
+WL_EXPORT void
+ivi_shell_hook_change(void (*hook_change)(struct weston_surface *surface,
+                                          const int to, const int manager))
+{
+    uifw_trace("ivi_shell_hook_change: Hook %08x", (int)hook_change);
+    shell_hook_change = hook_change;
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   ivi_shell_hook_select: regist hook function for select(active) shell surface
+ *                                 API for other weston plugin
+ *
+ * @param[in]   hook_select     hook function(if NULL, reset hook function)
+ * @return      none
+ */
+/*--------------------------------------------------------------------------*/
+WL_EXPORT void
+ivi_shell_hook_select(void (*hook_select)(struct weston_surface *surface))
+{
+    uifw_trace("ivi_shell_hook_select: Hook %08x", (int)hook_select);
+    shell_hook_select = hook_select;
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   module_init: initialize ico_ivi_shell
+ *                       this function called from ico_pluign_loader
+ *
+ * @param[in]   es          weston compositor
+ * @return      result
+ * @retval      0           sccess
+ * @retval      -1          error
+ */
+/*--------------------------------------------------------------------------*/
+WL_EXPORT int
+module_init(struct weston_compositor *ec)
+{
+    struct ivi_shell *shell;
+
+    uifw_info("ico_ivi_shell: Enter(module_init)");
+
+    shell = malloc(sizeof *shell);
+    if (shell == NULL)  return -1;
+    default_shell = shell;
+
+    memset(shell, 0, sizeof *shell);
+    shell->compositor = ec;
+
+    shell->destroy_listener.notify = shell_destroy;
+    wl_signal_add(&ec->destroy_signal, &shell->destroy_listener);
+    ec->shell_interface.shell = shell;
+    ec->shell_interface.create_shell_surface = create_shell_surface;
+    ec->shell_interface.set_toplevel = set_toplevel;
+    ec->shell_interface.set_transient = set_transient;
+
+    wl_list_init(&shell->ivi_layer.link);
+    weston_layer_init(&shell->surface, &ec->cursor_layer.link);
+
+    uifw_trace("ico_ivi_shell: shell(%08x) ivi_layer.link.%08x=%08x/%08x",
+               (int)shell, (int)&shell->ivi_layer.link,
+               (int)shell->ivi_layer.link.next, (int)shell->ivi_layer.link.prev);
+
+    shell_configuration(shell);
+
+    if (wl_display_add_global(ec->wl_display, &wl_shell_interface, shell, bind_shell)
+            == NULL)    {
+        return -1;
+    }
+    if (wl_display_add_global(ec->wl_display, &ico_ivi_shell_interface,
+                              shell, bind_ivi_shell) == NULL)   {
+        return -1;
+    }
+
+    weston_compositor_add_button_binding(ec, BTN_LEFT, 0,
+                                         click_to_activate_binding, shell);
+
+    uifw_info("ico_ivi_shell: Leave(module_init)");
+    return 0;
+}
+
diff --git a/src/ico_ivi_shell.h b/src/ico_ivi_shell.h
new file mode 100644 (file)
index 0000000..2a0d9da
--- /dev/null
@@ -0,0 +1,75 @@
+/*
+ * Copyright Â© 2010-2011 Intel Corporation
+ * Copyright Â© 2008-2011 Kristian Høgsberg
+ * Copyright Â© 2013 TOYOTA MOTOR CORPORATION.
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and
+ * its documentation for any purpose is hereby granted without fee, provided
+ * that the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation, and that the name of the copyright holders not be used in
+ * advertising or publicity pertaining to distribution of the software
+ * without specific, written prior permission.  The copyright holders make
+ * no representations about the suitability of this software for any
+ * purpose.  It is provided "as is" without express or implied warranty.
+ *
+ * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
+ * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
+ * FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
+ * SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
+ * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
+ * CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
+ * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+/**
+ * @brief   Public functions in ico_ivi_shell Weston plugin
+ *
+ * @date    Feb-08-2013
+ */
+
+#ifndef _ICO_IVI_SHELL_H_
+#define _ICO_IVI_SHELL_H_
+
+struct shell_surface;
+
+/* option flag                          */
+#define ICO_OPTION_FLAG_UNVISIBLE   0x00000001      /* unvisible control    */
+
+/* Prototype for set function           */
+void ivi_shell_set_layer(struct shell_surface *shsurf, const int layer);
+bool ivi_shell_is_visible(struct shell_surface *shsurf);
+void ivi_shell_set_visible(struct shell_surface *shsurf, const int visible);
+void ivi_shell_set_raise(struct shell_surface *shsurf, const int raise);
+void ivi_shell_set_toplevel(struct shell_surface *shsurf);
+void ivi_shell_set_surface_type(struct shell_surface *shsurf);
+void ivi_shell_send_configure(struct shell_surface *shsurf, const int id,
+                              const int edges, const int width, const int height);
+void ivi_shell_set_positionsize(struct shell_surface *shsurf, const int x,
+                                const int y, const int width, const int height);
+void ivi_shell_set_layer_visible(const int layer, const int visible);
+void ivi_shell_surface_configure(struct shell_surface *shsurf, const int x,
+                                 const int y, const int width, const int height);
+
+/* Prototypr for hook routine           */
+void ivi_shell_hook_bind(void (*hook_bind)(struct wl_client *client));
+void ivi_shell_hook_unbind(void (*hook_unbind)(struct wl_client *client));
+void ivi_shell_hook_create(void (*hook_create)(struct wl_client *client,
+                            struct wl_resource *resource, struct weston_surface *surface,
+                            struct shell_surface *shsurf));
+void ivi_shell_hook_destroy(void (*hook_destroy)(struct weston_surface *surface));
+void ivi_shell_hook_map(void (*hook_map)(struct weston_surface *surface,
+                            int32_t *width, int32_t *height, int32_t *sx, int32_t *sy));
+void ivi_shell_hook_change(void (*hook_change)(struct weston_surface *surface,
+                            const int to, const int manager));
+void ivi_shell_hook_select(void (*hook_select)(struct weston_surface *surface));
+
+/* Prototype for hook of Multi Input Manager    */
+void ico_win_mgr_hook_set_user(void (*hook_set_user)(struct wl_client *client,
+                                                    const char *appid));
+void ico_win_mgr_hook_create(void (*hook_create)(struct wl_client *client,
+                                                 struct weston_surface *surface,
+                                                 int surfaceId,
+                                                 const char *appid));
+void ico_win_mgr_hook_destroy(void (*hook_destroy)(struct weston_surface *surface));
+
+#endif  /*_ICO_IVI_SHELL_H_*/
diff --git a/src/ico_plugin_loader.c b/src/ico_plugin_loader.c
new file mode 100644 (file)
index 0000000..18b476f
--- /dev/null
@@ -0,0 +1,206 @@
+/*
+ * Copyright Â© 2010-2011 Intel Corporation
+ * Copyright Â© 2008-2011 Kristian Høgsberg
+ * Copyright Â© 2013 TOYOTA MOTOR CORPORATION.
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and
+ * its documentation for any purpose is hereby granted without fee, provided
+ * that the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation, and that the name of the copyright holders not be used in
+ * advertising or publicity pertaining to distribution of the software
+ * without specific, written prior permission.  The copyright holders make
+ * no representations about the suitability of this software for any
+ * purpose.  It is provided "as is" without express or implied warranty.
+ *
+ * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
+ * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
+ * FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
+ * SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
+ * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
+ * CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
+ * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+/**
+ * @brief   Weston(Wayland) Plugin Loader
+ * @brief   Load the Weston plugins, because plugin loader of main body of Weston
+ * @brief   cannot use other plugin functions by a other plugin.
+ *
+ * @date    Feb-08-2013
+ */
+
+#define _GNU_SOURCE
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <stdbool.h>
+#include <string.h>
+#include <unistd.h>
+#include <dlfcn.h>
+#include <sys/time.h>
+#include <time.h>
+
+#include "compositor.h"
+#include "ico_ivi_common.h"
+
+/* This function is called from the main body of Weston and initializes this module.*/
+int module_init(struct weston_compositor *ec);
+
+/* Internal function to load one plugin.    */
+static void load_module(struct weston_compositor *ec, const char *path, const char *entry);
+
+/* Static valiables                         */
+static char *moddir = NULL;                 /* Answer back from configuration       */
+static char *modules = NULL;                /* Answer back from configuration       */
+static int  debug_level = 3;                /* Debug Level                          */
+
+/* Configuration key                        */
+static const struct config_key plugin_config_keys[] = {
+        { "moddir", CONFIG_KEY_STRING, &moddir },
+        { "modules", CONFIG_KEY_STRING, &modules },
+    };
+
+static const struct config_section conf_plugin[] = {
+        { "plugin", plugin_config_keys, ARRAY_LENGTH(plugin_config_keys) },
+    };
+
+static const struct config_key debug_config_keys[] = {
+        { "ivi_debug", CONFIG_KEY_INTEGER, &debug_level },
+    };
+
+static const struct config_section conf_debug[] = {
+        { "debug", debug_config_keys, ARRAY_LENGTH(debug_config_keys) },
+    };
+
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   ico_ivi_debuglevel: answer debug output level.
+ *
+ * @param       none
+ * @return      debug output level
+ * @retval      0       No debug output
+ * @retval      1       Only error output
+ * @retval      2       Error and information output
+ * @retval      3       All output with debug write
+ */
+/*--------------------------------------------------------------------------*/
+int
+ico_ivi_debuglevel(void)
+{
+    return debug_level;
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   load_module: load one plugin module.
+ *
+ * @param[in]   ec          weston compositor. (from weston)
+ * @param[in]   path        file path of plugin module.
+ * @param[in]   entry       entry function name of plugin module.
+ * @return      none
+ */
+/*--------------------------------------------------------------------------*/
+static void
+load_module(struct weston_compositor *ec, const char *path, const char *entry)
+{
+    void    *module;                    /* module informations (dlopen)             */
+    int (*init)(struct weston_compositor *ec);
+                                        /* enter function of loaded plugin          */
+
+    uifw_info("ico_plugin_loader: Load(path=%s entry=%s)", path, entry);
+
+    /* get module informations                      */
+    module = dlopen(path, RTLD_NOW | RTLD_NOLOAD);
+
+    if (module) {
+        /* plugin module already loaded             */
+        dlclose(module);
+        uifw_error("ico_plugin_loader: Load Error(%s already loaded)", path);
+        return;
+    }
+
+    /* load plugin module                           */
+    uifw_trace("ico_plugin_loader: %s loading", path);
+
+    module = dlopen(path, RTLD_NOW | RTLD_GLOBAL);
+
+    if (! module)   {
+        /* plugin module dose not exist             */
+        uifw_error("ico_plugin_loader: Load Error(%s error<%s>)", path, dlerror());
+        return;
+    }
+
+    /* find initialize function                     */
+    if (entry)  {
+        init = dlsym(module, entry);
+        if (! init) {
+            uifw_error("ico_plugin_loader: Load Error(%s, function %s dose not exist(%s))",
+                       path, entry, dlerror());
+        }
+        else    {
+            /* call initialize function             */
+            uifw_trace("ico_plugin_loader: Call %s:%s(%08x)", path, entry, (int)init);
+            init(ec);
+            uifw_info("ico_plugin_loader: %s Loaded", path);
+        }
+    }
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   module_init: initialize function of ico_plugin_loader
+ *                       called from weston compositor.
+ *
+ * @param[in]   ec          weston compositor(from weston)
+ * @return      result
+ * @retval      0           sccess
+ * @retval      -1          error
+ */
+/*--------------------------------------------------------------------------*/
+WL_EXPORT int
+module_init(struct weston_compositor *ec)
+{
+    char    *config_file;
+    char    *p;
+    char    *end;
+    char    buffer[256];
+
+    uifw_info("ico_plugin_loader: Enter(module_init)");
+
+    /* get plugin module name from config file(weston_ivi_plugin.ini)   */
+    config_file = config_file_path(ICO_IVI_PLUGIN_CONFIG);
+    parse_config_file(config_file, conf_plugin, ARRAY_LENGTH(conf_plugin), NULL);
+    parse_config_file(config_file, conf_debug, ARRAY_LENGTH(conf_debug), NULL);
+    free(config_file);
+
+    if (modules == NULL)    {
+        uifw_error("ico_plugin_loader: Leave(No Plugin in config)");
+        return -1;
+    }
+    moddir = getenv("WESTON_IVI_PLUGIN_DIR");
+
+    p = modules;
+    while (*p) {
+        end = strchrnul(p, ',');
+        if (*p == '/')  {
+            snprintf(buffer, sizeof(buffer), "%.*s", (int) (end - p), p);
+        }
+        else if (moddir)    {
+            snprintf(buffer, sizeof(buffer), "%s/%.*s", moddir, (int) (end - p), p);
+        }
+        else    {
+            snprintf(buffer, sizeof(buffer), "%s/%.*s", MODULEDIR, (int) (end - p), p);
+        }
+        load_module(ec, buffer, "module_init");
+        p = end;
+        while (*p == ',')   {
+            p++;
+        }
+    }
+
+    uifw_info("ico_plugin_loader: Leave(module_init)");
+
+    return 0;
+}
+
diff --git a/src/ico_window_mgr.c b/src/ico_window_mgr.c
new file mode 100644 (file)
index 0000000..963e7c9
--- /dev/null
@@ -0,0 +1,1614 @@
+/*
+ * Copyright Â© 2010-2011 Intel Corporation
+ * Copyright Â© 2008-2011 Kristian Høgsberg
+ * Copyright Â© 2013 TOYOTA MOTOR CORPORATION.
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and
+ * its documentation for any purpose is hereby granted without fee, provided
+ * that the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation, and that the name of the copyright holders not be used in
+ * advertising or publicity pertaining to distribution of the software
+ * without specific, written prior permission.  The copyright holders make
+ * no representations about the suitability of this software for any
+ * purpose.  It is provided "as is" without express or implied warranty.
+ *
+ * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
+ * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
+ * FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
+ * SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
+ * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
+ * CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
+ * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+/**
+ * @brief   Multi Window Manager (Weston(Wayland) PlugIn)
+ *
+ * @date    Feb-08-2013
+ */
+
+#define _GNU_SOURCE
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <stdbool.h>
+#include <string.h>
+#include <unistd.h>
+#include <linux/input.h>
+#include <assert.h>
+#include <signal.h>
+#include <math.h>
+#include <time.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include <wayland-server.h>
+#include <aul/aul.h>
+#include <bundle.h>
+
+#include "compositor.h"
+#include "ico_ivi_common.h"
+#include "ico_ivi_shell.h"
+#include "ico_window_mgr.h"
+#include "ico_ivi_shell-server-protocol.h"
+#include "ico_window_mgr-server-protocol.h"
+
+/* SurfaceID                        */
+#define INIT_SURFACE_IDS    1024            /* SurfaceId table initiale size        */
+#define ADD_SURFACE_IDS     512             /* SurfaceId table additional size      */
+#define SURCAFE_ID_MASK     0x0ffff         /* SurfaceId bit mask pattern           */
+#define UIFW_HASH    64                     /* Hash value (2's compliment)          */
+
+/* Cleint management table          */
+struct uifw_client  {
+    struct wl_client *client;               /* Wayland client                       */
+    int     pid;                            /* ProcessId (pid)                      */
+    char    appid[ICO_IVI_APPID_LENGTH];    /* ApplicationId(from AppCore AUL)      */
+    int     manager;                        /* Manager flag (Need send event)       */
+    struct wl_resource *resource;
+    struct wl_list  link;
+};
+
+/* UIFW Surface                     */
+struct shell_surface;
+struct uifw_win_surface {
+    uint32_t id;                            /* UIFW SurfaceId                       */
+    int     layer;                          /* LayerId                              */
+    struct weston_surface *surface;         /* Weston surface                       */
+    struct shell_surface  *shsurf;          /* Shell(IVI-Shell) surface             */
+    struct uifw_client    *uclient;         /* Client                               */
+    int     x;                              /* X-axis                               */
+    int     y;                              /* Y-axis                               */
+    int     width;                          /* Width                                */
+    int     height;                         /* Height                               */
+    int     transition;                     /* Transition                           */
+    struct wl_list link;                    /*                                      */
+    struct uifw_win_surface *next_idhash;   /* UIFW SurfaceId hash list             */
+    struct uifw_win_surface *next_wshash;   /* Weston SurfaceId hash list           */
+};
+
+/* Manager table                    */
+struct uifw_manager {
+    struct wl_resource *resource;           /* Manager resource                     */
+    int     eventcb;                        /* Event send flag                      */
+    struct wl_list link;                    /* link to next manager                 */
+};
+
+/* Multi Windiw Manager                           */
+struct ico_win_mgr {
+    struct weston_compositor *compositor;   /* Weston compositor                    */
+    int32_t surface_head;                   /* (HostID << 24) | (DisplayNo << 16)   */
+
+    struct wl_list  client_list;            /* Clients                              */
+    struct wl_list  manager_list;           /* Manager(ex.HomeScreen) list          */
+    int             num_manager;            /* Number of managers                   */
+    struct wl_list  surface_list;           /* Surface list                         */
+    struct uifw_win_surface *active_surface;/* Active Surface                       */
+
+    struct uifw_win_surface *idhash[UIFW_HASH];  /* UIFW SerfaceID                  */
+    struct uifw_win_surface *wshash[UIFW_HASH];  /* Weston Surface                  */
+
+    uint32_t surfaceid_count;               /* Number of surface id                 */
+    uint32_t surfaceid_max;                 /* Maximum number of surface id         */
+    uint16_t *surfaceid_map;                /* SurfaceId assign bit map             */
+};
+
+/* Internal macros                      */
+/* UIFW SurfaceID                       */
+#define MAKE_IDHASH(v)  (((uint32_t)v) & (UIFW_HASH-1))
+/* Weston Surface                       */
+#define MAKE_WSHASH(v)  ((((uint32_t)v) >> 5) & (UIFW_HASH-1))
+
+/* function prototype                   */
+                                            /* weston compositor interface          */
+int module_init(struct weston_compositor *ec);
+                                            /* get surface table from surfece id    */
+static struct uifw_win_surface* find_uifw_win_surface_by_id(uint32_t surfaceid);
+                                            /* get surface table from weston surface*/
+static struct uifw_win_surface* find_uifw_win_surface_by_ws(
+                    struct weston_surface *wsurf);
+                                            /* get client table from weston client  */
+static struct uifw_client* find_client_from_client(struct wl_client* client);
+                                            /* assign new surface id                */
+static uint32_t generate_id(void);
+                                            /* bind shell client                    */
+static void bind_shell_client(struct wl_client *client);
+                                            /* unind shell client                   */
+static void unbind_shell_client(struct wl_client *client);
+                                            /* create new surface                   */
+static void client_register_surface(
+                    struct wl_client *client, struct wl_resource *resource,
+                    struct weston_surface *surface, struct shell_surface *shsurf);
+                                            /* map new surface                      */
+static void win_mgr_map_surface(struct weston_surface *surface, int32_t *width,
+                                int32_t *height, int32_t *sx, int32_t *sy);
+                                            /* set applicationId for RemoteUI       */
+static void uifw_set_user(struct wl_client *client, struct wl_resource *resource,
+                          int pid, const char *appid);
+                                            /* set/reset event flag                 */
+static void uifw_set_eventcb(struct wl_client *client, struct wl_resource *resource,
+                             int eventcb);
+                                            /* set window layer                     */
+static void uifw_set_window_layer(struct wl_client *client,
+                                  struct wl_resource *resource,
+                                  uint32_t surfaceid, int layer);
+                                            /* set surface size and position        */
+static void uifw_set_positionsize(struct wl_client *client,
+                                  struct wl_resource *resource, uint32_t surfaceid,
+                                  int32_t x, int32_t y, int32_t width, int32_t height);
+                                            /* show/hide and raise/lower surface    */
+static void uifw_set_visible(struct wl_client *client, struct wl_resource *resource,
+                             uint32_t surfaceid, int32_t visible, int32_t raise);
+                                            /* set surface transition               */
+static void uifw_set_transition(struct wl_client *client, struct wl_resource *resource,
+                                uint32_t surfaceid, int32_t transition);
+                                            /* set active surface (form HomeScreen) */
+static void uifw_set_active(struct wl_client *client, struct wl_resource *resource,
+                            uint32_t surfaceid);
+                                            /* layer visibility control             */
+static void uifw_set_layer_visible(struct wl_client *client, struct wl_resource *resource,
+                                   int32_t layer, int32_t visible);
+                                            /* send surface change event to manager */
+static void win_mgr_surface_change(struct weston_surface *surface,
+                                   const int to, const int manager);
+                                            /* surface change from manager          */
+static int win_mgr_surface_change_mgr(struct weston_surface *surface, const int x,
+                                      const int y, const int width, const int height);
+                                            /* surface destory                      */
+static void win_mgr_surface_destroy(struct weston_surface *surface);
+                                            /* bind manager                         */
+static void bind_ico_win_mgr(struct wl_client *client,
+                             void *data, uint32_t version, uint32_t id);
+                                            /* unbind manager                       */
+static void unbind_ico_win_mgr(struct wl_resource *resource);
+                                            /* convert surfaceId to nodeId          */
+static int ico_winmgr_usurf_2_node(const int surfaceid);
+                                            /* send event to manager                */
+static int ico_win_mgr_send_to_mgr(const int event, const int surfaceid,
+                                   const char *appid, const int param1,
+                                   const int param2, const int param3, const int param4,
+                                   const int param5, const int param6);
+                                            /* hook for set user                    */
+static void (*win_mgr_hook_set_user)
+                (struct wl_client *client, const char *appid) = NULL;
+                                            /* hook for surface create              */
+static void (*win_mgr_hook_create)
+                (struct wl_client *client, struct weston_surface *surface,
+                 int surfaceId, const char *appid) = NULL;
+                                            /* hook for surface destory             */
+static void (*win_mgr_hook_destroy)(struct weston_surface *surface) = NULL;
+
+/* static tables                        */
+/* Multi Window Manager interface       */
+static const struct ico_window_mgr_interface ico_window_mgr_implementation = {
+    uifw_set_user,
+    uifw_set_eventcb,
+    uifw_set_window_layer,
+    uifw_set_positionsize,
+    uifw_set_visible,
+    uifw_set_transition,
+    uifw_set_active,
+    uifw_set_layer_visible
+};
+
+/* static management table              */
+static struct ico_win_mgr *_ico_win_mgr = NULL;
+
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   find_uifw_win_surface_by_id: find UIFW surface by surface id
+ *
+ * @param[in]   surfaceid   UIFW surface id
+ * @return      UIFW surface table address
+ * @retval      !=NULL      success(surface table address)
+ * @retval      NULL        error(surface id dose not exist)
+ */
+/*--------------------------------------------------------------------------*/
+static struct uifw_win_surface*
+find_uifw_win_surface_by_id(uint32_t surfaceid)
+{
+    struct uifw_win_surface* usurf;
+
+    usurf = _ico_win_mgr->idhash[MAKE_IDHASH(surfaceid)];
+
+    while (usurf)   {
+        if (usurf->id == surfaceid) {
+            return usurf;
+        }
+        usurf = usurf->next_idhash;
+    }
+    uifw_trace("find_uifw_win_surface_by_id: NULL");
+    return NULL;
+}
+
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   find_uifw_win_surface_by_ws: find UIFW srurace by weston surface
+ *
+ * @param[in]   wsurf       Weston surface
+ * @return      UIFW surface table address
+ * @retval      !=NULL      success(surface table address)
+ * @retval      NULL        error(surface dose not exist)
+ */
+/*--------------------------------------------------------------------------*/
+static struct uifw_win_surface*
+find_uifw_win_surface_by_ws(struct weston_surface *wsurf)
+{
+    struct uifw_win_surface* usurf;
+
+    usurf = _ico_win_mgr->wshash[MAKE_WSHASH(wsurf)];
+
+    while (usurf)   {
+        if (usurf->surface == wsurf) {
+            return usurf;
+        }
+        usurf = usurf->next_wshash;
+    }
+    uifw_trace("find_uifw_win_surface_by_ws: NULL");
+    return NULL;
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   find_client_from_client: find UIFW client by wayland client
+ *
+ * @param[in]   client      Wayland client
+ * @return      UIFW client table address
+ * @retval      !=NULL      success(client table address)
+ * @retval      NULL        error(client dose not exist)
+ */
+/*--------------------------------------------------------------------------*/
+static struct uifw_client*
+find_client_from_client(struct wl_client* client)
+{
+    struct uifw_client  *uclient;
+
+    wl_list_for_each (uclient, &_ico_win_mgr->client_list, link)    {
+        if (uclient->client == client)  {
+            return(uclient);
+        }
+    }
+    uifw_trace("find_client_from_client: NULL");
+    return NULL;
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   ico_window_mgr_appid: find application id by wayland client
+ *
+ * @param[in]   client      Wayland client
+ * @return      application id
+ * @retval      !=NULL      success(application id)
+ * @retval      NULL        error(client dose not exist)
+ */
+/*--------------------------------------------------------------------------*/
+WL_EXPORT   char *
+ico_window_mgr_appid(struct wl_client* client)
+{
+    struct uifw_client  *uclient;
+
+    uclient = find_client_from_client(client);
+
+    if (! uclient)  {
+        return NULL;
+    }
+    return uclient->appid;
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   generate_id: generate uniq id for UIFW surface id
+ *
+ * @param       none
+ * @return      uniq id for UIFW surface id
+ */
+/*--------------------------------------------------------------------------*/
+static uint32_t
+generate_id(void)
+{
+    int     rep;
+    int     i;
+    int     map;
+    uint16_t *new_map;
+    uint32_t surfaceId;
+
+    /* next assign id                           */
+    _ico_win_mgr->surfaceid_count ++;
+
+    /* serach free id from bitmap               */
+    for (rep = 0; rep < (int)(_ico_win_mgr->surfaceid_max/16); rep++)   {
+        if (_ico_win_mgr->surfaceid_count >= _ico_win_mgr->surfaceid_max)   {
+            _ico_win_mgr->surfaceid_count = 0;
+        }
+        if (_ico_win_mgr->surfaceid_map[_ico_win_mgr->surfaceid_count/16] != 0xffff)    {
+            /* find free id from bitmap         */
+            map = 1 << (_ico_win_mgr->surfaceid_count % 16);
+            for (i = (_ico_win_mgr->surfaceid_count % 16); i < 16; i++) {
+                if ((_ico_win_mgr->surfaceid_map[_ico_win_mgr->surfaceid_count/16] & map)
+                        == 0) {
+                    _ico_win_mgr->surfaceid_map[_ico_win_mgr->surfaceid_count/16] |= map;
+                    _ico_win_mgr->surfaceid_count
+                        = (_ico_win_mgr->surfaceid_count/16)*16 + i;
+
+                    surfaceId = (_ico_win_mgr->surfaceid_count + 1)
+                                | _ico_win_mgr->surface_head;
+                    uifw_trace("generate_id: SurfaceId=%08x", surfaceId);
+                    return(surfaceId);
+                }
+                map = map << 1;
+            }
+        }
+        _ico_win_mgr->surfaceid_count += 16;
+    }
+
+    /* no free id in bitmap, extend bitmap      */
+    if ((_ico_win_mgr->surfaceid_max + ADD_SURFACE_IDS) > SURCAFE_ID_MASK)  {
+        /* too many surfaces, system error      */
+        uifw_trace("generate_id: SurffaceId Overflow(%d, Max=%d), Abort",
+                   _ico_win_mgr->surfaceid_max + ADD_SURFACE_IDS, SURCAFE_ID_MASK);
+        fprintf(stderr, "generate_id: SurffaceId Overflow(%d, Max=%d), Abort\n",
+                _ico_win_mgr->surfaceid_max + ADD_SURFACE_IDS, SURCAFE_ID_MASK);
+        abort();
+    }
+
+    new_map = (uint16_t *) malloc((_ico_win_mgr->surfaceid_max + ADD_SURFACE_IDS) / 8);
+    memcpy(new_map, _ico_win_mgr->surfaceid_map, _ico_win_mgr->surfaceid_max/8);
+    memset(&new_map[_ico_win_mgr->surfaceid_max/16], 0, ADD_SURFACE_IDS/8);
+    _ico_win_mgr->surfaceid_count = _ico_win_mgr->surfaceid_max;
+    new_map[_ico_win_mgr->surfaceid_count/16] |= 1;
+    _ico_win_mgr->surfaceid_max += ADD_SURFACE_IDS;
+    free(_ico_win_mgr->surfaceid_map);
+    _ico_win_mgr->surfaceid_map = new_map;
+
+    uifw_trace("generate_id: Extent SurfaceId=%d(Max.%d)",
+               _ico_win_mgr->surfaceid_count+1, _ico_win_mgr->surfaceid_max);
+    surfaceId = (_ico_win_mgr->surfaceid_count + 1) | _ico_win_mgr->surface_head;
+
+    uifw_trace("generate_id: SurfaceId=%08x", surfaceId);
+    return(surfaceId);
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   bind_shell_client: ico_ivi_shell from client
+ *
+ * @param[in]   client          Wayland client
+ * @return      none
+ */
+/*--------------------------------------------------------------------------*/
+static void
+bind_shell_client(struct wl_client *client)
+{
+    struct uifw_client  *uclient;
+    pid_t   pid;
+    uid_t   uid;
+    gid_t   gid;
+    int     fd;
+    int     size;
+    int     i;
+    int     j;
+    char    procpath[128];
+
+    uifw_trace("bind_shell_client: Enter(client=%08x)", (int)client);
+
+    /* set client                           */
+    uclient = find_client_from_client(client);
+    if (! uclient)  {
+        /* client not exist, create client management table             */
+        uifw_trace("bind_shell_client: Create Client");
+        uclient = (struct uifw_client *)malloc(sizeof(struct uifw_client));
+        if (!uclient)   {
+            uifw_error("bind_shell_client: Error, No Memory");
+            return;
+        }
+        memset(uclient, 0, sizeof(struct uifw_client));
+        uclient->client = client;
+        wl_list_insert(&_ico_win_mgr->client_list, &uclient->link);
+    }
+    wl_client_get_credentials(client, &pid, &uid, &gid);
+    uifw_trace("bind_shell_client: client=%08x pid=%d uid=%d gid=%d",
+               (int)client, (int)pid, (int)uid, (int)gid);
+    if (pid > 0)    {
+        uclient->pid = (int)pid;
+        /* get applicationId from AppCore(AUL)  */
+        if (aul_app_get_appid_bypid(uclient->pid, uclient->appid, ICO_IVI_APPID_LENGTH)
+                        == AUL_R_OK)    {
+            uifw_trace("bind_shell_client: client=%08x pid=%d appid=<%s>",
+                       (int)client, uclient->pid, uclient->appid);
+        }
+        else    {
+            /* client dose not exist in AppCore, search Linux process table */
+            uifw_trace("bind_shell_client: pid=%d dose not exist in AppCore(AUL)",
+                       uclient->pid);
+
+            memset(uclient->appid, 0, ICO_IVI_APPID_LENGTH);
+            snprintf(procpath, sizeof(procpath)-1, "/proc/%d/cmdline", uclient->pid);
+            fd = open(procpath, O_RDONLY);
+            if (fd >= 0)    {
+                size = read(fd, procpath, sizeof(procpath));
+                for (; size > 0; size--)    {
+                    if (procpath[size-1])   break;
+                }
+                if (size > 0)   {
+                    /* get program base name    */
+                    i = 0;
+                    for (j = 0; j < size; j++)  {
+                        if (procpath[j] == 0)   break;
+                        if (procpath[j] == '/') i = j + 1;
+                    }
+                    j = 0;
+                    for (; i < size; i++)   {
+                        uclient->appid[j] = procpath[i];
+                        if ((uclient->appid[j] == 0) ||
+                            (j >= (ICO_IVI_APPID_LENGTH-1)))    break;
+                        j++;
+                    }
+                    /* search application number in apprication start option    */
+                    if ((uclient->appid[j] == 0) && (j < (ICO_IVI_APPID_LENGTH-2))) {
+                        for (; i < size; i++)   {
+                            if ((procpath[i] == 0) &&
+                                (procpath[i+1] == '@')) {
+                                strncpy(&uclient->appid[j], &procpath[i+1],
+                                        ICO_IVI_APPID_LENGTH - j - 2);
+                            }
+                        }
+                    }
+                }
+                close(fd);
+            }
+            if (uclient->appid[0])  {
+                uifw_trace("bind_shell_client: client=%08x pid=%d appid=<%s> from "
+                           "Process table", (int)client, uclient->pid, uclient->appid);
+            }
+            else    {
+                uifw_trace("bind_shell_client: pid=%d dose not exist in Process table",
+                           uclient->pid);
+                sprintf(uclient->appid, "?%d?", uclient->pid);
+            }
+        }
+    }
+    else    {
+        uifw_trace("bind_shell_client: client=%08x pid dose not exist", (int)client);
+    }
+    uifw_trace("bind_shell_client: Leave");
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   unbind_shell_client: unbind ico_ivi_shell from client
+ *
+ * @param[in]   client          Wayland client
+ * @return      none
+ */
+/*--------------------------------------------------------------------------*/
+static void
+unbind_shell_client(struct wl_client *client)
+{
+    struct uifw_client  *uclient;
+
+    uifw_trace("unbind_shell_client: Enter(client=%08x)", (int)client);
+
+    uclient = find_client_from_client(client);
+    if (uclient)    {
+        /* Client exist, Destory client management table             */
+        wl_list_remove(&uclient->link);
+        free(uclient);
+    }
+    uifw_trace("unbind_shell_client: Leave");
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   client_register_surface: create UIFW surface
+ *
+ * @param[in]   client          Wayland client
+ * @param[in]   resource        client resource
+ * @param[in]   surface         Weston surface
+ * @param[in]   shsurf          shell surface
+ * @return      none
+ */
+/*--------------------------------------------------------------------------*/
+static void
+client_register_surface(struct wl_client *client, struct wl_resource *resource,
+                        struct weston_surface *surface, struct shell_surface *shsurf)
+{
+    struct uifw_win_surface *us;
+    struct uifw_win_surface *phash;
+    struct uifw_win_surface *bhash;
+    uint32_t    hash;
+
+    uifw_trace("client_register_surface: Enter(surf=%08x,client=%08x,res=%08x)",
+               (int)surface, (int)client, (int)resource);
+
+    /* check new surface                    */
+    if (find_uifw_win_surface_by_ws(surface))   {
+        /* surface exist, NOP               */
+        uifw_trace("client_register_surface: Leave(Already Exist)");
+        return;
+    }
+
+    /* create UIFW surface management table */
+    us = malloc(sizeof(struct uifw_win_surface));
+    if (!us)    {
+        uifw_error("client_register_surface: No Memory");
+        return;
+    }
+
+    memset(us, 0, sizeof(struct uifw_win_surface));
+
+    us->id = generate_id();
+    us->surface = surface;
+    us->shsurf = shsurf;
+    if (_ico_win_mgr->num_manager <= 0) {
+        uifw_trace("client_register_surface: No Manager, Force visible");
+        ivi_shell_set_visible(shsurf, 1);   /* NOT exist HomeScreen     */
+    }
+    else    {
+        uifw_trace("client_register_surface: Manager exist, Not visible");
+        ivi_shell_set_visible(shsurf, -1);  /* Exist HomeScreen         */
+    }
+
+    /* set client                           */
+    us->uclient = find_client_from_client(client);
+    if (! us->uclient)  {
+        /* client not exist, create client management table */
+        uifw_trace("client_register_surface: Create Client");
+        bind_shell_client(client);
+        us->uclient = find_client_from_client(client);
+        if (! us->uclient)  {
+            uifw_error("client_register_surface: No Memory");
+            return;
+        }
+    }
+    wl_list_insert(&_ico_win_mgr->surface_list, &us->link);
+
+    /* make surface id hash table       */
+    hash = MAKE_IDHASH(us->id);
+    phash = _ico_win_mgr->idhash[hash];
+    bhash = NULL;
+    while (phash)   {
+        bhash = phash;
+        phash = phash->next_idhash;
+    }
+    if (bhash)  {
+        bhash->next_idhash = us;
+    }
+    else    {
+        _ico_win_mgr->idhash[hash] = us;
+    }
+
+    /* make weston surface hash table   */
+    hash = MAKE_WSHASH(us->surface);
+    phash = _ico_win_mgr->wshash[hash];
+    bhash = NULL;
+    while (phash)   {
+        bhash = phash;
+        phash = phash->next_wshash;
+    }
+    if (bhash)  {
+        bhash->next_wshash = us;
+    }
+    else    {
+        _ico_win_mgr->wshash[hash] = us;
+    }
+    /* set default layer id             */
+    ivi_shell_set_layer(shsurf, 0);
+
+    /* send event to manager            */
+    ico_win_mgr_send_to_mgr(ICO_WINDOW_MGR_WINDOW_CREATED,
+                            us->id, us->uclient->appid, us->uclient->pid, 0,0,0,0,0);
+
+    if (win_mgr_hook_create) {
+        /* call surface create hook for ico_window_mgr  */
+        (void) (*win_mgr_hook_create)(client, surface, us->id, us->uclient->appid);
+    }
+    uifw_trace("client_register_surface: Leave(surfaceId=%08x)", us->id);
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   win_mgr_map_surface: map surface
+ *
+ * @param[in]   surface         Weston surface
+ * @param[in]   width           surface width
+ * @param[in]   height          surface height
+ * @param[in]   sx              X coordinate on screen
+ * @param[in]   sy              Y coordinate on screen
+ * @return      none
+ */
+/*--------------------------------------------------------------------------*/
+static void
+win_mgr_map_surface(struct weston_surface *surface, int32_t *width, int32_t *height,
+                    int32_t *sx, int32_t *sy)
+{
+    struct uifw_win_surface *usurf;
+
+    uifw_trace("win_mgr_map_surface: Enter(%08x, x/y=%d/%d w/h=%d/%d)",
+               (int)surface, *sx, *sy, *width, *height);
+
+    usurf = find_uifw_win_surface_by_ws(surface);
+
+    if (usurf) {
+        uifw_trace("win_mgr_map_surface: surf=%08x w/h=%d/%d vis=%d",
+                   usurf->id, usurf->width, usurf->height,
+                   ivi_shell_is_visible(usurf->shsurf));
+
+        if ((usurf->width > 0) && (usurf->height > 0)) {
+            uifw_trace("win_mgr_map_surface: HomeScreen registed, PositionSize"
+                       "(surf=%08x x/y=%d/%d w/h=%d/%d vis=%d",
+                       usurf->id, usurf->x, usurf->y, usurf->width, usurf->height,
+                       ivi_shell_is_visible(usurf->shsurf));
+            *width = usurf->width;
+            *height = usurf->height;
+            surface->geometry.x = usurf->x;
+            surface->geometry.y = usurf->y;
+        }
+        else    {
+            uifw_trace("win_mgr_map_surface: HomeScreen not regist Surface, "
+                       "Change PositionSize(surf=%08x x/y=%d/%d w/h=%d/%d)",
+                       usurf->id, *sx, *sy, *width, *height);
+            usurf->width = *width;
+            usurf->height = *height;
+            usurf->x = *sx;
+            usurf->y = *sy;
+            if (usurf->x < 0)   usurf->x = 0;
+            if (usurf->y < 0)   usurf->y = 0;
+
+            if (_ico_win_mgr->num_manager > 0)  {
+                /* HomeScreen exist, coodinate set by HomeScreen                */
+                surface->geometry.x = 0;
+                surface->geometry.y = 0;
+
+                /* change surface size, because HomeScreen change surface size  */
+                *width = 1;
+                *height = 1;
+                uifw_trace("win_mgr_map_surface: Change size and position");
+            }
+            else    {
+                uifw_trace("win_mgr_map_surface: Np HomeScreen, chaneg to Visible");
+                ivi_shell_set_visible(usurf->shsurf, 1);
+            }
+        }
+        ivi_shell_set_positionsize(usurf->shsurf,
+                                   usurf->x, usurf->y, usurf->width, usurf->height);
+        uifw_trace("win_mgr_map_surface: Leave");
+    }
+    else    {
+        uifw_trace("win_mgr_map_surface: Leave(No Window Manager Surface)");
+    }
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @briefdwi    uifw_set_user: set user id (for RemoteUI)
+ *
+ * @param[in]   client      Weyland client
+ * @param[in]   resource    resource of request
+ * @param[in]   pid         client process id
+ * @param[in]   appid       application id
+ * @return      none
+ */
+/*--------------------------------------------------------------------------*/
+static void
+uifw_set_user(struct wl_client *client, struct wl_resource *resource,
+              int pid, const char *appid)
+{
+    struct uifw_client  *uclient;
+
+    uifw_trace("uifw_set_user: Enter(client=%08x pid=%d appid=%s)",
+                (int)client, pid, appid);
+
+    uclient = find_client_from_client(client);
+    if (uclient)    {
+        uclient->pid = pid;
+        memset(uclient->appid, 0, ICO_IVI_APPID_LENGTH);
+        strncpy(uclient->appid, appid, ICO_IVI_APPID_LENGTH-1);
+        uclient->resource = resource;
+        uifw_trace("uifw_set_user: Leave(Client Exist, change PID/AppId)");
+        return;
+    }
+
+    uclient = (struct uifw_client *)malloc(sizeof(struct uifw_client));
+    if (! uclient)  {
+        uifw_trace("uifw_set_user: Leave(Error, No Memory)");
+        return;
+    }
+
+    memset(uclient, 0, sizeof(struct uifw_client));
+    uclient->client = client;
+    uclient->pid = pid;
+    memset(uclient->appid, 0, ICO_IVI_APPID_LENGTH);
+    strncpy(uclient->appid, appid, ICO_IVI_APPID_LENGTH-1);
+    uclient->resource = resource;
+
+    wl_list_insert(&_ico_win_mgr->client_list, &uclient->link);
+
+    if (win_mgr_hook_set_user) {
+        (void) (*win_mgr_hook_set_user) (client, uclient->appid);
+    }
+    uifw_trace("uifw_set_user: Leave");
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   uifw_set_eventcb: set event callback flag for HomeScreen
+ *
+ * @param[in]   client      Weyland client
+ * @param[in]   resource    resource of request
+ * @param[in]   eventcb     event callback flag(1=callback, 0=no callback)
+ * @return      none
+ */
+/*--------------------------------------------------------------------------*/
+static void
+uifw_set_eventcb(struct wl_client *client, struct wl_resource *resource, int eventcb)
+{
+    struct uifw_manager* mgr;
+    struct uifw_win_surface *usurf;
+    struct uifw_client *uclient;
+
+    uifw_trace("uifw_set_eventcb: Enter client=%08x eventcb=%d",
+               (int)client, eventcb);
+
+    uclient = find_client_from_client(client);
+    if (uclient)    {
+        uclient->manager = eventcb;
+    }
+
+    /* client set to manager            */
+    _ico_win_mgr->num_manager = 0;
+    wl_list_for_each (mgr, &_ico_win_mgr->manager_list, link)   {
+        if (mgr->resource == resource)  {
+            if (mgr->eventcb != eventcb)    {
+                uifw_trace("uifw_set_eventcb: Event Callback %d=>%d",
+                           mgr->eventcb, eventcb);
+                mgr->eventcb = eventcb;
+
+                if (eventcb)    {
+                    wl_list_for_each (usurf, &_ico_win_mgr->surface_list, link) {
+                        /* send window create event to manager  */
+                        uifw_trace("uifw_set_eventcb: Send manager(%08x) WINDOW_CREATED"
+                                   "(surf=%08x,pid=%d,appid=%s)", (int)resource, usurf->id,
+                                   usurf->uclient->pid, usurf->uclient->appid);
+                        ico_window_mgr_send_window_created(resource,
+                            usurf->id, usurf->uclient->pid, usurf->uclient->appid);
+                    }
+                }
+            }
+        }
+        if (mgr->eventcb)   {
+            _ico_win_mgr->num_manager++;
+        }
+    }
+    uifw_trace("uifw_set_eventcb: Leave(managers=%d)", _ico_win_mgr->num_manager);
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   uifw_set_window_layer: set layer id to surface
+ *
+ * @param[in]   client      Weyland client
+ * @param[in]   resource    resource of request
+ * @param[in]   surfaceid   UIFW surface id
+ * @param[in]   layer       layer id
+ * @return      none
+ */
+/*--------------------------------------------------------------------------*/
+static void
+uifw_set_window_layer(struct wl_client *client, struct wl_resource *resource,
+                      uint32_t surfaceid, int32_t layer)
+{
+    uifw_trace("uifw_set_window_layer: Enter res=%08x surfaceid=%08x layer=%d",
+               (int)resource, surfaceid, layer);
+
+    struct uifw_win_surface *usurf = find_uifw_win_surface_by_id(surfaceid);
+
+    if (! usurf)    {
+        uifw_trace("uifw_set_window_layer: Leave(No Surface(id=%08x)", surfaceid);
+        return;
+    }
+    else if (usurf->layer != layer) {
+        usurf->layer = layer;
+        uifw_trace("uifw_set_window_layer: Set Layer(%d) to Shell Surface", layer);
+        ivi_shell_set_layer(usurf->shsurf, layer);
+
+        win_mgr_surface_change(usurf->surface, 1, 1);
+    }
+    uifw_trace("uifw_set_window_layer: Leave");
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   uifw_set_weston_surface: set weston surface from UIFW surface
+ *
+ * @param[in]   usurf       UIFW surface
+ * @return      none
+ */
+/*--------------------------------------------------------------------------*/
+static void
+uifw_set_weston_surface(struct uifw_win_surface *usurf)
+{
+    struct weston_surface *es = usurf->surface;
+    int     width = usurf->width;
+    int     height = usurf->height;
+    int     x = usurf->x;
+    int     y = usurf->y;
+
+    if ((es != NULL) && (es->buffer != NULL))   {
+        if (usurf->width > es->buffer->width)   {
+            width = es->buffer->width;
+            x += (usurf->width - es->buffer->width)/2;
+        }
+        if (usurf->height > es->buffer->height) {
+            height = es->buffer->height;
+            y += (usurf->height - es->buffer->height)/2;
+        }
+    }
+    ivi_shell_set_positionsize(usurf->shsurf,
+                               usurf->x, usurf->y, usurf->width, usurf->height);
+    uifw_trace("uifw_set_weston_surface: w/h=%d/%d->%d/%d x/y=%d/%d->%d/%d",
+               usurf->width, usurf->height, width, height, usurf->x, usurf->y, x, y);
+    ivi_shell_surface_configure(usurf->shsurf, x, y, width, height);
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   uifw_set_positionsize: set surface position and size
+ *
+ * @param[in]   client      Weyland client
+ * @param[in]   resource    resource of request
+ * @param[in]   surfaceid   UIFW surface id
+ * @param[in]   x           X coordinate on screen(if bigger than 16383, no change)
+ * @param[in]   y           Y coordinate on screen(if bigger than 16383, no change)
+ * @param[in]   width       surface width(if bigger than 16383, no change)
+ * @param[in]   height      surface height(if bigger than 16383, no change)
+ * @return      none
+ */
+/*--------------------------------------------------------------------------*/
+static void
+uifw_set_positionsize(struct wl_client *client, struct wl_resource *resource,
+                      uint32_t surfaceid,
+                      int32_t x, int32_t y, int32_t width, int32_t height)
+{
+    struct uifw_client *uclient;
+
+    uifw_trace("uifw_set_positionsize: Enter res=%08x surf=%08x x/y/w/h=%d/%d/%d/%d",
+               (int)resource, surfaceid, x, y, width, height);
+
+    struct uifw_win_surface* usurf = find_uifw_win_surface_by_id(surfaceid);
+
+    if (usurf && (usurf->surface))  {
+        /* weston surface exist             */
+        struct weston_surface *es = usurf->surface;
+
+        /* if x,y,width,height bigger then ICO_IVI_MAX_COORDINATE, no change    */
+        if (x > ICO_IVI_MAX_COORDINATE)         x = usurf->x;
+        if (y > ICO_IVI_MAX_COORDINATE)         y = usurf->y;
+        if (width > ICO_IVI_MAX_COORDINATE)     width = usurf->width;
+        if (height > ICO_IVI_MAX_COORDINATE)    height = usurf->height;
+
+        uclient = find_client_from_client(client);
+        if (uclient)    {
+            if (! uclient->manager) uclient = NULL;
+        }
+        if (! uclient)  {
+            if ((usurf->width > 0) && (usurf->height > 0))  {
+                win_mgr_surface_change_mgr(es, x, y, width, height);
+                uifw_trace("uifw_set_positionsize: Leave(Request from App)");
+                return;
+            }
+
+            uifw_trace("uifw_set_positionsize: Initial Position/Size visible=%d",
+                       ivi_shell_is_visible(usurf->shsurf));
+            /* Initiale position is (0,0)   */
+            es->geometry.x = 0;
+            es->geometry.y = 0;
+        }
+
+        uifw_trace("uifw_set_positionsize: Old geometry x/y=%d/%d,w/h=%d/%d",
+                   (int)es->geometry.x, (int)es->geometry.y,
+                   (int)es->geometry.width, (int)es->geometry.height);
+
+        usurf->x = x;
+        usurf->y = y;
+        usurf->width = width;
+        usurf->height = height;
+        ivi_shell_set_positionsize(usurf->shsurf, x, y, width, height);
+        if (_ico_win_mgr->num_manager <= 0) {
+            /* no manager(HomeScreen), set geometory    */
+            es->geometry.x = x;
+            es->geometry.y = y;
+        }
+        if ((es->output) && (es->buffer) &&
+            (es->geometry.width > 0) && (es->geometry.height > 0)) {
+            uifw_trace("uifw_set_positionsize: Fixed Geometry, Change(Vis=%d)",
+                       ivi_shell_is_visible(usurf->shsurf));
+            uifw_set_weston_surface(usurf);
+            weston_surface_damage_below(es);
+            weston_surface_damage(es);
+            weston_compositor_schedule_repaint(_ico_win_mgr->compositor);
+        }
+        win_mgr_surface_change(es, 0, 1);
+
+        uifw_trace("uifw_set_positionsize: Leave(OK,output=%x)", (int)es->output);
+    }
+    else    {
+        uifw_trace("uifw_set_positionsize: Leave(surf=%08x NOT Found)", surfaceid);
+    }
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   uifw_set_visible: surface visible/raise control
+ *
+ * @param[in]   client      Weyland client
+ * @param[in]   resource    resource of request
+ * @param[in]   surfaceid   UIFW surface id
+ * @param[in]   visible     visible(1=show/0=hide/other=no change)
+ * @param[in]   raise       raise(1=raise/0=lower/other=no change)
+ * @return      none
+ */
+/*--------------------------------------------------------------------------*/
+static void
+uifw_set_visible(struct wl_client *client, struct wl_resource *resource,
+                 uint32_t surfaceid, int32_t visible, int32_t raise)
+{
+    struct uifw_win_surface* usurf;
+    struct uifw_client *uclient;
+
+    uifw_trace("uifw_set_visible: Enter(surf=%08x,%d,%d)", surfaceid, visible, raise);
+
+    uclient = find_client_from_client(client);
+    if (uclient)    {
+        if (! uclient->manager) {
+            uifw_trace("uifw_set_visible: Request from App(%s), not Manager",
+                       uclient->appid);
+            uclient = NULL;
+        }
+        else    {
+            uifw_trace("uifw_set_visible: Request from Manager(%s)", uclient->appid);
+        }
+    }
+    else    {
+        uifw_trace("uifw_set_visible: Request from Unknown App, not Manager");
+    }
+
+    usurf = find_uifw_win_surface_by_id(surfaceid);
+
+    if ((! usurf) || (! usurf->surface))    {
+        uifw_trace("uifw_set_visible: Leave(Surface Not Exist)");
+        return;
+    }
+
+    if (visible == 1) {
+        if ((usurf->width <= 0) || (usurf->height <= 0))    {
+            /* not declare surface geometry, initialize     */
+            usurf->width = usurf->surface->geometry.width;
+            usurf->height = usurf->surface->geometry.height;
+            uifw_trace("uifw_set_visible: Set w/h=%d/%d", usurf->width, usurf->height);
+        }
+        if (! ivi_shell_is_visible(usurf->shsurf))  {
+            if (uclient)    {
+                /* manager exist, change to visible         */
+                ivi_shell_set_visible(usurf->shsurf, 1);
+            }
+            uifw_trace("uifw_set_visible: Change to Visible");
+
+            ivi_shell_set_toplevel(usurf->shsurf);
+
+            /* Weston surface configure                     */
+            uifw_trace("uifw_set_visible: Visible to Weston WSurf=%08x,%d/%d/%d/%d",
+                       (int)usurf->surface, usurf->x, usurf->y,
+                       usurf->width, usurf->height);
+            uifw_set_weston_surface(usurf);
+            ivi_shell_set_surface_type(usurf->shsurf);
+        }
+        else if ((raise != 0) && (raise != 1))  {
+            uifw_trace("uifw_set_visible: Leave(No Change)");
+            return;
+        }
+    }
+    else if (visible == 0)  {
+
+        if (ivi_shell_is_visible(usurf->shsurf))    {
+            ivi_shell_set_visible(usurf->shsurf, 0);
+            uifw_trace("uifw_set_visible: Change to UnVisible");
+
+            /* Weston surface configure                     */
+            uifw_set_weston_surface(usurf);
+        }
+        else if ((raise != 0) && (raise != 1))  {
+            uifw_trace("uifw_set_visible: Leave(No Change)");
+            return;
+        }
+    }
+    else if ((raise != 0) && (raise != 1))  {
+        uifw_trace("uifw_set_visible: Leave(No Change)");
+        return;
+    }
+
+    /* raise/lower                              */
+    if ((raise == 1) || (raise == 0))   {
+        ivi_shell_set_raise(usurf->shsurf, raise);
+    }
+
+    if ((usurf->surface) && (usurf->surface->buffer) && (usurf->surface->output))   {
+        weston_surface_damage_below(usurf->surface);
+        weston_surface_damage(usurf->surface);
+        weston_compositor_schedule_repaint(_ico_win_mgr->compositor);
+    }
+    /* send event(VISIBLE) to manager           */
+    ico_win_mgr_send_to_mgr(ICO_WINDOW_MGR_WINDOW_VISIBLE,
+                            surfaceid, NULL, visible, raise, uclient ? 0 : 1, 0,0,0);
+
+    uifw_trace("uifw_set_visible: Leave(OK)");
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   uifw_set_transition: set transition of surface visible/unvisible
+ *
+ * @param[in]   client      Weyland client
+ * @param[in]   resource    resource of request
+ * @param[in]   surfaceid   UIFW surface id
+ * @param[in]   transition  transiton id
+ * @return      none
+ */
+/*--------------------------------------------------------------------------*/
+static void
+uifw_set_transition(struct wl_client *client, struct wl_resource *resource,
+                    uint32_t surfaceid, int32_t transition)
+{
+    struct uifw_win_surface* usurf = find_uifw_win_surface_by_id(surfaceid);
+
+    uifw_trace("uifw_set_transition: Enter(surf=%08x, transition=%d)",
+                surfaceid, transition);
+
+    if (usurf) {
+        usurf->transition = transition;
+        uifw_trace("uifw_set_transition: Leave(OK)");
+    }
+    else    {
+        uifw_trace("uifw_set_transition: Leave(Surface(%08x) Not exist)", surfaceid);
+    }
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   uifw_set_active: set active surface
+ *
+ * @param[in]   client      Weyland client
+ * @param[in]   resource    resource of request
+ * @param[in]   surfaceid   UIFW surface id
+ * @return      none
+ */
+/*--------------------------------------------------------------------------*/
+static void
+uifw_set_active(struct wl_client *client, struct wl_resource *resource, uint32_t surfaceid)
+{
+    struct uifw_win_surface* usurf = find_uifw_win_surface_by_id(surfaceid);
+
+    uifw_trace("uifw_set_active: Enter(surf=%08x)", surfaceid);
+
+    if (usurf) {
+        if (usurf != _ico_win_mgr->active_surface)  {
+            if (_ico_win_mgr->active_surface)   {
+                ico_win_mgr_send_to_mgr(ICO_WINDOW_MGR_WINDOW_ACTIVE,
+                                        surfaceid, NULL, ICO_WINDOW_MGR_ACTIVE_INACTIVE,
+                                        0,0,0,0,0);
+            }
+            _ico_win_mgr->active_surface = usurf;
+            ico_win_mgr_send_to_mgr(ICO_WINDOW_MGR_WINDOW_ACTIVE,
+                                    surfaceid, NULL, ICO_WINDOW_MGR_ACTIVE_ACTIVE,
+                                    0,0,0,0,0);
+        }
+        uifw_trace("uifw_set_active: Leave(Change Active)");
+    }
+    else    {
+        uifw_trace("uifw_set_active: Leave(Surface(%08x) Not exist)", surfaceid);
+    }
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   uifw_set_layer_visible: layer visible control
+ *
+ * @param[in]   client      Weyland client
+ * @param[in]   resource    resource of request
+ * @param[in]   layer       layer id
+ * @param[in]   visible     visible(1=show/0=hide)
+ * @return      none
+ */
+/*--------------------------------------------------------------------------*/
+static void
+uifw_set_layer_visible(struct wl_client *client, struct wl_resource *resource,
+                       int32_t layer, int32_t visible)
+{
+    uifw_trace("uifw_set_layer_visible: Enter(layer=%d, visilbe=%d)", layer, visible);
+
+    ivi_shell_set_layer_visible(layer, visible);
+
+    uifw_trace("uifw_set_layer_visible: Leave");
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   win_mgr_surface_change_mgr: surface chagen from manager(HomeScreen)
+ *
+ * @param[in]   surface     Weston surface
+ * @param[in]   x           X coordinate on screen
+ * @param[in]   y           Y coordinate on screen
+ * @param[in]   width       surface width
+ * @param[in]   height      surface height
+ * @return      number of managers
+ * @retval      > 0         number of managers
+ * @retval      0           manager not exist
+ */
+/*--------------------------------------------------------------------------*/
+static int
+win_mgr_surface_change_mgr(struct weston_surface *surface,
+                           const int x, const int y, const int width, const int height)
+{
+    int     num_mgr;
+    struct uifw_win_surface *usurf;
+
+    uifw_trace("win_mgr_surface_change_mgr: Enter(%08x,x/y=%d/%d,w/h=%d/%d)",
+               (int)surface, x, y, width, height);
+
+    usurf = find_uifw_win_surface_by_ws(surface);
+    if (! usurf) {
+        uifw_trace("win_mgr_surface_change_mgr: Leave(Not Exist)");
+        return 0;
+    }
+
+    num_mgr = ico_win_mgr_send_to_mgr(ICO_WINDOW_MGR_WINDOW_CONFIGURE,
+                                      usurf->id, usurf->uclient->appid, usurf->layer,
+                                      x, y, width, height, 1);
+
+    uifw_trace("win_mgr_surface_change_mgr: Leave(%d)", num_mgr);
+    return num_mgr;
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   win_mgr_surface_change: surface change
+ *
+ * @param[in]   surface     Weston surface
+ * @param[in]   to          destination(0=Client&Manager,1=Client,-1=Manager)
+ * @param[in]   manager     request from manager(0=Client,1=Manager)
+ * @return      none
+ */
+/*--------------------------------------------------------------------------*/
+static void
+win_mgr_surface_change(struct weston_surface *surface, const int to, const int manager)
+{
+    struct uifw_win_surface *usurf;
+
+    uifw_trace("win_mgr_surface_change: Enter(%08x,%d,%d)", (int)surface, to, manager);
+
+    /* Find surface         */
+    usurf = find_uifw_win_surface_by_ws(surface);
+    if (! usurf) {
+        uifw_trace("win_mgr_surface_change: Leave(Not Exist)");
+        return;
+    }
+
+    /* send wayland event to client     */
+    if ((to >= 0) && (usurf->shsurf != NULL) && (manager !=0))    {
+        uifw_trace("win_mgr_surface_change: Send SHELL_SURFACE_CONFIGURE(%08x,w/h=%d/%d)",
+                   usurf->id, usurf->width, usurf->height);
+        ivi_shell_send_configure(usurf->shsurf, usurf->id,
+                                 (WL_SHELL_SURFACE_RESIZE_RIGHT |
+                                  WL_SHELL_SURFACE_RESIZE_BOTTOM),
+                                 usurf->width, usurf->height);
+    }
+
+    /* send manager event to HomeScreen */
+    if (to <= 0)    {
+        ico_win_mgr_send_to_mgr(ICO_WINDOW_MGR_WINDOW_CONFIGURE,
+                                usurf->id, usurf->uclient->appid, usurf->layer,
+                                usurf->x, usurf->y, usurf->width, usurf->height,
+                                (manager != 0) ? 0 : 1);
+    }
+    uifw_trace("win_mgr_surface_change: Leave(OK)");
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   win_mgr_surface_select: select surface by Bottun/Touch
+ *
+ * @param[in]   surface     Weston surface
+ * @return      none
+ */
+/*--------------------------------------------------------------------------*/
+static void
+win_mgr_surface_select(struct weston_surface *surface)
+{
+    struct uifw_win_surface *usurf;
+
+    uifw_trace("win_mgr_surface_select: Enter(%08x)", (int)surface);
+
+    /* find surface         */
+    usurf = find_uifw_win_surface_by_ws(surface);
+    if (! usurf) {
+        uifw_trace("win_mgr_surface_select: Leave(Not Exist)");
+        return;
+    }
+
+    /* send active event to manager     */
+    ico_win_mgr_send_to_mgr(ICO_WINDOW_MGR_WINDOW_ACTIVE,
+                    usurf->id, NULL, ICO_WINDOW_MGR_ACTIVE_SELECT, 0,0,0,0,0);
+
+    uifw_trace("win_mgr_surface_select: Leave(OK)");
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   win_mgr_surface_destroy: surface destroy
+ *
+ * @param[in]   surface     Weston surface
+ * @return      none
+ */
+/*--------------------------------------------------------------------------*/
+static void
+win_mgr_surface_destroy(struct weston_surface *surface)
+{
+    struct uifw_win_surface *usurf;
+    struct uifw_win_surface *phash;
+    struct uifw_win_surface *bhash;
+    uint32_t    hash;
+
+    uifw_trace("win_mgr_surface_destroy: Enter(%08x)", (int)surface);
+
+    usurf = find_uifw_win_surface_by_ws(surface);
+    if (! usurf) {
+        uifw_trace("win_mgr_surface_destroy: Leave(Not Exist)");
+        return;
+    }
+
+    hash = MAKE_IDHASH(usurf->id);
+    phash = _ico_win_mgr->idhash[hash];
+    bhash = NULL;
+    while ((phash) && (phash != usurf)) {
+        bhash = phash;
+        phash = phash->next_idhash;
+    }
+    if (bhash)  {
+        bhash->next_idhash = usurf->next_idhash;
+    }
+    else    {
+        _ico_win_mgr->idhash[hash] = usurf->next_idhash;
+    }
+
+    hash = MAKE_WSHASH(usurf->surface);
+    phash = _ico_win_mgr->wshash[hash];
+    bhash = NULL;
+    while ((phash) && (phash != usurf)) {
+        bhash = phash;
+        phash = phash->next_wshash;
+    }
+    if (bhash)  {
+        bhash->next_wshash = usurf->next_wshash;
+    }
+    else    {
+        _ico_win_mgr->wshash[hash] = usurf->next_wshash;
+    }
+
+    wl_list_remove(&usurf->link);
+    wl_list_init(&usurf->link);
+
+    ico_win_mgr_send_to_mgr(ICO_WINDOW_MGR_WINDOW_DESTROYED,
+                           usurf->id, NULL, 0,0,0,0,0,0);
+
+    hash = usurf->id & SURCAFE_ID_MASK;
+    _ico_win_mgr->surfaceid_map[(hash - 1)/16] &= ~(1 << ((hash - 1) % 16));
+
+    free(usurf);
+
+    if (win_mgr_hook_destroy) {
+        (void) (*win_mgr_hook_destroy) (surface);
+    }
+    uifw_trace("win_mgr_surface_destroy: Leave(OK)");
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   bind_ico_win_mgr: bind Multi Window Manager from client
+ *
+ * @param[in]   client      client
+ * @param[in]   data        user data(unused)
+ * @param[in]   version     protocol version(unused)
+ * @param[in]   id          client object id
+ * @return      none
+ */
+/*--------------------------------------------------------------------------*/
+static void
+bind_ico_win_mgr(struct wl_client *client,
+               void *data, uint32_t version, uint32_t id)
+{
+    struct wl_resource *add_resource;
+    struct uifw_manager *nm;
+
+    uifw_trace("bind_ico_win_mgr: Enter(client=%08x, id=%x)", (int)client, (int)id);
+
+    add_resource = wl_client_add_object(client, &ico_window_mgr_interface,
+                                        &ico_window_mgr_implementation, id, _ico_win_mgr);
+    add_resource->destroy = unbind_ico_win_mgr;
+
+    /* Manager                                      */
+    nm = (struct uifw_manager *)malloc(sizeof(struct uifw_manager));
+    memset(nm, 0, sizeof(struct uifw_manager));
+    nm->resource = add_resource;
+    wl_list_insert(&_ico_win_mgr->manager_list, &nm->link);
+
+    uifw_trace("bind_ico_win_mgr: Leave");
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   unbind_ico_win_mgr: unbind Multi Window Manager from client
+ *
+ * @param[in]   resource    client resource
+ * @return      none
+ */
+/*--------------------------------------------------------------------------*/
+static void
+unbind_ico_win_mgr(struct wl_resource *resource)
+{
+    struct uifw_manager *mgr, *itmp;
+
+    uifw_trace("unbind_ico_win_mgr: Enter");
+
+    /* Remove manager from manager list */
+    _ico_win_mgr->num_manager = 0;
+    wl_list_for_each_safe (mgr, itmp, &_ico_win_mgr->manager_list, link)    {
+        if (mgr->resource == resource) {
+            wl_list_remove(&mgr->link);
+            free(mgr);
+        }
+        else    {
+            if (mgr->eventcb)   {
+                _ico_win_mgr->num_manager++;
+            }
+        }
+    }
+
+    free(resource);
+    uifw_trace("unbind_ico_win_mgr: Leave");
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   ico_winmgr_usurf_2_node: get surface nodeId
+ *
+ * @param[in]   surfaceid   UIFW surface id
+ * @return      node id
+ * @retval      >= 0        success(surface node id)
+ * @retval      < 0         error(surface id dose not exist)
+ */
+/*--------------------------------------------------------------------------*/
+static  int
+ico_winmgr_usurf_2_node(const int surfaceid)
+{
+    /* currently support single ECU system  */
+    return(ICO_IVI_SURFACEID_2_NODEID(surfaceid));
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   ico_win_mgr_send_to_mgr: send event to manager(HomeScreen)
+ *
+ * @param[in]   event       event code(if -1, not send event)
+ * @param[in]   surfaceid   UIFW surface id
+ * @param[in]   appid       applicationId
+ * @param[in]   param1      parameter 1
+ * @param[in]      :             :
+ * @param[in]   param6      parameter 6
+ * @return      number of managers
+ * @retval      > 0         number of managers
+ * @retval      0           manager not exist
+ */
+/*--------------------------------------------------------------------------*/
+static int
+ico_win_mgr_send_to_mgr(const int event, const int surfaceid, const char *appid,
+                        const int param1, const int param2, const int param3,
+                        const int param4, const int param5, const int param6)
+{
+    int     num_mgr = 0;
+    struct uifw_manager* mgr;
+
+    wl_list_for_each (mgr, &_ico_win_mgr->manager_list, link)   {
+        if (mgr->eventcb)   {
+            num_mgr ++;
+            switch(event)   {
+            case ICO_WINDOW_MGR_WINDOW_CREATED:
+                uifw_trace("ico_win_mgr_send_to_mgr: Send Manager(%08x) WINDOW_CREATED"
+                           "(surf=%08x,pid=%d,appid=%s)",
+                           (int)mgr->resource, surfaceid, param1, appid);
+                ico_window_mgr_send_window_created(mgr->resource, surfaceid, param1, appid);
+                break;
+
+            case ICO_WINDOW_MGR_WINDOW_VISIBLE:
+                uifw_trace("ico_win_mgr_send_to_mgr: Send Manager(%08x) VISIBLE"
+                           "(surf=%08x,vis=%d,raise=%d,hint=%d)",
+                           (int)mgr->resource, surfaceid, param1, param2, param3);
+                ico_window_mgr_send_window_visible(mgr->resource,
+                                                   surfaceid, param1, param2, param3);
+                break;
+
+            case ICO_WINDOW_MGR_WINDOW_CONFIGURE:
+                uifw_trace("ico_win_mgr_send_to_mgr: Send Manager(%08x) CONFIGURE"
+                           "(surf=%08x,app=%s,layer=%d,x/y=%d/%d,w/h=%d/%d,hint=%d)",
+                           (int)mgr->resource, surfaceid, appid,
+                           param1, param2, param3, param4, param5, param6);
+                ico_window_mgr_send_window_configure(mgr->resource, surfaceid, appid,
+                                                     param1, param2, param3, param4,
+                                                     param5, param6);
+                break;
+
+            case ICO_WINDOW_MGR_WINDOW_DESTROYED:
+                uifw_trace("ico_win_mgr_send_to_mgr: Send Manager(%08x) DESTROYED "
+                           "surf=%08x", (int)mgr->resource, surfaceid);
+                ico_window_mgr_send_window_destroyed(mgr->resource, surfaceid);
+                break;
+
+            case ICO_WINDOW_MGR_WINDOW_ACTIVE:
+                uifw_trace("ico_win_mgr_send_to_mgr: Send Manager(%08x) ACTIVE surf=%08x "
+                           "active=%d", (int)mgr->resource, surfaceid, param1);
+                ico_window_mgr_send_window_active(mgr->resource, surfaceid,
+                                                  (uint32_t)param1);
+                break;
+
+            default:
+                break;
+            }
+        }
+    }
+    return num_mgr;
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   ico_win_mgr_hook_set_user: set hook function for set user
+ *
+ * @param[in]   hook_set_user   hook function
+ * @return      none
+ */
+/*--------------------------------------------------------------------------*/
+WL_EXPORT void
+ico_win_mgr_hook_set_user(void (*hook_set_user)(struct wl_client *client,
+                                                const char *appid))
+{
+    uifw_trace("ico_win_mgr_hook_set_user: Hook %08x", (int)hook_set_user);
+    win_mgr_hook_set_user = hook_set_user;
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   ico_win_mgr_hook_create: set hook function for create surface
+ *
+ * @param[in]   hook_create     hook function
+ * @return      none
+ */
+/*--------------------------------------------------------------------------*/
+WL_EXPORT void
+ico_win_mgr_hook_create(void (*hook_create)(struct wl_client *client,
+                                            struct weston_surface *surface,
+                                            int surfaceId, const char *appid))
+{
+    uifw_trace("ico_win_mgr_hook_create: Hook %08x", (int)hook_create);
+    win_mgr_hook_create = hook_create;
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   ico_win_mgr_hook_destroy: set hook function for destroy surface
+ *
+ * @param[in]   hook_destroy        hook function
+ * @return      none
+ */
+/*--------------------------------------------------------------------------*/
+WL_EXPORT void
+ico_win_mgr_hook_destroy(void (*hook_destroy)(struct weston_surface *surface))
+{
+    uifw_trace("ico_win_mgr_hook_destroy: Hook %08x", (int)hook_destroy);
+    win_mgr_hook_destroy = hook_destroy;
+}
+
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   module_init: initialize ico_window_mgr
+ *                       this function called from ico_pluign_loader
+ *
+ * @param[in]   es          weston compositor
+ * @return      result
+ * @retval      0           sccess
+ * @retval      -1          error
+ */
+/*--------------------------------------------------------------------------*/
+WL_EXPORT int
+module_init(struct weston_compositor *ec)
+{
+    int     nodeId;
+
+    uifw_info("ico_window_mgr: Enter(module_init)");
+
+    _ico_win_mgr = (struct ico_win_mgr *)malloc(sizeof(struct ico_win_mgr));
+    if (_ico_win_mgr == NULL)   {
+        uifw_error("ico_window_mgr: malloc failed");
+        return -1;
+    }
+
+    memset(_ico_win_mgr, 0, sizeof(struct ico_win_mgr));
+    _ico_win_mgr->surfaceid_map = (uint16_t *) malloc(INIT_SURFACE_IDS/8);
+    if (! _ico_win_mgr->surfaceid_map)  {
+        uifw_error("ico_window_mgr: malloc failed");
+        return -1;
+    }
+    uifw_trace("ico_window_mgr: sh=%08x", (int)_ico_win_mgr);
+    memset(_ico_win_mgr->surfaceid_map, 0, INIT_SURFACE_IDS/8);
+
+    _ico_win_mgr->compositor = ec;
+
+    _ico_win_mgr->surfaceid_max = INIT_SURFACE_IDS;
+    _ico_win_mgr->surfaceid_count = INIT_SURFACE_IDS;
+
+    uifw_trace("ico_window_mgr: wl_display_add_global(bind_ico_win_mgr)");
+    if (wl_display_add_global(ec->wl_display, &ico_window_mgr_interface,
+                              _ico_win_mgr, bind_ico_win_mgr) == NULL)  {
+        uifw_error("ico_window_mgr: Error(wl_display_add_global)");
+        return -1;
+    }
+
+    wl_list_init(&_ico_win_mgr->surface_list);
+    wl_list_init(&_ico_win_mgr->client_list);
+    wl_list_init(&_ico_win_mgr->manager_list);
+
+    nodeId = ico_ivi_get_mynode();
+    _ico_win_mgr->surface_head = ICO_IVI_SURFACEID_BASE(nodeId);
+    uifw_trace("ico_window_mgr: NoedId=%08x SurfaceIdBase=%08x",
+                nodeId, _ico_win_mgr->surface_head);
+
+    /* Regist usurf_2_node to ivi_common plugin     */
+    ico_ivi_set_usurf_2_node(ico_winmgr_usurf_2_node);
+
+    /* Regist send_to_mgr to ivi_common plugin      */
+    ico_ivi_set_send_to_mgr(ico_win_mgr_send_to_mgr);
+    ico_ivi_set_send_surface_change(win_mgr_surface_change_mgr);
+
+    /* Hook to IVI-Shell                            */
+    ivi_shell_hook_bind(bind_shell_client);
+    ivi_shell_hook_unbind(unbind_shell_client);
+    ivi_shell_hook_create(client_register_surface);
+    ivi_shell_hook_destroy(win_mgr_surface_destroy);
+    ivi_shell_hook_map(win_mgr_map_surface);
+    ivi_shell_hook_change(win_mgr_surface_change);
+    ivi_shell_hook_select(win_mgr_surface_select);
+
+    uifw_info("ico_window_mgr: Leave(module_init)");
+
+    return 0;
+}
+
diff --git a/src/ico_window_mgr.h b/src/ico_window_mgr.h
new file mode 100644 (file)
index 0000000..d195219
--- /dev/null
@@ -0,0 +1,38 @@
+/*
+ * Copyright Â© 2010-2011 Intel Corporation
+ * Copyright Â© 2008-2011 Kristian Høgsberg
+ * Copyright Â© 2013 TOYOTA MOTOR CORPORATION.
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and
+ * its documentation for any purpose is hereby granted without fee, provided
+ * that the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation, and that the name of the copyright holders not be used in
+ * advertising or publicity pertaining to distribution of the software
+ * without specific, written prior permission.  The copyright holders make
+ * no representations about the suitability of this software for any
+ * purpose.  It is provided "as is" without express or implied warranty.
+ *
+ * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
+ * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
+ * FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
+ * SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
+ * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
+ * CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
+ * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+/**
+ * @brief   Public functions in ico_window_mgr Weston plugin
+ *
+ * @date    Feb-08-2013
+ */
+
+#ifndef _ICO_WINDOW_MGR_H_
+#define _ICO_WINDOW_MGR_H_
+
+struct shell_surface;
+
+/* Prototype for function               */
+char *ico_window_mgr_appid(struct wl_client* client);
+
+#endif  /*_ICO_WINDOW_MGR_H_*/
diff --git a/src/matrix.h b/src/matrix.h
new file mode 100644 (file)
index 0000000..45d346f
--- /dev/null
@@ -0,0 +1,64 @@
+/*
+ * Copyright Â© 2008-2011 Kristian Høgsberg
+ * Copyright Â© 2012 Collabora, Ltd.
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and
+ * its documentation for any purpose is hereby granted without fee, provided
+ * that the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation, and that the name of the copyright holders not be used in
+ * advertising or publicity pertaining to distribution of the software
+ * without specific, written prior permission.  The copyright holders make
+ * no representations about the suitability of this software for any
+ * purpose.  It is provided "as is" without express or implied warranty.
+ *
+ * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
+ * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
+ * FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
+ * SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
+ * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
+ * CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
+ * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+
+#ifndef WESTON_MATRIX_H
+#define WESTON_MATRIX_H
+
+struct weston_matrix {
+    float d[16];
+};
+
+struct weston_vector {
+    float f[4];
+};
+
+void
+weston_matrix_init(struct weston_matrix *matrix);
+void
+weston_matrix_multiply(struct weston_matrix *m, const struct weston_matrix *n);
+void
+weston_matrix_scale(struct weston_matrix *matrix, float x, float y, float z);
+void
+weston_matrix_translate(struct weston_matrix *matrix,
+            float x, float y, float z);
+void
+weston_matrix_transform(struct weston_matrix *matrix, struct weston_vector *v);
+
+int
+weston_matrix_invert(struct weston_matrix *inverse,
+             const struct weston_matrix *matrix);
+
+#ifdef UNIT_TEST
+#  define MATRIX_TEST_EXPORT WL_EXPORT
+
+int
+matrix_invert(double *A, unsigned *p, const struct weston_matrix *matrix);
+
+void
+inverse_transform(const double *LU, const unsigned *p, float *v);
+
+#else
+#  define MATRIX_TEST_EXPORT static
+#endif
+
+#endif /* WESTON_MATRIX_H */
diff --git a/tests/Makefile.am b/tests/Makefile.am
new file mode 100644 (file)
index 0000000..5b664ea
--- /dev/null
@@ -0,0 +1,38 @@
+TESTS_ENVIRONMENT = $(SHELL) $(top_srcdir)/tests/weston-plugin-test
+
+export abs_builddir
+
+EFL_INCLUDE = `pkg-config --cflags ecore-evas ecore evas ecore-wayland elementary`
+AM_CFLAGS = $(GCC_CFLAGS) $(EFL_INCLUDE)
+AM_CPPFLAGS = -I$(top_srcdir)/src -DUNIT_TEST $(COMPOSITOR_CFLAGS)
+
+noinst_PROGRAMS =              \
+       test-send_event         \
+       test-homescreen         \
+       test-client                     \
+       test-eflapp
+
+check_LTLIBRARIES = $(TESTS)
+check_PROGRAMS = test-homescreen test-client test-eflapp test-send_event
+
+AM_LDFLAGS = -module -avoid-version -rpath $(libdir) -lwayland-egl -lEGL -lGLESv2
+
+test_common_src = test-common.c test-common.h
+test_protocol_lib = ../src/.libs/libico-uxf-weston-plugin.so
+test_efl_libs = -lecore_evas -lecore -levas -lecore_wayland -lelementary
+test_wayland_client = -lwayland-client
+
+test_send_event_SOURCES = test-send_event.c $(test_common_src)
+test_send_event_LDADD = $(SIMPLE_CLIENT_LIBS) $(test_wayland_client)
+
+test_homescreen_SOURCES = test-homescreen.c $(test_common_src)
+test_homescreen_LDADD = $(SIMPLE_CLIENT_LIBS) $(test_protocol_lib) $(test_wayland_client)
+
+test_client_SOURCES = test-client.c $(test_common_src)
+test_client_LDADD = $(SIMPLE_CLIENT_LIBS) $(test_protocol_lib) $(test_wayland_client)
+
+test_eflapp_SOURCES = test-eflapp.c
+test_eflapp_LDADD = $(SIMPLE_CLIENT_LIBS) $(test_efl_libs)
+
+EXTRA_DIST = weston-plugin-test
+
diff --git a/tests/test-client.c b/tests/test-client.c
new file mode 100644 (file)
index 0000000..28fd1a2
--- /dev/null
@@ -0,0 +1,641 @@
+/*
+ * Copyright Â© 2012 Intel Corporation
+ * Copyright Â© 2013 TOYOTA MOTOR CORPORATION
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that copyright
+ * notice and this permission notice appear in supporting documentation, and
+ * that the name of the copyright holders not be used in advertising or
+ * publicity pertaining to distribution of the software without specific,
+ * written prior permission.  The copyright holders make no representations
+ * about the suitability of this software for any purpose.  It is provided "as
+ * is" without express or implied warranty.
+ *
+ * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ * EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
+ * OF THIS SOFTWARE.
+ */
+/**
+ * @brief   Wayland Application for uint test of Weston(Wayland) IVI plugins
+ *
+ * @date    Feb-08-2013
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+#include <assert.h>
+#include <poll.h>
+#include <wayland-client.h>
+#include <linux/input.h>
+#include "ico_ivi_shell-client-protocol.h"
+#include "ico_window_mgr-client-protocol.h"
+#include "ico_input_mgr-client-protocol.h"
+#include "test-common.h"
+
+#define MAX_CON_NAME    127
+
+struct display {
+    struct wl_display *display;
+    struct wl_registry *registry;
+    struct wl_compositor *compositor;
+    struct wl_shell *shell;
+    struct ico_ivi_shell *ico_ivi_shell;
+    struct ico_window_mgr *ico_window_mgr;
+    struct ico_exinput *ico_exinput;
+    struct input *input;
+    struct output *output;
+    struct surface *surface;
+    int    init_color;
+    int    init_width;
+    int    init_height;
+    int    prompt;
+    char   connect[MAX_CON_NAME+1];
+};
+
+struct input {
+    struct display *display;
+    struct wl_seat *seat;
+    struct wl_pointer *pointer;
+    struct wl_keyboard *keyboard;
+    float x, y;
+    uint32_t button_mask;
+    struct surface *pointer_focus;
+    struct surface *keyboard_focus;
+    uint32_t last_key, last_key_state;
+};
+
+struct output {
+    struct display *display;
+    struct wl_output *output;
+    int x, y;
+    int width, height;
+};
+
+struct surface {
+    struct display *display;
+    struct wl_surface *surface;
+    struct wl_shell_surface *shell_surface;
+    struct output *output;
+    EGLDisplay  dpy;
+    EGLConfig   conf;
+    EGLContext  ctx;
+    EGLSurface  egl_surface;
+};
+
+static void clear_surface(struct display *display);
+
+static void
+pointer_handle_enter(void *data, struct wl_pointer *pointer,
+                     uint32_t serial, struct wl_surface *surface,
+                     wl_fixed_t x, wl_fixed_t y)
+{
+    struct input *input = data;
+
+    input->pointer_focus = wl_surface_get_user_data(surface);
+    input->x = wl_fixed_to_double(x);
+    input->y = wl_fixed_to_double(y);
+    print_log("CLIENT: got pointer enter (%d,%d), surface %p",
+              (int)input->x, (int)input->y, surface);
+}
+
+static void
+pointer_handle_leave(void *data, struct wl_pointer *pointer,
+                     uint32_t serial, struct wl_surface *surface)
+{
+    struct input *input = data;
+
+    input->pointer_focus = NULL;
+
+    print_log("CLIENT: got pointer leave, surface %p", surface);
+}
+
+static void
+pointer_handle_motion(void *data, struct wl_pointer *pointer,
+                      uint32_t time, wl_fixed_t x, wl_fixed_t y)
+{
+    struct input *input = data;
+
+    input->x = wl_fixed_to_double(x);
+    input->y = wl_fixed_to_double(y);
+
+    print_log("CLIENT: got pointer motion (%d,%d)", (int)input->x, (int)input->y);
+}
+
+static void
+pointer_handle_button(void *data, struct wl_pointer *pointer,
+                      uint32_t serial, uint32_t time, uint32_t button, uint32_t state_w)
+{
+    struct input *input = data;
+    uint32_t bit;
+    enum wl_pointer_button_state state = state_w;
+
+    bit = 1 << (button - BTN_LEFT);
+    if (state == WL_POINTER_BUTTON_STATE_PRESSED)
+        input->button_mask |= bit;
+    else
+        input->button_mask &= ~bit;
+    print_log("CLIENT: got pointer button %u %u", button, state_w);
+}
+
+static void
+pointer_handle_axis(void *data, struct wl_pointer *pointer,
+                    uint32_t time, uint32_t axis, wl_fixed_t value)
+{
+    fprintf(stderr, "CLIENT: got pointer axis %u %d\n", axis, value);
+}
+
+static void
+keyboard_handle_keymap(void *data, struct wl_keyboard *keyboard,
+                       uint32_t format, int fd, uint32_t size)
+{
+    close(fd);
+    print_log("CLIENT: got keyboard keymap");
+}
+
+static void
+keyboard_handle_enter(void *data, struct wl_keyboard *keyboard,
+                      uint32_t serial, struct wl_surface *surface, struct wl_array *keys)
+{
+    struct input *input = data;
+
+    input->keyboard_focus = wl_surface_get_user_data(surface);
+    print_log("CLIENT: got keyboard enter, surface %p", surface);
+}
+
+static void
+keyboard_handle_leave(void *data, struct wl_keyboard *keyboard,
+                      uint32_t serial, struct wl_surface *surface)
+{
+    struct input *input = data;
+
+    input->keyboard_focus = NULL;
+    print_log("CLIENT: got keyboard leave, surface %p", surface);
+}
+
+static void
+keyboard_handle_key(void *data, struct wl_keyboard *keyboard,
+                    uint32_t serial, uint32_t time, uint32_t key, uint32_t state)
+{
+    struct input *input = data;
+
+    input->last_key = key;
+    input->last_key_state = state;
+
+    print_log("CLIENT: got keyboard key %u %u", key, state);
+}
+
+static void
+keyboard_handle_modifiers(void *data, struct wl_keyboard *keyboard,
+                          uint32_t serial, uint32_t mods_depressed,
+                          uint32_t mods_latched, uint32_t mods_locked, uint32_t group)
+{
+    print_log("CLIENT: got keyboard modifier");
+}
+
+static const struct wl_pointer_listener pointer_listener = {
+    pointer_handle_enter,
+    pointer_handle_leave,
+    pointer_handle_motion,
+    pointer_handle_button,
+    pointer_handle_axis,
+};
+
+static const struct wl_keyboard_listener keyboard_listener = {
+    keyboard_handle_keymap,
+    keyboard_handle_enter,
+    keyboard_handle_leave,
+    keyboard_handle_key,
+    keyboard_handle_modifiers,
+};
+
+static void
+seat_handle_capabilities(void *data, struct wl_seat *seat,
+                         enum wl_seat_capability caps)
+{
+    struct input *input = data;
+
+    if ((caps & WL_SEAT_CAPABILITY_POINTER) && !input->pointer) {
+        input->pointer = wl_seat_get_pointer(seat);
+        wl_pointer_set_user_data(input->pointer, input);
+        wl_pointer_add_listener(input->pointer, &pointer_listener, input);
+    }
+    else if (!(caps & WL_SEAT_CAPABILITY_POINTER) && input->pointer) {
+        wl_pointer_destroy(input->pointer);
+        input->pointer = NULL;
+    }
+
+    if ((caps & WL_SEAT_CAPABILITY_KEYBOARD) && !input->keyboard) {
+        input->keyboard = wl_seat_get_keyboard(seat);
+        wl_keyboard_set_user_data(input->keyboard, input);
+        wl_keyboard_add_listener(input->keyboard, &keyboard_listener, input);
+    }
+    else if (!(caps & WL_SEAT_CAPABILITY_KEYBOARD) && input->keyboard) {
+        wl_keyboard_destroy(input->keyboard);
+        input->keyboard = NULL;
+    }
+}
+
+static const struct wl_seat_listener seat_listener = {
+    seat_handle_capabilities,
+};
+
+static void
+output_handle_geometry(void *data, struct wl_output *wl_output, int x, int y,
+                       int physical_width, int physical_height, int subpixel,
+                       const char *make, const char *model, int32_t transform)
+{
+    struct output *output = data;
+
+    print_log("CLIENT: Event[handle_geometry] x/y=%d/%d p.w/h=%d/%d trans=%d",
+              x, y, physical_width, physical_height, transform);
+
+    output->x = x;
+    output->y = y;
+}
+
+static void
+output_handle_mode(void *data, struct wl_output *wl_output, uint32_t flags,
+                   int width, int height, int refresh)
+{
+    struct output *output = data;
+
+    print_log("CLIENT: Event[handle_mode] x/y=%d/%d flags=%08x refresh=%d",
+              width, height, flags, refresh);
+
+    if (flags & WL_OUTPUT_MODE_CURRENT) {
+        output->width = width;
+        output->height = height;
+    }
+}
+
+static const struct wl_output_listener output_listener = {
+    output_handle_geometry,
+    output_handle_mode
+};
+
+static void
+cb_input_capabilities(void *data, struct ico_exinput *ico_exinput,
+                      const char *device, int32_t type, const char *swname, int32_t input,
+                      const char *codename, int32_t code)
+{
+    print_log("CLIENT: Event[input_capabilities] device=%s type=%d sw=%s input=%d "
+              "code=%s[%d]", device, type, swname, input, codename, code);
+}
+
+static void
+cb_input_code(void *data, struct ico_exinput *ico_exinput,
+              const char *device, int32_t input, const char *codename, int32_t code)
+{
+    print_log("CLIENT: Event[input_code] device=%s input=%d code=%s[%d]",
+              device, input, codename, code);
+}
+
+static void
+cb_input_input(void *data, struct ico_exinput *ico_exinput, uint32_t time,
+               const char *device, int32_t input, int32_t code, int32_t state)
+{
+    print_log("CLIENT: Event[input_input] device=%s input=%d code=%d state=%d",
+              device, input, code, state);
+}
+
+static const struct ico_exinput_listener exinput_listener = {
+    cb_input_capabilities,
+    cb_input_code,
+    cb_input_input
+};
+
+static void
+shell_surface_ping(void *data, struct wl_shell_surface *wl_shell_surface, uint32_t serial)
+{
+    print_log("CLIENT: shell_surface_ping: surface=%08x serial=%d",
+              (int)wl_shell_surface, serial);
+}
+
+static void
+shell_surface_configure(void *data, struct wl_shell_surface *wl_shell_surface,
+                        uint32_t edges, int32_t width, int32_t height)
+{
+    print_log("CLIENT: shell_surface_configure: surface=%08x edg=%x, width=%d height=%d",
+              (int)wl_shell_surface, edges, width, height);
+}
+
+static void
+shell_surface_popup_done(void *data, struct wl_shell_surface *wl_shell_surface)
+{
+    print_log("CLIENT: shell_surface_popup_done: surface=%08x", (int)wl_shell_surface);
+}
+
+static const struct wl_shell_surface_listener shell_surface_listener = {
+    shell_surface_ping,
+    shell_surface_configure,
+    shell_surface_popup_done
+};
+
+static void
+handle_global(void *data, struct wl_registry *registry, uint32_t id,
+              const char *interface, uint32_t version)
+{
+    struct display *display = data;
+    struct input *input;
+    struct output *output;
+
+    print_log("CLIENT: handle_global: interface=<%s> id=%d", interface, (int)id);
+
+    if (strcmp(interface, "wl_compositor") == 0) {
+        display->compositor = wl_registry_bind(display->registry, id,
+                                               &wl_compositor_interface, 1);
+    }
+    else if (strcmp(interface, "wl_seat") == 0) {
+        input = calloc(1, sizeof *input);
+        input->display = display;
+        input->seat = wl_registry_bind(display->registry, id, &wl_seat_interface, 1);
+        input->pointer_focus = NULL;
+        input->keyboard_focus = NULL;
+
+        wl_seat_add_listener(input->seat, &seat_listener, input);
+        display->input = input;
+    }
+    else if (strcmp(interface, "wl_output") == 0) {
+        output = malloc(sizeof *output);
+        output->display = display;
+        output->output = wl_registry_bind(display->registry, id, &wl_output_interface, 1);
+        wl_output_add_listener(output->output,
+                       &output_listener, output);
+        display->output = output;
+
+        print_log("CLIENT: created output global %p", display->output);
+    }
+    else if (strcmp(interface, "wl_shell") == 0)    {
+        display->shell = wl_registry_bind(display->registry, id, &wl_shell_interface, 1);
+    }
+    else if (strcmp(interface, "ico_ivi_shell") == 0)   {
+        display->ico_ivi_shell =
+            wl_registry_bind(display->registry, id, &ico_ivi_shell_interface, 1);
+    }
+    else if (strcmp(interface, "ico_window_mgr") == 0)  {
+        display->ico_window_mgr = wl_registry_bind(display->registry, id,
+                                                   &ico_window_mgr_interface, 1);
+        print_log("CLIENT: created window_mgr global %p", display->ico_window_mgr);
+    }
+    else if (strcmp(interface, "ico_exinput") == 0)   {
+        display->ico_exinput = wl_registry_bind(display->registry, id,
+                                                &ico_exinput_interface, 1);
+        ico_exinput_add_listener(display->ico_exinput, &exinput_listener, display);
+        print_log("CLIENT: created exinput global %p", display->ico_exinput);
+    }
+}
+
+static const struct wl_registry_listener registry_listener = {
+    handle_global
+};
+
+static void
+surface_enter(void *data, struct wl_surface *wl_surface, struct wl_output *output)
+{
+    struct surface *surface = data;
+
+    surface->output = wl_output_get_user_data(output);
+
+    print_log("CLIENT: got surface enter, output %p", surface->output);
+}
+
+static void
+surface_leave(void *data, struct wl_surface *wl_surface, struct wl_output *output)
+{
+    struct surface *surface = data;
+
+    surface->output = NULL;
+
+    print_log("CLIENT: got surface leave, output %p", wl_output_get_user_data(output));
+}
+
+static const struct wl_surface_listener surface_listener = {
+    surface_enter,
+    surface_leave
+};
+
+static void
+send_keyboard_state(struct display *display)
+{
+    int focus = display->input->keyboard_focus != NULL;
+
+    if (focus) {
+        assert(display->input->keyboard_focus == display->surface);
+    }
+
+    wl_display_flush(display->display);
+
+    print_log("CLIENT: keyboard_state %u %u %d",
+              display->input->last_key, display->input->last_key_state, focus);
+
+    wl_display_roundtrip(display->display);
+}
+
+static void
+send_button_state(struct display *display)
+{
+    wl_display_roundtrip(display->display);
+
+    print_log("CLIENT: button_state %u", display->input->button_mask);
+
+    wl_display_roundtrip(display->display);
+}
+
+static void
+send_state(struct display* display)
+{
+    int visible = display->surface->output != NULL;
+    wl_fixed_t x = wl_fixed_from_int(-1);
+    wl_fixed_t y = wl_fixed_from_int(-1);
+
+    if (display->input->pointer_focus != NULL) {
+        assert(display->input->pointer_focus == display->surface);
+        x = wl_fixed_from_double(display->input->x);
+        y = wl_fixed_from_double(display->input->y);
+    }
+
+    if (visible) {
+        /* FIXME: this fails on multi-display setup */
+        /* assert(display->surface->output == display->output); */
+    }
+
+    wl_display_flush(display->display);
+
+    print_log("CLIENT: state %d %d %d", x, y, visible);
+
+    wl_display_roundtrip(display->display);
+}
+
+static void
+create_surface(struct display *display)
+{
+    struct surface *surface;
+
+    surface = malloc(sizeof *surface);
+    assert(surface);
+    surface->display = display;
+    display->surface = surface;
+    surface->surface = wl_compositor_create_surface(display->compositor);
+    wl_surface_add_listener(surface->surface, &surface_listener, surface);
+
+    if (display->shell) {
+        surface->shell_surface =
+            wl_shell_get_shell_surface(display->shell, surface->surface);
+        if (surface->shell_surface) {
+            wl_shell_surface_add_listener(surface->shell_surface,
+                                          &shell_surface_listener, display);
+            wl_shell_surface_set_toplevel(surface->shell_surface);
+        }
+    }
+    wl_display_flush(display->display);
+
+    print_log("CLIENT: create surface %d shell=%08x",
+              wl_proxy_get_id((struct wl_proxy *) surface->surface),
+              (int)surface->shell_surface);
+
+    poll(NULL, 0, 100); /* Wait for next frame where we'll get events. */
+
+    wl_display_roundtrip(display->display);
+
+    surface->dpy = opengl_init(display->display, &surface->conf, &surface->ctx);
+    if (surface->dpy)   {
+        surface->egl_surface = opengl_create_window(display->display, surface->surface,
+                                                    surface->dpy, surface->conf,
+                                                    surface->ctx, display->init_width,
+                                                    display->init_height,
+                                                    display->init_color);
+        clear_surface(display);
+        print_log("CLIENT: created egl_surface %08x", (int)surface->egl_surface);
+    }
+}
+
+static void
+clear_surface(struct display *display)
+{
+    if (! display->surface) {
+        create_surface(display);
+    }
+    else    {
+        opengl_clear_window(display->init_color);
+        opengl_swap_buffer(display->display,
+                           display->surface->dpy, display->surface->egl_surface);
+    }
+}
+
+int main(int argc, char *argv[])
+{
+    struct display *display;
+    char buf[256];
+    int ret, fd;
+    int msec;
+    int postsec = 0;
+
+    display = malloc(sizeof *display);
+    assert(display);
+    memset((char *)display, 0, sizeof *display);
+
+    display->init_width = 640;
+    display->init_height = 480;
+    display->init_color = 0xA0A08020;
+    for (fd = 1; fd < argc; fd++ )  {
+        if (argv[fd][0] == '-') {
+            if (strncasecmp(argv[fd], "-color=", 7) == 0)   {
+                display->init_color = strtoul(&argv[fd][7], (char **)0, 0);
+            }
+            else if (strncasecmp(argv[fd], "-width=", 7) == 0)  {
+                display->init_width = strtol(&argv[fd][7], (char **)0, 0);
+            }
+            else if (strncasecmp(argv[fd], "-height=", 8) == 0) {
+                display->init_height = strtol(&argv[fd][8], (char **)0, 0);
+            }
+            else if (strncasecmp(argv[fd], "-display=", 9) == 0)   {
+                strncpy(display->connect, &argv[fd][9], MAX_CON_NAME);
+            }
+            else if (strncasecmp(argv[fd], "-postsleep=", 11) == 0)   {
+                postsec = sec_str_2_value(&argv[fd][11]);
+            }
+            else if (strncasecmp(argv[fd], "-prompt=", 8) == 0)  {
+                if (argv[fd][8] == 0)   {
+                    display->prompt = argv[fd][8] & 1;
+                }
+                else    {
+                    display->prompt = 1;
+                }
+            }
+        }
+    }
+
+    if (display->connect[0])    {
+        display->display = wl_display_connect(display->connect);
+    }
+    else    {
+        display->display = wl_display_connect(NULL);
+    }
+    assert(display->display);
+
+    display->registry = wl_display_get_registry(display->display);
+    wl_registry_add_listener(display->registry,
+                 &registry_listener, display);
+    wl_display_dispatch(display->display);
+
+    fd = 0;
+
+    while (1) {
+        sleep_with_wayland(display->display, 20);
+        if (display->prompt)    {
+            printf("CLIENT: "); fflush(stdout);
+        }
+        ret = getdata(display->ico_window_mgr, "CLIENT: ", fd, buf, sizeof(buf));
+        if (ret < 0) {
+            fprintf(stderr, "CLIENT: read error: fd %d, %m\n",
+                fd);
+            break;
+        }
+        if (ret == 0)   continue;
+        wl_display_flush(display->display);
+
+        if ((strncasecmp(buf, "bye", 3) == 0) ||
+            (strncasecmp(buf, "quit", 4) == 0) ||
+            (strncasecmp(buf, "end", 3) == 0))  {
+            /* Exit, end of test            */
+            break;
+        }
+        else if (strncasecmp(buf, "create-surface", ret) == 0) {
+            create_surface(display);
+        }
+        else if (strncasecmp(buf, "clear-surface", 13) == 0) {
+            display->init_color = strtoul(&buf[14], (char **)0, 0);
+            clear_surface(display);
+        }
+        else if (strncasecmp(buf, "send-state", ret) == 0) {
+            send_state(display);
+        }
+        else if (strncasecmp(buf, "send-button-state", ret) == 0) {
+            send_button_state(display);
+        }
+        else if (strncasecmp(buf, "send-keyboard-state", ret) == 0) {
+            send_keyboard_state(display);
+        }
+        else if (strncasecmp(buf, "sleep", 5) == 0) {
+            msec = sec_str_2_value(&buf[6]);
+            sleep_with_wayland(display->display, msec);
+        }
+        else {
+            print_log("CLIENT: unknown command[%s]", buf);
+            return(-1);
+        }
+    }
+    if (postsec > 0)    {
+        sleep_with_wayland(display->display, postsec);
+    }
+
+    exit(0);
+}
+
diff --git a/tests/test-common.c b/tests/test-common.c
new file mode 100644 (file)
index 0000000..b1a18b7
--- /dev/null
@@ -0,0 +1,423 @@
+/*
+ * Copyright Â© 2013 TOYOTA MOTOR CORPORATION
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that copyright
+ * notice and this permission notice appear in supporting documentation, and
+ * that the name of the copyright holders not be used in advertising or
+ * publicity pertaining to distribution of the software without specific,
+ * written prior permission.  The copyright holders make no representations
+ * about the suitability of this software for any purpose.  It is provided "as
+ * is" without express or implied warranty.
+ *
+ * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ * EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
+ * OF THIS SOFTWARE.
+ */
+/**
+ * @brief   Uint test common routines
+ *
+ * @date    Feb-08-2013
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+#include <sys/ioctl.h>
+#include <sys/time.h>
+#include <sys/types.h>
+#include <time.h>
+#include <errno.h>
+#include <wayland-client.h>
+#include "ico_window_mgr-client-protocol.h"
+#include "test-common.h"
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   getdata: Input data string
+ *
+ * @param[in]   window_mgr  ico_window_mgr, if Null, output to stderr
+ * @param[in]   prompt      Echoback printout header
+ * @param[in]   fd          Input file discriptor
+ * @param[in]   buf         Input buffer
+ * @param[in]   size        Buffer size
+ * @return      Number of input characters
+ * @retval      >= 0        Number of input characters
+ * @retval      < 0         Input error
+ */
+/*--------------------------------------------------------------------------*/
+int
+getdata(void *window_mgr, const char *prompt, int fd, char *buf, const int size)
+{
+    int     ret;
+    int     i, j;
+
+    j = -1;
+    for (i = 0; i < (size-1); i++)  {
+        ret = read(fd, &buf[i], 1);
+
+        if (ret < 0)    {
+            return(ret);
+        }
+
+        if ((buf[i] == '\n') || (buf[i] == '\r'))   break;
+        if (buf[i] == '\t') {
+            buf[i] = ' ';
+        }
+        if ((buf[i] == '#') && (j < 0)) {
+            j = i;
+        }
+    }
+    buf[i] = 0;
+    print_log("%s%s", prompt, buf);
+
+    /* Delete trailing spaces       */
+    if (j >= 0) {
+        for (; j > 0; j--)  {
+            if (buf[j-1] != ' ')    break;
+        }
+        buf[j] = 0;
+        i = j;
+    }
+
+    /* Delete header spaces         */
+    for (j = 0; buf[j]; j++)    {
+        if (buf[j] != ' ')  break;
+    }
+    if (j > 0)  {
+        strcpy( buf, &buf[j] );
+        i -= j;
+    }
+    return(i);
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   print_log: Weston log output
+ *
+ * @param[in]   fmt         printf format
+ * @param[in]   ...         printf arguments
+ * @return      None
+ */
+/*--------------------------------------------------------------------------*/
+void
+print_log(const char *fmt, ...)
+{
+    va_list     ap;
+    char        log[128];
+    struct timeval  NowTime;
+    extern long timezone;
+    static int  sTimeZone = (99*60*60);
+
+    va_start(ap, fmt);
+    vsnprintf(log, sizeof(log)-2, fmt, ap);
+    va_end(ap);
+
+    gettimeofday( &NowTime, (struct timezone *)0 );
+    if( sTimeZone > (24*60*60) )    {
+        tzset();
+        sTimeZone = timezone;
+    }
+    NowTime.tv_sec -= sTimeZone;
+    fprintf(stderr, "[%02d:%02d:%02d.%03d@%d] %s\n", (int)((NowTime.tv_sec/3600) % 24),
+            (int)((NowTime.tv_sec/60) % 60), (int)(NowTime.tv_sec % 60),
+            (int)NowTime.tv_usec/1000, getpid(), log);
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   wayland_dispatch_nonblock: Read from wayland if receive data exist
+ *
+ * @param[in]   display     Wayland connection
+ * @return      None
+ */
+/*--------------------------------------------------------------------------*/
+void
+wayland_dispatch_nonblock(struct wl_display *display)
+{
+    int     nread;
+
+    /* Check wayland input      */
+    do  {
+        /* Flush send data          */
+        wl_display_flush(display);
+
+        nread = 0;
+        if (ioctl(wl_display_get_fd(display), FIONREAD, &nread) < 0)    {
+            nread = 0;
+        }
+        if (nread >= 8) {
+            /* Read event from wayland  */
+            wl_display_dispatch(display);
+        }
+    } while (nread > 0);
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   sleep_with_wayland: Sleep and receive wayland event
+ *
+ * @param[in]   display     Wayland connection
+ * @param[in]   msec        Sleep time (miri-sec)
+ * @return      None
+ */
+/*--------------------------------------------------------------------------*/
+void
+sleep_with_wayland(struct wl_display *display, int msec)
+{
+    int     nread;
+    int     fd;
+
+
+    fd = wl_display_get_fd(display);
+
+    do  {
+        /* Flush send data          */
+        wl_display_flush(display);
+
+        /* Check wayland input      */
+        nread = 0;
+        if (ioctl(fd, FIONREAD, &nread) < 0)    {
+            nread = 0;
+        }
+        if (nread >= 8) {
+            /* Read event from wayland  */
+            wl_display_dispatch(display);
+        }
+        msec -= 20;
+        if (msec >= 0)   usleep(20*1000);
+    } while (msec > 0);
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   wait_with_wayland: Wait for end and receive wayland event
+ *
+ * @param[in]   display     Wayland connection
+ * @param[in]   msec        Maximum wait time (miri-sec)
+ * @param[in]   endflag     End flag address
+ * @return      None
+ */
+/*--------------------------------------------------------------------------*/
+void
+wait_with_wayland(struct wl_display *display, int msec, int *endflag)
+{
+    int     nread;
+    int     fd;
+
+    fd = wl_display_get_fd(display);
+
+    do  {
+        /* Flush send data          */
+        wl_display_flush(display);
+
+        /* Check wayland input      */
+        nread = 0;
+        if (ioctl(fd, FIONREAD, &nread) < 0)    {
+            nread = 0;
+        }
+        if (nread >= 8) {
+            /* Read event from wayland  */
+            wl_display_dispatch(display);
+        }
+        msec -= 20;
+        if (msec >= 0)   usleep(20*1000);
+    } while ((*endflag == 0) && (msec > 0));
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   sec_str_2_value: Convert seconds string to value
+ *
+ * @param[in]   ssec        Time ("sec.msec")
+ * @return      miri-second
+ */
+/*--------------------------------------------------------------------------*/
+int
+sec_str_2_value(const char *ssec)
+{
+    int     sec;
+    int     msec;
+    int     n;
+    char    *errp = NULL;
+
+    sec = strtol(ssec, &errp, 0) * 1000;
+    if ((errp != NULL) && (*errp == '.'))   {
+        msec = 0;
+        n = 0;
+        for (errp++; *errp; errp++) {
+            if ((*errp < '0') || (*errp > '9')) break;
+            msec = msec * 10 + *errp - '0';
+            n++;
+            if (n >= 3) break;
+        }
+        if (n == 1)     msec *= 100;
+        if (n == 2)     msec *= 10;
+        sec += msec;
+    }
+    return(sec);
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   opengl_init: Initialize OpenGL ESv2/EGL
+ *
+ * @param[in]   display     Wayland connection
+ * @param[out]  rconf       EGL configuration
+ * @param[out]  rctx        EGL context
+ * @return      EGL display
+ * @retval      != NULL     EGL display
+ * @retval      == NULL     OpenGL/EGL initialize error
+ */
+/*--------------------------------------------------------------------------*/
+EGLDisplay
+opengl_init(struct wl_display *display, EGLConfig *rconf, EGLContext *rctx)
+{
+    EGLDisplay  dpy;                    /* EGL dsplay id                    */
+    EGLint      major, minor;
+    EGLint      num_configs;
+    EGLConfig   conf = 0;
+    EGLContext  ctx;
+
+    static const EGLint config_attribs[] = {
+        EGL_SURFACE_TYPE, EGL_WINDOW_BIT,
+        EGL_RED_SIZE, 1,
+        EGL_GREEN_SIZE, 1,
+        EGL_BLUE_SIZE, 1,
+        EGL_ALPHA_SIZE, 1,
+        EGL_DEPTH_SIZE, 1,
+        EGL_RENDERABLE_TYPE, EGL_OPENGL_ES2_BIT,
+        EGL_NONE
+    };
+    static const EGLint context_attribs[] = {
+        EGL_CONTEXT_CLIENT_VERSION, 2, EGL_NONE
+    };
+
+    dpy = eglGetDisplay((EGLNativeDisplayType)display);
+    if (! dpy)  {
+        fprintf(stderr, "eglGetDisplay Error\n");
+        return NULL;
+    }
+
+    if (eglInitialize(dpy, &major, &minor) == EGL_FALSE)    {
+        fprintf(stderr, "eglInitialize Error\n");
+        return NULL;
+    }
+
+    if (eglBindAPI(EGL_OPENGL_ES_API) == EGL_FALSE) {
+        fprintf(stderr, "eglBindAPI Error\n");
+        return NULL;
+    }
+
+    if (eglChooseConfig(dpy, config_attribs, &conf, 1, &num_configs) == EGL_FALSE)  {
+        fprintf(stderr, "eglChooseConfig Error\n");
+        return NULL;
+    }
+
+    ctx = eglCreateContext(dpy, conf, EGL_NO_CONTEXT, context_attribs);
+    if (! ctx)  {
+        fprintf(stderr, "eglCreateContext Error\n");
+        return NULL;
+    }
+    *rconf = conf;
+    *rctx = ctx;
+
+    wayland_dispatch_nonblock(display);
+
+    return(dpy);
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   opengl_create_window: Create OpenGL/EGL window
+ *
+ * @param[in]   display     Wayland connection
+ * @param[in]   surface     Wayland surface
+ * @param[in]   dpy         EGL display
+ * @param[in]   conf        EGL configuration
+ * @param[in]   ctx         EGL context
+ * @param[in]   width       Widown width
+ * @param[in]   height      Window height
+ * @param[in]   color       Initiale color(A<<24|R<<16|G<<8|B)
+ * @return      EGL surface
+ * @retval      != NULL     EGL surface
+ * @retval      == NULL     Create window error
+ */
+/*--------------------------------------------------------------------------*/
+EGLSurface
+opengl_create_window(struct wl_display *display, struct wl_surface *surface,
+                     EGLDisplay dpy, EGLConfig conf, EGLContext ctx,
+                     const int width, const int height, const int color)
+{
+    struct wl_egl_window    *egl_window;
+    EGLSurface              egl_surface;
+
+    static const EGLint surface_attribs[] = {
+        EGL_ALPHA_FORMAT, EGL_ALPHA_FORMAT_PRE, EGL_NONE
+    };
+
+    egl_window = wl_egl_window_create(surface, width, height);
+    egl_surface = eglCreateWindowSurface(dpy, conf, (EGLNativeWindowType)egl_window,
+                                         surface_attribs);
+    eglMakeCurrent(dpy, egl_surface, egl_surface, ctx);
+    glViewport(0, 0, width, height);
+
+    wayland_dispatch_nonblock(display);
+
+    opengl_clear_window(color);
+
+    opengl_swap_buffer(display, dpy, egl_surface);
+
+    return(egl_surface);
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   opengl_clear_window: OpenGL window clear
+ *
+ * @param[in]   color       Initiale color(A<<24|R<<16|G<<8|B)
+ * @return      None
+ */
+/*--------------------------------------------------------------------------*/
+void
+opengl_clear_window(const unsigned int color)
+{
+    double                  r, g, b, a;
+
+    r = (double)((color>>16) & 0x0ff);
+    r = r / 256.0;
+    g = (double)((color>>8) & 0x0ff);
+    g = g / 256.0;
+    b = (double)(color & 0x0ff);
+    b = b / 256.0;
+    a = (double)((color>>24) & 0x0ff);
+    a = (a + 1.0) / 256.0;
+
+    glClearColor(r, g, b, a);
+    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT| GL_STENCIL_BUFFER_BIT);
+}
+
+/*--------------------------------------------------------------------------*/
+/**
+ * @brief   opengl_create_window: Create OpenGL/EGL window
+ *
+ * @param[in]   display     Wayland connection
+ * @param[in]   dpy         EGL display
+ * @param[in]   egl_surface EGL surface
+ * @return      None
+ */
+/*--------------------------------------------------------------------------*/
+void
+opengl_swap_buffer(struct wl_display *display, EGLDisplay dpy, EGLSurface egl_surface)
+{
+    eglSwapBuffers(dpy, egl_surface);
+
+    wayland_dispatch_nonblock(display);
+}
+
diff --git a/tests/test-common.h b/tests/test-common.h
new file mode 100644 (file)
index 0000000..549b8f8
--- /dev/null
@@ -0,0 +1,52 @@
+/*
+ * Copyright Â© 2013 TOYOTA MOTOR CORPORATION
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that copyright
+ * notice and this permission notice appear in supporting documentation, and
+ * that the name of the copyright holders not be used in advertising or
+ * publicity pertaining to distribution of the software without specific,
+ * written prior permission.  The copyright holders make no representations
+ * about the suitability of this software for any purpose.  It is provided "as
+ * is" without express or implied warranty.
+ *
+ * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ * EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
+ * OF THIS SOFTWARE.
+ */
+/**
+ * @brief   Header file for uint test common routines
+ *
+ * @date    Feb-08-2013
+ */
+
+#ifndef _TEST_COMMON_H_
+#define _TEST_COMMON_H_
+
+#include    <GLES2/gl2.h>               /* OpenGL ES 2.x                    */
+#include    <EGL/egl.h>                 /* EGL                              */
+#include    <wayland-client.h>          /* Wayland client library           */
+#include    <wayland-egl.h>             /* Wayland EGL library              */
+#include    <wayland-util.h>            /* Wayland Misc library             */
+
+/* Function prototype           */
+int getdata(void *window_mgr, const char *prompt, int fd, char *buf, const int size);
+void print_log(const char *fmt, ...);
+void wayland_dispatch_nonblock(struct wl_display *display);
+void sleep_with_wayland(struct wl_display *display, int msec);
+void wait_with_wayland(struct wl_display *display, int msec, int *endflag);
+int sec_str_2_value(const char *ssec);
+EGLDisplay opengl_init(struct wl_display *display, EGLConfig *rconf, EGLContext *rctx);
+EGLSurface opengl_create_window(struct wl_display *display, struct wl_surface *surface,
+                                EGLDisplay dpy, EGLConfig conf, EGLContext ctx,
+                                const int width, const int height, const int color);
+void opengl_clear_window(const unsigned int color);
+void opengl_swap_buffer(struct wl_display *display, EGLDisplay dpy, EGLSurface egl_surface);
+
+#endif /*_TEST_COMMON_H_*/
+
diff --git a/tests/test-eflapp.c b/tests/test-eflapp.c
new file mode 100644 (file)
index 0000000..8bb6d7a
--- /dev/null
@@ -0,0 +1,166 @@
+#ifdef HAVE_CONFIG_H
+#undef HAVE_CONFIG_H
+#endif
+
+#ifdef HAVE_CONFIG_H
+
+#include "config.h"
+#else
+#define __UNUSED__
+#define PACKAGE_EXAMPLES_DIR "."
+#endif
+
+#include <Ecore.h>
+#include <Ecore_Evas.h>
+#include <stdio.h>
+
+#define WIDTH  (520)
+#define HEIGHT (380)
+
+static Ecore_Evas *ee;
+static const char *border_img_path = PACKAGE_EXAMPLES_DIR "/red.png";
+
+static Evas_Object *bg, *r1, *r2, *r3; /* "sub" canvas objects */
+static Evas_Object *border, *img; /* canvas objects */
+
+static void
+_on_destroy(Ecore_Evas *ee __UNUSED__)
+{
+    ecore_main_loop_quit();
+}
+
+static void
+_resize_cb(Ecore_Evas *ee)
+{
+    int x, y, w, h, ow, oh;
+    int rw, rh;
+
+    evas_object_geometry_get(img, &x, &y, &ow, &oh);
+    ecore_evas_geometry_get(ee, &x, &y, &w, &h);
+    ecore_evas_request_geometry_get(ee, NULL, NULL, &rw, &rh);
+    fprintf(stderr, "EFL-App resize x/y=%d/%d req=%d/%d w/h=%d/%d obj=%d/%d\n", x, y, rw, rh, w, h, ow, oh); fflush(stderr);
+}
+
+int
+main(int argc, char *argv[])
+{
+    Evas *canvas, *sub_canvas;
+    Ecore_Evas *sub_ee;
+    int     i;
+    int     width;
+    int     height;
+    unsigned int    color;
+    int     r, g, b, a;
+    int     appno = 1;
+    char    sTitle[64];
+
+    width = WIDTH;
+    height = HEIGHT;
+    color = 0xc0c0c0c0;
+    for (i = 1; i < argc; i++)  {
+        if (argv[i][0] == '@')  {
+            appno = strtol(&argv[i][1], (char **)0, 0);
+        }
+        if (argv[i][0] != '-')  continue;
+        if (strncasecmp(argv[i], "-width=", 7) == 0)    {
+            width = strtol(&argv[i][7], (char **)0, 0);
+        }
+        else if (strncasecmp(argv[i], "-height=", 8) == 0)  {
+            height = strtol(&argv[i][8], (char **)0, 0);
+        }
+        else if (strncasecmp(argv[i], "-color=", 7) == 0)   {
+            color = strtoul(&argv[i][7], (char **)0, 0);
+        }
+    }
+
+    ecore_evas_init();
+
+    /* this will give you a window with an Evas canvas under the first
+     * engine available */
+    ee = ecore_evas_new(NULL, 0, 0, width, height, "frame=0");
+    if (!ee) goto error;
+
+    ecore_evas_size_min_set(ee, width/4, height/4);
+    ecore_evas_size_max_set(ee, width*4, height*4);
+
+    ecore_evas_callback_resize_set(ee, _resize_cb);
+
+    ecore_evas_callback_delete_request_set(ee, _on_destroy);
+    sprintf(sTitle, "EFL Native Application %d", appno);
+    ecore_evas_title_set(ee, sTitle);
+    ecore_evas_show(ee);
+
+    canvas = ecore_evas_get(ee);
+
+    bg = evas_object_rectangle_add(canvas);
+    r = (color>>16)&0x0ff;
+    g = (color>>8)&0x0ff;
+    b = color&0x0ff;
+    a = (color>>24)&0x0ff;
+    if (a != 255)   {
+        r = (r * a) / 255;
+        g = (g * a) / 255;
+        b = (b * a) / 255;
+    }
+    evas_object_color_set(bg, r, g, b, a); /* bg color */
+    evas_object_move(bg, 0, 0); /* at origin */
+    evas_object_resize(bg, width, height); /* covers full canvas */
+    evas_object_show(bg);
+
+    /* this is a border around the image containing a scene of another
+     * canvas */
+    border = evas_object_image_filled_add(canvas);
+    evas_object_image_file_set(border, border_img_path, NULL);
+    evas_object_image_border_set(border, 3, 3, 3, 3);
+    evas_object_image_border_center_fill_set(border, EVAS_BORDER_FILL_NONE);
+
+    evas_object_move(border, width / 6, height / 6);
+    evas_object_resize(border, (2 * width) / 3, (2 * height) / 3);
+    evas_object_show(border);
+
+    img = ecore_evas_object_image_new(ee);
+    evas_object_image_filled_set(img, EINA_TRUE);
+    evas_object_image_size_set(
+        img, ((2 * width) / 3) - 6, ((2 * height) / 3) - 6);
+    sub_ee = ecore_evas_object_ecore_evas_get(img);
+    sub_canvas = ecore_evas_object_evas_get(img);
+
+    evas_object_move(img, (width / 6) + 3, (height / 6) + 3);
+
+    /* apply the same size on both! */
+    evas_object_resize(img, ((2 * width) / 3) - 6, ((2 * height) / 3) - 6);
+    ecore_evas_resize(sub_ee, ((2 * width) / 3) - 6, ((2 * height) / 3) - 6);
+
+    r1 = evas_object_rectangle_add(sub_canvas);
+    evas_object_color_set(r1, g, b, r, 255);
+    evas_object_move(r1, 10, 10);
+    evas_object_resize(r1, 100, 100);
+    evas_object_show(r1);
+
+    r2 = evas_object_rectangle_add(sub_canvas);
+    evas_object_color_set(r2, b/2, g/2, r/2, 128);
+    evas_object_move(r2, 10, 10);
+    evas_object_resize(r2, 50, 50);
+    evas_object_show(r2);
+
+    r3 = evas_object_rectangle_add(sub_canvas);
+    evas_object_color_set(r3, b, r, g, 255);
+    evas_object_move(r3, 60, 60);
+    evas_object_resize(r3, 50, 50);
+    evas_object_show(r3);
+
+    evas_object_show(img);
+    ecore_main_loop_begin();
+
+    ecore_evas_free(ee);
+    ecore_evas_shutdown();
+
+    return 0;
+
+error:
+    fprintf(stderr, "You got to have at least one Evas engine built"
+            " and linked up to ecore-evas for this example to run properly.\n");
+    ecore_evas_shutdown();
+    return -1;
+}
+
diff --git a/tests/test-homescreen.c b/tests/test-homescreen.c
new file mode 100644 (file)
index 0000000..1c984a9
--- /dev/null
@@ -0,0 +1,1468 @@
+/*
+ * Copyright Â© 2012 Intel Corporation
+ * Copyright Â© 2013 TOYOTA MOTOR CORPORATION
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that copyright
+ * notice and this permission notice appear in supporting documentation, and
+ * that the name of the copyright holders not be used in advertising or
+ * publicity pertaining to distribution of the software without specific,
+ * written prior permission.  The copyright holders make no representations
+ * about the suitability of this software for any purpose.  It is provided "as
+ * is" without express or implied warranty.
+ *
+ * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ * EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
+ * OF THIS SOFTWARE.
+ */
+/**
+ * @brief   HomeScreen for uint test of Weston(Wayland) IVI plugins
+ *
+ * @date    Feb-08-2013
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+#include <assert.h>
+#include <poll.h>
+#include <errno.h>
+#include <sys/ioctl.h>
+#include <sys/ipc.h>
+#include <sys/msg.h>
+#include <sys/time.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <signal.h>
+#include <linux/input.h>
+#include <wayland-client.h>
+#include "ico_ivi_shell-client-protocol.h"
+#include "ico_window_mgr-client-protocol.h"
+#include "ico_input_mgr-client-protocol.h"
+#include "test-common.h"
+
+#define MAX_APPID   128
+#define ICO_IVI_MAX_COORDINATE  16383
+
+struct surface_name {
+    struct surface_name *next;
+    int     surfaceid;
+    int     pid;
+    char    appid[MAX_APPID];
+    int     x;
+    int     y;
+    int     width;
+    int     height;
+    int     visible;
+};
+
+#define MAX_CON_NAME    127
+
+struct display {
+    struct wl_display *display;
+    struct wl_registry *registry;
+    struct wl_compositor *compositor;
+    struct wl_shell *shell;
+    struct ico_ivi_shell *ico_ivi_shell;
+    struct ico_window_mgr *ico_window_mgr;
+    struct ico_input_mgr_control *ico_input_mgr;
+    struct ico_input_mgr_device *ico_input_device;
+    struct ico_exinput *ico_exinput;
+    struct input *input;
+    struct output *output;
+    struct surface *surface;
+    struct surface_name *surface_name;
+    struct surface_name *bgsurface_name;
+    int    bg_created;
+    int    init_color;
+    int    init_width;
+    int    init_height;
+    int    surface_created;
+    int    surface_destroyed;
+    int    prompt;
+    int    visible_on_create;
+    char   connect[MAX_CON_NAME+1];
+};
+
+struct input {
+    struct display *display;
+    struct wl_seat *seat;
+    struct wl_pointer *pointer;
+    struct wl_keyboard *keyboard;
+    float x, y;
+    uint32_t button_mask;
+    struct surface *pointer_focus;
+    struct surface *keyboard_focus;
+    uint32_t last_key, last_key_state;
+};
+
+struct output {
+    struct display *display;
+    struct wl_output *output;
+    int x, y;
+    int width, height;
+};
+
+struct surface {
+    struct display *display;
+    struct wl_surface *surface;
+    struct wl_shell_surface *shell_surface;
+    struct output *output;
+    EGLDisplay  dpy;
+    EGLConfig   conf;
+    EGLContext  ctx;
+    EGLSurface  egl_surface;
+};
+
+static void clear_surface(struct display *display);
+
+static void
+pointer_handle_enter(void *data, struct wl_pointer *pointer,
+                     uint32_t serial, struct wl_surface *surface,
+                     wl_fixed_t x, wl_fixed_t y)
+{
+    struct input *input = data;
+
+    input->pointer_focus = wl_surface_get_user_data(surface);
+    input->x = wl_fixed_to_double(x);
+    input->y = wl_fixed_to_double(y);
+    print_log("HOMESCREEN: got pointer enter (%d,%d), surface %p",
+              (int)input->x, (int)input->y, surface);
+}
+
+static void
+pointer_handle_leave(void *data, struct wl_pointer *pointer,
+                     uint32_t serial, struct wl_surface *surface)
+{
+    struct input *input = data;
+
+    input->pointer_focus = NULL;
+
+    print_log("HOMESCREEN: got pointer leave, surface %p", surface);
+}
+
+static void
+pointer_handle_motion(void *data, struct wl_pointer *pointer,
+                      uint32_t time, wl_fixed_t x, wl_fixed_t y)
+{
+    struct input *input = data;
+
+    input->x = wl_fixed_to_double(x);
+    input->y = wl_fixed_to_double(y);
+
+    print_log("HOMESCREEN: got pointer motion (%d,%d)", (int)input->x, (int)input->y);
+}
+
+static void
+pointer_handle_button(void *data, struct wl_pointer *pointer,
+                      uint32_t serial, uint32_t time, uint32_t button, uint32_t state_w)
+{
+    struct input *input = data;
+    uint32_t bit;
+    enum wl_pointer_button_state state = state_w;
+
+    bit = 1 << (button - BTN_LEFT);
+    if (state == WL_POINTER_BUTTON_STATE_PRESSED)
+        input->button_mask |= bit;
+    else
+        input->button_mask &= ~bit;
+    print_log("HOMESCREEN: got pointer button %u %u", button, state_w);
+}
+
+static void
+pointer_handle_axis(void *data, struct wl_pointer *pointer,
+                    uint32_t time, uint32_t axis, wl_fixed_t value)
+{
+    print_log("HOMESCREEN: got pointer axis %u %d", axis, value);
+}
+
+static void
+keyboard_handle_keymap(void *data, struct wl_keyboard *keyboard,
+                       uint32_t format, int fd, uint32_t size)
+{
+    close(fd);
+    print_log("HOMESCREEN: got keyboard keymap");
+}
+
+static void
+keyboard_handle_enter(void *data, struct wl_keyboard *keyboard,
+                      uint32_t serial, struct wl_surface *surface, struct wl_array *keys)
+{
+    struct input *input = data;
+
+    input->keyboard_focus = wl_surface_get_user_data(surface);
+    print_log("HOMESCREEN: got keyboard enter, surface %p", surface);
+}
+
+static void
+keyboard_handle_leave(void *data, struct wl_keyboard *keyboard,
+                      uint32_t serial, struct wl_surface *surface)
+{
+    struct input *input = data;
+
+    input->keyboard_focus = NULL;
+    print_log("HOMESCREEN: got keyboard leave, surface %p", surface);
+}
+
+static void
+keyboard_handle_key(void *data, struct wl_keyboard *keyboard,
+                    uint32_t serial, uint32_t time, uint32_t key, uint32_t state)
+{
+    struct input *input = data;
+
+    input->last_key = key;
+    input->last_key_state = state;
+
+    print_log("HOMESCREEN: got keyboard key %u %u", key, state);
+}
+
+static void
+keyboard_handle_modifiers(void *data, struct wl_keyboard *keyboard,
+                          uint32_t serial, uint32_t mods_depressed,
+                          uint32_t mods_latched, uint32_t mods_locked, uint32_t group)
+{
+    print_log("HOMESCREEN: got keyboard modifier");
+}
+
+static const struct wl_pointer_listener pointer_listener = {
+    pointer_handle_enter,
+    pointer_handle_leave,
+    pointer_handle_motion,
+    pointer_handle_button,
+    pointer_handle_axis,
+};
+
+static const struct wl_keyboard_listener keyboard_listener = {
+    keyboard_handle_keymap,
+    keyboard_handle_enter,
+    keyboard_handle_leave,
+    keyboard_handle_key,
+    keyboard_handle_modifiers,
+};
+
+static void
+seat_handle_capabilities(void *data, struct wl_seat *seat,
+                         enum wl_seat_capability caps)
+{
+    struct input *input = data;
+
+    if ((caps & WL_SEAT_CAPABILITY_POINTER) && !input->pointer) {
+        input->pointer = wl_seat_get_pointer(seat);
+        wl_pointer_set_user_data(input->pointer, input);
+        wl_pointer_add_listener(input->pointer, &pointer_listener, input);
+    }
+    else if (!(caps & WL_SEAT_CAPABILITY_POINTER) && input->pointer) {
+        wl_pointer_destroy(input->pointer);
+        input->pointer = NULL;
+    }
+
+    if ((caps & WL_SEAT_CAPABILITY_KEYBOARD) && !input->keyboard) {
+        input->keyboard = wl_seat_get_keyboard(seat);
+        wl_keyboard_set_user_data(input->keyboard, input);
+        wl_keyboard_add_listener(input->keyboard, &keyboard_listener, input);
+    }
+    else if (!(caps & WL_SEAT_CAPABILITY_KEYBOARD) && input->keyboard) {
+        wl_keyboard_destroy(input->keyboard);
+        input->keyboard = NULL;
+    }
+}
+
+static const struct wl_seat_listener seat_listener = {
+    seat_handle_capabilities,
+};
+
+static void
+surface_enter(void *data, struct wl_surface *wl_surface, struct wl_output *output)
+{
+    struct surface *surface = data;
+
+    surface->output = wl_output_get_user_data(output);
+
+    print_log("HOMESCREEN: got surface enter, output %p", surface->output);
+}
+
+static void
+surface_leave(void *data, struct wl_surface *wl_surface, struct wl_output *output)
+{
+    struct surface *surface = data;
+
+    surface->output = NULL;
+
+    print_log("HOMESCREEN: got surface leave, output %p",
+              wl_output_get_user_data(output));
+}
+
+static const struct wl_surface_listener surface_listener = {
+    surface_enter,
+    surface_leave
+};
+
+static void
+create_surface(struct display *display)
+{
+    struct surface *surface;
+    int id;
+
+    surface = malloc(sizeof *surface);
+    assert(surface);
+    surface->display = display;
+    display->surface = surface;
+    surface->surface = wl_compositor_create_surface(display->compositor);
+    wl_surface_add_listener(surface->surface, &surface_listener, surface);
+
+    if (display->shell) {
+        surface->shell_surface =
+            wl_shell_get_shell_surface(display->shell, surface->surface);
+        if (surface->shell_surface) {
+            wl_shell_surface_set_toplevel(surface->shell_surface);
+        }
+    }
+    wl_display_flush(display->display);
+
+    id = wl_proxy_get_id((struct wl_proxy *) surface->surface);
+    print_log("HOMESCREEN: create surface = %d", id);
+
+    poll(NULL, 0, 100); /* Wait for next frame where we'll get events. */
+
+    wl_display_roundtrip(display->display);
+
+    surface->dpy = opengl_init(display->display, &surface->conf, &surface->ctx);
+    if (surface->dpy)   {
+        surface->egl_surface = opengl_create_window(display->display, surface->surface,
+                                                    surface->dpy, surface->conf,
+                                                    surface->ctx, display->init_width,
+                                                    display->init_height,
+                                                    display->init_color);
+        clear_surface(display);
+        print_log("HOMESCREEN: created egl_surface %08x", (int)surface->egl_surface);
+    }
+}
+
+static void
+clear_surface(struct display *display)
+{
+    if (! display->surface) {
+        create_surface(display);
+    }
+    else    {
+        opengl_clear_window(display->init_color);
+        opengl_swap_buffer(display->display,
+                           display->surface->dpy, display->surface->egl_surface);
+    }
+}
+
+static void
+output_handle_geometry(void *data, struct wl_output *wl_output, int x, int y,
+                       int physical_width, int physical_height, int subpixel,
+                       const char *make, const char *model, int32_t transform)
+{
+    struct output *output = data;
+
+    print_log("HOMESCREEN: Event[handle_geometry] x/y=%d/%d p.w/h=%d/%d trans=%d",
+              x, y, physical_width, physical_height, transform);
+
+    output->x = x;
+    output->y = y;
+}
+
+static void
+output_handle_mode(void *data, struct wl_output *wl_output, uint32_t flags,
+                   int width, int height, int refresh)
+{
+    struct output *output = data;
+
+    print_log("HOMESCREEN: Event[handle_mode] x/y=%d/%d flags=%08x refresh=%d",
+              width, height, flags, refresh);
+
+    if (flags & WL_OUTPUT_MODE_CURRENT) {
+        struct display  *display = output->display;
+
+        output->width = width;
+        output->height = height;
+
+        display->init_width = width;
+        display->init_height = height;
+
+        if (display->bgsurface_name)    {
+            ico_window_mgr_set_positionsize(display->ico_window_mgr,
+                                            display->bgsurface_name->surfaceid,
+                                            0, 0, width, height);
+        }
+        else if (display->bg_created == 0)  {
+            display->bg_created = 9;
+            create_surface(output->display);
+        }
+    }
+}
+
+static const struct wl_output_listener output_listener = {
+    output_handle_geometry,
+    output_handle_mode
+};
+
+static int
+search_surface(struct display *display, const char *surfname)
+{
+    struct surface_name     *p;
+
+    p = display->surface_name;
+    while (p)   {
+        if (strcmp(p->appid, surfname) == 0)    break;
+        p = p->next;
+    }
+
+    if (p)  {
+        return(p->surfaceid);
+    }
+    else    {
+        return(-1);
+    }
+}
+
+static struct surface_name *
+search_surfacename(struct display *display, const char *surfname)
+{
+    struct surface_name     *p;
+
+    p = display->surface_name;
+    while (p)   {
+        if (strcmp(p->appid, surfname) == 0)    break;
+        p = p->next;
+    }
+    return(p);
+}
+
+static struct surface_name *
+search_surfaceid(struct display *display, const int surfaceid)
+{
+    struct surface_name     *p;
+
+    p = display->surface_name;
+    while (p)   {
+        if (p->surfaceid == surfaceid)  {
+            return(p);
+        }
+        p = p->next;
+    }
+    return(NULL);
+}
+
+static void
+window_created(void *data, struct ico_window_mgr *ico_window_mgr,
+               uint32_t surfaceid, int32_t pid, const char *appid)
+{
+    struct display *display = data;
+    struct surface_name     *p;
+    struct surface_name     *fp;
+
+    display->surface_created = 1;
+    p = display->surface_name;
+    fp = NULL;
+    while (p)   {
+        if (p->surfaceid == (int)surfaceid) break;
+        fp = p;
+        p = p->next;
+    }
+    if (p)  {
+        print_log("HOMESCREEN: Event[window_created] surface=%08x(app=%s) exist",
+                  (int)surfaceid, appid);
+    }
+    else    {
+        print_log("HOMESCREEN: Event[window_created] new surface=%08x(app=%s)",
+                  (int)surfaceid, appid);
+        p = malloc(sizeof(struct surface_name));
+        if (! p)    {
+            return;
+        }
+        memset(p, 0, sizeof(struct surface_name));
+        if (fp) {
+            fp->next = p;
+        }
+        else    {
+            display->surface_name = p;
+        }
+    }
+    p->surfaceid = surfaceid;
+    p->pid = pid;
+    strncpy(p->appid, appid, MAX_APPID-1);
+
+    /* Set default size and show        */
+    if (p->width > 0)   {
+        ico_window_mgr_set_positionsize(display->ico_window_mgr, surfaceid,
+                                        p->x, p->y, p->width, p->height);
+    }
+
+    print_log("HOMESCREEN: Created window[%08x] (app=%s)", (int)surfaceid, appid);
+
+    if (strncasecmp(appid, "test-homescreen", 15) == 0) {
+        display->bgsurface_name = p;
+        if (display->bg_created == 1)   {
+            display->bg_created = 9;
+            ico_window_mgr_set_positionsize(display->ico_window_mgr, surfaceid,
+                                            0, 0, display->init_width, display->init_height);
+        }
+        ico_window_mgr_set_visible(display->ico_window_mgr, surfaceid, 1, 0);
+        print_log("HOMESCREEN: Created window[%08x] (app=%s) Visible",
+                  (int)surfaceid, appid);
+        p->visible = 1;
+    }
+}
+
+static void
+window_destroyed(void *data, struct ico_window_mgr *ico_window_mgr, uint32_t surfaceid)
+{
+    struct display *display = data;
+    struct surface_name     *p;
+    struct surface_name     *fp;
+
+    display->surface_destroyed = 1;
+    p = search_surfaceid(display, (int)surfaceid);
+    if (! p)    {
+        print_log("HOMESCREEN: Event[window_destroyed] surface=%08x dose not exist",
+                  (int)surfaceid);
+    }
+    else    {
+        print_log("HOMESCREEN: Event[window_destroyed] surface=%08x", (int)surfaceid);
+        if (p == display->surface_name) {
+            display->surface_name = p->next;
+        }
+        else    {
+            fp = display->surface_name;
+            while (fp)  {
+                if (fp->next == p)  {
+                    fp->next = p->next;
+                    break;
+                }
+                fp = fp->next;
+            }
+        }
+        free(p);
+    }
+}
+
+static void
+window_visible(void *data, struct ico_window_mgr *ico_window_mgr,
+               uint32_t surfaceid, int32_t visible, int32_t raise, int32_t hint)
+{
+    struct display *display = data;
+    struct surface_name     *p;
+
+    p = search_surfaceid(display, (int)surfaceid);
+    if (! p)    {
+        print_log("HOMESCREEN: Event[window_visible] surface=%08x dose not exist",
+                  (int)surfaceid);
+    }
+    else    {
+        print_log("HOMESCREEN: Event[window_visible] surface=%08x "
+                  "visible=%d raise=%d hint=%d", (int)surfaceid, visible, raise, hint);
+        p->visible = visible;
+        if (hint == 0)  {
+            ico_window_mgr_set_visible(display->ico_window_mgr, surfaceid, visible, 9);
+        }
+    }
+}
+
+static void
+window_configure(void *data, struct ico_window_mgr *ico_window_mgr,
+                 uint32_t surfaceid, const char *appid, int32_t layer,
+                 int32_t x, int32_t y, int32_t width, int32_t height, int32_t hint)
+{
+    struct display *display = data;
+    struct surface_name     *p;
+
+    print_log("HOMESCREEN: Event[window_configure] surface=%08x "
+              "app=%s x/y=%d/%d w/h=%d/%d hint=%d",
+              (int)surfaceid, appid, x, y, width, height, hint);
+
+    p = search_surfaceid(display, (int)surfaceid);
+    if (! p)    {
+        print_log("HOMESCREEN: Event[window_configure] surface=%08x(app=%s) new create",
+                  (int)surfaceid, appid);
+        window_created(data, ico_window_mgr, surfaceid, 0, appid);
+        p = search_surfaceid(display, (int)surfaceid);
+        if (! p)    {
+            print_log("HOMESCREEN: Event[window_configure] can not make table");
+            return;
+        }
+    }
+}
+
+static void
+window_active(void *data, struct ico_window_mgr *ico_window_mgr,
+              uint32_t surfaceid, const uint32_t active)
+{
+    print_log("HOMESCREEN: Event[window_active] surface=%08x acive=%d",
+              (int)surfaceid, (int)active);
+}
+
+static const struct ico_window_mgr_listener window_mgr_listener = {
+    window_created,
+    window_destroyed,
+    window_visible,
+    window_configure,
+    window_active
+};
+
+static void
+cb_input_capabilities(void *data, struct ico_exinput *ico_exinput,
+                      const char *device, int32_t type, const char *swname, int32_t input,
+                      const char *codename, int32_t code)
+{
+    print_log("HOMESCREEN: Event[input_capabilities] device=%s type=%d sw=%s input=%d "
+              "code=%s[%d]", device, type, swname, input, codename, code);
+}
+
+static void
+cb_input_code(void *data, struct ico_exinput *ico_exinput,
+              const char *device, int32_t input, const char *codename, int32_t code)
+{
+    print_log("HOMESCREEN: Event[input_code] device=%s input=%d code=%s[%d]",
+              device, input, codename, code);
+}
+
+static void
+cb_input_input(void *data, struct ico_exinput *ico_exinput, uint32_t time,
+               const char *device, int32_t input, int32_t code, int32_t state)
+{
+    print_log("HOMESCREEN: Event[input_input] device=%s input=%d code=%d state=%d",
+              device, input, code, state);
+}
+
+static const struct ico_exinput_listener exinput_listener = {
+    cb_input_capabilities,
+    cb_input_code,
+    cb_input_input
+};
+
+static void
+handle_global(void *data, struct wl_registry *registry, uint32_t id,
+              const char *interface, uint32_t version)
+{
+    struct display *display = data;
+    struct input *input;
+    struct output *output;
+
+    print_log("HOMESCREEN: handle_global: interface=<%s> id=%d", interface, (int)id);
+
+    if (strcmp(interface, "wl_compositor") == 0) {
+        display->compositor =
+            wl_registry_bind(display->registry, id, &wl_compositor_interface, 1);
+    }
+    else if (strcmp(interface, "wl_seat") == 0) {
+        input = calloc(1, sizeof *input);
+        input->display = display;
+        input->seat = wl_registry_bind(display->registry, id, &wl_seat_interface, 1);
+        input->pointer_focus = NULL;
+        input->keyboard_focus = NULL;
+
+        wl_seat_add_listener(input->seat, &seat_listener, input);
+        display->input = input;
+    }
+    else if (strcmp(interface, "wl_output") == 0) {
+        output = malloc(sizeof *output);
+        output->display = display;
+        output->output = wl_registry_bind(display->registry, id, &wl_output_interface, 1);
+        wl_output_add_listener(output->output, &output_listener, output);
+        display->output = output;
+
+        print_log("HOMESCREEN: created output global %p", display->output);
+    }
+    else if (strcmp(interface, "wl_shell") == 0)    {
+        display->shell =
+            wl_registry_bind(display->registry, id, &wl_shell_interface, 1);
+    }
+    else if (strcmp(interface, "ico_ivi_shell") == 0)   {
+        display->ico_ivi_shell =
+            wl_registry_bind(display->registry, id, &ico_ivi_shell_interface, 1);
+    }
+    else if (strcmp(interface, "ico_window_mgr") == 0)  {
+        display->ico_window_mgr =
+            wl_registry_bind(display->registry, id, &ico_window_mgr_interface, 1);
+        ico_window_mgr_add_listener(display->ico_window_mgr, &window_mgr_listener, display);
+        print_log("HOMESCREEN: created window_mgr global %p", display->ico_window_mgr);
+
+        ico_window_mgr_set_eventcb(display->ico_window_mgr, 1);
+    }
+    else if (strcmp(interface, "ico_input_mgr_control") == 0)   {
+        display->ico_input_mgr = wl_registry_bind(display->registry, id,
+                                                  &ico_input_mgr_control_interface, 1);
+        print_log("HOMESCREEN: created input_mgr global %p", display->ico_input_mgr);
+    }
+    else if (strcmp(interface, "ico_input_mgr_device") == 0)   {
+        display->ico_input_device = wl_registry_bind(display->registry, id,
+                                                     &ico_input_mgr_device_interface, 1);
+        print_log("HOMESCREEN: created input_device global %p", display->ico_input_device);
+    }
+    else if (strcmp(interface, "ico_exinput") == 0)   {
+        display->ico_exinput =
+            wl_registry_bind(display->registry, id, &ico_exinput_interface, 1);
+        ico_exinput_add_listener(display->ico_exinput, &exinput_listener, display);
+        print_log("HOMESCREEN: created exinput global %p", display->ico_exinput);
+
+        ico_window_mgr_set_eventcb(display->ico_window_mgr, 1);
+
+        display->bg_created = 1;
+        create_surface(display);
+    }
+}
+
+static const struct wl_registry_listener registry_listener = {
+    handle_global
+};
+
+static char *
+skip_spaces(char *buf)
+{
+    while ((*buf == ' ') || (*buf == '\t')) {
+        buf++;
+    }
+    return(buf);
+}
+
+static int
+pars_command(char *buf, char *pt[], const int len)
+{
+    char    *p;
+    int     narg;
+
+    memset(pt, 0, sizeof(int *)*10);
+    p = buf;
+    for (narg = 0; narg < len; narg++)  {
+        p = skip_spaces(p);
+        if (*p == 0)    break;
+        pt[narg] = p;
+        for (; *p; p++) {
+            if ((*p == ' ') || (*p == '\t') ||
+                (*p == '=') || (*p == ',')) break;
+        }
+        if (*p == 0)    {
+            narg++;
+            break;
+        }
+        *p = 0;
+        p++;
+    }
+    return (narg);
+}
+
+static void
+launch_app(struct display *display, char *buf)
+{
+    char    sbuf[256];
+
+    display->surface_created = 0;
+    display->surface_destroyed = 0;
+    snprintf(sbuf, sizeof(sbuf)-1, "%s &", skip_spaces(buf));
+    if (system(sbuf) < 0)   {
+        print_log("HOMESCREEN: Can not launch application[%s]", sbuf);
+    }
+    else    {
+        sleep_with_wayland(display->display, 500);
+    }
+}
+
+static void
+kill_app(struct display *display, char *buf)
+{
+    char    *args[10];
+    int     narg;
+    struct surface_name     *p;
+    struct surface_name     *fp;
+
+    narg = pars_command(buf, args, 10);
+    if (narg >= 1)  {
+        p = search_surfacename(display, args[0]);
+        if (kill(p->pid, SIGINT) < 0)   {
+            print_log("HOMESCREEN: kill[%s.%d] Application dose not exist",
+                      p->appid, p->pid);
+        }
+        else    {
+            sleep_with_wayland(display->display, 300);
+            p = search_surfacename(display, args[0]);
+            if ((p != NULL) && (kill(p->pid, SIGTERM) >= 0))    {
+                sleep_with_wayland(display->display, 200);
+                p = search_surfacename(display, args[0]);
+                if (p)  {
+                    kill(p->pid, SIGKILL);
+                    sleep_with_wayland(display->display, 200);
+                }
+            }
+        }
+        p = search_surfacename(display, args[0]);
+        if (p)  {
+            if (p == display->surface_name) {
+                display->surface_name = p->next;
+            }
+            else    {
+                fp = display->surface_name;
+                while (fp)  {
+                    if (fp->next == p)  {
+                        fp->next = p->next;
+                        break;
+                    }
+                }
+            }
+            free(p);
+        }
+    }
+    else    {
+        print_log("HOMESCREEN: kill command[kill appid] has no argument");
+    }
+}
+
+static void
+layer_surface(struct display *display, char *buf)
+{
+    char    *args[10];
+    int     narg;
+    int     surfaceid;
+    int     layerid;
+
+    narg = pars_command(buf, args, 10);
+    if (narg >= 2)  {
+        surfaceid = search_surface(display, args[0]);
+        layerid = strtol(args[1], (char **)0, 0);
+        if ((surfaceid >= 0) && (layerid >= 0)) {
+            print_log("HOMESCREEN: set_window_layer(%s,%08x)",
+                      args[0], surfaceid, layerid);
+            ico_window_mgr_set_window_layer(display->ico_window_mgr, surfaceid, layerid);
+        }
+        else    {
+            print_log("HOMESCREEN: Unknown surface(%s) at layer command", args[0]);
+        }
+    }
+    else    {
+        print_log("HOMESCREEN: layer command[layer appid layerid] has no argument");
+    }
+}
+
+static void
+positionsize_surface(struct display *display, char *buf)
+{
+    char    *args[10];
+    int     narg;
+    int     surfaceid;
+    int     x, y, width, height;
+
+    narg = pars_command(buf, args, 10);
+    if (narg >= 5)  {
+        surfaceid = search_surface(display, args[0]);
+        x = strtol(args[1], (char **)0, 0);
+        y = strtol(args[2], (char **)0, 0);
+        width = strtol(args[3], (char **)0, 0);
+        height = strtol(args[4], (char **)0, 0);
+        if ((surfaceid >= 0) && (x >= 0) && (y >=0) && (width >= 0) && (height >=0))    {
+            print_log("HOMESCREEN: set_positionsize(%s,%08x,%d,%d,%d,%d)",
+                      args[0], surfaceid, x, y, width, height);
+            ico_window_mgr_set_positionsize(display->ico_window_mgr, surfaceid,
+                                            x, y, width, height);
+        }
+        else    {
+            print_log("HOMESCREEN: Unknown surface(%s) at positionsize command", args[0]);
+        }
+    }
+    else    {
+        print_log("HOMESCREEN: positionsize command"
+                  "[positionsize appid x y width heigh] has no argument");
+    }
+}
+
+static void
+move_surface(struct display *display, char *buf)
+{
+    char    *args[10];
+    int     narg;
+    int     surfaceid;
+    int     x, y;
+
+    narg = pars_command(buf, args, 10);
+    if (narg >= 3)  {
+        surfaceid = search_surface(display, args[0]);
+        x = strtol(args[1], (char **)0, 0);
+        y = strtol(args[2], (char **)0, 0);
+        if ((surfaceid >= 0) && (x >= 0) && (y >=0))    {
+            print_log("HOMESCREEN: move(%s,%08x,%d,%d)", args[0], surfaceid, x, y);
+            ico_window_mgr_set_positionsize(display->ico_window_mgr, surfaceid,
+                                            x, y,
+                                            ICO_IVI_MAX_COORDINATE+1,
+                                            ICO_IVI_MAX_COORDINATE+1);
+        }
+        else    {
+            print_log("HOMESCREEN: Unknown surface(%s) at move command", args[0]);
+        }
+    }
+    else    {
+        print_log("HOMESCREEN: move command[positionsize appid x y] has no argument");
+    }
+}
+
+static void
+resize_surface(struct display *display, char *buf)
+{
+    char    *args[10];
+    int     narg;
+    int     surfaceid;
+    int     width, height;
+
+    narg = pars_command(buf, args, 10);
+    if (narg >= 3)  {
+        surfaceid = search_surface(display, args[0]);
+        width = strtol(args[1], (char **)0, 0);
+        height = strtol(args[2], (char **)0, 0);
+        if ((surfaceid >= 0) && (width >= 0) && (height >=0))   {
+            print_log("HOMESCREEN: resize(%s,%08x,%d,%d)",
+                      args[0], surfaceid, width, height);
+            ico_window_mgr_set_positionsize(display->ico_window_mgr, surfaceid,
+                                            ICO_IVI_MAX_COORDINATE+1,
+                                            ICO_IVI_MAX_COORDINATE+1, width, height);
+        }
+        else    {
+            print_log("HOMESCREEN: Unknown surface(%s) at resize command", args[0]);
+        }
+    }
+    else    {
+        print_log("HOMESCREEN: positionsize command"
+                  "[resize appid width heigh] has no argument");
+    }
+}
+
+static void
+visible_surface(struct display *display, char *buf)
+{
+    char    *args[10];
+    int     narg;
+    int     surfaceid;
+    int     visible;
+    int     raise;
+
+    narg = pars_command(buf, args, 10);
+    if (narg >= 3)  {
+        surfaceid = search_surface(display, args[0]);
+        visible = strtol(args[1], (char **)0, 0);
+        raise = strtol(args[2], (char **)0, 0);
+        if ((surfaceid >= 0) && (visible >= 0) && (raise >=0))  {
+            print_log("HOMESCREEN: visible(%s,%08x,%d,%d)",
+                      args[0], surfaceid, visible, raise);
+            ico_window_mgr_set_visible(display->ico_window_mgr, surfaceid, visible, raise);
+        }
+        else    {
+            print_log("HOMESCREEN: Unknown surface(%s) at visible command", args[0]);
+        }
+    }
+    else    {
+        print_log("HOMESCREEN: visible command[visible appid visible raise] "
+                  "has no argument");
+    }
+}
+
+static void
+show_surface(struct display *display, char *buf, const int show)
+{
+    char    *args[10];
+    int     narg;
+    int     surfaceid;
+
+    narg = pars_command(buf, args, 10);
+    if (narg >= 1)  {
+        surfaceid = search_surface(display, args[0]);
+        if (surfaceid >= 0) {
+            if (show)   {
+                print_log("HOMESCREEN: show(%s,%08x)", args[0], surfaceid);
+                ico_window_mgr_set_visible(display->ico_window_mgr, surfaceid, 1, 9);
+            }
+            else    {
+                print_log("HOMESCREEN: hide(%s,%08x)", args[0], surfaceid);
+                ico_window_mgr_set_visible(display->ico_window_mgr, surfaceid, 0, 9);
+            }
+        }
+        else    {
+            print_log("HOMESCREEN: Unknown surface(%s) at show/hide command", args[0]);
+        }
+    }
+    else    {
+        print_log("HOMESCREEN: show command[show/hide appid] has no argument");
+    }
+}
+
+static void
+raise_surface(struct display *display, char *buf, const int raise)
+{
+    char    *args[10];
+    int     narg;
+    int     surfaceid;
+
+    narg = pars_command(buf, args, 10);
+    if (narg >= 1)  {
+        surfaceid = search_surface(display, args[0]);
+        if (surfaceid >= 0) {
+            if (raise)  {
+                print_log("HOMESCREEN: raise(%s,%08x)", args[0], surfaceid);
+                ico_window_mgr_set_visible(display->ico_window_mgr, surfaceid, 9, 1);
+            }
+            else    {
+                print_log("HOMESCREEN: lower(%s,%08x)", args[0], surfaceid);
+                ico_window_mgr_set_visible(display->ico_window_mgr, surfaceid, 9, 0);
+            }
+        }
+        else    {
+            print_log("HOMESCREEN: Unknown surface(%s) at raise/lower command", args[0]);
+        }
+    }
+    else    {
+        print_log("HOMESCREEN: show command[raise/lower appid] has no argument");
+    }
+}
+
+static void
+transition_surface(struct display *display, char *buf)
+{
+    char    *args[10];
+    int     narg;
+    int     surfaceid;
+    int     transition;
+
+    narg = pars_command(buf, args, 10);
+    if (narg >= 2)  {
+        surfaceid = search_surface(display, args[0]);
+        transition = strtol(args[1], (char **)0, 0);
+        if ((surfaceid >= 0) && (transition >=0))   {
+            print_log("HOMESCREEN: transition(%s,%08x,%d)", args[0], surfaceid, transition);
+            ico_window_mgr_set_transition(display->ico_window_mgr, surfaceid, transition);
+        }
+        else    {
+            print_log("HOMESCREEN: Unknown surface(%s) at transition command", args[0]);
+        }
+    }
+    else    {
+        print_log("HOMESCREEN: transition command"
+                  "[transition appid transition] has no argument");
+    }
+}
+
+static void
+visible_layer(struct display *display, char *buf)
+{
+    char    *args[10];
+    int     narg;
+    int     layer;
+    int     visible;
+
+    narg = pars_command(buf, args, 10);
+    if (narg >= 2)  {
+        layer = strtol(args[0], (char **)0, 0);
+        visible = strtol(args[1], (char **)0, 0);
+        ico_window_mgr_set_layer_visible(display->ico_window_mgr, layer, visible);
+    }
+    else    {
+        print_log("HOMESCREEN: layer_visible command"
+                  "[layer_visible layer visible] has no argument");
+    }
+}
+
+static void
+input_add(struct display *display, char *buf)
+{
+    char    *args[10];
+    int     narg;
+    int     input;
+    int     fix;
+
+    narg = pars_command(buf, args, 10);
+    if (narg >= 3)  {
+        input = strtol(args[1], (char **)0, 0);
+        if (narg >= 4)  {
+            fix = strtol(args[3], (char **)0, 0);
+        }
+        else    {
+            fix = 0;
+        }
+        if ((input >= 0) && (fix >=0))  {
+            print_log("HOMESCREEN: input_add(%s.%d to %s[%d])",
+                      args[0], input, args[2], fix);
+            ico_input_mgr_control_add_input_app(display->ico_input_mgr,
+                                                args[2], args[0], input, fix);
+        }
+        else    {
+            print_log("HOMESCREEN: Unknown input(%s) at input_add command", args[1]);
+        }
+    }
+    else    {
+        print_log("HOMESCREEN: input_add command[input_add device inputId appid fix] "
+                  "has no argument");
+    }
+}
+
+static void
+input_del(struct display *display, char *buf)
+{
+    char    *args[10];
+    int     narg;
+    int     input;
+    char    wk1[32], wk2[32];
+
+    narg = pars_command(buf, args, 10);
+    if (narg >= 3)  {
+        input = strtol(args[1], (char **)0, 0);
+        if (args[0][0] == '@')  {
+            wk1[0] = 0;
+            args[0] = wk1;
+        }
+        if (args[2][0] == '@')  {
+            wk2[0] = 0;
+            args[2] = wk2;
+        }
+        print_log("HOMESCREEN: input_del(%s.%d to %s)", args[0], input, args[2]);
+        ico_input_mgr_control_del_input_app(display->ico_input_mgr,
+                                            args[2], args[0], input);
+    }
+    else    {
+        print_log("HOMESCREEN: input_del command[input_del device inputId appid] "
+                  "has no argument");
+    }
+}
+
+static void
+input_conf(struct display *display, char *buf)
+{
+    char    *args[10];
+    int     narg;
+    int     type;
+    int     input;
+    int     code;
+    char    wk1[32], wk2[32];
+
+    narg = pars_command(buf, args, 10);
+    if (narg >= 4)  {
+        type = strtol(args[1], (char **)0, 0);
+        input = strtol(args[3], (char **)0, 0);
+        if (narg >= 6)  {
+            code = strtol(args[5], (char **)0, 0);
+        }
+        else    {
+            code = 0;
+            args[4] = wk1;
+            strcpy(wk1, args[2]);
+            args[5] = wk2;
+            strcpy(wk2, "0");
+        }
+        if ((type >= 0) && (input >= 0) && (code >=0))  {
+            ico_input_mgr_device_configure_input(display->ico_input_device, args[0], type,
+                                                 args[2], input, args[4], code);
+        }
+        else    {
+            print_log("HOMESCREEN: Unknown type(%s),input(%s) or code(%s) "
+                      "at input_conf command", args[1], args[3], args[5]);
+        }
+    }
+    else    {
+        print_log("HOMESCREEN: input_conf command[input_conf device type swname input "
+                  "codename code] has no argument");
+    }
+}
+
+static void
+input_code(struct display *display, char *buf)
+{
+    char    *args[10];
+    int     narg;
+    int     input;
+    int     code;
+
+    narg = pars_command(buf, args, 10);
+    if (narg >= 4)  {
+        input = strtol(args[1], (char **)0, 0);
+        code = strtol(args[3], (char **)0, 0);
+        if ((input >= 0) && (code >= 0))    {
+            ico_input_mgr_device_configure_code(display->ico_input_device, args[0], input,
+                                                args[2], code);
+        }
+        else    {
+            print_log("HOMESCREEN: Unknown input(%s) or code(%s) "
+                      "at input_code command", args[1], args[3]);
+        }
+    }
+    else    {
+        print_log("HOMESCREEN: input_conf command[input_code device input codename code] "
+                  "has no argument");
+    }
+}
+
+static void
+input_sw(struct display *display, char *buf)
+{
+    char    *args[10];
+    int     narg;
+    int     timems;
+    int     input;
+    int     code;
+    int     state;
+    struct timeval  stv;
+
+    narg = pars_command(buf, args, 10);
+    if (narg >= 4)  {
+        input = strtol(args[1], (char **)0, 0);
+        code = strtol(args[2], (char **)0, 0);
+        state = strtol(args[3], (char **)0, 0);
+        if ((input >= 0) && (state >= 0))   {
+            gettimeofday(&stv, (struct timezone *)NULL);
+            timems = (stv.tv_sec % 1000) * 1000 + (stv.tv_usec / 1000);
+            ico_input_mgr_device_input_event(display->ico_input_device,
+                                             timems, args[0], input, code, state);
+        }
+        else    {
+            print_log("HOMESCREEN: Unknown input(%s),code(%s) or state(%s) "
+                      "at input_sw command", args[1], args[2], args[3]);
+        }
+    }
+    else    {
+        print_log("HOMESCREEN: input_sw command[input_sw device input code, state] "
+                  "has no argument");
+    }
+}
+
+static void
+send_event(const char *cmd)
+{
+    static int  nmqinfo = 0;
+    static struct   {
+        int     mqkey;
+        int     mqid;
+    }           mqinfo[10];
+    int     mqkey;
+    int     mqid;
+    struct {
+        long    mtype;
+        char    buf[240];
+    }       mqbuf;
+    int     pt, i;
+
+    if (cmd == NULL)    {
+        return;
+    }
+    mqkey = 0;
+    for (pt = 0; cmd[pt]; pt++) {
+        if ((cmd[pt] >= '0') && (cmd[pt] <= '9'))   {
+            mqkey = mqkey * 10 + cmd[pt] - '0';
+        }
+        else    {
+            break;
+        }
+    }
+    for (; cmd[pt] == ' '; pt++)    ;
+
+    if (mqkey <= 0) {
+        mqkey = 5551;
+        pt = 0;
+    }
+    for (i = 0; i < nmqinfo; i++)   {
+        if (mqinfo[i].mqkey == mqkey)   {
+            mqid = mqinfo[i].mqid;
+            break;
+        }
+    }
+    if (i >= nmqinfo)   {
+        if (nmqinfo >= 10)  {
+            fprintf(stderr, "HOMESCREEN: message queue(%d) overflow\n", mqkey);
+            return;
+        }
+        mqid = msgget(mqkey, 0);
+        if (mqid < 0)   {
+            fprintf(stderr, "HOMESCREEN: message queue(%d(0x%x)) get error[%d]\n",
+                    mqkey, mqkey, errno);
+            return;
+        }
+        mqinfo[nmqinfo].mqkey = mqkey;
+        mqinfo[nmqinfo].mqid = mqid;
+        nmqinfo ++;
+    }
+
+    memset(&mqbuf, 0, sizeof(mqbuf));
+    mqbuf.mtype = 1;
+    strncpy(mqbuf.buf, &cmd[pt], sizeof(mqbuf)-sizeof(long));
+
+    if (msgsnd(mqid, &mqbuf, sizeof(mqbuf)-sizeof(long), 0) < 0)    {
+        fprintf(stderr, "HOMESCREEN: message queue(%d(0x%x)) send error[%d]\n",
+                mqkey, mqkey, errno);
+        return;
+    }
+}
+
+/*
+ * Main Program
+ *
+ *   usage:
+ *     test-homescreen < test-case-data-file > test-result-output
+ */
+int main(int argc, char *argv[])
+{
+    struct display *display;
+    char buf[256];
+    int ret, fd;
+    int msec;
+
+    display = malloc(sizeof *display);
+    assert(display);
+    memset((char *)display, 0, sizeof *display);
+
+    display->init_width = 640;
+    display->init_height = 480;
+    display->init_color = 0xFF304010;
+
+    for (fd = 1; fd < argc; fd++)   {
+        if (argv[fd][0] == '-') {
+            if (strncasecmp(argv[fd], "-visible=", 9) == 0) {
+                display->visible_on_create = argv[fd][9] & 1;
+            }
+            else if (strncasecmp(argv[fd], "-display=", 9) == 0)    {
+                strncpy(display->connect, &argv[fd][9], MAX_CON_NAME);
+            }
+            else if (strncasecmp(argv[fd], "-prompt=", 8) == 0) {
+                display->prompt = argv[fd][8] & 1;
+            }
+        }
+    }
+
+    if (display->connect[0])    {
+        display->display = wl_display_connect(display->connect);
+    }
+    else    {
+        display->display = wl_display_connect(NULL);
+    }
+    assert(display->display);
+
+    display->registry = wl_display_get_registry(display->display);
+    wl_registry_add_listener(display->registry,
+                 &registry_listener, display);
+    wl_display_dispatch(display->display);
+
+    fd = 0;
+
+    while (1) {
+        sleep_with_wayland(display->display, 20);
+        if (display->prompt)    {
+            printf("HOMESCREEN: "); fflush(stdout);
+        }
+        ret = getdata(display->ico_window_mgr, "HOMESCREEN: ", fd, buf, sizeof(buf));
+        if (ret < 0) {
+            fprintf(stderr, "HOMESCREEN: read error: fd %d, %m\n", fd);
+            return -1;
+        }
+        if (ret == 0)   continue;
+        wl_display_flush(display->display);
+
+        if ((strncasecmp(buf, "bye", 3) == 0) ||
+            (strncasecmp(buf, "quit", 4) == 0) ||
+            (strncasecmp(buf, "end", 3) == 0))  {
+            /* Exit, end of test            */
+            return 0;
+        }
+        else if (strncasecmp(buf, "launch", 6) == 0) {
+            /* Launch test application      */
+            launch_app(display, &buf[6]);
+        }
+        else if (strncasecmp(buf, "kill", 4) == 0) {
+            /* Launch test application      */
+            kill_app(display, &buf[4]);
+        }
+        else if (strncasecmp(buf, "layer_visible", 13) == 0) {
+            /* Change layer visiblety       */
+            visible_layer(display, &buf[13]);
+        }
+        else if (strncasecmp(buf, "layer", 5) == 0) {
+            /* layer change surface window  */
+            layer_surface(display, &buf[5]);
+        }
+        else if (strncasecmp(buf, "positionsize", 12) == 0) {
+            /* Move and Ressize surface window*/
+            positionsize_surface(display, &buf[12]);
+        }
+        else if (strncasecmp(buf, "move", 4) == 0) {
+            /* Move surface window          */
+            move_surface(display, &buf[4]);
+        }
+        else if (strncasecmp(buf, "resize", 6) == 0) {
+            /* Resize surface window        */
+            resize_surface(display, &buf[6]);
+        }
+        else if (strncasecmp(buf, "visible", 7) == 0) {
+            /* Visible and Raise surface window*/
+            visible_surface(display, &buf[7]);
+        }
+        else if (strncasecmp(buf, "show", 4) == 0) {
+            /* Show/Hide surface window     */
+            show_surface(display, &buf[4], 1);
+        }
+        else if (strncasecmp(buf, "hide", 4) == 0) {
+            /* Show/Hide surface window     */
+            show_surface(display, &buf[4], 0);
+        }
+        else if (strncasecmp(buf, "raise", 5) == 0) {
+            /* Raise/Lower surface window   */
+            raise_surface(display, &buf[5], 1);
+        }
+        else if (strncasecmp(buf, "lower", 5) == 0) {
+            /* Raise/Lower surface window   */
+            raise_surface(display, &buf[5], 0);
+        }
+        else if (strncasecmp(buf, "transition", 10) == 0) {
+            /* Set transition surface window*/
+            transition_surface(display, &buf[10]);
+        }
+        else if (strncasecmp(buf, "input_add", 9) == 0) {
+            /* Set input switch to application */
+            input_add(display, &buf[9]);
+        }
+        else if (strncasecmp(buf, "input_del", 9) == 0) {
+            /* Reset input switch to application*/
+            input_del(display, &buf[9]);
+        }
+        else if (strncasecmp(buf, "input_conf", 10) == 0) {
+            /* input switch configuration       */
+            input_conf(display, &buf[10]);
+        }
+        else if (strncasecmp(buf, "input_code", 10) == 0) {
+            /* input code configuration         */
+            input_code(display, &buf[10]);
+        }
+        else if (strncasecmp(buf, "input_sw", 8) == 0) {
+            /* input switch event               */
+            input_sw(display, &buf[8]);
+        }
+        else if (strncasecmp(buf, "sleep", 5) == 0) {
+            /* Sleep                            */
+            msec = sec_str_2_value(&buf[6]);
+            sleep_with_wayland(display->display, msec);
+        }
+        else if (strncasecmp(buf, "waitcreate", 10) == 0) {
+            /* Wait surface create              */
+            msec = sec_str_2_value(&buf[11]);
+            wait_with_wayland(display->display, msec, &display->surface_created);
+        }
+        else if (strncasecmp(buf, "waitdestroy", 11) == 0) {
+            /* Wait surface destrpy             */
+            msec = sec_str_2_value(&buf[12]);
+            wait_with_wayland(display->display, msec, &display->surface_destroyed);
+        }
+        else if (strncasecmp(buf, "event", 5) == 0) {
+            /* Send touch panel event to Weston */
+            send_event(&buf[6]);
+        }
+        else {
+            print_log("HOMESCREEN: unknown command[%s]", buf);
+            return -1;
+        }
+    }
+
+    print_log("HOMESCREEN: end");
+
+    send_event(NULL);
+
+    return(0);
+}
+
diff --git a/tests/test-send_event.c b/tests/test-send_event.c
new file mode 100644 (file)
index 0000000..6aa0b7b
--- /dev/null
@@ -0,0 +1,530 @@
+/*
+ * Copyright Â© 2013 TOYOTA MOTOR CORPORATION.
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and
+ * its documentation for any purpose is hereby granted without fee, provided
+ * that the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation, and that the name of the copyright holders not be used in
+ * advertising or publicity pertaining to distribution of the software
+ * without specific, written prior permission.  The copyright holders make
+ * no representations about the suitability of this software for any
+ * purpose.  It is provided "as is" without express or implied warranty.
+ *
+ * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
+ * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
+ * FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
+ * SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
+ * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
+ * CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
+ * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+/**
+ * @brief   System Test Tool for send device input event
+ *
+ * @date    Feb-20-2013
+ */
+
+#include    <stdio.h>
+#include    <stdlib.h>
+#include    <unistd.h>
+#include    <string.h>
+#include    <errno.h>
+#include    <pthread.h>
+#include    <sys/ioctl.h>
+#include    <sys/ipc.h>
+#include    <sys/msg.h>
+#include    <sys/time.h>
+#include    <sys/types.h>
+#include    <sys/stat.h>
+#include    <signal.h>
+#include    <fcntl.h>
+#include    <linux/input.h>
+#include    <linux/uinput.h>
+#include    <linux/joystick.h>
+#include    "test-common.h"
+
+#define DEV_TOUCH   0
+#define DEV_JS      1
+#define SPECIALTYPE_XY  9991
+
+static const struct {
+    char    *prop;
+    short   devtype;
+    short   type;
+    short   code;
+    short   value;
+}               event_key[] = {
+    { "X", DEV_TOUCH, EV_ABS, ABS_X, -1 },
+    { "Y", DEV_TOUCH, EV_ABS, ABS_Y, -1 },
+    { "Down", DEV_TOUCH, EV_KEY, BTN_TOUCH, 1 },
+    { "Up", DEV_TOUCH, EV_KEY, BTN_TOUCH, 0 },
+    { "Touch", DEV_TOUCH, EV_KEY, BTN_TOUCH, -1 },
+    { "XY", DEV_TOUCH, SPECIALTYPE_XY, 0, -1 },
+    { "SYN", DEV_TOUCH, 0, 0, 0 },
+    { "Button", DEV_TOUCH, EV_KEY, BTN_LEFT, -1 },
+    { "ButtonOn", DEV_TOUCH, EV_KEY, BTN_LEFT, 1 },
+    { "ButtonOff", DEV_TOUCH, EV_KEY, BTN_LEFT, 0 },
+
+    { "UpDown", DEV_JS, 2, 3, 1 },
+    { "UD", DEV_JS, 2, 3, 1 },
+    { "LeftRight", DEV_JS, 2, 2, 2 },
+    { "LR", DEV_JS, 2, 2, 2 },
+    { "Cross", DEV_JS, 1, 0, 3 },
+    { "Squere", DEV_JS, 1, 1, 4 },
+    { "Circle", DEV_JS, 1, 2, 5 },
+    { "Triangle", DEV_JS, 1, 3, 6 },
+    { "\0", 0, 0, 0, 0 } };
+
+static int  uifd = -1;
+static int  mqid = -1;
+static int  mDebug = 0;
+static int  mRun = 1;
+static int  mTouch = 1;
+
+static void
+term_signal(const int signo)
+{
+    mRun = 0;
+}
+
+static void
+init_mq(const int mqkey)
+{
+    char    dummy[256];
+
+    if (mqkey == 0) {
+        mqid = -1;
+    }
+    else    {
+        mqid = msgget(mqkey, 0);
+        if (mqid < 0)   {
+            mqid = msgget(mqkey, IPC_CREAT);
+        }
+        if (mqid < 0)   {
+            print_log("Can not create message queue(%d(0x%x))[%d]",
+                      mqkey, mqkey, errno);
+            fflush(stderr);
+            return;
+        }
+        while (msgrcv(mqid, dummy, sizeof(dummy)-sizeof(long), 0, IPC_NOWAIT) > 0)  ;
+    }
+}
+
+static void
+init_device(const char *device)
+{
+    int     fd;
+    int     ii;
+    char    devFile[64];
+    char    devName[64];
+    struct uinput_user_dev  uinputDevice;
+    uifd = open("/dev/uinput", O_RDWR);
+
+    if (uifd < 0)   {
+        print_log("/dev/uinput open error[%d]", errno);
+        fflush(stderr);
+        exit(1);
+    }
+
+    memset(&uinputDevice, 0, sizeof(uinputDevice));
+    strcpy(uinputDevice.name, device);
+    uinputDevice.absmax[ABS_X] = 1920;
+    uinputDevice.absmax[ABS_Y] = 1080;
+
+    /* uinput device configuration  */
+    if (write(uifd, &uinputDevice, sizeof(uinputDevice)) < (int)sizeof(uinputDevice)) {
+        print_log("/dev/uinput regist error[%d]", errno);
+        fflush(stderr);
+        close(uifd);
+        exit(1);
+    }
+
+    /* uinput set event bits        */
+    ioctl(uifd, UI_SET_EVBIT, EV_SYN);
+
+    if ((mTouch != 0) && (mTouch != 3)) {
+        ioctl(uifd, UI_SET_EVBIT, EV_ABS);
+        ioctl(uifd, UI_SET_ABSBIT, ABS_X);
+        ioctl(uifd, UI_SET_ABSBIT, ABS_Y);
+        ioctl(uifd, UI_SET_EVBIT, EV_KEY);
+        if (mTouch == 1)    {
+            ioctl(uifd, UI_SET_KEYBIT, BTN_LEFT);
+        }
+        else    {
+            ioctl(uifd, UI_SET_KEYBIT, BTN_TOUCH);
+            ioctl(uifd, UI_SET_KEYBIT, BTN_TOOL_PEN);
+        }
+    }
+    else    {
+        ioctl(uifd, UI_SET_EVBIT, EV_REL);
+        ioctl(uifd, UI_SET_RELBIT, REL_X);
+        ioctl(uifd, UI_SET_RELBIT, REL_Y);
+        ioctl(uifd, UI_SET_RELBIT, REL_Z);
+        ioctl(uifd, UI_SET_RELBIT, REL_RX);
+        ioctl(uifd, UI_SET_RELBIT, REL_RY);
+        ioctl(uifd, UI_SET_RELBIT, REL_RZ);
+        ioctl(uifd, UI_SET_EVBIT, EV_KEY);
+        ioctl(uifd, UI_SET_KEYBIT, KEY_RESERVED);
+        ioctl(uifd, UI_SET_KEYBIT, KEY_ESC);
+        ioctl(uifd, UI_SET_KEYBIT, KEY_1);
+        ioctl(uifd, UI_SET_KEYBIT, KEY_2);
+        ioctl(uifd, UI_SET_KEYBIT, KEY_3);
+        ioctl(uifd, UI_SET_KEYBIT, KEY_4);
+        ioctl(uifd, UI_SET_KEYBIT, KEY_5);
+        ioctl(uifd, UI_SET_KEYBIT, KEY_6);
+        ioctl(uifd, UI_SET_KEYBIT, KEY_7);
+        ioctl(uifd, UI_SET_KEYBIT, KEY_8);
+        ioctl(uifd, UI_SET_KEYBIT, KEY_9);
+        ioctl(uifd, UI_SET_KEYBIT, KEY_0);
+    }
+
+    ioctl(uifd, UI_SET_EVBIT, EV_MSC);
+    ioctl(uifd, UI_SET_MSCBIT, MSC_SCAN);
+
+    /* create event device          */
+    if (ioctl(uifd, UI_DEV_CREATE, NULL) < 0)   {
+        print_log("/dev/uinput create error[%d]", errno);
+        fflush(stderr);
+        close(uifd);
+        exit(1);
+    }
+    print_log("## created event device %s", device);
+
+    for (ii = 0; ii < 16; ii++) {
+        snprintf(devFile, 64, "/dev/input/event%d", ii);
+        fd = open(devFile, O_RDONLY);
+        if (fd < 0)     continue;
+
+        memset(devName, 0, sizeof(devName));
+        ioctl(fd, EVIOCGNAME(sizeof(devName)), devName);
+        close(fd);
+        print_log("%d.event device(%s) is %s", ii+1, devFile, devName);
+    }
+}
+
+static int
+convert_value(const char *value, char **errp, int base)
+{
+    int i;
+
+    for (i = 0; value[i]; i++)  {
+        if ((value[i] == ',') || (value[i] == ';') ||
+            (value[i] == ';') || (value[i] == ' ')) {
+            break;
+        }
+    }
+    if (errp)   {
+        *errp = (char *)&value[i];
+    }
+
+    if ((strncasecmp(value, "on", i) == 0) ||
+        (strncasecmp(value, "true", i) == 0) ||
+        (strncasecmp(value, "push", i) == 0) ||
+        (strncasecmp(value, "down", i) == 0) ||
+        (strncasecmp(value, "right", i) == 0))  {
+        return 1;
+    }
+    else if ((strncasecmp(value, "off", i) == 0) ||
+             (strncasecmp(value, "false", i) == 0) ||
+             (strncasecmp(value, "pop", i) == 0) ||
+             (strncasecmp(value, "up", i) == 0) ||
+             (strncasecmp(value, "left", i) == 0))  {
+        return 0;
+    }
+    return strtol(value, (char **)0, 0);
+}
+
+static void
+send_event(const char *cmd)
+{
+    int     i, j;
+    int     key;
+    char    prop[64];
+    char    value[128];
+    int     sec, msec;
+    char    *errp;
+    struct input_event  event;
+    struct js_event     js;
+
+    j = 0;
+    for (i = 0; cmd[i]; i++)    {
+        if ((cmd[i] == '=') || (cmd[i] == ' ')) break;
+        if (j < (int)(sizeof(prop)-1))  {
+            prop[j++] = cmd[i];
+        }
+    }
+
+    prop[j] = 0;
+    j = 0;
+    if (cmd[i] != 0)    {
+        for (i++; cmd[i]; i++)  {
+            if (cmd[i] == ' ')  continue;
+            if (j < (int)(sizeof(value)-1)) {
+                value[j++] = cmd[i];
+            }
+        }
+    }
+    value[j] = 0;
+
+    if (strcasecmp(prop, "sleep") == 0) {
+        sec = 0;
+        msec = 0;
+        for (i = 0; value[i]; i++)  {
+            if (value[i] == '.')        break;
+            sec = sec * 10 + (value[i] & 0x0f);
+        }
+        if (value[i] == '.')    {
+            i++;
+            if (value[i] != 0)  {
+                msec = (value[i] & 0x0f) * 100;
+                i++;
+            }
+            if (value[i] != 0)  {
+                msec = msec + (value[i] & 0x0f) * 10;
+                i++;
+            }
+            if (value[i] != 0)  {
+                msec = msec + (value[i] & 0x0f);
+            }
+        }
+        if (sec > 0)    sleep(sec);
+        if (msec > 0)   usleep(msec * 1000);
+
+        return;
+    }
+
+    for (key = 0; event_key[key].prop[0]; key++)    {
+        if (strcasecmp(prop, event_key[key].prop) == 0) break;
+    }
+    if (! event_key[key].prop[0])   {
+        print_log("UnKnown Event name[%s]", prop);
+        return;
+    }
+
+    if (mTouch != 0)    {
+        memset(&event, 0, sizeof(event));
+        gettimeofday(&event.time, NULL);
+        if (event_key[key].type == SPECIALTYPE_XY)  {
+            event.type = EV_ABS;
+            event.code = ABS_X;
+            event.value = convert_value(value, &errp, 0);
+            if (mDebug) {
+                print_log("Send Event ABS_X=%d\t# %d.%03d", event.value,
+                          (int)event.time.tv_sec, (int)(event.time.tv_usec/1000));
+                fflush(stderr);
+            }
+            if (write(uifd, &event, sizeof(struct input_event)) < 0)    {
+                print_log("event write error 1[%d]", errno);
+                fflush(stderr);
+                return;
+            }
+            event.code = ABS_Y;
+            if (*errp == ',')   {
+                event.value = convert_value(errp + 1, (char **)0, 0);
+            }
+            else    {
+                event.value = 0;
+            }
+            event.time.tv_usec += 200;
+            if (event.time.tv_usec >= 1000000)  {
+                event.time.tv_sec ++;
+                event.time.tv_usec -= 1000000;
+            }
+            if (mDebug) {
+                print_log("Send Event ABS_Y=%d\t# %d.%03d", event.value,
+                          (int)event.time.tv_sec, (int)(event.time.tv_usec/1000));
+                fflush(stderr);
+            }
+        }
+        else    {
+            event.type = event_key[key].type;
+
+            if (event_key[key].code == -1)   {
+                event.code = convert_value(value, (char **)0, 0);
+            }
+            else    {
+                event.code = event_key[key].code;
+                event.value = convert_value(value, (char **)0, 0);
+            }
+            if (mDebug) {
+                if ((event.type == EV_ABS) && (event.code == ABS_X))    {
+                    print_log("Send Event X=%d\t# %d.%03d", event.value,
+                              (int)event.time.tv_sec, (int)(event.time.tv_usec/1000));
+                }
+                else if ((event.type == EV_ABS) && (event.code == ABS_Y))    {
+                    print_log("Send Event Y=%d\t %d.%03d", event.value,
+                              (int)event.time.tv_sec, (int)(event.time.tv_usec/1000));
+                }
+                else if ((event.type == EV_KEY) &&
+                         (event.code == BTN_LEFT) && (event.value == 1))    {
+                    print_log("Send Event BTN_LEFT=Down\t# %d.%03d",
+                              (int)event.time.tv_sec, (int)(event.time.tv_usec/1000));
+                }
+                else if ((event.type == EV_KEY) &&
+                         (event.code == BTN_LEFT) && (event.value == 0))   {
+                    print_log("Send Event BTN_LEFT=Up\t# %d.%03d",
+                              (int)event.time.tv_sec, (int)(event.time.tv_usec/1000));
+                }
+                else    {
+                    if ((event.type == EV_REL) && (event.value == 0))   {
+                        event.value = 9;
+                    }
+                    else if ((event.type == EV_KEY) && (event.code == 0))   {
+                        event.code = 9;
+                    }
+                    print_log("Send Event type=%d code=%d value=%d\t# %d.%03d",
+                              event.type, event.code, event.value,
+                              (int)event.time.tv_sec, (int)(event.time.tv_usec/1000));
+                }
+                fflush(stderr);
+            }
+        }
+        if (write(uifd, &event, sizeof(struct input_event)) < 0)    {
+            print_log("event write error 2[%d]", errno);
+            fflush(stderr);
+        }
+        else    {
+            /* send EV_SYN */
+            memset(&event, 0, sizeof(event));
+            gettimeofday(&event.time, NULL);
+            event.type = EV_SYN;
+            event.code = SYN_REPORT;
+            if (write(uifd, &event, sizeof(struct input_event)) < 0)    {
+                print_log("syn event write error 3[%d]", errno);
+            }
+        }
+    }
+    else    {
+        memset(&js, 0, sizeof(js));
+        gettimeofday(&event.time, NULL);
+        js.time = (event.time.tv_sec * 1000) + (event.time.tv_usec / 1000);
+        js.type = event_key[key].type;
+        js.number = event_key[key].code;
+        js.value = convert_value(value, (char **)0, 0);
+        if (mDebug) {
+            print_log("Send Event JS=%d,%d,%d\t# %d",
+                      (int)js.type, (int)js.number, (int)js.value, (int)js.time);
+        }
+        if (write(uifd, &js, sizeof(struct js_event)) < 0)  {
+            print_log("event write error 4[%d]", errno);
+            fflush(stderr);
+        }
+    }
+}
+
+static void
+usage(const char *prog)
+{
+    fprintf(stderr, "Usage: %s [-device=device] [{-m/-t/-j}] [-mq[=key]] "
+            "[-d] [event=value] [event=value] ...\n", prog);
+    exit(0);
+}
+
+int
+main(int argc, char *argv[])
+{
+    int     i, j, k;
+    int     mqkey = 0;
+    struct {
+        long    mtype;
+        char    buf[240];
+    }       mqbuf;
+    char    buf[240];
+
+    j = 0;
+    strcpy(buf, "ico_test_device");
+    for (i = 1; i < argc; i++)  {
+        if (argv[i][0] == '-')  {
+            if (strncasecmp(argv[i], "-device=", 8) == 0)   {
+                strcpy(buf, &argv[i][8]);
+            }
+            else if (strcasecmp(argv[i], "-m") == 0)   {
+                mTouch = 1;                 /* Simulate mouse               */
+            }
+            else if (strcasecmp(argv[i], "-t") == 0)   {
+                mTouch = 2;                 /* Simulate touch-panel         */
+            }
+            else if (strcmp(argv[i], "-j") == 0)   {
+                mTouch = 0;                 /* Simulate joystick            */
+            }
+            else if (strcmp(argv[i], "-J") == 0)   {
+                mTouch = 3;                 /* Simulate joystick, but event is mouse    */
+            }
+            else if (strncasecmp(argv[i], "-mq", 3) == 0)   {
+                if (argv[i][3] == '=')  {
+                    mqkey = strtol(&argv[i][4], (char **)0, 0);
+                }
+                else    {
+                    mqkey = 55551;          /* default message queue key    */
+                }
+            }
+            else if (strcasecmp(argv[i], "-d") == 0)   {
+                mDebug = 1;
+            }
+            else    {
+                usage(argv[0]);
+            }
+        }
+        else    {
+            j++;
+        }
+    }
+
+    init_mq(mqkey);
+
+    init_device(buf);
+
+    mRun = 1;
+
+    signal(SIGTERM, term_signal);
+    signal(SIGINT, term_signal);
+
+    if (mqid >= 0)  {
+        while (mRun)  {
+            memset(&mqbuf, 0, sizeof(mqbuf));
+            if (msgrcv(mqid, &mqbuf, sizeof(mqbuf)-sizeof(long), 0, 0) < 0) {
+                if (errno == EINTR) continue;
+                print_log("test-send_event: mq(%d) receive error[%d]",
+                          mqkey, errno);
+                fflush(stderr);
+                break;
+            }
+            k = 0;
+            j = -1;
+            for (i = 0; mqbuf.buf[i]; i++)    {
+                if ((mqbuf.buf[i] == '#') || (mqbuf.buf[i] == '\n')
+                    || (mqbuf.buf[i] == '\r'))    break;
+                if (mqbuf.buf[i] == '\t') buf[k++] = ' ';
+                else                        buf[k++] = mqbuf.buf[i];
+                if ((j < 0) && (mqbuf.buf[i] != ' ')) j = i;
+            }
+            if (j < 0)  continue;
+            buf[k] = 0;
+            send_event(&buf[j]);
+        }
+        msgctl(mqid, IPC_RMID, NULL);
+    }
+    else if (j <= 0) {
+        while ((mRun != 0) && (fgets(buf, sizeof(buf), stdin) != NULL))  {
+            j = -1;
+            for (i = 0; buf[i]; i++)    {
+                if ((buf[i] == '#') || (buf[i] == '\n') || (buf[i] == '\r'))    break;
+                if (buf[i] == '\t') buf[i] = ' ';
+                if ((j < 0) && (buf[i] != ' ')) j = i;
+            }
+            if (j < 0)  continue;
+            buf[i] = 0;
+            send_event(&buf[j]);
+        }
+    }
+    else    {
+        for (i = 1; i < argc; i++)  {
+            if (argv[i][0] == '-')  continue;
+            if (mRun == 0)  break;
+            send_event(argv[i]);
+        }
+    }
+    exit(0);
+}
+
diff --git a/tests/testdata/cl_surface1.dat b/tests/testdata/cl_surface1.dat
new file mode 100644 (file)
index 0000000..3c9e6c7
--- /dev/null
@@ -0,0 +1,17 @@
+#      Test for Weston IVI Plugin for Native Application
+#      Surface Create and Exit
+#
+#      1. Create Surface
+create-surface
+#      2. Sleep 2 sec with color change
+sleep 0.4
+clear-surface 0x80ff2020
+sleep 0.6
+clear-surface 0xb020ff20
+sleep 0.6
+clear-surface 0xe02020ff
+sleep 0.6
+clear-surface 0xff808080
+sleep 0.6
+#      3. End of this Application (exit)
+bye
diff --git a/tests/testdata/cl_surface2.dat b/tests/testdata/cl_surface2.dat
new file mode 100644 (file)
index 0000000..68b40f8
--- /dev/null
@@ -0,0 +1,9 @@
+#      Test for Weston IVI Plugin for Native Application
+#      Surface Create and Exit
+#
+#      1. Create Surface
+create-surface
+#      2. Sleep 10 sec
+sleep 8
+#      3. End of this Application (exit)
+bye
diff --git a/tests/testdata/cl_surface3.dat b/tests/testdata/cl_surface3.dat
new file mode 100644 (file)
index 0000000..fcd10cb
--- /dev/null
@@ -0,0 +1,7 @@
+#      Test for Weston IVI Plugin for Native Application
+#      Surface Create and Exit
+#
+#      1. Create Surface
+create-surface
+#      2. End of this Application (exit)
+bye
diff --git a/tests/testdata/hs_alltest.dat b/tests/testdata/hs_alltest.dat
new file mode 100644 (file)
index 0000000..8971c9b
--- /dev/null
@@ -0,0 +1,342 @@
+#      Test for Weston IVI Plugin for HomeScreen(SystemController)
+#      Surface Create and Destory
+#
+#      1. Launch Application (and app create surface)
+launch ../tests/test-client < ../tests/testdata/cl_surface1.dat 2> ../tests/testlog/test-client01.log
+waitcreate 2
+show test-client
+sleep 2
+waitdestroy 60
+sleep 1
+#
+#      2. Launch Application and resize/move/show
+launch ../tests/test-client < ../tests/testdata/cl_surface2.dat 2> ../tests/testlog/test-client02.log
+waitcreate 2
+resize test-client 600 400
+move test-client 300 100
+show test-client
+sleep 1
+move test-client 320 120
+sleep 0.5
+move test-client 340 140
+sleep 0.5
+move test-client 360 160
+sleep 0.5
+move test-client 380 180
+sleep 0.5
+hide test-client
+sleep 1
+move test-client 100 200
+resize test-client 150 100
+show test-client
+sleep 0.6
+resize test-client 300 200
+sleep 0.6
+resize test-client 450 300
+sleep 0.6
+resize test-client 600 400
+sleep 0.6
+resize test-client 400 250
+sleep 0.6
+resize test-client 200 150
+sleep 0.6
+resize test-client 100 50
+sleep 1
+waitdestroy 60
+sleep 1
+#
+#      3. Launch Weston sample client
+launch /usr/bin/wayland-flower 2> ../tests/testlog/wayland-flower.log
+waitcreate 2
+move wayland-flower 200 100
+show wayland-flower
+sleep 1
+resize wayland-flower 500 400
+sleep 2
+kill wayland-flower
+sleep 1
+#
+launch /usr/bin/wayland-smoke 2> ../tests/testlog/wayland-smoke.log
+waitcreate 2
+move wayland-smoke 100 50
+show wayland-smoke
+sleep 0.3
+event XY=168,93
+event Button=Down
+sleep 0.1
+event XY=151,88
+event Button=Up
+sleep 1
+resize wayland-smoke 400 400
+sleep 0.3
+event XY=457,211
+event Button=Down
+sleep 0.1
+event XY=457,209
+event Button=Up
+sleep 1
+resize wayland-smoke 300 600
+sleep 0.4
+event XY=250,495
+event Button=Down
+sleep 0.2
+event XY=246,498
+event Button=Up
+sleep 0.8
+resize wayland-smoke 450 300
+sleep 0.3
+event XY=511,296
+event Button=Down
+sleep 0.1
+event XY=R508,300
+event Button=Up
+sleep 1
+kill wayland-smoke
+sleep 1
+#
+#      4. Set Layer
+launch ../tests/test-eflapp @1 -color=0xe02040ff > ../tests/testlog/test-eflapp1.log
+waitcreate 2
+layer test-eflapp@1 101
+move test-eflapp@1 100 200
+show test-eflapp@1
+sleep 0.5
+
+launch ../tests/test-eflapp @2 -color=0xd020ff40 > ../tests/testlog/test-eflapp2.log
+waitcreate 2
+layer test-eflapp@2 103
+move test-eflapp@2 200 300
+show test-eflapp@2
+sleep 0.5
+
+launch ../tests/test-eflapp @3 -color=0xc0ff2040 > ../tests/testlog/test-eflapp3.log
+waitcreate 2
+layer test-eflapp@3 102
+move test-eflapp@3 300 400
+show test-eflapp@3
+sleep 0.5
+
+launch ../tests/test-eflapp @4 -color=0xb0808080 > ../tests/testlog/test-eflapp4.log
+waitcreate 2
+layer test-eflapp@4 102
+move test-eflapp@4 400 500
+show test-eflapp@4
+sleep 0.5
+
+launch ../tests/test-eflapp @5 -color=0xa040a060 > ../tests/testlog/test-eflapp5.log
+waitcreate 2
+layer test-eflapp@5 102
+move test-eflapp@5 500 600
+show test-eflapp@5
+sleep 1
+hide test-eflapp@2
+sleep 1
+show test-eflapp@2
+sleep 2
+#
+#      resize EFL application
+resize test-eflapp@2 200 300
+sleep 1
+resize test-eflapp@3 720 520
+sleep 1
+resize test-eflapp@3 520 380
+sleep 1
+resize test-eflapp@2 520 380
+sleep 1
+#
+#      5. Raise/Lower
+raise test-eflapp@3
+sleep 1
+raise test-eflapp@4
+sleep 1
+raise test-eflapp@5
+sleep 1
+lower test-eflapp@5
+sleep 1
+lower test-eflapp@4
+sleep 1
+lower test-eflapp@3
+sleep 2
+#
+#      6. Layer Change
+layer test-eflapp@1 100
+sleep 1
+layer test-eflapp@2 100
+sleep 2
+#
+#      7. layer visibility control
+layer_visible 102 0
+sleep 1
+layer_visible 102 1
+sleep 1
+#      8. kill eflapp's
+kill test-eflapp@1
+sleep 0.5
+kill test-eflapp@2
+sleep 0.5
+kill test-eflapp@3
+sleep 0.5
+kill test-eflapp@4
+sleep 0.5
+kill test-eflapp@5
+sleep 2
+#
+#      9. Input test
+launch ../tests/test-client @1 -color=0xe0ff2020 -postsleep=60 < ../tests/testdata/cl_surface3.dat 2> ../tests/testlog/test-client11.log
+waitcreate 2
+sleep 0.3
+layer test-client@1 101
+move test-client@1 100 200
+show test-client@1
+sleep 0.5
+event XY=240,303
+event Button=Down
+sleep 0.1
+event XY=233,289
+event Button=Up
+sleep 0.2
+
+launch ../tests/test-client @2 -color=0xc020ff20 -postsleep=60 < ../tests/testdata/cl_surface3.dat 2> ../tests/testlog/test-client12.log
+waitcreate 2
+sleep 0.3
+layer test-client@2 101
+move test-client@2 250 300
+show test-client@2
+sleep 0.5
+event XY=625,555
+event Button=Down
+sleep 0.1
+event XY=623,557
+event Button=Up
+sleep 0.2
+
+launch ../tests/test-client @3 -color=0xa02020ff -postsleep=60 < ../tests/testdata/cl_surface3.dat 2> ../tests/testlog/test-client13.log
+waitcreate 2
+sleep 0.3
+layer test-client@3 101
+move test-client@3 400 400
+show test-client@3
+sleep 0.5
+event XY=848,663
+event Button=Down
+sleep 0.1
+event XY=845,669
+event Button=Up
+sleep 0.2
+
+hide test-client@2
+sleep 0.3
+event XY=719,643
+event Button=Down
+sleep 0.1
+event XY=720,644
+event Button=Up
+sleep 0.5
+
+lower test-client@3
+sleep 0.3
+event XY=858,555
+event Button=Down
+sleep 0.1
+event XY=R858,557
+event Button=Up
+sleep 0.5
+
+show test-client@2
+sleep 0.3
+event XY=765,644
+event Button=Down
+sleep 0.1
+event XY=762,645
+event Button=Up
+sleep 2
+# set input device
+input_conf InDev1 8 Sw1 0
+input_conf InDev1 8 Sw2 1 Up 10
+input_code InDev1 1 Down 11
+input_conf InDev1 8 Sw3 2 Left 20 Right 21
+input_code InDev1 2 Right 21
+input_conf InDev1 8 Sw4 3
+sleep 0.5
+input_conf InDev2 8 Sw0 0
+input_conf InDev2 8 Sw1 1
+sleep 0.5
+# input switch event
+input_sw InDev1 2 20 1
+sleep 0.1
+input_sw InDev1 2 20 0
+sleep 0.5
+input_sw InDev2 0 1 1
+sleep 0.1
+input_sw InDev2 0 1 1
+sleep 0.5
+# assign input sw to application
+input_add InDev1 1 test-client@1
+input_add InDev1 2 test-client@2
+input_add InDev1 3 test-client@3
+input_add InDev2 0 test-client@1 1
+input_add InDev2 1 test-client@1
+sleep 0.5
+# input switch event
+input_sw InDev1 0 1 1
+sleep 0.1
+input_sw InDev1 0 1 0
+sleep 0.5
+input_sw InDev1 1 10 1
+sleep 0.1
+input_sw InDev1 1 10 0
+sleep 0.5 
+input_sw InDev1 2 21 1
+sleep 0.1 
+input_sw InDev1 2 21 0
+sleep 0.5 
+input_sw InDev1 3 1 1
+sleep 0.1 
+input_sw InDev1 3 1 0
+sleep 0.5 
+input_sw InDev2 0 1 1
+sleep 0.1
+input_sw InDev2 0 1 0
+sleep 0.5
+input_sw InDev2 1 1 1
+sleep 0.1
+input_sw InDev2 1 1 0
+sleep 0.5
+# delete and change assign
+## same assign (NOP, but change to general assign)
+input_add InDev2 0 test-client@1
+## same assign (NOP, but change to fixed assign)
+input_add InDev2 0 test-client@1 1
+## change assign
+input_add InDev2 1 test-client@2
+## delete assign
+input_del InDev1 1 test-client@1
+## delete but not assign
+input_del InDev2 1 test-client@1
+## switch input event
+input_sw InDev2 0 1 1
+sleep 0.1
+input_sw InDev2 0 1 0
+sleep 0.1
+input_sw InDev2 1 1 1
+sleep 0.1
+input_sw InDev2 1 1 0
+sleep 0.1
+input_sw InDev1 3 1 1
+sleep 0.1
+input_sw InDev1 3 1 0
+sleep 1
+# delete all assign without fixed assign(fixed = InDev2.0)
+input_del @ -1 @
+sleep 2
+#
+kill test-client@1
+sleep 0.3
+kill test-client@2
+sleep 0.3
+kill test-client@3
+sleep 0.5
+#
+#      10. End of Test
+bye
+
diff --git a/tests/testdata/hs_inputtest.dat b/tests/testdata/hs_inputtest.dat
new file mode 100644 (file)
index 0000000..53e3acb
--- /dev/null
@@ -0,0 +1,129 @@
+#      Test for Weston IVI Plugin for HomeScreen(SystemController)
+#      Input event test
+#
+#      1. Input test (touch each window)
+launch ../tests/test-client @1 -color=0xffff2020 -postsleep=90 < ../tests/testdata/cl_surface3.dat 2> ../tests/testlog/test-client1.log
+sleep 0.5
+layer test-client@1 101
+move test-client@1 100 200
+show test-client@1
+
+launch ../tests/test-client @2 -color=0xff20ff20 -postsleep=90 < ../tests/testdata/cl_surface3.dat 2> ../tests/testlog/test-client2.log
+sleep 0.5
+layer test-client@2 101
+move test-client@2 250 300
+show test-client@2
+
+launch ../tests/test-client @3 -color=0xff2020ff -postsleep=90 < ../tests/testdata/cl_surface3.dat 2> ../tests/testlog/test-client3.log
+sleep 0.5
+layer test-client@3 101
+move test-client@3 400 400
+show test-client@3
+
+# Multi Input Manager test
+
+sleep 2
+# set input device
+input_conf InDev1 8 Sw1 0
+input_conf InDev1 8 Sw2 1 Up 10
+input_code InDev1 1 Down 11
+input_conf InDev1 8 Sw3 2 Left 20 Right 21
+input_code InDev1 2 Right 21
+input_conf InDev1 8 Sw4 3
+sleep 0.5
+input_conf InDev2 8 Sw0 0
+input_conf InDev2 8 Sw1 1
+sleep 0.5
+# input switch event
+input_sw InDev1 2 20 1
+sleep 0.1
+input_sw InDev1 2 20 0
+sleep 0.5
+input_sw InDev2 0 1 1
+sleep 0.1
+input_sw InDev2 0 1 1
+sleep 0.5
+# assign input sw to application
+input_add InDev1 1 test-client@1
+input_add InDev1 2 test-client@2
+input_add InDev1 3 test-client@3
+input_add InDev2 0 test-client@1 1
+input_add InDev2 1 test-client@1
+sleep 0.5
+# input switch event
+input_sw InDev1 0 1 1
+sleep 0.1
+input_sw InDev1 0 1 0
+sleep 0.5
+input_sw InDev1 1 10 1
+sleep 0.1
+input_sw InDev1 1 10 0
+sleep 0.5
+input_sw InDev1 2 21 1
+sleep 0.1
+input_sw InDev1 2 21 0
+sleep 0.5
+input_sw InDev1 3 1 1
+sleep 0.1
+input_sw InDev1 3 1 0
+sleep 0.5
+input_sw InDev2 0 1 1
+sleep 0.1
+input_sw InDev2 0 1 0
+sleep 0.5
+input_sw InDev2 1 1 1
+sleep 0.1
+input_sw InDev2 1 1 0
+sleep 0.5
+# delete and change assign
+## same assign (NOP, but change to general assign)
+input_add InDev2 0 test-client@1
+## same assign (NOP, but change to fixed assign)
+input_add InDev2 0 test-client@1 1
+## change assign
+input_add InDev2 1 test-client@2
+## delete assign
+input_del InDev1 1 test-client@1
+## delete but not assign
+input_del InDev2 1 test-client@1
+## switch input event
+input_sw InDev2 0 1 1
+sleep 0.1
+input_sw InDev2 0 1 0
+sleep 0.1
+input_sw InDev2 1 1 1
+sleep 0.1
+input_sw InDev2 1 1 0
+sleep 0.1
+input_sw InDev1 3 1 1
+sleep 0.1
+input_sw InDev1 3 1 0
+sleep 1
+# delete all assign without fixed assign(fixed = InDev2.0)
+input_del @ -1 @
+sleep 2
+#
+kill test-client@1
+sleep 0.5
+#
+launch ../tests/test-client @1 -color=0xffff2020 -postsleep=90 < ../tests/testdata/cl_surface3.dat 2> ../tests/testlog/test-client4.log
+sleep 0.5
+layer test-client@1 101
+move test-client@1 100 200
+show test-client@1
+#
+input_sw InDev2 0 1 1
+sleep 0.1
+input_sw InDev2 0 1 0
+sleep 2
+#
+kill test-client@1
+sleep 0.5
+kill test-client@2
+sleep 0.5
+kill test-client@3
+sleep 0.5
+#
+#      2. End of Test
+bye
+
diff --git a/tests/testdata/hs_layer.dat b/tests/testdata/hs_layer.dat
new file mode 100644 (file)
index 0000000..f2dbbbe
--- /dev/null
@@ -0,0 +1,42 @@
+#      Test for Weston IVI Plugin for HomeScreen(SystemController)
+#      Surface Layer Change
+#
+#      1. Set Layer
+launch ../tests/test-eflapp @1 -color=0xff2040ff > ../tests/testlog/test-eflapp1.log
+sleep 0.5
+layer test-eflapp@1 101
+move test-eflapp@1 100 200
+show test-eflapp@1
+sleep 0.5
+
+launch ../tests/test-eflapp @2 -color=0xff20ff40 > ../tests/testlog/test-eflapp2.log
+sleep 0.5
+layer test-eflapp@2 103
+move test-eflapp@2 200 300
+show test-eflapp@2
+sleep 0.5
+
+launch ../tests/test-eflapp @3 -color=0xffff2040 > ../tests/testlog/test-eflapp3.log
+sleep 0.5
+layer test-eflapp@3 102
+move test-eflapp@3 300 400
+show test-eflapp@3
+sleep 2
+
+#      2. Layer Change
+layer test-eflapp@1 105
+sleep 2
+layer test-eflapp@2 100
+sleep 2
+#
+#      3. kill eflapp's
+kill test-eflapp@1
+sleep 0.5
+kill test-eflapp@2
+sleep 0.5
+kill test-eflapp@3
+sleep 0.5
+#
+#      4. End of Test
+bye
+
diff --git a/tests/testdata/hs_resize.dat b/tests/testdata/hs_resize.dat
new file mode 100644 (file)
index 0000000..5eac79e
--- /dev/null
@@ -0,0 +1,109 @@
+#      Test for Weston IVI Plugin for HomeScreen(SystemController)
+#      Resize bug test
+#
+#      1. Pure client
+launch ../tests/test-client < ../tests/testdata/cl_surface2.dat 2> ../tests/testlog/test-client2.log
+waitcreate 2
+resize test-client 150 100
+show test-client
+sleep 1
+resize test-client 300 200
+sleep 1
+resize test-client 450 300
+sleep 1
+resize test-client 600 400
+sleep 1
+resize test-client 400 250
+sleep 1
+resize test-client 200 150
+sleep 1
+resize test-client 100 50
+sleep 1
+waitdestroy 60
+sleep 1
+#
+#      2. Weston sample client
+launch /usr/bin/wayland-flower 2> ../tests/testlog/wayland-flower.log
+waitcreate 2
+move wayland-flower 200 100
+show wayland-flower
+sleep 1
+resize wayland-flower 500 400
+sleep 2
+kill wayland-flower
+sleep 1
+#
+launch /usr/bin/wayland-smoke 2> ../tests/testlog/wayland-smoke.log
+waitcreate 2
+move wayland-smoke 100 50
+show wayland-smoke
+sleep 0.3
+event XY=168,93
+event Button=Down
+sleep 0.1
+event XY=151,88
+event Button=Up
+sleep 1
+resize wayland-smoke 400 400
+sleep 0.3
+event XY=457,211
+event Button=Down
+sleep 0.1
+event XY=457,209
+event Button=Up
+sleep 1
+resize wayland-smoke 300 600
+sleep 0.4
+event XY=250,495
+event Button=Down
+sleep 0.2
+event XY=246,498
+event Button=Up
+sleep 0.8
+resize wayland-smoke 450 300
+sleep 0.3
+event XY=511,296
+event Button=Down
+sleep 0.1
+event XY=R508,300
+event Button=Up
+sleep 1
+kill wayland-smoke
+sleep 1
+#
+#      3. EFL client
+launch ../tests/test-eflapp @2 -color=0xc0ff2040 -resize 2> ../tests/testlog/test-eflapp2.log
+waitcreate 2
+layer test-eflapp@2 102
+move test-eflapp@2 20 80
+show test-eflapp@2
+sleep 0.5
+
+launch ../tests/test-eflapp @3 -color=0xb04080c0 -resize 2> ../tests/testlog/test-eflapp3.log
+waitcreate 2
+layer test-eflapp@3 102
+move test-eflapp@3 200 300
+show test-eflapp@3
+sleep 0.5
+resize test-eflapp@2 240 300
+sleep 2
+resize test-eflapp@2 100 100
+sleep 2
+resize test-eflapp@3 640 420
+sleep 2
+resize test-eflapp@3 720 520
+sleep 2
+resize test-eflapp@3 520 380
+sleep 2
+resize test-eflapp@2 520 380
+sleep 2
+#
+#      7. kill eflapp's
+kill test-eflapp@2
+sleep 0.5
+kill test-eflapp@3
+sleep 0.5
+#
+#      9. End of Test
+bye
+
diff --git a/tests/testdata/hs_resize_flower.dat b/tests/testdata/hs_resize_flower.dat
new file mode 100644 (file)
index 0000000..7c461ae
--- /dev/null
@@ -0,0 +1,25 @@
+#      Test for Weston IVI Plugin for HomeScreen(SystemController)
+#      Resize bug test (only weston sample client 'flower')
+#
+sleep 1
+#
+#      1. Weston sample client
+launch /usr/bin/wayland-flower 2> ../tests/testlog/wayland-flower.log
+waitcreate 2
+move wayland-flower 50 100
+show wayland-flower
+sleep 2
+resize wayland-flower 400 400
+sleep 2
+resize wayland-flower 200 400
+sleep 2
+resize wayland-flower 400 200
+sleep 2
+resize wayland-flower 500 300
+sleep 2
+kill wayland-flower
+sleep 1
+#
+#      2. End of Test
+bye
+
diff --git a/tests/testdata/hs_resize_native.dat b/tests/testdata/hs_resize_native.dat
new file mode 100644 (file)
index 0000000..9aab11c
--- /dev/null
@@ -0,0 +1,16 @@
+#      Test for Weston IVI Plugin for HomeScreen(SystemController)
+#      Resize bug test
+#
+#      1. Pure client
+launch ../tests/test-client < ../tests/testdata/cl_surface2.dat 2> ../tests/testlog/test-client2.log
+waitcreate 2
+show test-client
+sleep 2
+resize test-client 300 200
+sleep 2
+waitdestroy 60
+sleep 1
+#
+#      9. End of Test
+bye
+
diff --git a/tests/testdata/hs_resize_smoke.dat b/tests/testdata/hs_resize_smoke.dat
new file mode 100644 (file)
index 0000000..b128f31
--- /dev/null
@@ -0,0 +1,23 @@
+#      Test for Weston IVI Plugin for HomeScreen(SystemController)
+#      Resize bug test(smoke)
+#
+launch /usr/bin/wayland-smoke 2> ../tests/testlog/wayland-smoke.log
+waitcreate 2
+move wayland-smoke 100 50
+show wayland-smoke
+sleep 1
+resize wayland-smoke 400 400
+sleep 2
+resize wayland-smoke 600 300
+sleep 2
+resize wayland-smoke 300 600
+sleep 2
+resize wayland-smoke 100 300
+sleep 2
+resize wayland-smoke 300 100
+sleep 2
+kill wayland-smoke
+sleep 1
+#
+bye
+
diff --git a/tests/testdata/hs_resize_smoke2.dat b/tests/testdata/hs_resize_smoke2.dat
new file mode 100644 (file)
index 0000000..1309f67
--- /dev/null
@@ -0,0 +1,23 @@
+#      Test for Weston IVI Plugin for HomeScreen(SystemController)
+#      Resize bug test(smoke)
+#
+launch /usr/bin/wayland-smoke 2> ../tests/testlog/wayland-smoke.log
+waitcreate 2
+move wayland-smoke 100 50
+show wayland-smoke
+sleep 2
+resize wayland-smoke 100 100
+sleep 2
+resize wayland-smoke 100 50
+sleep 2
+resize wayland-smoke 50 100
+sleep 2
+resize wayland-smoke 100 300
+sleep 2
+resize wayland-smoke 300 100
+sleep 1
+kill wayland-smoke
+sleep 1
+#
+bye
+
diff --git a/tests/testdata/hs_resize_smoke_xm.dat b/tests/testdata/hs_resize_smoke_xm.dat
new file mode 100644 (file)
index 0000000..98c8b3a
--- /dev/null
@@ -0,0 +1,21 @@
+#      Test for Weston IVI Plugin for HomeScreen(SystemController)
+#      Resize bug test(smoke)
+#
+launch /usr/bin/wayland-smoke 2> ../tests/testlog/wayland-smoke.log
+waitcreate 2
+move wayland-smoke 100 50
+show wayland-smoke
+sleep 2
+resize wayland-smoke 50 400
+sleep 2
+resize wayland-smoke 100 300
+sleep 2
+resize wayland-smoke 25 500
+sleep 2
+resize wayland-smoke 150 200
+sleep 2
+kill wayland-smoke
+sleep 1
+#
+bye
+
diff --git a/tests/testdata/hs_resize_smoke_xym.dat b/tests/testdata/hs_resize_smoke_xym.dat
new file mode 100644 (file)
index 0000000..83c531e
--- /dev/null
@@ -0,0 +1,25 @@
+#      Test for Weston IVI Plugin for HomeScreen(SystemController)
+#      Resize bug test(smoke)
+#
+launch /usr/bin/wayland-smoke 2> ../tests/testlog/wayland-smoke.log
+waitcreate 2
+move wayland-smoke 100 50
+show wayland-smoke
+sleep 2
+resize wayland-smoke 150 150
+sleep 2
+resize wayland-smoke 100 100
+sleep 2
+resize wayland-smoke 50 100
+sleep 2
+resize wayland-smoke 100 50
+sleep 2
+resize wayland-smoke 100 150
+sleep 2
+resize wayland-smoke 150 100
+sleep 2
+kill wayland-smoke
+sleep 1
+#
+bye
+
diff --git a/tests/testdata/hs_resize_smoke_ym.dat b/tests/testdata/hs_resize_smoke_ym.dat
new file mode 100644 (file)
index 0000000..5a2cc69
--- /dev/null
@@ -0,0 +1,19 @@
+#      Test for Weston IVI Plugin for HomeScreen(SystemController)
+#      Resize bug test(smoke)
+#
+launch /usr/bin/wayland-smoke 2> ../tests/testlog/wayland-smoke.log
+waitcreate 2
+move wayland-smoke 100 50
+show wayland-smoke
+sleep 2
+resize wayland-smoke 300 100
+sleep 2
+resize wayland-smoke 400 50
+sleep 2
+resize wayland-smoke 200 150
+sleep 2
+kill wayland-smoke
+sleep 1
+#
+bye
+
diff --git a/tests/testdata/hs_sleep.dat b/tests/testdata/hs_sleep.dat
new file mode 100644 (file)
index 0000000..97048c7
--- /dev/null
@@ -0,0 +1,8 @@
+#      Test for Weston IVI Plugin for HomeScreen(SystemController)
+#      Examination to operate only the program of the home screen.
+#
+#      1. Sleep 3600 sec
+sleep 3600
+#      2. End of Test
+bye
+
diff --git a/tests/testlog/event_log.log b/tests/testlog/event_log.log
new file mode 100644 (file)
index 0000000..021b5c9
--- /dev/null
@@ -0,0 +1,72 @@
+[16:40:46.552@28884] ## created event device ico_test_device
+[16:40:46.561@28884] 1.event device(/dev/input/event0) is Power Button
+[16:40:46.567@28884] 2.event device(/dev/input/event1) is Power Button
+[16:40:46.571@28884] 3.event device(/dev/input/event2) is Video Bus
+[16:40:46.577@28884] 4.event device(/dev/input/event3) is CHICONY USB Keyboard
+[16:40:46.582@28884] 5.event device(/dev/input/event4) is CHICONY USB Keyboard
+[16:40:46.592@28884] 6.event device(/dev/input/event5) is HDA Intel PCH Line
+[16:40:46.602@28884] 7.event device(/dev/input/event6) is HDA Intel PCH Line Out
+[16:40:46.607@28884] 8.event device(/dev/input/event7) is Logitech Logitech USB Optical Mouse
+[16:40:46.612@28884] 9.event device(/dev/input/event8) is C-Media Electronics Inc. USB Audio Device
+[16:40:46.622@28884] 10.event device(/dev/input/event9) is UVC Camera (046d:0825)
+[16:40:46.632@28884] 11.event device(/dev/input/event10) is ico_test_device
+[16:41:10.316@28884] Send Event ABS_X=168      # 1366875670.316
+[16:41:10.316@28884] Send Event ABS_Y=93       # 1366875670.317
+[16:41:10.337@28884] Send Event BTN_LEFT=Down  # 1366875670.337
+[16:41:10.477@28884] Send Event ABS_X=151      # 1366875670.477
+[16:41:10.477@28884] Send Event ABS_Y=88       # 1366875670.477
+[16:41:10.497@28884] Send Event BTN_LEFT=Up    # 1366875670.497
+[16:41:11.883@28884] Send Event ABS_X=457      # 1366875671.883
+[16:41:11.883@28884] Send Event ABS_Y=211      # 1366875671.883
+[16:41:11.903@28884] Send Event BTN_LEFT=Down  # 1366875671.903
+[16:41:12.044@28884] Send Event ABS_X=457      # 1366875672.044
+[16:41:12.044@28884] Send Event ABS_Y=209      # 1366875672.044
+[16:41:12.064@28884] Send Event BTN_LEFT=Up    # 1366875672.064
+[16:41:13.551@28884] Send Event ABS_X=250      # 1366875673.551
+[16:41:13.551@28884] Send Event ABS_Y=495      # 1366875673.551
+[16:41:13.571@28884] Send Event BTN_LEFT=Down  # 1366875673.571
+[16:41:13.813@28884] Send Event ABS_X=246      # 1366875673.813
+[16:41:13.813@28884] Send Event ABS_Y=498      # 1366875673.813
+[16:41:13.833@28884] Send Event BTN_LEFT=Up    # 1366875673.833
+[16:41:15.019@28884] Send Event ABS_X=511      # 1366875675.019
+[16:41:15.019@28884] Send Event ABS_Y=296      # 1366875675.019
+[16:41:15.039@28884] Send Event BTN_LEFT=Down  # 1366875675.039
+[16:41:15.180@28884] Send Event ABS_X=0        # 1366875675.180
+[16:41:15.180@28884] Send Event ABS_Y=300      # 1366875675.180
+[16:41:15.200@28884] Send Event BTN_LEFT=Up    # 1366875675.200
+[16:41:51.295@28884] Send Event ABS_X=240      # 1366875711.295
+[16:41:51.295@28884] Send Event ABS_Y=303      # 1366875711.295
+[16:41:51.315@28884] Send Event BTN_LEFT=Down  # 1366875711.315
+[16:41:51.456@28884] Send Event ABS_X=233      # 1366875711.456
+[16:41:51.456@28884] Send Event ABS_Y=289      # 1366875711.456
+[16:41:51.476@28884] Send Event BTN_LEFT=Up    # 1366875711.476
+[16:41:53.209@28884] Send Event ABS_X=625      # 1366875713.209
+[16:41:53.209@28884] Send Event ABS_Y=555      # 1366875713.209
+[16:41:53.229@28884] Send Event BTN_LEFT=Down  # 1366875713.229
+[16:41:53.370@28884] Send Event ABS_X=623      # 1366875713.370
+[16:41:53.370@28884] Send Event ABS_Y=557      # 1366875713.370
+[16:41:53.390@28884] Send Event BTN_LEFT=Up    # 1366875713.390
+[16:41:55.123@28884] Send Event ABS_X=848      # 1366875715.123
+[16:41:55.123@28884] Send Event ABS_Y=663      # 1366875715.123
+[16:41:55.143@28884] Send Event BTN_LEFT=Down  # 1366875715.143
+[16:41:55.284@28884] Send Event ABS_X=845      # 1366875715.284
+[16:41:55.284@28884] Send Event ABS_Y=669      # 1366875715.284
+[16:41:55.304@28884] Send Event BTN_LEFT=Up    # 1366875715.304
+[16:41:55.907@28884] Send Event ABS_X=719      # 1366875715.907
+[16:41:55.907@28884] Send Event ABS_Y=643      # 1366875715.907
+[16:41:55.927@28884] Send Event BTN_LEFT=Down  # 1366875715.927
+[16:41:56.068@28884] Send Event ABS_X=720      # 1366875716.068
+[16:41:56.068@28884] Send Event ABS_Y=644      # 1366875716.068
+[16:41:56.088@28884] Send Event BTN_LEFT=Up    # 1366875716.088
+[16:41:56.992@28884] Send Event ABS_X=858      # 1366875716.992
+[16:41:56.992@28884] Send Event ABS_Y=555      # 1366875716.992
+[16:41:57.012@28884] Send Event BTN_LEFT=Down  # 1366875717.012
+[16:41:57.153@28884] Send Event ABS_X=0        # 1366875717.153
+[16:41:57.153@28884] Send Event ABS_Y=557      # 1366875717.153
+[16:41:57.173@28884] Send Event BTN_LEFT=Up    # 1366875717.173
+[16:41:58.077@28884] Send Event ABS_X=765      # 1366875718.077
+[16:41:58.077@28884] Send Event ABS_Y=644      # 1366875718.077
+[16:41:58.097@28884] Send Event BTN_LEFT=Down  # 1366875718.097
+[16:41:58.237@28884] Send Event ABS_X=762      # 1366875718.237
+[16:41:58.237@28884] Send Event ABS_Y=645      # 1366875718.238
+[16:41:58.258@28884] Send Event BTN_LEFT=Up    # 1366875718.258
diff --git a/tests/testlog/test-client01.log b/tests/testlog/test-client01.log
new file mode 100644 (file)
index 0000000..712082a
--- /dev/null
@@ -0,0 +1,65 @@
+[16:40:48.819@28893] CLIENT: handle_global: interface=<wl_display> id=1
+[16:40:48.820@28893] CLIENT: handle_global: interface=<wl_compositor> id=2
+[16:40:48.820@28893] CLIENT: handle_global: interface=<screenshooter> id=3
+[16:40:48.820@28893] CLIENT: handle_global: interface=<text_cursor_position> id=4
+[16:40:48.820@28893] CLIENT: handle_global: interface=<text_model_factory> id=5
+[16:40:48.820@28893] CLIENT: handle_global: interface=<wl_data_device_manager> id=6
+[16:40:48.820@28893] CLIENT: handle_global: interface=<wl_shm> id=7
+[16:40:48.820@28893] CLIENT: handle_global: interface=<wl_output> id=8
+[16:40:48.820@28893] CLIENT: created output global 0x8960c28
+[16:40:48.820@28893] CLIENT: handle_global: interface=<wl_drm> id=9
+[16:40:48.820@28893] CLIENT: handle_global: interface=<wl_seat> id=10
+[16:40:48.820@28893] CLIENT: handle_global: interface=<input_method> id=11
+[16:40:48.820@28893] CLIENT: handle_global: interface=<wl_shell> id=12
+[16:40:48.820@28893] CLIENT: handle_global: interface=<ico_ivi_shell> id=13
+[16:40:48.820@28893] CLIENT: handle_global: interface=<ico_window_mgr> id=14
+[16:40:48.820@28893] CLIENT: created window_mgr global 0x8960d40
+[16:40:48.820@28893] CLIENT: handle_global: interface=<ico_input_mgr_control> id=15
+[16:40:48.820@28893] CLIENT: handle_global: interface=<ico_input_mgr_device> id=16
+[16:40:48.820@28893] CLIENT: handle_global: interface=<ico_exinput> id=17
+[16:40:48.820@28893] CLIENT: created exinput global 0x8960c70
+[16:40:48.840@28893] CLIENT: # Test for Weston IVI Plugin for Native Application
+[16:40:48.840@28893] CLIENT: Event[handle_geometry] x/y=0/0 p.w/h=340/270 trans=0
+[16:40:48.840@28893] CLIENT: Event[handle_mode] x/y=1280/1024 flags=00000003 refresh=60020
+[16:40:48.840@28893] CLIENT: Event[handle_mode] x/y=1280/1024 flags=00000000 refresh=75025
+[16:40:48.840@28893] CLIENT: Event[handle_mode] x/y=1280/960 flags=00000000 refresh=75044
+[16:40:48.840@28893] CLIENT: Event[handle_mode] x/y=1280/960 flags=00000000 refresh=60000
+[16:40:48.840@28893] CLIENT: Event[handle_mode] x/y=1152/864 flags=00000000 refresh=75000
+[16:40:48.840@28893] CLIENT: Event[handle_mode] x/y=1024/768 flags=00000000 refresh=75076
+[16:40:48.840@28893] CLIENT: Event[handle_mode] x/y=1024/768 flags=00000000 refresh=70069
+[16:40:48.840@28893] CLIENT: Event[handle_mode] x/y=1024/768 flags=00000000 refresh=60004
+[16:40:48.840@28893] CLIENT: Event[handle_mode] x/y=832/624 flags=00000000 refresh=74551
+[16:40:48.840@28893] CLIENT: Event[handle_mode] x/y=800/600 flags=00000000 refresh=72188
+[16:40:48.840@28893] CLIENT: Event[handle_mode] x/y=800/600 flags=00000000 refresh=75000
+[16:40:48.840@28893] CLIENT: Event[handle_mode] x/y=800/600 flags=00000000 refresh=60317
+[16:40:48.840@28893] CLIENT: Event[handle_mode] x/y=800/600 flags=00000000 refresh=56250
+[16:40:48.840@28893] CLIENT: Event[handle_mode] x/y=640/480 flags=00000000 refresh=72809
+[16:40:48.840@28893] CLIENT: Event[handle_mode] x/y=640/480 flags=00000000 refresh=75000
+[16:40:48.840@28893] CLIENT: Event[handle_mode] x/y=640/480 flags=00000000 refresh=66667
+[16:40:48.840@28893] CLIENT: Event[handle_mode] x/y=640/480 flags=00000000 refresh=60000
+[16:40:48.840@28893] CLIENT: Event[handle_mode] x/y=720/400 flags=00000000 refresh=70082
+[16:40:48.860@28893] CLIENT: # Surface Create and Exit
+[16:40:48.881@28893] CLIENT: #
+[16:40:48.881@28893] CLIENT: got keyboard keymap
+[16:40:48.901@28893] CLIENT: # 1. Create Surface
+[16:40:48.921@28893] CLIENT: create-surface
+[16:40:48.921@28893] CLIENT: create surface 12 shell=089602b0
+[16:40:49.021@28893] CLIENT: got keyboard modifier
+[16:40:49.021@28893] CLIENT: got pointer enter (-16284,-16284), surface 0x8960288
+[16:40:49.054@28893] CLIENT: created egl_surface 08a088a0
+[16:40:49.074@28893] CLIENT: # 2. Sleep 2 sec with color change
+[16:40:49.074@28893] CLIENT: got pointer leave, surface 0x8960288
+[16:40:49.094@28893] CLIENT: sleep 0.4
+[16:40:49.395@28893] CLIENT: got surface enter, output 0x8960c28
+[16:40:49.395@28893] CLIENT: got keyboard modifier
+[16:40:49.395@28893] CLIENT: got pointer enter (100,100), surface 0x8960288
+[16:40:49.516@28893] CLIENT: clear-surface 0x80ff2020
+[16:40:49.536@28893] CLIENT: sleep 0.6
+[16:40:50.159@28893] CLIENT: clear-surface 0xb020ff20
+[16:40:50.180@28893] CLIENT: sleep 0.6
+[16:40:50.802@28893] CLIENT: clear-surface 0xe02020ff
+[16:40:50.823@28893] CLIENT: sleep 0.6
+[16:40:51.445@28893] CLIENT: clear-surface 0xff808080
+[16:40:51.466@28893] CLIENT: sleep 0.6
+[16:40:52.088@28893] CLIENT: # 3. End of this Application (exit)
+[16:40:52.108@28893] CLIENT: bye
diff --git a/tests/testlog/test-client02.log b/tests/testlog/test-client02.log
new file mode 100644 (file)
index 0000000..a75ac55
--- /dev/null
@@ -0,0 +1,70 @@
+[16:40:53.243@28908] CLIENT: handle_global: interface=<wl_display> id=1
+[16:40:53.243@28908] CLIENT: handle_global: interface=<wl_compositor> id=2
+[16:40:53.243@28908] CLIENT: handle_global: interface=<screenshooter> id=3
+[16:40:53.243@28908] CLIENT: handle_global: interface=<text_cursor_position> id=4
+[16:40:53.243@28908] CLIENT: handle_global: interface=<text_model_factory> id=5
+[16:40:53.243@28908] CLIENT: handle_global: interface=<wl_data_device_manager> id=6
+[16:40:53.243@28908] CLIENT: handle_global: interface=<wl_shm> id=7
+[16:40:53.243@28908] CLIENT: handle_global: interface=<wl_output> id=8
+[16:40:53.243@28908] CLIENT: created output global 0x9835c28
+[16:40:53.243@28908] CLIENT: handle_global: interface=<wl_drm> id=9
+[16:40:53.243@28908] CLIENT: handle_global: interface=<wl_seat> id=10
+[16:40:53.243@28908] CLIENT: handle_global: interface=<input_method> id=11
+[16:40:53.243@28908] CLIENT: handle_global: interface=<wl_shell> id=12
+[16:40:53.243@28908] CLIENT: handle_global: interface=<ico_ivi_shell> id=13
+[16:40:53.243@28908] CLIENT: handle_global: interface=<ico_window_mgr> id=14
+[16:40:53.244@28908] CLIENT: created window_mgr global 0x9835d40
+[16:40:53.244@28908] CLIENT: handle_global: interface=<ico_input_mgr_control> id=15
+[16:40:53.244@28908] CLIENT: handle_global: interface=<ico_input_mgr_device> id=16
+[16:40:53.244@28908] CLIENT: handle_global: interface=<ico_exinput> id=17
+[16:40:53.244@28908] CLIENT: created exinput global 0x9835c70
+[16:40:53.264@28908] CLIENT: # Test for Weston IVI Plugin for Native Application
+[16:40:53.264@28908] CLIENT: Event[handle_geometry] x/y=0/0 p.w/h=340/270 trans=0
+[16:40:53.264@28908] CLIENT: Event[handle_mode] x/y=1280/1024 flags=00000003 refresh=60020
+[16:40:53.264@28908] CLIENT: Event[handle_mode] x/y=1280/1024 flags=00000000 refresh=75025
+[16:40:53.264@28908] CLIENT: Event[handle_mode] x/y=1280/960 flags=00000000 refresh=75044
+[16:40:53.264@28908] CLIENT: Event[handle_mode] x/y=1280/960 flags=00000000 refresh=60000
+[16:40:53.264@28908] CLIENT: Event[handle_mode] x/y=1152/864 flags=00000000 refresh=75000
+[16:40:53.264@28908] CLIENT: Event[handle_mode] x/y=1024/768 flags=00000000 refresh=75076
+[16:40:53.264@28908] CLIENT: Event[handle_mode] x/y=1024/768 flags=00000000 refresh=70069
+[16:40:53.264@28908] CLIENT: Event[handle_mode] x/y=1024/768 flags=00000000 refresh=60004
+[16:40:53.264@28908] CLIENT: Event[handle_mode] x/y=832/624 flags=00000000 refresh=74551
+[16:40:53.264@28908] CLIENT: Event[handle_mode] x/y=800/600 flags=00000000 refresh=72188
+[16:40:53.264@28908] CLIENT: Event[handle_mode] x/y=800/600 flags=00000000 refresh=75000
+[16:40:53.264@28908] CLIENT: Event[handle_mode] x/y=800/600 flags=00000000 refresh=60317
+[16:40:53.264@28908] CLIENT: Event[handle_mode] x/y=800/600 flags=00000000 refresh=56250
+[16:40:53.264@28908] CLIENT: Event[handle_mode] x/y=640/480 flags=00000000 refresh=72809
+[16:40:53.264@28908] CLIENT: Event[handle_mode] x/y=640/480 flags=00000000 refresh=75000
+[16:40:53.264@28908] CLIENT: Event[handle_mode] x/y=640/480 flags=00000000 refresh=66667
+[16:40:53.264@28908] CLIENT: Event[handle_mode] x/y=640/480 flags=00000000 refresh=60000
+[16:40:53.264@28908] CLIENT: Event[handle_mode] x/y=720/400 flags=00000000 refresh=70082
+[16:40:53.284@28908] CLIENT: # Surface Create and Exit
+[16:40:53.304@28908] CLIENT: #
+[16:40:53.304@28908] CLIENT: got keyboard keymap
+[16:40:53.325@28908] CLIENT: # 1. Create Surface
+[16:40:53.345@28908] CLIENT: create-surface
+[16:40:53.345@28908] CLIENT: create surface 12 shell=098352b0
+[16:40:53.445@28908] CLIENT: got keyboard modifier
+[16:40:53.445@28908] CLIENT: got pointer enter (-16284,-16284), surface 0x9835288
+[16:40:53.818@28908] CLIENT: created egl_surface 098dd8a0
+[16:40:53.838@28908] CLIENT: # 2. Sleep 10 sec
+[16:40:53.838@28908] CLIENT: shell_surface_configure: surface=098352b0 edg=a, width=600 height=400
+[16:40:53.839@28908] CLIENT: got pointer leave, surface 0x9835288
+[16:40:53.859@28908] CLIENT: sleep 8
+[16:40:53.859@28908] CLIENT: shell_surface_configure: surface=098352b0 edg=a, width=600 height=400
+[16:40:53.859@28908] CLIENT: got surface enter, output 0x9835c28
+[16:40:54.903@28908] CLIENT: shell_surface_configure: surface=098352b0 edg=a, width=600 height=400
+[16:40:55.445@28908] CLIENT: shell_surface_configure: surface=098352b0 edg=a, width=600 height=400
+[16:40:55.987@28908] CLIENT: shell_surface_configure: surface=098352b0 edg=a, width=600 height=400
+[16:40:56.529@28908] CLIENT: shell_surface_configure: surface=098352b0 edg=a, width=600 height=400
+[16:40:57.071@28908] CLIENT: got surface leave, output 0x9835c28
+[16:40:58.115@28908] CLIENT: shell_surface_configure: surface=098352b0 edg=a, width=600 height=400
+[16:40:58.136@28908] CLIENT: shell_surface_configure: surface=098352b0 edg=a, width=150 height=100
+[16:40:58.156@28908] CLIENT: got surface enter, output 0x9835c28
+[16:40:58.798@28908] CLIENT: shell_surface_configure: surface=098352b0 edg=a, width=300 height=200
+[16:40:59.441@28908] CLIENT: shell_surface_configure: surface=098352b0 edg=a, width=450 height=300
+[16:41:00.083@28908] CLIENT: shell_surface_configure: surface=098352b0 edg=a, width=600 height=400
+[16:41:00.726@28908] CLIENT: shell_surface_configure: surface=098352b0 edg=a, width=400 height=250
+[16:41:01.368@28908] CLIENT: shell_surface_configure: surface=098352b0 edg=a, width=200 height=150
+[16:41:01.911@28908] CLIENT: # 3. End of this Application (exit)
+[16:41:01.931@28908] CLIENT: bye
diff --git a/tests/testlog/test-client11.log b/tests/testlog/test-client11.log
new file mode 100644 (file)
index 0000000..a4fc7bb
--- /dev/null
@@ -0,0 +1,70 @@
+[16:41:49.834@31986] CLIENT: handle_global: interface=<wl_display> id=1
+[16:41:49.834@31986] CLIENT: handle_global: interface=<wl_compositor> id=2
+[16:41:49.835@31986] CLIENT: handle_global: interface=<screenshooter> id=3
+[16:41:49.835@31986] CLIENT: handle_global: interface=<text_cursor_position> id=4
+[16:41:49.835@31986] CLIENT: handle_global: interface=<text_model_factory> id=5
+[16:41:49.835@31986] CLIENT: handle_global: interface=<wl_data_device_manager> id=6
+[16:41:49.835@31986] CLIENT: handle_global: interface=<wl_shm> id=7
+[16:41:49.835@31986] CLIENT: handle_global: interface=<wl_output> id=8
+[16:41:49.835@31986] CLIENT: created output global 0x845fc28
+[16:41:49.835@31986] CLIENT: handle_global: interface=<wl_drm> id=9
+[16:41:49.835@31986] CLIENT: handle_global: interface=<wl_seat> id=10
+[16:41:49.835@31986] CLIENT: handle_global: interface=<input_method> id=11
+[16:41:49.835@31986] CLIENT: handle_global: interface=<wl_shell> id=12
+[16:41:49.835@31986] CLIENT: handle_global: interface=<ico_ivi_shell> id=13
+[16:41:49.835@31986] CLIENT: handle_global: interface=<ico_window_mgr> id=14
+[16:41:49.835@31986] CLIENT: created window_mgr global 0x845fd40
+[16:41:49.835@31986] CLIENT: handle_global: interface=<ico_input_mgr_control> id=15
+[16:41:49.835@31986] CLIENT: handle_global: interface=<ico_input_mgr_device> id=16
+[16:41:49.835@31986] CLIENT: handle_global: interface=<ico_exinput> id=17
+[16:41:49.835@31986] CLIENT: created exinput global 0x845fc70
+[16:41:49.855@31986] CLIENT: # Test for Weston IVI Plugin for Native Application
+[16:41:49.855@31986] CLIENT: Event[handle_geometry] x/y=0/0 p.w/h=340/270 trans=0
+[16:41:49.855@31986] CLIENT: Event[handle_mode] x/y=1280/1024 flags=00000003 refresh=60020
+[16:41:49.855@31986] CLIENT: Event[handle_mode] x/y=1280/1024 flags=00000000 refresh=75025
+[16:41:49.855@31986] CLIENT: Event[handle_mode] x/y=1280/960 flags=00000000 refresh=75044
+[16:41:49.855@31986] CLIENT: Event[handle_mode] x/y=1280/960 flags=00000000 refresh=60000
+[16:41:49.855@31986] CLIENT: Event[handle_mode] x/y=1152/864 flags=00000000 refresh=75000
+[16:41:49.855@31986] CLIENT: Event[handle_mode] x/y=1024/768 flags=00000000 refresh=75076
+[16:41:49.855@31986] CLIENT: Event[handle_mode] x/y=1024/768 flags=00000000 refresh=70069
+[16:41:49.855@31986] CLIENT: Event[handle_mode] x/y=1024/768 flags=00000000 refresh=60004
+[16:41:49.855@31986] CLIENT: Event[handle_mode] x/y=832/624 flags=00000000 refresh=74551
+[16:41:49.855@31986] CLIENT: Event[handle_mode] x/y=800/600 flags=00000000 refresh=72188
+[16:41:49.855@31986] CLIENT: Event[handle_mode] x/y=800/600 flags=00000000 refresh=75000
+[16:41:49.855@31986] CLIENT: Event[handle_mode] x/y=800/600 flags=00000000 refresh=60317
+[16:41:49.855@31986] CLIENT: Event[handle_mode] x/y=800/600 flags=00000000 refresh=56250
+[16:41:49.855@31986] CLIENT: Event[handle_mode] x/y=640/480 flags=00000000 refresh=72809
+[16:41:49.855@31986] CLIENT: Event[handle_mode] x/y=640/480 flags=00000000 refresh=75000
+[16:41:49.855@31986] CLIENT: Event[handle_mode] x/y=640/480 flags=00000000 refresh=66667
+[16:41:49.855@31986] CLIENT: Event[handle_mode] x/y=640/480 flags=00000000 refresh=60000
+[16:41:49.855@31986] CLIENT: Event[handle_mode] x/y=720/400 flags=00000000 refresh=70082
+[16:41:49.875@31986] CLIENT: # Surface Create and Exit
+[16:41:49.896@31986] CLIENT: #
+[16:41:49.896@31986] CLIENT: got keyboard keymap
+[16:41:49.916@31986] CLIENT: # 1. Create Surface
+[16:41:49.936@31986] CLIENT: create-surface
+[16:41:49.936@31986] CLIENT: create surface 12 shell=0845f2b0
+[16:41:50.036@31986] CLIENT: got keyboard modifier
+[16:41:50.036@31986] CLIENT: got pointer enter (-16384,-16100), surface 0x845f288
+[16:41:50.716@31986] CLIENT: created egl_surface 085078a0
+[16:41:50.736@31986] CLIENT: # 2. End of this Application (exit)
+[16:41:50.736@31986] CLIENT: shell_surface_configure: surface=0845f2b0 edg=a, width=0 height=0
+[16:41:50.736@31986] CLIENT: got pointer leave, surface 0x845f288
+[16:41:50.756@31986] CLIENT: bye
+[16:41:50.756@31986] CLIENT: shell_surface_configure: surface=0845f2b0 edg=a, width=0 height=0
+[16:42:00.333@31986] CLIENT: Event[input_capabilities] device=InDev1 type=8 sw=Sw1 input=0 code=Sw1[0]
+[16:42:00.353@31986] CLIENT: Event[input_capabilities] device=InDev1 type=8 sw=Sw2 input=1 code=Up[10]
+[16:42:00.373@31986] CLIENT: Event[input_code] device=InDev1 input=1 code=Down[11]
+[16:42:00.393@31986] CLIENT: Event[input_capabilities] device=InDev1 type=8 sw=Sw3 input=2 code=Left[20]
+[16:42:00.413@31986] CLIENT: Event[input_code] device=InDev1 input=2 code=Right[21]
+[16:42:00.433@31986] CLIENT: Event[input_capabilities] device=InDev1 type=8 sw=Sw4 input=3 code=Sw4[0]
+[16:42:00.975@31986] CLIENT: Event[input_capabilities] device=InDev2 type=8 sw=Sw0 input=0 code=Sw0[0]
+[16:42:00.996@31986] CLIENT: Event[input_capabilities] device=InDev2 type=8 sw=Sw1 input=1 code=Sw1[0]
+[16:42:04.268@31986] CLIENT: Event[input_input] device=InDev1 input=1 code=10 state=1
+[16:42:04.409@31986] CLIENT: Event[input_input] device=InDev1 input=1 code=10 state=0
+[16:42:06.316@31986] CLIENT: Event[input_input] device=InDev2 input=0 code=1 state=1
+[16:42:06.456@31986] CLIENT: Event[input_input] device=InDev2 input=0 code=1 state=0
+[16:42:06.998@31986] CLIENT: Event[input_input] device=InDev2 input=1 code=1 state=1
+[16:42:07.139@31986] CLIENT: Event[input_input] device=InDev2 input=1 code=1 state=0
+[16:42:07.922@31986] CLIENT: Event[input_input] device=InDev2 input=0 code=1 state=1
+[16:42:08.062@31986] CLIENT: Event[input_input] device=InDev2 input=0 code=1 state=0
diff --git a/tests/testlog/test-client12.log b/tests/testlog/test-client12.log
new file mode 100644 (file)
index 0000000..b3ec707
--- /dev/null
@@ -0,0 +1,66 @@
+[16:41:51.749@31989] CLIENT: handle_global: interface=<wl_display> id=1
+[16:41:51.749@31989] CLIENT: handle_global: interface=<wl_compositor> id=2
+[16:41:51.749@31989] CLIENT: handle_global: interface=<screenshooter> id=3
+[16:41:51.749@31989] CLIENT: handle_global: interface=<text_cursor_position> id=4
+[16:41:51.749@31989] CLIENT: handle_global: interface=<text_model_factory> id=5
+[16:41:51.749@31989] CLIENT: handle_global: interface=<wl_data_device_manager> id=6
+[16:41:51.749@31989] CLIENT: handle_global: interface=<wl_shm> id=7
+[16:41:51.749@31989] CLIENT: handle_global: interface=<wl_output> id=8
+[16:41:51.749@31989] CLIENT: created output global 0x938fc28
+[16:41:51.749@31989] CLIENT: handle_global: interface=<wl_drm> id=9
+[16:41:51.749@31989] CLIENT: handle_global: interface=<wl_seat> id=10
+[16:41:51.749@31989] CLIENT: handle_global: interface=<input_method> id=11
+[16:41:51.749@31989] CLIENT: handle_global: interface=<wl_shell> id=12
+[16:41:51.749@31989] CLIENT: handle_global: interface=<ico_ivi_shell> id=13
+[16:41:51.749@31989] CLIENT: handle_global: interface=<ico_window_mgr> id=14
+[16:41:51.749@31989] CLIENT: created window_mgr global 0x938fd40
+[16:41:51.749@31989] CLIENT: handle_global: interface=<ico_input_mgr_control> id=15
+[16:41:51.749@31989] CLIENT: handle_global: interface=<ico_input_mgr_device> id=16
+[16:41:51.749@31989] CLIENT: handle_global: interface=<ico_exinput> id=17
+[16:41:51.749@31989] CLIENT: created exinput global 0x938fc70
+[16:41:51.769@31989] CLIENT: # Test for Weston IVI Plugin for Native Application
+[16:41:51.769@31989] CLIENT: Event[handle_geometry] x/y=0/0 p.w/h=340/270 trans=0
+[16:41:51.769@31989] CLIENT: Event[handle_mode] x/y=1280/1024 flags=00000003 refresh=60020
+[16:41:51.769@31989] CLIENT: Event[handle_mode] x/y=1280/1024 flags=00000000 refresh=75025
+[16:41:51.769@31989] CLIENT: Event[handle_mode] x/y=1280/960 flags=00000000 refresh=75044
+[16:41:51.769@31989] CLIENT: Event[handle_mode] x/y=1280/960 flags=00000000 refresh=60000
+[16:41:51.769@31989] CLIENT: Event[handle_mode] x/y=1152/864 flags=00000000 refresh=75000
+[16:41:51.769@31989] CLIENT: Event[handle_mode] x/y=1024/768 flags=00000000 refresh=75076
+[16:41:51.769@31989] CLIENT: Event[handle_mode] x/y=1024/768 flags=00000000 refresh=70069
+[16:41:51.769@31989] CLIENT: Event[handle_mode] x/y=1024/768 flags=00000000 refresh=60004
+[16:41:51.769@31989] CLIENT: Event[handle_mode] x/y=832/624 flags=00000000 refresh=74551
+[16:41:51.769@31989] CLIENT: Event[handle_mode] x/y=800/600 flags=00000000 refresh=72188
+[16:41:51.769@31989] CLIENT: Event[handle_mode] x/y=800/600 flags=00000000 refresh=75000
+[16:41:51.769@31989] CLIENT: Event[handle_mode] x/y=800/600 flags=00000000 refresh=60317
+[16:41:51.769@31989] CLIENT: Event[handle_mode] x/y=800/600 flags=00000000 refresh=56250
+[16:41:51.769@31989] CLIENT: Event[handle_mode] x/y=640/480 flags=00000000 refresh=72809
+[16:41:51.769@31989] CLIENT: Event[handle_mode] x/y=640/480 flags=00000000 refresh=75000
+[16:41:51.769@31989] CLIENT: Event[handle_mode] x/y=640/480 flags=00000000 refresh=66667
+[16:41:51.770@31989] CLIENT: Event[handle_mode] x/y=640/480 flags=00000000 refresh=60000
+[16:41:51.770@31989] CLIENT: Event[handle_mode] x/y=720/400 flags=00000000 refresh=70082
+[16:41:51.790@31989] CLIENT: # Surface Create and Exit
+[16:41:51.810@31989] CLIENT: #
+[16:41:51.810@31989] CLIENT: got keyboard keymap
+[16:41:51.830@31989] CLIENT: # 1. Create Surface
+[16:41:51.850@31989] CLIENT: create-surface
+[16:41:51.850@31989] CLIENT: create surface 12 shell=0938f2b0
+[16:41:51.950@31989] CLIENT: got keyboard modifier
+[16:41:51.950@31989] CLIENT: got pointer enter (-16229,-16110), surface 0x938f288
+[16:41:52.632@31989] CLIENT: created egl_surface 094378a0
+[16:41:52.652@31989] CLIENT: # 2. End of this Application (exit)
+[16:41:52.652@31989] CLIENT: shell_surface_configure: surface=0938f2b0 edg=a, width=0 height=0
+[16:41:52.652@31989] CLIENT: got pointer leave, surface 0x938f288
+[16:41:52.672@31989] CLIENT: bye
+[16:41:52.672@31989] CLIENT: shell_surface_configure: surface=0938f2b0 edg=a, width=0 height=0
+[16:42:00.342@31989] CLIENT: Event[input_capabilities] device=InDev1 type=8 sw=Sw1 input=0 code=Sw1[0]
+[16:42:00.362@31989] CLIENT: Event[input_capabilities] device=InDev1 type=8 sw=Sw2 input=1 code=Up[10]
+[16:42:00.382@31989] CLIENT: Event[input_code] device=InDev1 input=1 code=Down[11]
+[16:42:00.402@31989] CLIENT: Event[input_capabilities] device=InDev1 type=8 sw=Sw3 input=2 code=Left[20]
+[16:42:00.422@31989] CLIENT: Event[input_code] device=InDev1 input=2 code=Right[21]
+[16:42:00.442@31989] CLIENT: Event[input_capabilities] device=InDev1 type=8 sw=Sw4 input=3 code=Sw4[0]
+[16:42:00.984@31989] CLIENT: Event[input_capabilities] device=InDev2 type=8 sw=Sw0 input=0 code=Sw0[0]
+[16:42:01.005@31989] CLIENT: Event[input_capabilities] device=InDev2 type=8 sw=Sw1 input=1 code=Sw1[0]
+[16:42:04.960@31989] CLIENT: Event[input_input] device=InDev1 input=2 code=21 state=1
+[16:42:05.100@31989] CLIENT: Event[input_input] device=InDev1 input=2 code=21 state=0
+[16:42:08.212@31989] CLIENT: Event[input_input] device=InDev2 input=1 code=1 state=1
+[16:42:08.353@31989] CLIENT: Event[input_input] device=InDev2 input=1 code=1 state=0
diff --git a/tests/testlog/test-client13.log b/tests/testlog/test-client13.log
new file mode 100644 (file)
index 0000000..a48539f
--- /dev/null
@@ -0,0 +1,66 @@
+[16:41:53.663@31991] CLIENT: handle_global: interface=<wl_display> id=1
+[16:41:53.663@31991] CLIENT: handle_global: interface=<wl_compositor> id=2
+[16:41:53.663@31991] CLIENT: handle_global: interface=<screenshooter> id=3
+[16:41:53.663@31991] CLIENT: handle_global: interface=<text_cursor_position> id=4
+[16:41:53.663@31991] CLIENT: handle_global: interface=<text_model_factory> id=5
+[16:41:53.663@31991] CLIENT: handle_global: interface=<wl_data_device_manager> id=6
+[16:41:53.663@31991] CLIENT: handle_global: interface=<wl_shm> id=7
+[16:41:53.663@31991] CLIENT: handle_global: interface=<wl_output> id=8
+[16:41:53.663@31991] CLIENT: created output global 0x8f21c28
+[16:41:53.663@31991] CLIENT: handle_global: interface=<wl_drm> id=9
+[16:41:53.663@31991] CLIENT: handle_global: interface=<wl_seat> id=10
+[16:41:53.663@31991] CLIENT: handle_global: interface=<input_method> id=11
+[16:41:53.663@31991] CLIENT: handle_global: interface=<wl_shell> id=12
+[16:41:53.663@31991] CLIENT: handle_global: interface=<ico_ivi_shell> id=13
+[16:41:53.663@31991] CLIENT: handle_global: interface=<ico_window_mgr> id=14
+[16:41:53.663@31991] CLIENT: created window_mgr global 0x8f21d40
+[16:41:53.663@31991] CLIENT: handle_global: interface=<ico_input_mgr_control> id=15
+[16:41:53.663@31991] CLIENT: handle_global: interface=<ico_input_mgr_device> id=16
+[16:41:53.663@31991] CLIENT: handle_global: interface=<ico_exinput> id=17
+[16:41:53.663@31991] CLIENT: created exinput global 0x8f21c70
+[16:41:53.683@31991] CLIENT: # Test for Weston IVI Plugin for Native Application
+[16:41:53.683@31991] CLIENT: Event[handle_geometry] x/y=0/0 p.w/h=340/270 trans=0
+[16:41:53.683@31991] CLIENT: Event[handle_mode] x/y=1280/1024 flags=00000003 refresh=60020
+[16:41:53.683@31991] CLIENT: Event[handle_mode] x/y=1280/1024 flags=00000000 refresh=75025
+[16:41:53.683@31991] CLIENT: Event[handle_mode] x/y=1280/960 flags=00000000 refresh=75044
+[16:41:53.683@31991] CLIENT: Event[handle_mode] x/y=1280/960 flags=00000000 refresh=60000
+[16:41:53.683@31991] CLIENT: Event[handle_mode] x/y=1152/864 flags=00000000 refresh=75000
+[16:41:53.683@31991] CLIENT: Event[handle_mode] x/y=1024/768 flags=00000000 refresh=75076
+[16:41:53.683@31991] CLIENT: Event[handle_mode] x/y=1024/768 flags=00000000 refresh=70069
+[16:41:53.683@31991] CLIENT: Event[handle_mode] x/y=1024/768 flags=00000000 refresh=60004
+[16:41:53.683@31991] CLIENT: Event[handle_mode] x/y=832/624 flags=00000000 refresh=74551
+[16:41:53.683@31991] CLIENT: Event[handle_mode] x/y=800/600 flags=00000000 refresh=72188
+[16:41:53.683@31991] CLIENT: Event[handle_mode] x/y=800/600 flags=00000000 refresh=75000
+[16:41:53.683@31991] CLIENT: Event[handle_mode] x/y=800/600 flags=00000000 refresh=60317
+[16:41:53.683@31991] CLIENT: Event[handle_mode] x/y=800/600 flags=00000000 refresh=56250
+[16:41:53.683@31991] CLIENT: Event[handle_mode] x/y=640/480 flags=00000000 refresh=72809
+[16:41:53.684@31991] CLIENT: Event[handle_mode] x/y=640/480 flags=00000000 refresh=75000
+[16:41:53.684@31991] CLIENT: Event[handle_mode] x/y=640/480 flags=00000000 refresh=66667
+[16:41:53.684@31991] CLIENT: Event[handle_mode] x/y=640/480 flags=00000000 refresh=60000
+[16:41:53.684@31991] CLIENT: Event[handle_mode] x/y=720/400 flags=00000000 refresh=70082
+[16:41:53.704@31991] CLIENT: # Surface Create and Exit
+[16:41:53.724@31991] CLIENT: #
+[16:41:53.724@31991] CLIENT: got keyboard keymap
+[16:41:53.744@31991] CLIENT: # 1. Create Surface
+[16:41:53.764@31991] CLIENT: create-surface
+[16:41:53.764@31991] CLIENT: create surface 12 shell=08f212b0
+[16:41:53.864@31991] CLIENT: got keyboard modifier
+[16:41:53.864@31991] CLIENT: got pointer enter (-15969,-15856), surface 0x8f21288
+[16:41:54.548@31991] CLIENT: created egl_surface 08fc98a0
+[16:41:54.568@31991] CLIENT: # 2. End of this Application (exit)
+[16:41:54.568@31991] CLIENT: shell_surface_configure: surface=08f212b0 edg=a, width=0 height=0
+[16:41:54.568@31991] CLIENT: got pointer leave, surface 0x8f21288
+[16:41:54.588@31991] CLIENT: bye
+[16:41:54.588@31991] CLIENT: shell_surface_configure: surface=08f212b0 edg=a, width=0 height=0
+[16:42:00.330@31991] CLIENT: Event[input_capabilities] device=InDev1 type=8 sw=Sw1 input=0 code=Sw1[0]
+[16:42:00.350@31991] CLIENT: Event[input_capabilities] device=InDev1 type=8 sw=Sw2 input=1 code=Up[10]
+[16:42:00.370@31991] CLIENT: Event[input_code] device=InDev1 input=1 code=Down[11]
+[16:42:00.390@31991] CLIENT: Event[input_capabilities] device=InDev1 type=8 sw=Sw3 input=2 code=Left[20]
+[16:42:00.410@31991] CLIENT: Event[input_code] device=InDev1 input=2 code=Right[21]
+[16:42:00.431@31991] CLIENT: Event[input_capabilities] device=InDev1 type=8 sw=Sw4 input=3 code=Sw4[0]
+[16:42:00.973@31991] CLIENT: Event[input_capabilities] device=InDev2 type=8 sw=Sw0 input=0 code=Sw0[0]
+[16:42:00.993@31991] CLIENT: Event[input_capabilities] device=InDev2 type=8 sw=Sw1 input=1 code=Sw1[0]
+[16:42:05.630@31991] CLIENT: Event[input_input] device=InDev1 input=3 code=1 state=1
+[16:42:05.771@31991] CLIENT: Event[input_input] device=InDev1 input=3 code=1 state=0
+[16:42:08.501@31991] CLIENT: Event[input_input] device=InDev1 input=3 code=1 state=1
+[16:42:08.641@31991] CLIENT: Event[input_input] device=InDev1 input=3 code=1 state=0
diff --git a/tests/testlog/test-eflapp1.log b/tests/testlog/test-eflapp1.log
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/tests/testlog/test-eflapp2.log b/tests/testlog/test-eflapp2.log
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/tests/testlog/test-eflapp3.log b/tests/testlog/test-eflapp3.log
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/tests/testlog/test-eflapp4.log b/tests/testlog/test-eflapp4.log
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/tests/testlog/test-eflapp5.log b/tests/testlog/test-eflapp5.log
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/tests/testlog/test-homescreen.log b/tests/testlog/test-homescreen.log
new file mode 100644 (file)
index 0000000..6f3febf
--- /dev/null
@@ -0,0 +1,848 @@
+[16:40:48.559@28891] HOMESCREEN: handle_global: interface=<wl_display> id=1
+[16:40:48.559@28891] HOMESCREEN: handle_global: interface=<wl_compositor> id=2
+[16:40:48.559@28891] HOMESCREEN: handle_global: interface=<screenshooter> id=3
+[16:40:48.559@28891] HOMESCREEN: handle_global: interface=<text_cursor_position> id=4
+[16:40:48.559@28891] HOMESCREEN: handle_global: interface=<text_model_factory> id=5
+[16:40:48.559@28891] HOMESCREEN: handle_global: interface=<wl_data_device_manager> id=6
+[16:40:48.559@28891] HOMESCREEN: handle_global: interface=<wl_shm> id=7
+[16:40:48.559@28891] HOMESCREEN: handle_global: interface=<wl_output> id=8
+[16:40:48.559@28891] HOMESCREEN: created output global 0x9ff8c48
+[16:40:48.559@28891] HOMESCREEN: handle_global: interface=<wl_drm> id=9
+[16:40:48.560@28891] HOMESCREEN: handle_global: interface=<wl_seat> id=10
+[16:40:48.560@28891] HOMESCREEN: handle_global: interface=<input_method> id=11
+[16:40:48.560@28891] HOMESCREEN: handle_global: interface=<wl_shell> id=12
+[16:40:48.560@28891] HOMESCREEN: handle_global: interface=<ico_ivi_shell> id=13
+[16:40:48.560@28891] HOMESCREEN: handle_global: interface=<ico_window_mgr> id=14
+[16:40:48.560@28891] HOMESCREEN: created window_mgr global 0x9ff8d60
+[16:40:48.560@28891] HOMESCREEN: handle_global: interface=<ico_input_mgr_control> id=15
+[16:40:48.560@28891] HOMESCREEN: created input_mgr global 0x9ff8c90
+[16:40:48.560@28891] HOMESCREEN: handle_global: interface=<ico_input_mgr_device> id=16
+[16:40:48.560@28891] HOMESCREEN: created input_device global 0x9ff8280
+[16:40:48.560@28891] HOMESCREEN: handle_global: interface=<ico_exinput> id=17
+[16:40:48.560@28891] HOMESCREEN: created exinput global 0x9ff82a8
+[16:40:48.560@28891] HOMESCREEN: create surface = 12
+[16:40:48.660@28891] HOMESCREEN: Event[handle_geometry] x/y=0/0 p.w/h=340/270 trans=0
+[16:40:48.660@28891] HOMESCREEN: Event[handle_mode] x/y=1280/1024 flags=00000003 refresh=60020
+[16:40:48.660@28891] HOMESCREEN: Event[handle_mode] x/y=1280/1024 flags=00000000 refresh=75025
+[16:40:48.660@28891] HOMESCREEN: Event[handle_mode] x/y=1280/960 flags=00000000 refresh=75044
+[16:40:48.660@28891] HOMESCREEN: Event[handle_mode] x/y=1280/960 flags=00000000 refresh=60000
+[16:40:48.660@28891] HOMESCREEN: Event[handle_mode] x/y=1152/864 flags=00000000 refresh=75000
+[16:40:48.660@28891] HOMESCREEN: Event[handle_mode] x/y=1024/768 flags=00000000 refresh=75076
+[16:40:48.660@28891] HOMESCREEN: Event[handle_mode] x/y=1024/768 flags=00000000 refresh=70069
+[16:40:48.660@28891] HOMESCREEN: Event[handle_mode] x/y=1024/768 flags=00000000 refresh=60004
+[16:40:48.660@28891] HOMESCREEN: Event[handle_mode] x/y=832/624 flags=00000000 refresh=74551
+[16:40:48.660@28891] HOMESCREEN: Event[handle_mode] x/y=800/600 flags=00000000 refresh=72188
+[16:40:48.660@28891] HOMESCREEN: Event[handle_mode] x/y=800/600 flags=00000000 refresh=75000
+[16:40:48.660@28891] HOMESCREEN: Event[handle_mode] x/y=800/600 flags=00000000 refresh=60317
+[16:40:48.660@28891] HOMESCREEN: Event[handle_mode] x/y=800/600 flags=00000000 refresh=56250
+[16:40:48.660@28891] HOMESCREEN: Event[handle_mode] x/y=640/480 flags=00000000 refresh=72809
+[16:40:48.660@28891] HOMESCREEN: Event[handle_mode] x/y=640/480 flags=00000000 refresh=75000
+[16:40:48.660@28891] HOMESCREEN: Event[handle_mode] x/y=640/480 flags=00000000 refresh=66667
+[16:40:48.660@28891] HOMESCREEN: Event[handle_mode] x/y=640/480 flags=00000000 refresh=60000
+[16:40:48.660@28891] HOMESCREEN: Event[handle_mode] x/y=720/400 flags=00000000 refresh=70082
+[16:40:48.660@28891] HOMESCREEN: Event[window_created] new surface=00000001(app=test-homescreen)
+[16:40:48.660@28891] HOMESCREEN: Created window[00000001] (app=test-homescreen)
+[16:40:48.660@28891] HOMESCREEN: Created window[00000001] (app=test-homescreen) Visible
+[16:40:48.707@28891] HOMESCREEN: created egl_surface 0a0a0ce0
+[16:40:48.707@28891] HOMESCREEN: got pointer enter (-16284,-16284), surface 0x9ff82f8
+[16:40:48.707@28891] HOMESCREEN: got keyboard keymap
+[16:40:48.707@28891] HOMESCREEN: Event[window_configure] surface=00000001 app=test-homescreen x/y=0/0 w/h=1280/1024 hint=0
+[16:40:48.707@28891] HOMESCREEN: Event[window_visible] surface=00000001 visible=1 raise=0 hint=0
+[16:40:48.707@28891] HOMESCREEN: Event[window_configure] surface=00000001 app=test-homescreen x/y=0/0 w/h=1280/1024 hint=1
+[16:40:48.707@28891] HOMESCREEN: got surface enter, output 0x9ff8c48
+[16:40:48.727@28891] HOMESCREEN: # Test for Weston IVI Plugin for HomeScreen(SystemController)
+[16:40:48.727@28891] HOMESCREEN: Event[window_configure] surface=00000001 app=test-homescreen x/y=0/0 w/h=1280/1024 hint=1
+[16:40:48.747@28891] HOMESCREEN: # Surface Create and Destory
+[16:40:48.768@28891] HOMESCREEN: #
+[16:40:48.788@28891] HOMESCREEN: # 1. Launch Application (and app create surface)
+[16:40:48.808@28891] HOMESCREEN: launch ../tests/test-client < ../tests/testdata/cl_surface1.dat 2> ../tests/testlog/test-client01.log
+[16:40:48.934@28891] HOMESCREEN: Event[window_created] new surface=00000002(app=test-client)
+[16:40:48.934@28891] HOMESCREEN: Created window[00000002] (app=test-client)
+[16:40:48.954@28891] HOMESCREEN: got pointer leave, surface 0x9ff82f8
+[16:40:49.054@28891] HOMESCREEN: got keyboard modifier
+[16:40:49.054@28891] HOMESCREEN: got pointer enter (100,100), surface 0x9ff82f8
+[16:40:49.054@28891] HOMESCREEN: Event[window_configure] surface=00000002 app=test-client x/y=16384/16384 w/h=640/480 hint=1
+[16:40:49.336@28891] HOMESCREEN: waitcreate 2
+[16:40:49.376@28891] HOMESCREEN: show test-client
+[16:40:49.376@28891] HOMESCREEN: show(test-client,00000002)
+[16:40:49.396@28891] HOMESCREEN: sleep 2
+[16:40:49.396@28891] HOMESCREEN: Event[window_visible] surface=00000002 visible=1 raise=9 hint=0
+[16:40:49.396@28891] HOMESCREEN: got pointer leave, surface 0x9ff82f8
+[16:40:49.537@28891] HOMESCREEN: Event[window_configure] surface=00000002 app=test-client x/y=0/0 w/h=640/480 hint=1
+[16:40:50.179@28891] HOMESCREEN: Event[window_configure] surface=00000002 app=test-client x/y=0/0 w/h=640/480 hint=1
+[16:40:50.822@28891] HOMESCREEN: Event[window_configure] surface=00000002 app=test-client x/y=0/0 w/h=640/480 hint=1
+[16:40:51.425@28891] HOMESCREEN: waitdestroy 60
+[16:40:51.465@28891] HOMESCREEN: Event[window_configure] surface=00000002 app=test-client x/y=0/0 w/h=640/480 hint=1
+[16:40:52.127@28891] HOMESCREEN: Event[window_destroyed] surface=00000002
+[16:40:52.127@28891] HOMESCREEN: got keyboard modifier
+[16:40:52.127@28891] HOMESCREEN: got pointer enter (100,100), surface 0x9ff82f8
+[16:40:52.168@28891] HOMESCREEN: sleep 1
+[16:40:53.192@28891] HOMESCREEN: #
+[16:40:53.212@28891] HOMESCREEN: # 2. Launch Application and resize/move/show
+[16:40:53.232@28891] HOMESCREEN: launch ../tests/test-client < ../tests/testdata/cl_surface2.dat 2> ../tests/testlog/test-client02.log
+[16:40:53.358@28891] HOMESCREEN: Event[window_created] new surface=00000003(app=test-client)
+[16:40:53.358@28891] HOMESCREEN: Created window[00000003] (app=test-client)
+[16:40:53.358@28891] HOMESCREEN: got pointer leave, surface 0x9ff82f8
+[16:40:53.759@28891] HOMESCREEN: waitcreate 2
+[16:40:53.800@28891] HOMESCREEN: resize test-client 600 400
+[16:40:53.800@28891] HOMESCREEN: resize(test-client,00000003,600,400)
+[16:40:53.820@28891] HOMESCREEN: move test-client 300 100
+[16:40:53.820@28891] HOMESCREEN: move(test-client,00000003,300,100)
+[16:40:53.820@28891] HOMESCREEN: Event[window_configure] surface=00000003 app=test-client x/y=0/0 w/h=600/400 hint=0
+[16:40:53.820@28891] HOMESCREEN: got keyboard modifier
+[16:40:53.820@28891] HOMESCREEN: got pointer enter (100,100), surface 0x9ff82f8
+[16:40:53.820@28891] HOMESCREEN: Event[window_configure] surface=00000003 app=test-client x/y=0/0 w/h=640/480 hint=1
+[16:40:53.840@28891] HOMESCREEN: show test-client
+[16:40:53.840@28891] HOMESCREEN: show(test-client,00000003)
+[16:40:53.840@28891] HOMESCREEN: Event[window_configure] surface=00000003 app=test-client x/y=300/100 w/h=600/400 hint=0
+[16:40:53.860@28891] HOMESCREEN: sleep 1
+[16:40:53.860@28891] HOMESCREEN: Event[window_visible] surface=00000003 visible=1 raise=9 hint=0
+[16:40:54.884@28891] HOMESCREEN: move test-client 320 120
+[16:40:54.884@28891] HOMESCREEN: move(test-client,00000003,320,120)
+[16:40:54.904@28891] HOMESCREEN: sleep 0.5
+[16:40:54.905@28891] HOMESCREEN: Event[window_configure] surface=00000003 app=test-client x/y=320/120 w/h=600/400 hint=0
+[16:40:55.427@28891] HOMESCREEN: move test-client 340 140
+[16:40:55.427@28891] HOMESCREEN: move(test-client,00000003,340,140)
+[16:40:55.447@28891] HOMESCREEN: sleep 0.5
+[16:40:55.447@28891] HOMESCREEN: Event[window_configure] surface=00000003 app=test-client x/y=340/140 w/h=600/400 hint=0
+[16:40:55.969@28891] HOMESCREEN: move test-client 360 160
+[16:40:55.969@28891] HOMESCREEN: move(test-client,00000003,360,160)
+[16:40:55.989@28891] HOMESCREEN: sleep 0.5
+[16:40:55.989@28891] HOMESCREEN: Event[window_configure] surface=00000003 app=test-client x/y=360/160 w/h=600/400 hint=0
+[16:40:56.511@28891] HOMESCREEN: move test-client 380 180
+[16:40:56.511@28891] HOMESCREEN: move(test-client,00000003,380,180)
+[16:40:56.531@28891] HOMESCREEN: sleep 0.5
+[16:40:56.531@28891] HOMESCREEN: Event[window_configure] surface=00000003 app=test-client x/y=380/180 w/h=600/400 hint=0
+[16:40:57.054@28891] HOMESCREEN: hide test-client
+[16:40:57.054@28891] HOMESCREEN: hide(test-client,00000003)
+[16:40:57.074@28891] HOMESCREEN: sleep 1
+[16:40:57.074@28891] HOMESCREEN: Event[window_visible] surface=00000003 visible=0 raise=9 hint=0
+[16:40:58.098@28891] HOMESCREEN: move test-client 100 200
+[16:40:58.098@28891] HOMESCREEN: move(test-client,00000003,100,200)
+[16:40:58.118@28891] HOMESCREEN: resize test-client 150 100
+[16:40:58.118@28891] HOMESCREEN: resize(test-client,00000003,150,100)
+[16:40:58.118@28891] HOMESCREEN: Event[window_configure] surface=00000003 app=test-client x/y=100/200 w/h=600/400 hint=0
+[16:40:58.138@28891] HOMESCREEN: show test-client
+[16:40:58.138@28891] HOMESCREEN: show(test-client,00000003)
+[16:40:58.138@28891] HOMESCREEN: Event[window_configure] surface=00000003 app=test-client x/y=100/200 w/h=150/100 hint=0
+[16:40:58.158@28891] HOMESCREEN: sleep 0.6
+[16:40:58.158@28891] HOMESCREEN: Event[window_visible] surface=00000003 visible=1 raise=9 hint=0
+[16:40:58.781@28891] HOMESCREEN: resize test-client 300 200
+[16:40:58.781@28891] HOMESCREEN: resize(test-client,00000003,300,200)
+[16:40:58.801@28891] HOMESCREEN: sleep 0.6
+[16:40:58.801@28891] HOMESCREEN: Event[window_configure] surface=00000003 app=test-client x/y=100/200 w/h=300/200 hint=0
+[16:40:59.423@28891] HOMESCREEN: resize test-client 450 300
+[16:40:59.423@28891] HOMESCREEN: resize(test-client,00000003,450,300)
+[16:40:59.443@28891] HOMESCREEN: sleep 0.6
+[16:40:59.443@28891] HOMESCREEN: Event[window_configure] surface=00000003 app=test-client x/y=100/200 w/h=450/300 hint=0
+[16:41:00.066@28891] HOMESCREEN: resize test-client 600 400
+[16:41:00.066@28891] HOMESCREEN: resize(test-client,00000003,600,400)
+[16:41:00.086@28891] HOMESCREEN: sleep 0.6
+[16:41:00.086@28891] HOMESCREEN: Event[window_configure] surface=00000003 app=test-client x/y=100/200 w/h=600/400 hint=0
+[16:41:00.709@28891] HOMESCREEN: resize test-client 400 250
+[16:41:00.709@28891] HOMESCREEN: resize(test-client,00000003,400,250)
+[16:41:00.729@28891] HOMESCREEN: sleep 0.6
+[16:41:00.729@28891] HOMESCREEN: Event[window_configure] surface=00000003 app=test-client x/y=100/200 w/h=400/250 hint=0
+[16:41:01.351@28891] HOMESCREEN: resize test-client 200 150
+[16:41:01.351@28891] HOMESCREEN: resize(test-client,00000003,200,150)
+[16:41:01.371@28891] HOMESCREEN: sleep 0.6
+[16:41:01.372@28891] HOMESCREEN: Event[window_configure] surface=00000003 app=test-client x/y=100/200 w/h=200/150 hint=0
+[16:41:01.934@28891] HOMESCREEN: Event[window_destroyed] surface=00000003
+[16:41:01.994@28891] HOMESCREEN: resize test-client 100 50
+[16:41:01.994@28891] HOMESCREEN: Unknown surface(test-client) at resize command
+[16:41:02.014@28891] HOMESCREEN: sleep 1
+[16:41:03.038@28891] HOMESCREEN: waitdestroy 60
+[16:41:03.078@28891] HOMESCREEN: sleep 1
+[16:41:04.102@28891] HOMESCREEN: #
+[16:41:04.122@28891] HOMESCREEN: # 3. Launch Weston sample client
+[16:41:04.142@28891] HOMESCREEN: launch /usr/bin/wayland-flower 2> ../tests/testlog/wayland-flower.log
+[16:41:04.251@28891] HOMESCREEN: Event[window_created] new surface=00000004(app=wayland-flower)
+[16:41:04.251@28891] HOMESCREEN: Created window[00000004] (app=wayland-flower)
+[16:41:04.251@28891] HOMESCREEN: Event[window_configure] surface=00000004 app=wayland-flower x/y=0/0 w/h=200/200 hint=0
+[16:41:04.251@28891] HOMESCREEN: got pointer leave, surface 0x9ff82f8
+[16:41:04.672@28891] HOMESCREEN: waitcreate 2
+[16:41:04.712@28891] HOMESCREEN: move wayland-flower 200 100
+[16:41:04.712@28891] HOMESCREEN: move(wayland-flower,00000004,200,100)
+[16:41:04.733@28891] HOMESCREEN: show wayland-flower
+[16:41:04.733@28891] HOMESCREEN: show(wayland-flower,00000004)
+[16:41:04.733@28891] HOMESCREEN: Event[window_configure] surface=00000004 app=wayland-flower x/y=200/100 w/h=200/200 hint=0
+[16:41:04.733@28891] HOMESCREEN: got keyboard modifier
+[16:41:04.733@28891] HOMESCREEN: got pointer enter (100,100), surface 0x9ff82f8
+[16:41:04.733@28891] HOMESCREEN: Event[window_configure] surface=00000004 app=wayland-flower x/y=200/100 w/h=200/200 hint=1
+[16:41:04.753@28891] HOMESCREEN: sleep 1
+[16:41:04.753@28891] HOMESCREEN: Event[window_visible] surface=00000004 visible=1 raise=9 hint=0
+[16:41:05.776@28891] HOMESCREEN: resize wayland-flower 500 400
+[16:41:05.777@28891] HOMESCREEN: resize(wayland-flower,00000004,500,400)
+[16:41:05.797@28891] HOMESCREEN: sleep 2
+[16:41:05.797@28891] HOMESCREEN: Event[window_configure] surface=00000004 app=wayland-flower x/y=200/100 w/h=500/400 hint=0
+[16:41:05.797@28891] HOMESCREEN: Event[window_configure] surface=00000004 app=wayland-flower x/y=200/100 w/h=200/200 hint=1
+[16:41:07.824@28891] HOMESCREEN: kill wayland-flower
+[16:41:08.145@28891] HOMESCREEN: Event[window_destroyed] surface=00000004
+[16:41:08.346@28891] HOMESCREEN: sleep 1
+[16:41:09.369@28891] HOMESCREEN: #
+[16:41:09.389@28891] HOMESCREEN: launch /usr/bin/wayland-smoke 2> ../tests/testlog/wayland-smoke.log
+[16:41:09.472@28891] HOMESCREEN: Event[window_created] new surface=00000005(app=wayland-smoke)
+[16:41:09.472@28891] HOMESCREEN: Created window[00000005] (app=wayland-smoke)
+[16:41:09.472@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=0/0 w/h=200/200 hint=0
+[16:41:09.472@28891] HOMESCREEN: got pointer leave, surface 0x9ff82f8
+[16:41:09.513@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=0/0 w/h=200/200 hint=1
+[16:41:09.513@28891] HOMESCREEN: got keyboard modifier
+[16:41:09.513@28891] HOMESCREEN: got pointer enter (100,100), surface 0x9ff82f8
+[16:41:09.553@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=0/0 w/h=200/200 hint=1
+[16:41:09.914@28891] HOMESCREEN: waitcreate 2
+[16:41:09.954@28891] HOMESCREEN: move wayland-smoke 100 50
+[16:41:09.954@28891] HOMESCREEN: move(wayland-smoke,00000005,100,50)
+[16:41:09.974@28891] HOMESCREEN: show wayland-smoke
+[16:41:09.974@28891] HOMESCREEN: show(wayland-smoke,00000005)
+[16:41:09.974@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=0
+[16:41:09.994@28891] HOMESCREEN: sleep 0.3
+[16:41:09.994@28891] HOMESCREEN: Event[window_visible] surface=00000005 visible=1 raise=9 hint=0
+[16:41:09.994@28891] HOMESCREEN: got pointer leave, surface 0x9ff82f8
+[16:41:09.995@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:10.035@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:10.075@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:10.095@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:10.135@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:10.156@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:10.196@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:10.236@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:10.276@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:10.296@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:10.316@28891] HOMESCREEN: event XY=168,93
+[16:41:10.336@28891] HOMESCREEN: event Button=Down
+[16:41:10.337@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:10.357@28891] HOMESCREEN: sleep 0.1
+[16:41:10.357@28891] HOMESCREEN: Event[window_active] surface=00000005 acive=2
+[16:41:10.377@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:10.437@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:10.477@28891] HOMESCREEN: event XY=151,88
+[16:41:10.497@28891] HOMESCREEN: event Button=Up
+[16:41:10.497@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:10.517@28891] HOMESCREEN: sleep 1
+[16:41:10.538@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:10.618@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:10.678@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:10.738@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:10.799@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:10.879@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:10.919@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:10.959@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:11.019@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:11.060@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:11.100@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:11.160@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:11.180@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:11.220@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:11.260@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:11.280@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:11.321@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:11.361@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:11.381@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:11.421@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:11.441@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:11.481@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:11.521@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:11.542@28891] HOMESCREEN: resize wayland-smoke 400 400
+[16:41:11.542@28891] HOMESCREEN: resize(wayland-smoke,00000005,400,400)
+[16:41:11.542@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:11.562@28891] HOMESCREEN: sleep 0.3
+[16:41:11.562@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=400/400 hint=0
+[16:41:11.562@28891] HOMESCREEN: got keyboard modifier
+[16:41:11.562@28891] HOMESCREEN: got pointer enter (100,83), surface 0x9ff82f8
+[16:41:11.582@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:11.622@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:11.642@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:11.682@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:11.722@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:11.743@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:11.783@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:11.823@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:11.843@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:11.883@28891] HOMESCREEN: event XY=457,211
+[16:41:11.883@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:11.903@28891] HOMESCREEN: event Button=Down
+[16:41:11.903@28891] HOMESCREEN: got pointer leave, surface 0x9ff82f8
+[16:41:11.923@28891] HOMESCREEN: sleep 0.1
+[16:41:11.923@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:11.944@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:11.984@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:12.024@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:12.044@28891] HOMESCREEN: event XY=457,209
+[16:41:12.044@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:12.064@28891] HOMESCREEN: event Button=Up
+[16:41:12.084@28891] HOMESCREEN: sleep 1
+[16:41:12.084@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:12.124@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:12.145@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:12.185@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:12.225@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:12.245@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:12.285@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:12.325@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:12.345@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:12.386@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:12.426@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:12.446@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:12.486@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:12.526@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:12.546@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:12.586@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:12.627@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:12.647@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:12.687@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:12.727@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:12.747@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:12.787@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:12.828@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:12.848@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:12.888@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:12.928@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:12.948@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:12.988@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:13.029@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:13.049@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:13.089@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:13.109@28891] HOMESCREEN: resize wayland-smoke 300 600
+[16:41:13.109@28891] HOMESCREEN: resize(wayland-smoke,00000005,300,600)
+[16:41:13.109@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:13.129@28891] HOMESCREEN: sleep 0.4
+[16:41:13.129@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=300/600 hint=0
+[16:41:13.129@28891] HOMESCREEN: got keyboard modifier
+[16:41:13.129@28891] HOMESCREEN: got pointer enter (304,198), surface 0x9ff82f8
+[16:41:13.149@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:13.190@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:13.210@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:13.250@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:13.290@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:13.310@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:13.350@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:13.390@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:13.411@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:13.451@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:13.491@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:13.511@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:13.551@28891] HOMESCREEN: event XY=250,495
+[16:41:13.551@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:13.571@28891] HOMESCREEN: event Button=Down
+[16:41:13.571@28891] HOMESCREEN: got pointer motion (166,469)
+[16:41:13.591@28891] HOMESCREEN: sleep 0.2
+[16:41:13.591@28891] HOMESCREEN: Event[window_active] surface=00000001 acive=2
+[16:41:13.591@28891] HOMESCREEN: got pointer button 272 1
+[16:41:13.592@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:13.612@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:13.652@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:13.692@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:13.712@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:13.752@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:13.792@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:13.813@28891] HOMESCREEN: event XY=246,498
+[16:41:13.813@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:13.833@28891] HOMESCREEN: event Button=Up
+[16:41:13.833@28891] HOMESCREEN: got pointer motion (164,472)
+[16:41:13.853@28891] HOMESCREEN: sleep 0.8
+[16:41:13.853@28891] HOMESCREEN: got pointer button 272 0
+[16:41:13.853@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:13.913@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:13.953@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:14.014@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:14.054@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:14.114@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:14.154@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:14.215@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:14.255@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:14.315@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:14.355@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:14.416@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:14.456@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:14.516@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:14.556@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:14.596@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:14.657@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:14.677@28891] HOMESCREEN: resize wayland-smoke 450 300
+[16:41:14.677@28891] HOMESCREEN: resize(wayland-smoke,00000005,450,300)
+[16:41:14.697@28891] HOMESCREEN: sleep 0.3
+[16:41:14.697@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=450/300 hint=0
+[16:41:14.697@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:14.757@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:14.798@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:14.858@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:14.898@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:14.958@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:14.999@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:15.019@28891] HOMESCREEN: event XY=511,296
+[16:41:15.039@28891] HOMESCREEN: event Button=Down
+[16:41:15.039@28891] HOMESCREEN: got pointer leave, surface 0x9ff82f8
+[16:41:15.059@28891] HOMESCREEN: sleep 0.1
+[16:41:15.059@28891] HOMESCREEN: Event[window_active] surface=00000005 acive=2
+[16:41:15.059@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:15.079@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:15.119@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:15.160@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:15.180@28891] HOMESCREEN: event XY=R508,300
+[16:41:15.180@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:15.200@28891] HOMESCREEN: event Button=Up
+[16:41:15.220@28891] HOMESCREEN: sleep 1
+[16:41:15.220@28891] HOMESCREEN: got keyboard modifier
+[16:41:15.220@28891] HOMESCREEN: got pointer enter (0,284), surface 0x9ff82f8
+[16:41:15.240@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:15.280@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:15.320@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:15.361@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:15.381@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:15.421@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:15.461@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:15.481@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:15.521@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:15.562@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:15.582@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:15.622@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:15.682@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:15.722@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:15.762@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:15.823@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:15.863@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:15.923@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:15.964@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:16.024@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:16.064@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:16.104@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:16.144@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:16.164@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:16.205@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:16.245@28891] HOMESCREEN: kill wayland-smoke
+[16:41:16.245@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:16.265@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:16.305@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:16.326@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:16.366@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:16.426@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:16.466@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:16.507@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:16.527@28891] HOMESCREEN: Event[window_configure] surface=00000005 app=wayland-smoke x/y=100/50 w/h=200/200 hint=1
+[16:41:16.567@28891] HOMESCREEN: Event[window_destroyed] surface=00000005
+[16:41:16.768@28891] HOMESCREEN: sleep 1
+[16:41:17.792@28891] HOMESCREEN: #
+[16:41:17.812@28891] HOMESCREEN: # 4. Set Layer
+[16:41:17.832@28891] HOMESCREEN: launch ../tests/test-eflapp @1 -color=0xe02040ff > ../tests/testlog/test-eflapp1.log
+[16:41:18.018@28891] HOMESCREEN: Event[window_created] new surface=00000006(app=test-eflapp@1)
+[16:41:18.018@28891] HOMESCREEN: Created window[00000006] (app=test-eflapp@1)
+[16:41:18.038@28891] HOMESCREEN: got pointer leave, surface 0x9ff82f8
+[16:41:18.038@28891] HOMESCREEN: Event[window_configure] surface=00000006 app=test-eflapp@1 x/y=16384/16384 w/h=520/380 hint=1
+[16:41:18.360@28891] HOMESCREEN: waitcreate 2
+[16:41:18.400@28891] HOMESCREEN: layer test-eflapp@1 101
+[16:41:18.400@28891] HOMESCREEN: set_window_layer(test-eflapp@1,00000006)
+[16:41:18.420@28891] HOMESCREEN: move test-eflapp@1 100 200
+[16:41:18.420@28891] HOMESCREEN: move(test-eflapp@1,00000006,100,200)
+[16:41:18.420@28891] HOMESCREEN: got keyboard modifier
+[16:41:18.420@28891] HOMESCREEN: got pointer enter (0,284), surface 0x9ff82f8
+[16:41:18.420@28891] HOMESCREEN: Event[window_configure] surface=00000006 app=test-eflapp@1 x/y=16384/16384 w/h=520/380 hint=1
+[16:41:18.440@28891] HOMESCREEN: show test-eflapp@1
+[16:41:18.440@28891] HOMESCREEN: show(test-eflapp@1,00000006)
+[16:41:18.440@28891] HOMESCREEN: Event[window_configure] surface=00000006 app=test-eflapp@1 x/y=100/200 w/h=0/0 hint=0
+[16:41:18.461@28891] HOMESCREEN: sleep 0.5
+[16:41:18.461@28891] HOMESCREEN: Event[window_visible] surface=00000006 visible=1 raise=9 hint=0
+[16:41:18.983@28891] HOMESCREEN: 
+[16:41:19.003@28891] HOMESCREEN: launch ../tests/test-eflapp @2 -color=0xd020ff40 > ../tests/testlog/test-eflapp2.log
+[16:41:19.189@28891] HOMESCREEN: Event[window_created] new surface=00000007(app=test-eflapp@2)
+[16:41:19.190@28891] HOMESCREEN: Created window[00000007] (app=test-eflapp@2)
+[16:41:19.210@28891] HOMESCREEN: got pointer leave, surface 0x9ff82f8
+[16:41:19.210@28891] HOMESCREEN: Event[window_configure] surface=00000007 app=test-eflapp@2 x/y=16384/16384 w/h=520/380 hint=1
+[16:41:19.531@28891] HOMESCREEN: waitcreate 2
+[16:41:19.571@28891] HOMESCREEN: layer test-eflapp@2 103
+[16:41:19.571@28891] HOMESCREEN: set_window_layer(test-eflapp@2,00000007)
+[16:41:19.592@28891] HOMESCREEN: move test-eflapp@2 200 300
+[16:41:19.592@28891] HOMESCREEN: move(test-eflapp@2,00000007,200,300)
+[16:41:19.592@28891] HOMESCREEN: got keyboard modifier
+[16:41:19.592@28891] HOMESCREEN: got pointer enter (0,284), surface 0x9ff82f8
+[16:41:19.592@28891] HOMESCREEN: Event[window_configure] surface=00000007 app=test-eflapp@2 x/y=16384/16384 w/h=520/380 hint=1
+[16:41:19.612@28891] HOMESCREEN: show test-eflapp@2
+[16:41:19.612@28891] HOMESCREEN: show(test-eflapp@2,00000007)
+[16:41:19.612@28891] HOMESCREEN: Event[window_configure] surface=00000007 app=test-eflapp@2 x/y=200/300 w/h=0/0 hint=0
+[16:41:19.632@28891] HOMESCREEN: sleep 0.5
+[16:41:19.632@28891] HOMESCREEN: Event[window_visible] surface=00000007 visible=1 raise=9 hint=0
+[16:41:20.154@28891] HOMESCREEN: 
+[16:41:20.174@28891] HOMESCREEN: launch ../tests/test-eflapp @3 -color=0xc0ff2040 > ../tests/testlog/test-eflapp3.log
+[16:41:20.358@28891] HOMESCREEN: Event[window_created] new surface=00000008(app=test-eflapp@3)
+[16:41:20.358@28891] HOMESCREEN: Created window[00000008] (app=test-eflapp@3)
+[16:41:20.358@28891] HOMESCREEN: got pointer leave, surface 0x9ff82f8
+[16:41:20.358@28891] HOMESCREEN: Event[window_configure] surface=00000008 app=test-eflapp@3 x/y=16384/16384 w/h=520/380 hint=1
+[16:41:20.699@28891] HOMESCREEN: waitcreate 2
+[16:41:20.739@28891] HOMESCREEN: layer test-eflapp@3 102
+[16:41:20.739@28891] HOMESCREEN: set_window_layer(test-eflapp@3,00000008)
+[16:41:20.759@28891] HOMESCREEN: move test-eflapp@3 300 400
+[16:41:20.759@28891] HOMESCREEN: move(test-eflapp@3,00000008,300,400)
+[16:41:20.759@28891] HOMESCREEN: got keyboard modifier
+[16:41:20.759@28891] HOMESCREEN: got pointer enter (0,284), surface 0x9ff82f8
+[16:41:20.759@28891] HOMESCREEN: Event[window_configure] surface=00000008 app=test-eflapp@3 x/y=16384/16384 w/h=520/380 hint=1
+[16:41:20.779@28891] HOMESCREEN: show test-eflapp@3
+[16:41:20.779@28891] HOMESCREEN: show(test-eflapp@3,00000008)
+[16:41:20.779@28891] HOMESCREEN: Event[window_configure] surface=00000008 app=test-eflapp@3 x/y=300/400 w/h=0/0 hint=0
+[16:41:20.800@28891] HOMESCREEN: sleep 0.5
+[16:41:20.800@28891] HOMESCREEN: Event[window_visible] surface=00000008 visible=1 raise=9 hint=0
+[16:41:21.322@28891] HOMESCREEN: 
+[16:41:21.342@28891] HOMESCREEN: launch ../tests/test-eflapp @4 -color=0xb0808080 > ../tests/testlog/test-eflapp4.log
+[16:41:21.526@28891] HOMESCREEN: Event[window_created] new surface=00000009(app=test-eflapp@4)
+[16:41:21.526@28891] HOMESCREEN: Created window[00000009] (app=test-eflapp@4)
+[16:41:21.526@28891] HOMESCREEN: got pointer leave, surface 0x9ff82f8
+[16:41:21.546@28891] HOMESCREEN: Event[window_configure] surface=00000009 app=test-eflapp@4 x/y=16384/16384 w/h=520/380 hint=1
+[16:41:21.867@28891] HOMESCREEN: waitcreate 2
+[16:41:21.907@28891] HOMESCREEN: layer test-eflapp@4 102
+[16:41:21.907@28891] HOMESCREEN: set_window_layer(test-eflapp@4,00000009)
+[16:41:21.927@28891] HOMESCREEN: move test-eflapp@4 400 500
+[16:41:21.927@28891] HOMESCREEN: move(test-eflapp@4,00000009,400,500)
+[16:41:21.927@28891] HOMESCREEN: got keyboard modifier
+[16:41:21.927@28891] HOMESCREEN: got pointer enter (0,284), surface 0x9ff82f8
+[16:41:21.927@28891] HOMESCREEN: Event[window_configure] surface=00000009 app=test-eflapp@4 x/y=16384/16384 w/h=520/380 hint=1
+[16:41:21.947@28891] HOMESCREEN: show test-eflapp@4
+[16:41:21.947@28891] HOMESCREEN: show(test-eflapp@4,00000009)
+[16:41:21.947@28891] HOMESCREEN: Event[window_configure] surface=00000009 app=test-eflapp@4 x/y=400/500 w/h=0/0 hint=0
+[16:41:21.968@28891] HOMESCREEN: sleep 0.5
+[16:41:21.968@28891] HOMESCREEN: Event[window_visible] surface=00000009 visible=1 raise=9 hint=0
+[16:41:22.490@28891] HOMESCREEN: 
+[16:41:22.510@28891] HOMESCREEN: launch ../tests/test-eflapp @5 -color=0xa040a060 > ../tests/testlog/test-eflapp5.log
+[16:41:22.693@28891] HOMESCREEN: Event[window_created] new surface=0000000a(app=test-eflapp@5)
+[16:41:22.693@28891] HOMESCREEN: Created window[0000000a] (app=test-eflapp@5)
+[16:41:22.693@28891] HOMESCREEN: got pointer leave, surface 0x9ff82f8
+[16:41:22.693@28891] HOMESCREEN: Event[window_configure] surface=0000000a app=test-eflapp@5 x/y=16384/16384 w/h=520/380 hint=1
+[16:41:23.034@28891] HOMESCREEN: waitcreate 2
+[16:41:23.075@28891] HOMESCREEN: layer test-eflapp@5 102
+[16:41:23.075@28891] HOMESCREEN: set_window_layer(test-eflapp@5,0000000a)
+[16:41:23.095@28891] HOMESCREEN: move test-eflapp@5 500 600
+[16:41:23.095@28891] HOMESCREEN: move(test-eflapp@5,0000000a,500,600)
+[16:41:23.095@28891] HOMESCREEN: got keyboard modifier
+[16:41:23.095@28891] HOMESCREEN: got pointer enter (0,284), surface 0x9ff82f8
+[16:41:23.095@28891] HOMESCREEN: Event[window_configure] surface=0000000a app=test-eflapp@5 x/y=16384/16384 w/h=520/380 hint=1
+[16:41:23.115@28891] HOMESCREEN: show test-eflapp@5
+[16:41:23.115@28891] HOMESCREEN: show(test-eflapp@5,0000000a)
+[16:41:23.115@28891] HOMESCREEN: Event[window_configure] surface=0000000a app=test-eflapp@5 x/y=500/600 w/h=0/0 hint=0
+[16:41:23.135@28891] HOMESCREEN: sleep 1
+[16:41:23.135@28891] HOMESCREEN: Event[window_visible] surface=0000000a visible=1 raise=9 hint=0
+[16:41:24.159@28891] HOMESCREEN: hide test-eflapp@2
+[16:41:24.159@28891] HOMESCREEN: hide(test-eflapp@2,00000007)
+[16:41:24.179@28891] HOMESCREEN: sleep 1
+[16:41:24.179@28891] HOMESCREEN: Event[window_visible] surface=00000007 visible=0 raise=9 hint=0
+[16:41:25.203@28891] HOMESCREEN: show test-eflapp@2
+[16:41:25.203@28891] HOMESCREEN: show(test-eflapp@2,00000007)
+[16:41:25.224@28891] HOMESCREEN: sleep 2
+[16:41:25.224@28891] HOMESCREEN: Event[window_visible] surface=00000007 visible=1 raise=9 hint=0
+[16:41:27.251@28891] HOMESCREEN: #
+[16:41:27.272@28891] HOMESCREEN: # resize EFL application
+[16:41:27.292@28891] HOMESCREEN: resize test-eflapp@2 200 300
+[16:41:27.292@28891] HOMESCREEN: resize(test-eflapp@2,00000007,200,300)
+EFL-App resize x/y=0/0 req=200/300 w/h=520/380 obj=340/247
+[16:41:27.312@28891] HOMESCREEN: sleep 1
+[16:41:27.312@28891] HOMESCREEN: Event[window_configure] surface=00000007 app=test-eflapp@2 x/y=200/300 w/h=200/300 hint=0
+[16:41:28.336@28891] HOMESCREEN: resize test-eflapp@3 720 520
+[16:41:28.336@28891] HOMESCREEN: resize(test-eflapp@3,00000008,720,520)
+EFL-App resize x/y=0/0 req=720/520 w/h=520/380 obj=340/247
+[16:41:28.356@28891] HOMESCREEN: sleep 1
+[16:41:28.356@28891] HOMESCREEN: Event[window_configure] surface=00000008 app=test-eflapp@3 x/y=300/400 w/h=720/520 hint=0
+[16:41:29.380@28891] HOMESCREEN: resize test-eflapp@3 520 380
+[16:41:29.380@28891] HOMESCREEN: resize(test-eflapp@3,00000008,520,380)
+[16:41:29.400@28891] HOMESCREEN: sleep 1
+[16:41:29.401@28891] HOMESCREEN: Event[window_configure] surface=00000008 app=test-eflapp@3 x/y=300/400 w/h=520/380 hint=0
+[16:41:30.425@28891] HOMESCREEN: resize test-eflapp@2 520 380
+[16:41:30.425@28891] HOMESCREEN: resize(test-eflapp@2,00000007,520,380)
+[16:41:30.445@28891] HOMESCREEN: sleep 1
+[16:41:30.445@28891] HOMESCREEN: Event[window_configure] surface=00000007 app=test-eflapp@2 x/y=200/300 w/h=520/380 hint=0
+[16:41:31.469@28891] HOMESCREEN: #
+[16:41:31.489@28891] HOMESCREEN: # 5. Raise/Lower
+[16:41:31.509@28891] HOMESCREEN: raise test-eflapp@3
+[16:41:31.509@28891] HOMESCREEN: raise(test-eflapp@3,00000008)
+[16:41:31.529@28891] HOMESCREEN: sleep 1
+[16:41:31.529@28891] HOMESCREEN: Event[window_visible] surface=00000008 visible=9 raise=1 hint=0
+[16:41:32.553@28891] HOMESCREEN: raise test-eflapp@4
+[16:41:32.553@28891] HOMESCREEN: raise(test-eflapp@4,00000009)
+[16:41:32.573@28891] HOMESCREEN: sleep 1
+[16:41:32.573@28891] HOMESCREEN: Event[window_visible] surface=00000009 visible=9 raise=1 hint=0
+[16:41:33.598@28891] HOMESCREEN: raise test-eflapp@5
+[16:41:33.598@28891] HOMESCREEN: raise(test-eflapp@5,0000000a)
+[16:41:33.618@28891] HOMESCREEN: sleep 1
+[16:41:33.618@28891] HOMESCREEN: Event[window_visible] surface=0000000a visible=9 raise=1 hint=0
+[16:41:34.642@28891] HOMESCREEN: lower test-eflapp@5
+[16:41:34.642@28891] HOMESCREEN: lower(test-eflapp@5,0000000a)
+[16:41:34.662@28891] HOMESCREEN: sleep 1
+[16:41:34.662@28891] HOMESCREEN: Event[window_visible] surface=0000000a visible=9 raise=0 hint=0
+[16:41:35.686@28891] HOMESCREEN: lower test-eflapp@4
+[16:41:35.686@28891] HOMESCREEN: lower(test-eflapp@4,00000009)
+[16:41:35.706@28891] HOMESCREEN: sleep 1
+[16:41:35.707@28891] HOMESCREEN: Event[window_visible] surface=00000009 visible=9 raise=0 hint=0
+[16:41:36.731@28891] HOMESCREEN: lower test-eflapp@3
+[16:41:36.731@28891] HOMESCREEN: lower(test-eflapp@3,00000008)
+[16:41:36.751@28891] HOMESCREEN: sleep 2
+[16:41:36.751@28891] HOMESCREEN: Event[window_visible] surface=00000008 visible=9 raise=0 hint=0
+[16:41:38.779@28891] HOMESCREEN: #
+[16:41:38.799@28891] HOMESCREEN: # 6. Layer Change
+[16:41:38.819@28891] HOMESCREEN: layer test-eflapp@1 100
+[16:41:38.819@28891] HOMESCREEN: set_window_layer(test-eflapp@1,00000006)
+[16:41:38.839@28891] HOMESCREEN: sleep 1
+[16:41:39.863@28891] HOMESCREEN: layer test-eflapp@2 100
+[16:41:39.863@28891] HOMESCREEN: set_window_layer(test-eflapp@2,00000007)
+[16:41:39.883@28891] HOMESCREEN: sleep 2
+[16:41:41.911@28891] HOMESCREEN: #
+[16:41:41.931@28891] HOMESCREEN: # 7. layer visibility control
+[16:41:41.951@28891] HOMESCREEN: layer_visible 102 0
+[16:41:41.971@28891] HOMESCREEN: sleep 1
+[16:41:42.995@28891] HOMESCREEN: layer_visible 102 1
+[16:41:43.015@28891] HOMESCREEN: sleep 1
+[16:41:44.039@28891] HOMESCREEN: # 8. kill eflapp's
+[16:41:44.060@28891] HOMESCREEN: kill test-eflapp@1
+[16:41:44.080@28891] HOMESCREEN: Event[window_destroyed] surface=00000006
+[16:41:44.381@28891] HOMESCREEN: sleep 0.5
+[16:41:44.903@28891] HOMESCREEN: kill test-eflapp@2
+[16:41:44.923@28891] HOMESCREEN: Event[window_destroyed] surface=00000007
+[16:41:45.225@28891] HOMESCREEN: sleep 0.5
+[16:41:45.747@28891] HOMESCREEN: kill test-eflapp@3
+[16:41:45.767@28891] HOMESCREEN: Event[window_destroyed] surface=00000008
+[16:41:46.068@28891] HOMESCREEN: sleep 0.5
+[16:41:46.590@28891] HOMESCREEN: kill test-eflapp@4
+[16:41:46.610@28891] HOMESCREEN: Event[window_destroyed] surface=00000009
+[16:41:46.911@28891] HOMESCREEN: sleep 0.5
+[16:41:47.434@28891] HOMESCREEN: kill test-eflapp@5
+[16:41:47.454@28891] HOMESCREEN: Event[window_destroyed] surface=0000000a
+[16:41:47.755@28891] HOMESCREEN: sleep 2
+[16:41:49.783@28891] HOMESCREEN: #
+[16:41:49.803@28891] HOMESCREEN: # 9. Input test
+[16:41:49.823@28891] HOMESCREEN: launch ../tests/test-client @1 -color=0xe0ff2020 -postsleep=60 < ../tests/testdata/cl_surface3.dat 2> ../tests/te
+[16:41:49.949@28891] HOMESCREEN: Event[window_created] new surface=0000000b(app=test-client@1)
+[16:41:49.949@28891] HOMESCREEN: Created window[0000000b] (app=test-client@1)
+[16:41:49.949@28891] HOMESCREEN: got pointer leave, surface 0x9ff82f8
+[16:41:50.351@28891] HOMESCREEN: waitcreate 2
+[16:41:50.391@28891] HOMESCREEN: sleep 0.3
+[16:41:50.712@28891] HOMESCREEN: layer test-client@1 101
+[16:41:50.712@28891] HOMESCREEN: set_window_layer(test-client@1,0000000b)
+[16:41:50.732@28891] HOMESCREEN: move test-client@1 100 200
+[16:41:50.732@28891] HOMESCREEN: move(test-client@1,0000000b,100,200)
+[16:41:50.733@28891] HOMESCREEN: got keyboard modifier
+[16:41:50.733@28891] HOMESCREEN: got pointer enter (0,284), surface 0x9ff82f8
+[16:41:50.733@28891] HOMESCREEN: Event[window_configure] surface=0000000b app=test-client@1 x/y=16384/16384 w/h=640/480 hint=1
+[16:41:50.753@28891] HOMESCREEN: show test-client@1
+[16:41:50.753@28891] HOMESCREEN: show(test-client@1,0000000b)
+[16:41:50.753@28891] HOMESCREEN: Event[window_configure] surface=0000000b app=test-client@1 x/y=100/200 w/h=0/0 hint=0
+[16:41:50.773@28891] HOMESCREEN: sleep 0.5
+[16:41:50.773@28891] HOMESCREEN: Event[window_visible] surface=0000000b visible=1 raise=9 hint=0
+[16:41:51.295@28891] HOMESCREEN: event XY=240,303
+[16:41:51.315@28891] HOMESCREEN: event Button=Down
+[16:41:51.315@28891] HOMESCREEN: got pointer motion (160,287)
+[16:41:51.335@28891] HOMESCREEN: sleep 0.1
+[16:41:51.335@28891] HOMESCREEN: Event[window_active] surface=00000001 acive=2
+[16:41:51.335@28891] HOMESCREEN: got pointer button 272 1
+[16:41:51.456@28891] HOMESCREEN: event XY=233,289
+[16:41:51.476@28891] HOMESCREEN: event Button=Up
+[16:41:51.476@28891] HOMESCREEN: got pointer motion (155,274)
+[16:41:51.496@28891] HOMESCREEN: sleep 0.2
+[16:41:51.496@28891] HOMESCREEN: got pointer button 272 0
+[16:41:51.717@28891] HOMESCREEN: 
+[16:41:51.737@28891] HOMESCREEN: launch ../tests/test-client @2 -color=0xc020ff20 -postsleep=60 < ../tests/testdata/cl_surface3.dat 2> ../tests/te
+[16:41:51.863@28891] HOMESCREEN: Event[window_created] new surface=0000000c(app=test-client@2)
+[16:41:51.863@28891] HOMESCREEN: Created window[0000000c] (app=test-client@2)
+[16:41:51.883@28891] HOMESCREEN: got pointer leave, surface 0x9ff82f8
+[16:41:52.265@28891] HOMESCREEN: waitcreate 2
+[16:41:52.305@28891] HOMESCREEN: sleep 0.3
+[16:41:52.626@28891] HOMESCREEN: layer test-client@2 101
+[16:41:52.626@28891] HOMESCREEN: set_window_layer(test-client@2,0000000c)
+[16:41:52.647@28891] HOMESCREEN: move test-client@2 250 300
+[16:41:52.647@28891] HOMESCREEN: move(test-client@2,0000000c,250,300)
+[16:41:52.647@28891] HOMESCREEN: got keyboard modifier
+[16:41:52.647@28891] HOMESCREEN: got pointer enter (155,274), surface 0x9ff82f8
+[16:41:52.647@28891] HOMESCREEN: Event[window_configure] surface=0000000c app=test-client@2 x/y=16384/16384 w/h=640/480 hint=1
+[16:41:52.667@28891] HOMESCREEN: show test-client@2
+[16:41:52.667@28891] HOMESCREEN: show(test-client@2,0000000c)
+[16:41:52.667@28891] HOMESCREEN: Event[window_configure] surface=0000000c app=test-client@2 x/y=250/300 w/h=0/0 hint=0
+[16:41:52.687@28891] HOMESCREEN: sleep 0.5
+[16:41:52.687@28891] HOMESCREEN: Event[window_visible] surface=0000000c visible=1 raise=9 hint=0
+[16:41:53.209@28891] HOMESCREEN: event XY=625,555
+[16:41:53.229@28891] HOMESCREEN: event Button=Down
+[16:41:53.229@28891] HOMESCREEN: got pointer motion (416,526)
+[16:41:53.250@28891] HOMESCREEN: sleep 0.1
+[16:41:53.250@28891] HOMESCREEN: got pointer button 272 1
+[16:41:53.370@28891] HOMESCREEN: event XY=623,557
+[16:41:53.390@28891] HOMESCREEN: event Button=Up
+[16:41:53.390@28891] HOMESCREEN: got pointer motion (415,528)
+[16:41:53.410@28891] HOMESCREEN: sleep 0.2
+[16:41:53.410@28891] HOMESCREEN: got pointer button 272 0
+[16:41:53.631@28891] HOMESCREEN: 
+[16:41:53.652@28891] HOMESCREEN: launch ../tests/test-client @3 -color=0xa02020ff -postsleep=60 < ../tests/testdata/cl_surface3.dat 2> ../tests/te
+[16:41:53.777@28891] HOMESCREEN: Event[window_created] new surface=0000000d(app=test-client@3)
+[16:41:53.777@28891] HOMESCREEN: Created window[0000000d] (app=test-client@3)
+[16:41:53.797@28891] HOMESCREEN: got pointer leave, surface 0x9ff82f8
+[16:41:54.179@28891] HOMESCREEN: waitcreate 2
+[16:41:54.219@28891] HOMESCREEN: sleep 0.3
+[16:41:54.540@28891] HOMESCREEN: layer test-client@3 101
+[16:41:54.540@28891] HOMESCREEN: set_window_layer(test-client@3,0000000d)
+[16:41:54.561@28891] HOMESCREEN: move test-client@3 400 400
+[16:41:54.561@28891] HOMESCREEN: move(test-client@3,0000000d,400,400)
+[16:41:54.561@28891] HOMESCREEN: got keyboard modifier
+[16:41:54.561@28891] HOMESCREEN: got pointer enter (415,528), surface 0x9ff82f8
+[16:41:54.561@28891] HOMESCREEN: Event[window_configure] surface=0000000d app=test-client@3 x/y=16384/16384 w/h=640/480 hint=1
+[16:41:54.581@28891] HOMESCREEN: show test-client@3
+[16:41:54.581@28891] HOMESCREEN: show(test-client@3,0000000d)
+[16:41:54.581@28891] HOMESCREEN: Event[window_configure] surface=0000000d app=test-client@3 x/y=400/400 w/h=0/0 hint=0
+[16:41:54.601@28891] HOMESCREEN: sleep 0.5
+[16:41:54.601@28891] HOMESCREEN: Event[window_visible] surface=0000000d visible=1 raise=9 hint=0
+[16:41:55.123@28891] HOMESCREEN: event XY=848,663
+[16:41:55.143@28891] HOMESCREEN: event Button=Down
+[16:41:55.143@28891] HOMESCREEN: got pointer motion (565,628)
+[16:41:55.163@28891] HOMESCREEN: sleep 0.1
+[16:41:55.163@28891] HOMESCREEN: got pointer button 272 1
+[16:41:55.284@28891] HOMESCREEN: event XY=845,669
+[16:41:55.304@28891] HOMESCREEN: event Button=Up
+[16:41:55.304@28891] HOMESCREEN: got pointer motion (563,634)
+[16:41:55.324@28891] HOMESCREEN: sleep 0.2
+[16:41:55.324@28891] HOMESCREEN: got pointer button 272 0
+[16:41:55.545@28891] HOMESCREEN: 
+[16:41:55.565@28891] HOMESCREEN: hide test-client@2
+[16:41:55.565@28891] HOMESCREEN: hide(test-client@2,0000000c)
+[16:41:55.585@28891] HOMESCREEN: sleep 0.3
+[16:41:55.585@28891] HOMESCREEN: Event[window_visible] surface=0000000c visible=0 raise=9 hint=0
+[16:41:55.907@28891] HOMESCREEN: event XY=719,643
+[16:41:55.927@28891] HOMESCREEN: event Button=Down
+[16:41:55.927@28891] HOMESCREEN: got pointer motion (479,609)
+[16:41:55.947@28891] HOMESCREEN: sleep 0.1
+[16:41:55.947@28891] HOMESCREEN: got pointer button 272 1
+[16:41:56.068@28891] HOMESCREEN: event XY=720,644
+[16:41:56.088@28891] HOMESCREEN: event Button=Up
+[16:41:56.088@28891] HOMESCREEN: got pointer motion (480,610)
+[16:41:56.108@28891] HOMESCREEN: sleep 0.5
+[16:41:56.108@28891] HOMESCREEN: got pointer button 272 0
+[16:41:56.630@28891] HOMESCREEN: 
+[16:41:56.650@28891] HOMESCREEN: lower test-client@3
+[16:41:56.650@28891] HOMESCREEN: lower(test-client@3,0000000d)
+[16:41:56.670@28891] HOMESCREEN: sleep 0.3
+[16:41:56.670@28891] HOMESCREEN: Event[window_visible] surface=0000000d visible=9 raise=0 hint=0
+[16:41:56.992@28891] HOMESCREEN: event XY=858,555
+[16:41:57.012@28891] HOMESCREEN: event Button=Down
+[16:41:57.012@28891] HOMESCREEN: got pointer motion (572,526)
+[16:41:57.032@28891] HOMESCREEN: sleep 0.1
+[16:41:57.032@28891] HOMESCREEN: got pointer button 272 1
+[16:41:57.152@28891] HOMESCREEN: event XY=R858,557
+[16:41:57.173@28891] HOMESCREEN: event Button=Up
+[16:41:57.173@28891] HOMESCREEN: got pointer motion (0,528)
+[16:41:57.193@28891] HOMESCREEN: sleep 0.5
+[16:41:57.193@28891] HOMESCREEN: got pointer button 272 0
+[16:41:57.715@28891] HOMESCREEN: 
+[16:41:57.735@28891] HOMESCREEN: show test-client@2
+[16:41:57.735@28891] HOMESCREEN: show(test-client@2,0000000c)
+[16:41:57.755@28891] HOMESCREEN: sleep 0.3
+[16:41:57.755@28891] HOMESCREEN: Event[window_visible] surface=0000000c visible=1 raise=9 hint=0
+[16:41:58.076@28891] HOMESCREEN: event XY=765,644
+[16:41:58.097@28891] HOMESCREEN: event Button=Down
+[16:41:58.097@28891] HOMESCREEN: got pointer motion (510,610)
+[16:41:58.117@28891] HOMESCREEN: sleep 0.1
+[16:41:58.117@28891] HOMESCREEN: got pointer button 272 1
+[16:41:58.237@28891] HOMESCREEN: event XY=762,645
+[16:41:58.258@28891] HOMESCREEN: event Button=Up
+[16:41:58.258@28891] HOMESCREEN: got pointer motion (508,611)
+[16:41:58.278@28891] HOMESCREEN: sleep 2
+[16:41:58.278@28891] HOMESCREEN: got pointer button 272 0
+[16:42:00.305@28891] HOMESCREEN: # set input device
+[16:42:00.326@28891] HOMESCREEN: input_conf InDev1 8 Sw1 0
+[16:42:00.346@28891] HOMESCREEN: input_conf InDev1 8 Sw2 1 Up 10
+[16:42:00.346@28891] HOMESCREEN: Event[input_capabilities] device=InDev1 type=8 sw=Sw1 input=0 code=Sw1[0]
+[16:42:00.366@28891] HOMESCREEN: input_code InDev1 1 Down 11
+[16:42:00.366@28891] HOMESCREEN: Event[input_capabilities] device=InDev1 type=8 sw=Sw2 input=1 code=Up[10]
+[16:42:00.386@28891] HOMESCREEN: input_conf InDev1 8 Sw3 2 Left 20 Right 21
+[16:42:00.386@28891] HOMESCREEN: Event[input_code] device=InDev1 input=1 code=Down[11]
+[16:42:00.406@28891] HOMESCREEN: input_code InDev1 2 Right 21
+[16:42:00.406@28891] HOMESCREEN: Event[input_capabilities] device=InDev1 type=8 sw=Sw3 input=2 code=Left[20]
+[16:42:00.427@28891] HOMESCREEN: input_conf InDev1 8 Sw4 3
+[16:42:00.427@28891] HOMESCREEN: Event[input_code] device=InDev1 input=2 code=Right[21]
+[16:42:00.447@28891] HOMESCREEN: sleep 0.5
+[16:42:00.447@28891] HOMESCREEN: Event[input_capabilities] device=InDev1 type=8 sw=Sw4 input=3 code=Sw4[0]
+[16:42:00.969@28891] HOMESCREEN: input_conf InDev2 8 Sw0 0
+[16:42:00.989@28891] HOMESCREEN: input_conf InDev2 8 Sw1 1
+[16:42:00.989@28891] HOMESCREEN: Event[input_capabilities] device=InDev2 type=8 sw=Sw0 input=0 code=Sw0[0]
+[16:42:01.009@28891] HOMESCREEN: sleep 0.5
+[16:42:01.009@28891] HOMESCREEN: Event[input_capabilities] device=InDev2 type=8 sw=Sw1 input=1 code=Sw1[0]
+[16:42:01.531@28891] HOMESCREEN: # input switch event
+[16:42:01.551@28891] HOMESCREEN: input_sw InDev1 2 20 1
+[16:42:01.572@28891] HOMESCREEN: sleep 0.1
+[16:42:01.692@28891] HOMESCREEN: input_sw InDev1 2 20 0
+[16:42:01.712@28891] HOMESCREEN: sleep 0.5
+[16:42:02.234@28891] HOMESCREEN: input_sw InDev2 0 1 1
+[16:42:02.254@28891] HOMESCREEN: sleep 0.1
+[16:42:02.375@28891] HOMESCREEN: input_sw InDev2 0 1 1
+[16:42:02.395@28891] HOMESCREEN: sleep 0.5
+[16:42:02.917@28891] HOMESCREEN: # assign input sw to application
+[16:42:02.937@28891] HOMESCREEN: input_add InDev1 1 test-client@1
+[16:42:02.937@28891] HOMESCREEN: input_add(InDev1.1 to test-client@1[0])
+[16:42:02.958@28891] HOMESCREEN: input_add InDev1 2 test-client@2
+[16:42:02.958@28891] HOMESCREEN: input_add(InDev1.2 to test-client@2[0])
+[16:42:02.978@28891] HOMESCREEN: input_add InDev1 3 test-client@3
+[16:42:02.978@28891] HOMESCREEN: input_add(InDev1.3 to test-client@3[0])
+[16:42:02.998@28891] HOMESCREEN: input_add InDev2 0 test-client@1 1
+[16:42:02.998@28891] HOMESCREEN: input_add(InDev2.0 to test-client@1[1])
+[16:42:03.018@28891] HOMESCREEN: input_add InDev2 1 test-client@1
+[16:42:03.018@28891] HOMESCREEN: input_add(InDev2.1 to test-client@1[0])
+[16:42:03.038@28891] HOMESCREEN: sleep 0.5
+[16:42:03.560@28891] HOMESCREEN: # input switch event
+[16:42:03.580@28891] HOMESCREEN: input_sw InDev1 0 1 1
+[16:42:03.601@28891] HOMESCREEN: sleep 0.1
+[16:42:03.721@28891] HOMESCREEN: input_sw InDev1 0 1 0
+[16:42:03.741@28891] HOMESCREEN: sleep 0.5
+[16:42:04.263@28891] HOMESCREEN: input_sw InDev1 1 10 1
+[16:42:04.283@28891] HOMESCREEN: sleep 0.1
+[16:42:04.404@28891] HOMESCREEN: input_sw InDev1 1 10 0
+[16:42:04.424@28891] HOMESCREEN: sleep 0.5 
+[16:42:04.946@28891] HOMESCREEN: input_sw InDev1 2 21 1
+[16:42:04.966@28891] HOMESCREEN: sleep 0.1 
+[16:42:05.087@28891] HOMESCREEN: input_sw InDev1 2 21 0
+[16:42:05.107@28891] HOMESCREEN: sleep 0.5 
+[16:42:05.629@28891] HOMESCREEN: input_sw InDev1 3 1 1
+[16:42:05.649@28891] HOMESCREEN: sleep 0.1 
+[16:42:05.770@28891] HOMESCREEN: input_sw InDev1 3 1 0
+[16:42:05.790@28891] HOMESCREEN: sleep 0.5 
+[16:42:06.312@28891] HOMESCREEN: input_sw InDev2 0 1 1
+[16:42:06.332@28891] HOMESCREEN: sleep 0.1
+[16:42:06.453@28891] HOMESCREEN: input_sw InDev2 0 1 0
+[16:42:06.473@28891] HOMESCREEN: sleep 0.5
+[16:42:06.995@28891] HOMESCREEN: input_sw InDev2 1 1 1
+[16:42:07.015@28891] HOMESCREEN: sleep 0.1
+[16:42:07.136@28891] HOMESCREEN: input_sw InDev2 1 1 0
+[16:42:07.156@28891] HOMESCREEN: sleep 0.5
+[16:42:07.678@28891] HOMESCREEN: # delete and change assign
+[16:42:07.698@28891] HOMESCREEN: ## same assign (NOP, but change to general assign)
+[16:42:07.718@28891] HOMESCREEN: input_add InDev2 0 test-client@1
+[16:42:07.718@28891] HOMESCREEN: input_add(InDev2.0 to test-client@1[0])
+[16:42:07.738@28891] HOMESCREEN: ## same assign (NOP, but change to fixed assign)
+[16:42:07.758@28891] HOMESCREEN: input_add InDev2 0 test-client@1 1
+[16:42:07.758@28891] HOMESCREEN: input_add(InDev2.0 to test-client@1[1])
+[16:42:07.779@28891] HOMESCREEN: ## change assign
+[16:42:07.799@28891] HOMESCREEN: input_add InDev2 1 test-client@2
+[16:42:07.799@28891] HOMESCREEN: input_add(InDev2.1 to test-client@2[0])
+[16:42:07.819@28891] HOMESCREEN: ## delete assign
+[16:42:07.839@28891] HOMESCREEN: input_del InDev1 1 test-client@1
+[16:42:07.839@28891] HOMESCREEN: input_del(InDev1.1 to test-client@1)
+[16:42:07.859@28891] HOMESCREEN: ## delete but not assign
+[16:42:07.879@28891] HOMESCREEN: input_del InDev2 1 test-client@1
+[16:42:07.879@28891] HOMESCREEN: input_del(InDev2.1 to test-client@1)
+[16:42:07.899@28891] HOMESCREEN: ## switch input event
+[16:42:07.920@28891] HOMESCREEN: input_sw InDev2 0 1 1
+[16:42:07.940@28891] HOMESCREEN: sleep 0.1
+[16:42:08.060@28891] HOMESCREEN: input_sw InDev2 0 1 0
+[16:42:08.080@28891] HOMESCREEN: sleep 0.1
+[16:42:08.201@28891] HOMESCREEN: input_sw InDev2 1 1 1
+[16:42:08.221@28891] HOMESCREEN: sleep 0.1
+[16:42:08.342@28891] HOMESCREEN: input_sw InDev2 1 1 0
+[16:42:08.362@28891] HOMESCREEN: sleep 0.1
+[16:42:08.482@28891] HOMESCREEN: input_sw InDev1 3 1 1
+[16:42:08.502@28891] HOMESCREEN: sleep 0.1
+[16:42:08.623@28891] HOMESCREEN: input_sw InDev1 3 1 0
+[16:42:08.643@28891] HOMESCREEN: sleep 1
+[16:42:09.667@28891] HOMESCREEN: # delete all assign without fixed assign(fixed = InDev2.0)
+[16:42:09.687@28891] HOMESCREEN: input_del @ -1 @
+[16:42:09.687@28891] HOMESCREEN: input_del(.-1 to )
+[16:42:09.707@28891] HOMESCREEN: sleep 2
+[16:42:11.735@28891] HOMESCREEN: #
+[16:42:11.755@28891] HOMESCREEN: kill test-client@1
+[16:42:12.076@28891] HOMESCREEN: Event[window_destroyed] surface=0000000b
+[16:42:12.277@28891] HOMESCREEN: sleep 0.3
+[16:42:12.598@28891] HOMESCREEN: kill test-client@2
+[16:42:12.920@28891] HOMESCREEN: Event[window_destroyed] surface=0000000c
+[16:42:13.121@28891] HOMESCREEN: sleep 0.3
+[16:42:13.442@28891] HOMESCREEN: kill test-client@3
+[16:42:13.763@28891] HOMESCREEN: Event[window_destroyed] surface=0000000d
+[16:42:13.964@28891] HOMESCREEN: sleep 0.5
+[16:42:14.486@28891] HOMESCREEN: #
+[16:42:14.506@28891] HOMESCREEN: # 10. End of Test
+[16:42:14.526@28891] HOMESCREEN: bye
diff --git a/tests/testlog/wayland-flower.log b/tests/testlog/wayland-flower.log
new file mode 100644 (file)
index 0000000..8a37f03
--- /dev/null
@@ -0,0 +1,4 @@
+could not load cursor 'bottom_left_corner'
+could not load cursor 'bottom_right_corner'
+could not load cursor 'right_side'
+could not load cursor 'top_right_corner'
diff --git a/tests/testlog/wayland-smoke.log b/tests/testlog/wayland-smoke.log
new file mode 100644 (file)
index 0000000..8a37f03
--- /dev/null
@@ -0,0 +1,4 @@
+could not load cursor 'bottom_left_corner'
+could not load cursor 'bottom_right_corner'
+could not load cursor 'right_side'
+could not load cursor 'top_right_corner'
diff --git a/tests/testlog/weston.log b/tests/testlog/weston.log
new file mode 100644 (file)
index 0000000..aa3d83a
--- /dev/null
@@ -0,0 +1,3403 @@
+Date: 2013-04-25 KST
+[16:40:47.557] weston 1.0.6
+               http://wayland.freedesktop.org/
+               Bug reports to: https://bugs.freedesktop.org/enter_bug.cgi?product=Wayland&component=weston&version=1.0.6
+               Build:  
+[16:40:47.557] OS: Linux, 3.8.3-slp.3.1-x86-ivi, #1 SMP PREEMPT Thu Mar 21 18:32:53 UTC 2013, i686
+[16:40:47.557] warning: XDG_RUNTIME_DIR "/tmp/run-root" is not configured
+correctly.  Unix access mode must be 0700 but is 755,
+and XDG_RUNTIME_DIR must be owned by the user, but is
+owned by UID 0.
+Refer to your distribution on how to get it, or
+http://www.freedesktop.org/wiki/Specifications/basedir-spec
+on how to implement it.
+[16:40:47.557] Loading module '/usr/lib/weston/drm-backend.so'
+[16:40:47.558] initializing drm backend
+[16:40:47.558] compositor: using new vt /dev/tty2
+[16:40:47.561] using /dev/dri/card0
+[16:40:47.611] Output VGA1, (connector 7, crtc 3)
+  mode 1280x1024@60.0, preferred, current
+  mode 1280x1024@75.0
+  mode 1280x960@75.0
+  mode 1280x960@60.0
+  mode 1152x864@75.0
+  mode 1024x768@75.1
+  mode 1024x768@70.1
+  mode 1024x768@60.0
+  mode 832x624@74.6
+  mode 800x600@72.2
+  mode 800x600@75.0
+  mode 800x600@60.3
+  mode 800x600@56.2
+  mode 640x480@72.8
+  mode 640x480@75.0
+  mode 640x480@66.7
+  mode 640x480@60.0
+  mode 720x400@70.1
+[16:40:47.695] Chosen EGL config details:
+               RGBA bits: 8 8 8 0
+               swap interval range: 0 - 0
+[16:40:47.700] EGL version: 1.4 (DRI2)
+[16:40:47.700] EGL vendor: Mesa Project
+[16:40:47.700] EGL client APIs: OpenGL OpenGL_ES OpenGL_ES2 
+[16:40:47.700] EGL extensions: EGL_MESA_drm_image EGL_WL_bind_wayland_display
+               EGL_KHR_image_base EGL_KHR_gl_renderbuffer_image
+               EGL_KHR_surfaceless_context EGL_KHR_create_context
+[16:40:47.700] GL version: OpenGL ES 2.0 Mesa 9.0.3
+[16:40:47.700] GLSL version: OpenGL ES GLSL ES 1.0.16
+[16:40:47.700] GL vendor: Intel Open Source Technology Center
+[16:40:47.700] GL renderer: Mesa DRI Intel(R) Sandybridge Mobile x86/MMX/SSE2
+[16:40:47.700] GL extensions: GL_EXT_blend_minmax GL_EXT_multi_draw_arrays
+               GL_EXT_texture_filter_anisotropic
+               GL_EXT_texture_format_BGRA8888
+               GL_OES_compressed_ETC1_RGB8_texture GL_OES_depth24
+               GL_OES_element_index_uint GL_OES_fbo_render_mipmap
+               GL_OES_mapbuffer GL_OES_rgb8_rgba8 GL_OES_standard_derivatives
+               GL_OES_stencil8 GL_OES_texture_3D GL_OES_texture_npot
+               GL_OES_EGL_image GL_OES_depth_texture
+               GL_OES_packed_depth_stencil GL_EXT_texture_type_2_10_10_10_REV
+               GL_APPLE_texture_max_level GL_EXT_read_format_bgra
+               GL_NV_fbo_color_attachments GL_OES_vertex_array_object
+               GL_EXT_texture_rg GL_EXT_unpack_subimage GL_NV_draw_buffers
+               GL_NV_read_buffer
+[16:40:47.737] GL ES 2 renderer features:
+               read-back format: BGRA
+               wl_shm sub-image to texture: yes
+               EGL Wayland extension: yes
+[16:40:47.759] input device Power Button, /dev/input/event1 is a keyboard
+[16:40:47.759] input device Video Bus, /dev/input/event2 is a keyboard
+[16:40:47.759] input device Power Button, /dev/input/event0 is a keyboard
+[16:40:47.759] input device CHICONY USB Keyboard, /dev/input/event3 is a keyboard
+[16:40:47.759] input device CHICONY USB Keyboard, /dev/input/event4 is a pointer
+[16:40:47.759] input device CHICONY USB Keyboard, /dev/input/event4 is a keyboard
+[16:40:47.759] input device UVC Camera (046d:0825), /dev/input/event9 is a keyboard
+[16:40:47.760] input device Logitech Logitech USB Optical Mouse, /dev/input/event7 is a pointer
+[16:40:47.760] input device C-Media Electronics Inc. USB Audio Device, /dev/input/event8 is a keyboard
+[16:40:47.760] input device ico_test_device, /dev/input/event10 is a pointer
+[16:40:47.760] Loading module '/usr/lib/weston/error_but_no_problem_for_test.so'
+[16:40:47.760] Failed to load module: /usr/lib/weston/error_but_no_problem_for_test.so: cannot open shared object file: No such file or directory
+[16:40:47.760] Loading module '/home/tizen/rpf/src/corepf/ico-uxf-weston-plugin-0.5.0/tests/../src/.libs/ico_plugin_loader.so'
+[16:40:47.760] INF>ico_plugin_loader: Enter(module_init) (ico_plugin_loader.c:169)
+[16:40:47.760] INF>ico_plugin_loader: Load(path=../src/.libs/ico_ivi_common.so entry=module_init) (ico_plugin_loader.c:111)
+[16:40:47.760] DBG>ico_plugin_loader: ../src/.libs/ico_ivi_common.so loading (ico_plugin_loader.c:124)
+[16:40:47.761] DBG>ico_plugin_loader: Call ../src/.libs/ico_ivi_common.so:module_init(b5c0bf90) (ico_plugin_loader.c:143)
+[16:40:47.761] INF>ico_ivi_common: Enter(module_init) (ico_ivi_common.c:312)
+[16:40:47.761] INF>ico_ivi_common: option flag=0x00000001 debug=4 (ico_ivi_common.c:320)
+[16:40:47.761] INF>ico_ivi_common: Leave(module_init) (ico_ivi_common.c:330)
+[16:40:47.761] INF>ico_plugin_loader: ../src/.libs/ico_ivi_common.so Loaded (ico_plugin_loader.c:145)
+[16:40:47.761] INF>ico_plugin_loader: Load(path=../src/.libs/ico_ivi_shell.so entry=module_init) (ico_plugin_loader.c:111)
+[16:40:47.761] DBG>ico_plugin_loader: ../src/.libs/ico_ivi_shell.so loading (ico_plugin_loader.c:124)
+[16:40:47.761] DBG>ico_plugin_loader: Call ../src/.libs/ico_ivi_shell.so:module_init(b5c07660) (ico_plugin_loader.c:143)
+[16:40:47.761] INF>ico_ivi_shell: Enter(module_init) (ico_ivi_shell.c:1854)
+[16:40:47.761] DBG>ico_ivi_shell: shell(08b46310) ivi_layer.link.08b46340=08b46340/08b46340 (ico_ivi_shell.c:1875)
+[16:40:47.761] INF>shell_configuration: Anima=0 Visible=0 Debug=4 (ico_ivi_shell.c:205)
+[16:40:47.761] INF>ico_ivi_shell: Leave(module_init) (ico_ivi_shell.c:1891)
+[16:40:47.761] INF>ico_plugin_loader: ../src/.libs/ico_ivi_shell.so Loaded (ico_plugin_loader.c:145)
+[16:40:47.761] INF>ico_plugin_loader: Load(path=../src/.libs/ico_window_mgr.so entry=module_init) (ico_plugin_loader.c:111)
+[16:40:47.761] DBG>ico_plugin_loader: ../src/.libs/ico_window_mgr.so loading (ico_plugin_loader.c:124)
+[16:40:47.769] DBG>ico_plugin_loader: Call ../src/.libs/ico_window_mgr.so:module_init(b5bff580) (ico_plugin_loader.c:143)
+[16:40:47.769] INF>ico_window_mgr: Enter(module_init) (ico_window_mgr.c:1556)
+[16:40:47.769] DBG>ico_window_mgr: sh=08b145c0 (ico_window_mgr.c:1570)
+[16:40:47.769] DBG>ico_window_mgr: wl_display_add_global(bind_ico_win_mgr) (ico_window_mgr.c:1578)
+[16:40:47.769] DBG>ico_window_mgr: NoedId=00000000 SurfaceIdBase=00000000 (ico_window_mgr.c:1592)
+[16:40:47.769] DBG>ivi_shell_hook_bind: Hook b5bfcd30 (ico_ivi_shell.c:1734)
+[16:40:47.769] DBG>ivi_shell_hook_unbind: Hook b5bfc9b0 (ico_ivi_shell.c:1750)
+[16:40:47.769] DBG>ivi_shell_hook_create: Hook b5bfdee0 (ico_ivi_shell.c:1768)
+[16:40:47.769] DBG>ivi_shell_hook_destroy: Hook b5bfdcd0 (ico_ivi_shell.c:1784)
+[16:40:47.769] DBG>ivi_shell_hook_map: Hook b5bfc5f0 (ico_ivi_shell.c:1801)
+[16:40:47.769] DBG>ivi_shell_hook_change: Hook b5bfd990 (ico_ivi_shell.c:1818)
+[16:40:47.769] DBG>ivi_shell_hook_select: Hook b5bfd880 (ico_ivi_shell.c:1834)
+[16:40:47.769] INF>ico_window_mgr: Leave(module_init) (ico_window_mgr.c:1610)
+[16:40:47.769] INF>ico_plugin_loader: ../src/.libs/ico_window_mgr.so Loaded (ico_plugin_loader.c:145)
+[16:40:47.769] INF>ico_plugin_loader: Load(path=../src/.libs/ico_input_mgr.so entry=module_init) (ico_plugin_loader.c:111)
+[16:40:47.770] DBG>ico_plugin_loader: ../src/.libs/ico_input_mgr.so loading (ico_plugin_loader.c:124)
+[16:40:47.770] DBG>ico_plugin_loader: Call ../src/.libs/ico_input_mgr.so:module_init(b5bf88e0) (ico_plugin_loader.c:143)
+[16:40:47.770] DBG>ico_input_mgr: Enter(module_init) (ico_input_mgr.c:926)
+[16:40:47.770] DBG>ico_input_mgr: Leave(module_init) (ico_input_mgr.c:966)
+[16:40:47.770] INF>ico_plugin_loader: ../src/.libs/ico_input_mgr.so Loaded (ico_plugin_loader.c:145)
+[16:40:47.770] INF>ico_plugin_loader: Leave(module_init) (ico_plugin_loader.c:202)
+[16:40:47.770] libwayland: using socket /tmp/run-root/wayland-0
+[16:40:47.815] unexpectedly large timestamp jump (from 1076047642 to 678803)
+[16:40:48.560] DBG>bind_shell: client=08bc8578 id=6 (ico_ivi_shell.c:1112)
+[16:40:48.560] DBG>bind_shell_client: Enter(client=08bc8578) (ico_window_mgr.c:414)
+[16:40:48.560] DBG>find_client_from_client: NULL (ico_window_mgr.c:293)
+[16:40:48.560] DBG>bind_shell_client: Create Client (ico_window_mgr.c:420)
+[16:40:48.560] DBG>bind_shell_client: client=08bc8578 pid=28891 uid=0 gid=0 (ico_window_mgr.c:432)
+[16:40:48.569] DBG>bind_shell_client: pid=28891 dose not exist in AppCore(AUL) (ico_window_mgr.c:444)
+[16:40:48.569] DBG>bind_shell_client: client=08bc8578 pid=28891 appid=<test-homescreen> from Process table (ico_window_mgr.c:483)
+[16:40:48.569] DBG>bind_shell_client: Leave (ico_window_mgr.c:495)
+[16:40:48.569] DBG>bind_ivi_shell: client=08bc8578 id=7 (ico_ivi_shell.c:1179)
+[16:40:48.569] DBG>bind_ico_win_mgr: Enter(client=08bc8578, id=8) (ico_window_mgr.c:1353)
+[16:40:48.569] DBG>bind_ico_win_mgr: Leave (ico_window_mgr.c:1365)
+[16:40:48.569] DBG>uifw_set_eventcb: Enter client=08bc8578 eventcb=1 (ico_window_mgr.c:772)
+[16:40:48.569] DBG>uifw_set_eventcb: Event Callback 0=>1 (ico_window_mgr.c:785)
+[16:40:48.569] DBG>uifw_set_eventcb: Leave(managers=1) (ico_window_mgr.c:804)
+[16:40:48.569] DBG>ico_control_bind: Enter(client=08bc8578) (ico_input_mgr.c:604)
+[16:40:48.569] DBG>ico_control_bind: Leave (ico_input_mgr.c:634)
+[16:40:48.569] DBG>ico_device_bind: Enter(client=08bc8578) (ico_input_mgr.c:680)
+[16:40:48.569] DBG>ico_device_bind: Leave (ico_input_mgr.c:686)
+[16:40:48.569] DBG>ico_exinput_bind: Enter(client=08bc8578,test-homescreen) (ico_input_mgr.c:727)
+[16:40:48.569] DBG>ico_exinput_bind: Leave (ico_input_mgr.c:785)
+[16:40:48.569] DBG>uifw_set_eventcb: Enter client=08bc8578 eventcb=1 (ico_window_mgr.c:772)
+[16:40:48.569] DBG>uifw_set_eventcb: Leave(managers=1) (ico_window_mgr.c:804)
+[16:40:48.570] DBG>shell_get_shell_surface: Enter (08baa788) client=08bc8578 (ico_ivi_shell.c:761)
+[16:40:48.570] DBG>create_shell_surface: (08baa788) [08b98608] client=b5c0a744 (visible=0) (ico_ivi_shell.c:704)
+[16:40:48.570] DBG>shell_get_shell_surface: Init shsurf(08b98608) weston_surf=08baa788 (ico_ivi_shell.c:782)
+[16:40:48.570] DBG>shell_get_shell_surface: call ivi_shell_hook_create(08bc8578,,08baa788,08b98608) (ico_ivi_shell.c:787)
+[16:40:48.570] DBG>client_register_surface: Enter(surf=08baa788,client=08bc8578,res=08a37be8) (ico_window_mgr.c:543)
+[16:40:48.570] DBG>find_uifw_win_surface_by_ws: NULL (ico_window_mgr.c:269)
+[16:40:48.570] DBG>generate_id: SurfaceId=00000001 (ico_window_mgr.c:357)
+[16:40:48.570] DBG>client_register_surface: Manager exist, Not visible (ico_window_mgr.c:569)
+[16:40:48.570] DBG>ivi_shell_set_visible: [08b98608] visible=-1 (ico_ivi_shell.c:1356)
+[16:40:48.570] DBG>ivi_shell_set_visible: No change (ico_ivi_shell.c:1377)
+[16:40:48.570] DBG>ivi_shell_set_layer: Enter([08b98608],08baa788,0) (ico_ivi_shell.c:1416)
+[16:40:48.570] DBG>ivi_shell_set_layer: New Layer 0 (ico_ivi_shell.c:1434)
+[16:40:48.570] DBG>ivi_shell_restack_ivi_layer: Enter[08b98608] (ico_ivi_shell.c:1220)
+[16:40:48.570] DBG>ivi_shell_restack_ivi_layer: Leave (ico_ivi_shell.c:1286)
+[16:40:48.570] DBG>ivi_shell_set_layer: Leave (ico_ivi_shell.c:1471)
+[16:40:48.570] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) WINDOW_CREATED(surf=00000001,pid=28891,appid=test-homescreen) (ico_window_mgr.c:1448)
+[16:40:48.570] DBG>client_register_surface: Leave(surfaceId=00000001) (ico_window_mgr.c:627)
+[16:40:48.570] DBG>shell_get_shell_surface: ret  ivi_shell_hook_create (ico_ivi_shell.c:789)
+[16:40:48.570] DBG>shell_get_shell_surface: Leave (ico_ivi_shell.c:791)
+[16:40:48.570] DBG>shell_surface_set_toplevel: Set TopLevel[08b98608] (ico_ivi_shell.c:373)
+[16:40:48.660] DBG>uifw_set_positionsize: Enter res=08b425a0 surf=00000001 x/y/w/h=0/0/1280/1024 (ico_window_mgr.c:897)
+[16:40:48.661] DBG>uifw_set_positionsize: Old geometry x/y=16384/16384,w/h=0/0 (ico_window_mgr.c:931)
+[16:40:48.661] DBG>win_mgr_surface_change: Enter(08baa788,0,1) (ico_window_mgr.c:1208)
+[16:40:48.661] DBG>win_mgr_surface_change: Send SHELL_SURFACE_CONFIGURE(00000001,w/h=1280/1024) (ico_window_mgr.c:1220)
+[16:40:48.661] DBG>ivi_shell_send_configure: (08baa788) edges=a w/h=1280/1024 (ico_ivi_shell.c:1559)
+[16:40:48.661] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000001,app=test-homescreen,layer=0,x/y=0/0,w/h=1280/1024,hint=0) (ico_window_mgr.c:1464)
+[16:40:48.661] DBG>win_mgr_surface_change: Leave(OK) (ico_window_mgr.c:1234)
+[16:40:48.661] DBG>uifw_set_positionsize: Leave(OK,output=894e898) (ico_window_mgr.c:954)
+[16:40:48.661] DBG>uifw_set_visible: Enter(surf=00000001,1,0) (ico_window_mgr.c:980)
+[16:40:48.661] DBG>uifw_set_visible: Request from Manager(test-homescreen) (ico_window_mgr.c:990)
+[16:40:48.661] DBG>ivi_shell_set_visible: [08b98608] visible=1 (ico_ivi_shell.c:1356)
+[16:40:48.661] DBG>ivi_shell_restack_ivi_layer: Enter[08b98608] (ico_ivi_shell.c:1220)
+[16:40:48.661] DBG>ivi_shell_restack_ivi_layer: Leave (ico_ivi_shell.c:1286)
+[16:40:48.661] DBG>uifw_set_visible: Change to Visible (ico_window_mgr.c:1016)
+[16:40:48.661] DBG>ivi_shell_set_toplevel: (08baa788) (ico_ivi_shell.c:1520)
+[16:40:48.661] DBG>uifw_set_visible: Visible to Weston WSurf=08baa788,0/0/1280/1024 (ico_window_mgr.c:1023)
+[16:40:48.661] DBG>uifw_set_weston_surface: w/h=1280/1024->1280/1024 x/y=0/0->0/0 (ico_window_mgr.c:871)
+[16:40:48.661] DBG>ivi_shell_surface_configure: 08b98608 0,0(1280/1024) visible (ico_ivi_shell.c:1717)
+[16:40:48.661] DBG>ivi_shell_set_surfacetype: (08baa788) (ico_ivi_shell.c:1536)
+[16:40:48.661] DBG>set_surface_type: [08b98608] (08baa788) type=1 (ico_ivi_shell.c:265)
+[16:40:48.661] DBG>reset_shell_surface_type: [08b98608] (ico_ivi_shell.c:244)
+[16:40:48.661] DBG>ivi_shell_set_raise: Enter(08baa788,0) layer_list=0894f568 (ico_ivi_shell.c:1488)
+[16:40:48.661] DBG>ivi_shell_set_raise: Lower Link to Bottom (ico_ivi_shell.c:1499)
+[16:40:48.661] DBG>ivi_shell_restack_ivi_layer: Enter[08b98608] (ico_ivi_shell.c:1220)
+[16:40:48.661] DBG>ivi_shell_restack_ivi_layer: Leave (ico_ivi_shell.c:1286)
+[16:40:48.661] DBG>ivi_shell_set_raise: Leave (ico_ivi_shell.c:1505)
+[16:40:48.661] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) VISIBLE(surf=00000001,vis=1,raise=0,hint=0) (ico_window_mgr.c:1455)
+[16:40:48.661] DBG>uifw_set_visible: Leave(OK) (ico_window_mgr.c:1065)
+[16:40:48.693] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=1280/1024) (ico_ivi_shell.c:1047)
+[16:40:48.693] DBG>ivi_shell_surface_configure: 08b98608 0,0(1280/1024) visible (ico_ivi_shell.c:1717)
+[16:40:48.693] DBG>shell_surface_configure: w/h=1280/1024->1280/1024 x/y=0/0->0/0 (ico_ivi_shell.c:1068)
+[16:40:48.693] DBG>win_mgr_surface_change_mgr: Enter(08baa788,x/y=0/0,w/h=1280/1024) (ico_window_mgr.c:1177)
+[16:40:48.693] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000001,app=test-homescreen,layer=0,x/y=0/0,w/h=1280/1024,hint=1) (ico_window_mgr.c:1464)
+[16:40:48.693] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:40:48.693] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:40:48.707] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=1280/1024) (ico_ivi_shell.c:1047)
+[16:40:48.707] DBG>ivi_shell_surface_configure: 08b98608 0,0(1280/1024) visible (ico_ivi_shell.c:1717)
+[16:40:48.707] DBG>shell_surface_configure: w/h=1280/1024->1280/1024 x/y=0/0->0/0 (ico_ivi_shell.c:1068)
+[16:40:48.707] DBG>win_mgr_surface_change_mgr: Enter(08baa788,x/y=0/0,w/h=1280/1024) (ico_window_mgr.c:1177)
+[16:40:48.707] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000001,app=test-homescreen,layer=0,x/y=0/0,w/h=1280/1024,hint=1) (ico_window_mgr.c:1464)
+[16:40:48.707] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:40:48.707] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:40:48.707] DBG>uifw_set_visible: Enter(surf=00000001,1,9) (ico_window_mgr.c:980)
+[16:40:48.707] DBG>uifw_set_visible: Request from Manager(test-homescreen) (ico_window_mgr.c:990)
+[16:40:48.707] DBG>uifw_set_visible: Leave(No Change) (ico_window_mgr.c:1028)
+[16:40:48.820] DBG>bind_shell: client=08b97018 id=6 (ico_ivi_shell.c:1112)
+[16:40:48.820] DBG>bind_shell_client: Enter(client=08b97018) (ico_window_mgr.c:414)
+[16:40:48.820] DBG>find_client_from_client: NULL (ico_window_mgr.c:293)
+[16:40:48.820] DBG>bind_shell_client: Create Client (ico_window_mgr.c:420)
+[16:40:48.820] DBG>bind_shell_client: client=08b97018 pid=28893 uid=0 gid=0 (ico_window_mgr.c:432)
+[16:40:48.823] DBG>bind_shell_client: pid=28893 dose not exist in AppCore(AUL) (ico_window_mgr.c:444)
+[16:40:48.823] DBG>bind_shell_client: client=08b97018 pid=28893 appid=<test-client> from Process table (ico_window_mgr.c:483)
+[16:40:48.823] DBG>bind_shell_client: Leave (ico_window_mgr.c:495)
+[16:40:48.823] DBG>bind_ivi_shell: client=08b97018 id=7 (ico_ivi_shell.c:1179)
+[16:40:48.823] DBG>bind_ico_win_mgr: Enter(client=08b97018, id=8) (ico_window_mgr.c:1353)
+[16:40:48.823] DBG>bind_ico_win_mgr: Leave (ico_window_mgr.c:1365)
+[16:40:48.823] DBG>ico_exinput_bind: Enter(client=08b97018,test-client) (ico_input_mgr.c:727)
+[16:40:48.823] DBG>ico_exinput_bind: Create App.test-client table (ico_input_mgr.c:747)
+[16:40:48.823] DBG>ico_exinput_bind: Leave (ico_input_mgr.c:785)
+[16:40:48.921] DBG>shell_get_shell_surface: Enter (08ba8300) client=08b97018 (ico_ivi_shell.c:761)
+[16:40:48.921] DBG>create_shell_surface: (08ba8300) [08bc4618] client=b5c0a744 (visible=0) (ico_ivi_shell.c:704)
+[16:40:48.921] DBG>shell_get_shell_surface: Init shsurf(08bc4618) weston_surf=08ba8300 (ico_ivi_shell.c:782)
+[16:40:48.921] DBG>shell_get_shell_surface: call ivi_shell_hook_create(08b97018,,08ba8300,08bc4618) (ico_ivi_shell.c:787)
+[16:40:48.921] DBG>client_register_surface: Enter(surf=08ba8300,client=08b97018,res=08ba4b18) (ico_window_mgr.c:543)
+[16:40:48.921] DBG>find_uifw_win_surface_by_ws: NULL (ico_window_mgr.c:269)
+[16:40:48.921] DBG>generate_id: SurfaceId=00000002 (ico_window_mgr.c:357)
+[16:40:48.921] DBG>client_register_surface: Manager exist, Not visible (ico_window_mgr.c:569)
+[16:40:48.921] DBG>ivi_shell_set_visible: [08bc4618] visible=-1 (ico_ivi_shell.c:1356)
+[16:40:48.921] DBG>ivi_shell_set_visible: No change (ico_ivi_shell.c:1377)
+[16:40:48.921] DBG>ivi_shell_set_layer: Enter([08bc4618],08ba8300,0) (ico_ivi_shell.c:1416)
+[16:40:48.921] DBG>ivi_shell_set_layer: el=0894f568(0) (ico_ivi_shell.c:1428)
+[16:40:48.921] DBG>ivi_shell_set_layer: Add surface to Layer 0 (ico_ivi_shell.c:1462)
+[16:40:48.921] DBG>ivi_shell_restack_ivi_layer: Enter[08bc4618] (ico_ivi_shell.c:1220)
+[16:40:48.921] DBG>ivi_shell_restack_ivi_layer: Leave (ico_ivi_shell.c:1286)
+[16:40:48.922] DBG>ivi_shell_set_layer: Leave (ico_ivi_shell.c:1471)
+[16:40:48.922] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) WINDOW_CREATED(surf=00000002,pid=28893,appid=test-client) (ico_window_mgr.c:1448)
+[16:40:48.922] DBG>client_register_surface: Leave(surfaceId=00000002) (ico_window_mgr.c:627)
+[16:40:48.922] DBG>shell_get_shell_surface: ret  ivi_shell_hook_create (ico_ivi_shell.c:789)
+[16:40:48.922] DBG>shell_get_shell_surface: Leave (ico_ivi_shell.c:791)
+[16:40:48.922] DBG>shell_surface_set_toplevel: Set TopLevel[08bc4618] (ico_ivi_shell.c:373)
+[16:40:49.043] DBG>set_surface_type: [08bc4618] (08ba8300) type=1 (ico_ivi_shell.c:265)
+[16:40:49.043] DBG>reset_shell_surface_type: [08bc4618] (ico_ivi_shell.c:244)
+[16:40:49.043] DBG>shell_surface_configure: configure to Buffer size(no Manager) x=16384+16384-16384 y=16384+16384-16384 (ico_ivi_shell.c:1080)
+[16:40:49.043] DBG>configure: Enter(08ba8300) [08bc4618] x/y=16384/16384, w/h=640/480 (ico_ivi_shell.c:965)
+[16:40:49.043] DBG>ivi_shell_surface_configure: 08bc4618 16384,16384(640/480) unvisible (ico_ivi_shell.c:1710)
+[16:40:49.043] DBG>configure: Leave (ico_ivi_shell.c:987)
+[16:40:49.054] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=640/480) (ico_ivi_shell.c:1047)
+[16:40:49.054] DBG>ivi_shell_surface_configure: 08bc4618 16384,16384(640/480) unvisible (ico_ivi_shell.c:1710)
+[16:40:49.054] DBG>shell_surface_configure: w/h=640/480->640/480 x/y=16384/16384->16384/16384 (ico_ivi_shell.c:1068)
+[16:40:49.054] DBG>win_mgr_surface_change_mgr: Enter(08ba8300,x/y=16384/16384,w/h=640/480) (ico_window_mgr.c:1177)
+[16:40:49.054] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000002,app=test-client,layer=0,x/y=16384/16384,w/h=640/480,hint=1) (ico_window_mgr.c:1464)
+[16:40:49.054] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:40:49.054] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:40:49.376] DBG>uifw_set_visible: Enter(surf=00000002,1,9) (ico_window_mgr.c:980)
+[16:40:49.376] DBG>uifw_set_visible: Request from Manager(test-homescreen) (ico_window_mgr.c:990)
+[16:40:49.376] DBG>uifw_set_visible: Set w/h=640/480 (ico_window_mgr.c:1009)
+[16:40:49.376] DBG>ivi_shell_set_visible: [08bc4618] visible=1 (ico_ivi_shell.c:1356)
+[16:40:49.376] DBG>ivi_shell_restack_ivi_layer: Enter[08bc4618] (ico_ivi_shell.c:1220)
+[16:40:49.376] DBG>ivi_shell_restack_ivi_layer: Leave (ico_ivi_shell.c:1286)
+[16:40:49.376] DBG>uifw_set_visible: Change to Visible (ico_window_mgr.c:1016)
+[16:40:49.376] DBG>ivi_shell_set_toplevel: (08ba8300) (ico_ivi_shell.c:1520)
+[16:40:49.376] DBG>uifw_set_visible: Visible to Weston WSurf=08ba8300,0/0/640/480 (ico_window_mgr.c:1023)
+[16:40:49.376] DBG>uifw_set_weston_surface: w/h=640/480->640/480 x/y=0/0->0/0 (ico_window_mgr.c:871)
+[16:40:49.376] DBG>ivi_shell_surface_configure: 08bc4618 0,0(640/480) visible (ico_ivi_shell.c:1717)
+[16:40:49.376] DBG>ivi_shell_set_surfacetype: (08ba8300) (ico_ivi_shell.c:1536)
+[16:40:49.377] DBG>set_surface_type: [08bc4618] (08ba8300) type=1 (ico_ivi_shell.c:265)
+[16:40:49.377] DBG>reset_shell_surface_type: [08bc4618] (ico_ivi_shell.c:244)
+[16:40:49.377] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) VISIBLE(surf=00000002,vis=1,raise=9,hint=0) (ico_window_mgr.c:1455)
+[16:40:49.377] DBG>uifw_set_visible: Leave(OK) (ico_window_mgr.c:1065)
+[16:40:49.416] DBG>uifw_set_visible: Enter(surf=00000002,1,9) (ico_window_mgr.c:980)
+[16:40:49.416] DBG>uifw_set_visible: Request from Manager(test-homescreen) (ico_window_mgr.c:990)
+[16:40:49.416] DBG>uifw_set_visible: Leave(No Change) (ico_window_mgr.c:1028)
+[16:40:49.517] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=640/480) (ico_ivi_shell.c:1047)
+[16:40:49.517] DBG>ivi_shell_surface_configure: 08bc4618 0,0(640/480) visible (ico_ivi_shell.c:1717)
+[16:40:49.517] DBG>shell_surface_configure: w/h=640/480->640/480 x/y=0/0->0/0 (ico_ivi_shell.c:1068)
+[16:40:49.517] DBG>win_mgr_surface_change_mgr: Enter(08ba8300,x/y=0/0,w/h=640/480) (ico_window_mgr.c:1177)
+[16:40:49.517] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000002,app=test-client,layer=0,x/y=0/0,w/h=640/480,hint=1) (ico_window_mgr.c:1464)
+[16:40:49.517] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:40:49.517] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:40:50.159] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=640/480) (ico_ivi_shell.c:1047)
+[16:40:50.160] DBG>ivi_shell_surface_configure: 08bc4618 0,0(640/480) visible (ico_ivi_shell.c:1717)
+[16:40:50.160] DBG>shell_surface_configure: w/h=640/480->640/480 x/y=0/0->0/0 (ico_ivi_shell.c:1068)
+[16:40:50.160] DBG>win_mgr_surface_change_mgr: Enter(08ba8300,x/y=0/0,w/h=640/480) (ico_window_mgr.c:1177)
+[16:40:50.160] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000002,app=test-client,layer=0,x/y=0/0,w/h=640/480,hint=1) (ico_window_mgr.c:1464)
+[16:40:50.160] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:40:50.160] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:40:50.803] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=640/480) (ico_ivi_shell.c:1047)
+[16:40:50.803] DBG>ivi_shell_surface_configure: 08bc4618 0,0(640/480) visible (ico_ivi_shell.c:1717)
+[16:40:50.803] DBG>shell_surface_configure: w/h=640/480->640/480 x/y=0/0->0/0 (ico_ivi_shell.c:1068)
+[16:40:50.803] DBG>win_mgr_surface_change_mgr: Enter(08ba8300,x/y=0/0,w/h=640/480) (ico_window_mgr.c:1177)
+[16:40:50.803] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000002,app=test-client,layer=0,x/y=0/0,w/h=640/480,hint=1) (ico_window_mgr.c:1464)
+[16:40:50.803] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:40:50.803] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:40:51.446] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=640/480) (ico_ivi_shell.c:1047)
+[16:40:51.446] DBG>ivi_shell_surface_configure: 08bc4618 0,0(640/480) visible (ico_ivi_shell.c:1717)
+[16:40:51.446] DBG>shell_surface_configure: w/h=640/480->640/480 x/y=0/0->0/0 (ico_ivi_shell.c:1068)
+[16:40:51.446] DBG>win_mgr_surface_change_mgr: Enter(08ba8300,x/y=0/0,w/h=640/480) (ico_window_mgr.c:1177)
+[16:40:51.446] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000002,app=test-client,layer=0,x/y=0/0,w/h=640/480,hint=1) (ico_window_mgr.c:1464)
+[16:40:51.446] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:40:51.446] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:40:52.110] libwayland: disconnect from client 0x8b97018
+[16:40:52.110] DBG>unbind_shell (ico_ivi_shell.c:1135)
+[16:40:52.110] DBG>unbind_shell_client: Enter(client=08b97018) (ico_window_mgr.c:511)
+[16:40:52.110] DBG>unbind_shell_client: Leave (ico_window_mgr.c:519)
+[16:40:52.110] DBG>unbind_ivi_shell (ico_ivi_shell.c:1154)
+[16:40:52.110] DBG>unbind_ico_win_mgr: Enter (ico_window_mgr.c:1381)
+[16:40:52.110] DBG>unbind_ico_win_mgr: Leave (ico_window_mgr.c:1398)
+[16:40:52.110] DBG>ico_exinput_unbind: Enter(resource=08ba8270) (ico_input_mgr.c:805)
+[16:40:52.110] DBG>ico_exinput_unbind: find app.test-client (ico_input_mgr.c:809)
+[16:40:52.110] DBG>ico_exinput_unbind: Leave (ico_input_mgr.c:840)
+[16:40:52.110] DBG>shell_handle_surface_destroy: Enter [08bc4618] data=08ba8300 (ico_ivi_shell.c:645)
+[16:40:52.110] DBG>shell_destroy_shell_surface: Enter [08bc4618] (ico_ivi_shell.c:622)
+[16:40:52.110] DBG>destroy_shell_surface: Enter[08bc4618] (ico_ivi_shell.c:583)
+[16:40:52.110] DBG>ivi_shell_restack_ivi_layer: Enter[08bc4618] (ico_ivi_shell.c:1220)
+[16:40:52.110] DBG>ivi_shell_restack_ivi_layer: Leave (ico_ivi_shell.c:1286)
+[16:40:52.110] DBG>destroy_shell_surface: call ivi_shell_hook_destroy(08ba8300) (ico_ivi_shell.c:595)
+[16:40:52.110] DBG>win_mgr_surface_destroy: Enter(08ba8300) (ico_window_mgr.c:1282)
+[16:40:52.110] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) DESTROYED surf=00000002 (ico_window_mgr.c:1472)
+[16:40:52.110] DBG>win_mgr_surface_destroy: Leave(OK) (ico_window_mgr.c:1332)
+[16:40:52.111] DBG>destroy_shell_surface: ret (ico_ivi_shell.c:597)
+[16:40:52.111] DBG>destroy_shell_surface: Leave (ico_ivi_shell.c:606)
+[16:40:52.111] DBG>shell_destroy_shell_surface: Leave (ico_ivi_shell.c:626)
+[16:40:52.111] DBG>shell_handle_surface_destroy: Leave (ico_ivi_shell.c:653)
+[16:40:53.244] DBG>bind_shell: client=089ede80 id=6 (ico_ivi_shell.c:1112)
+[16:40:53.244] DBG>bind_shell_client: Enter(client=089ede80) (ico_window_mgr.c:414)
+[16:40:53.244] DBG>find_client_from_client: NULL (ico_window_mgr.c:293)
+[16:40:53.244] DBG>bind_shell_client: Create Client (ico_window_mgr.c:420)
+[16:40:53.244] DBG>bind_shell_client: client=089ede80 pid=28908 uid=0 gid=0 (ico_window_mgr.c:432)
+[16:40:53.247] DBG>bind_shell_client: pid=28908 dose not exist in AppCore(AUL) (ico_window_mgr.c:444)
+[16:40:53.247] DBG>bind_shell_client: client=089ede80 pid=28908 appid=<test-client> from Process table (ico_window_mgr.c:483)
+[16:40:53.247] DBG>bind_shell_client: Leave (ico_window_mgr.c:495)
+[16:40:53.247] DBG>bind_ivi_shell: client=089ede80 id=7 (ico_ivi_shell.c:1179)
+[16:40:53.247] DBG>bind_ico_win_mgr: Enter(client=089ede80, id=8) (ico_window_mgr.c:1353)
+[16:40:53.247] DBG>bind_ico_win_mgr: Leave (ico_window_mgr.c:1365)
+[16:40:53.247] DBG>ico_exinput_bind: Enter(client=089ede80,test-client) (ico_input_mgr.c:727)
+[16:40:53.247] DBG>ico_exinput_bind: Create App.test-client table (ico_input_mgr.c:747)
+[16:40:53.247] DBG>ico_exinput_bind: Leave (ico_input_mgr.c:785)
+[16:40:53.345] DBG>shell_get_shell_surface: Enter (08b96da8) client=089ede80 (ico_ivi_shell.c:761)
+[16:40:53.345] DBG>create_shell_surface: (08b96da8) [08ba81d8] client=b5c0a744 (visible=0) (ico_ivi_shell.c:704)
+[16:40:53.345] DBG>shell_get_shell_surface: Init shsurf(08ba81d8) weston_surf=08b96da8 (ico_ivi_shell.c:782)
+[16:40:53.345] DBG>shell_get_shell_surface: call ivi_shell_hook_create(089ede80,,08b96da8,08ba81d8) (ico_ivi_shell.c:787)
+[16:40:53.345] DBG>client_register_surface: Enter(surf=08b96da8,client=089ede80,res=08ba47d8) (ico_window_mgr.c:543)
+[16:40:53.345] DBG>find_uifw_win_surface_by_ws: NULL (ico_window_mgr.c:269)
+[16:40:53.345] DBG>generate_id: SurfaceId=00000003 (ico_window_mgr.c:357)
+[16:40:53.345] DBG>client_register_surface: Manager exist, Not visible (ico_window_mgr.c:569)
+[16:40:53.345] DBG>ivi_shell_set_visible: [08ba81d8] visible=-1 (ico_ivi_shell.c:1356)
+[16:40:53.345] DBG>ivi_shell_set_visible: No change (ico_ivi_shell.c:1377)
+[16:40:53.345] DBG>ivi_shell_set_layer: Enter([08ba81d8],08b96da8,0) (ico_ivi_shell.c:1416)
+[16:40:53.345] DBG>ivi_shell_set_layer: el=0894f568(0) (ico_ivi_shell.c:1428)
+[16:40:53.345] DBG>ivi_shell_set_layer: Add surface to Layer 0 (ico_ivi_shell.c:1462)
+[16:40:53.345] DBG>ivi_shell_restack_ivi_layer: Enter[08ba81d8] (ico_ivi_shell.c:1220)
+[16:40:53.345] DBG>ivi_shell_restack_ivi_layer: Leave (ico_ivi_shell.c:1286)
+[16:40:53.345] DBG>ivi_shell_set_layer: Leave (ico_ivi_shell.c:1471)
+[16:40:53.345] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) WINDOW_CREATED(surf=00000003,pid=28908,appid=test-client) (ico_window_mgr.c:1448)
+[16:40:53.345] DBG>client_register_surface: Leave(surfaceId=00000003) (ico_window_mgr.c:627)
+[16:40:53.345] DBG>shell_get_shell_surface: ret  ivi_shell_hook_create (ico_ivi_shell.c:789)
+[16:40:53.345] DBG>shell_get_shell_surface: Leave (ico_ivi_shell.c:791)
+[16:40:53.345] DBG>shell_surface_set_toplevel: Set TopLevel[08ba81d8] (ico_ivi_shell.c:373)
+[16:40:53.465] DBG>set_surface_type: [08ba81d8] (08b96da8) type=1 (ico_ivi_shell.c:265)
+[16:40:53.465] DBG>reset_shell_surface_type: [08ba81d8] (ico_ivi_shell.c:244)
+[16:40:53.465] DBG>shell_surface_configure: configure to Buffer size(no Manager) x=16384+16384-16384 y=16384+16384-16384 (ico_ivi_shell.c:1080)
+[16:40:53.465] DBG>configure: Enter(08b96da8) [08ba81d8] x/y=16384/16384, w/h=640/480 (ico_ivi_shell.c:965)
+[16:40:53.465] DBG>ivi_shell_surface_configure: 08ba81d8 16384,16384(640/480) unvisible (ico_ivi_shell.c:1710)
+[16:40:53.465] DBG>configure: Leave (ico_ivi_shell.c:987)
+[16:40:53.800] DBG>uifw_set_positionsize: Enter res=08b425a0 surf=00000003 x/y/w/h=16384/16384/600/400 (ico_window_mgr.c:897)
+[16:40:53.800] DBG>uifw_set_positionsize: Old geometry x/y=16384/16384,w/h=640/480 (ico_window_mgr.c:931)
+[16:40:53.800] DBG>uifw_set_positionsize: Fixed Geometry, Change(Vis=0) (ico_window_mgr.c:946)
+[16:40:53.800] DBG>uifw_set_weston_surface: w/h=600/400->600/400 x/y=0/0->0/0 (ico_window_mgr.c:871)
+[16:40:53.800] DBG>ivi_shell_surface_configure: 08ba81d8 0,0(600/400) unvisible (ico_ivi_shell.c:1710)
+[16:40:53.800] DBG>win_mgr_surface_change: Enter(08b96da8,0,1) (ico_window_mgr.c:1208)
+[16:40:53.800] DBG>win_mgr_surface_change: Send SHELL_SURFACE_CONFIGURE(00000003,w/h=600/400) (ico_window_mgr.c:1220)
+[16:40:53.800] DBG>ivi_shell_send_configure: (08b96da8) edges=a w/h=600/400 (ico_ivi_shell.c:1559)
+[16:40:53.800] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000003,app=test-client,layer=0,x/y=0/0,w/h=600/400,hint=0) (ico_window_mgr.c:1464)
+[16:40:53.800] DBG>win_mgr_surface_change: Leave(OK) (ico_window_mgr.c:1234)
+[16:40:53.800] DBG>uifw_set_positionsize: Leave(OK,output=894e898) (ico_window_mgr.c:954)
+[16:40:53.818] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=640/480) (ico_ivi_shell.c:1047)
+[16:40:53.818] DBG>ivi_shell_surface_configure: 08ba81d8 0,0(600/400) unvisible (ico_ivi_shell.c:1710)
+[16:40:53.819] DBG>shell_surface_configure: w/h=600/400->600/400 x/y=0/0->16384/16384 (ico_ivi_shell.c:1068)
+[16:40:53.819] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=0/0,w/h=640/480) (ico_window_mgr.c:1177)
+[16:40:53.819] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000003,app=test-client,layer=0,x/y=0/0,w/h=640/480,hint=1) (ico_window_mgr.c:1464)
+[16:40:53.819] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:40:53.819] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:40:53.820] DBG>uifw_set_positionsize: Enter res=08b425a0 surf=00000003 x/y/w/h=300/100/16384/16384 (ico_window_mgr.c:897)
+[16:40:53.820] DBG>uifw_set_positionsize: Old geometry x/y=16384/16384,w/h=600/400 (ico_window_mgr.c:931)
+[16:40:53.820] DBG>uifw_set_positionsize: Fixed Geometry, Change(Vis=0) (ico_window_mgr.c:946)
+[16:40:53.820] DBG>uifw_set_weston_surface: w/h=600/400->600/400 x/y=300/100->300/100 (ico_window_mgr.c:871)
+[16:40:53.820] DBG>ivi_shell_surface_configure: 08ba81d8 300,100(600/400) unvisible (ico_ivi_shell.c:1710)
+[16:40:53.820] DBG>win_mgr_surface_change: Enter(08b96da8,0,1) (ico_window_mgr.c:1208)
+[16:40:53.820] DBG>win_mgr_surface_change: Send SHELL_SURFACE_CONFIGURE(00000003,w/h=600/400) (ico_window_mgr.c:1220)
+[16:40:53.820] DBG>ivi_shell_send_configure: (08b96da8) edges=a w/h=600/400 (ico_ivi_shell.c:1559)
+[16:40:53.820] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000003,app=test-client,layer=0,x/y=300/100,w/h=600/400,hint=0) (ico_window_mgr.c:1464)
+[16:40:53.820] DBG>win_mgr_surface_change: Leave(OK) (ico_window_mgr.c:1234)
+[16:40:53.820] DBG>uifw_set_positionsize: Leave(OK,output=894e898) (ico_window_mgr.c:954)
+[16:40:53.840] DBG>uifw_set_visible: Enter(surf=00000003,1,9) (ico_window_mgr.c:980)
+[16:40:53.840] DBG>uifw_set_visible: Request from Manager(test-homescreen) (ico_window_mgr.c:990)
+[16:40:53.840] DBG>ivi_shell_set_visible: [08ba81d8] visible=1 (ico_ivi_shell.c:1356)
+[16:40:53.840] DBG>ivi_shell_restack_ivi_layer: Enter[08ba81d8] (ico_ivi_shell.c:1220)
+[16:40:53.840] DBG>ivi_shell_restack_ivi_layer: Leave (ico_ivi_shell.c:1286)
+[16:40:53.840] DBG>uifw_set_visible: Change to Visible (ico_window_mgr.c:1016)
+[16:40:53.841] DBG>ivi_shell_set_toplevel: (08b96da8) (ico_ivi_shell.c:1520)
+[16:40:53.841] DBG>uifw_set_visible: Visible to Weston WSurf=08b96da8,300/100/600/400 (ico_window_mgr.c:1023)
+[16:40:53.841] DBG>uifw_set_weston_surface: w/h=600/400->600/400 x/y=300/100->300/100 (ico_window_mgr.c:871)
+[16:40:53.841] DBG>ivi_shell_surface_configure: 08ba81d8 300,100(600/400) visible (ico_ivi_shell.c:1717)
+[16:40:53.841] DBG>ivi_shell_set_surfacetype: (08b96da8) (ico_ivi_shell.c:1536)
+[16:40:53.841] DBG>set_surface_type: [08ba81d8] (08b96da8) type=1 (ico_ivi_shell.c:265)
+[16:40:53.841] DBG>reset_shell_surface_type: [08ba81d8] (ico_ivi_shell.c:244)
+[16:40:53.841] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) VISIBLE(surf=00000003,vis=1,raise=9,hint=0) (ico_window_mgr.c:1455)
+[16:40:53.841] DBG>uifw_set_visible: Leave(OK) (ico_window_mgr.c:1065)
+[16:40:53.881] DBG>uifw_set_visible: Enter(surf=00000003,1,9) (ico_window_mgr.c:980)
+[16:40:53.881] DBG>uifw_set_visible: Request from Manager(test-homescreen) (ico_window_mgr.c:990)
+[16:40:53.881] DBG>uifw_set_visible: Leave(No Change) (ico_window_mgr.c:1028)
+[16:40:54.884] DBG>uifw_set_positionsize: Enter res=08b425a0 surf=00000003 x/y/w/h=320/120/16384/16384 (ico_window_mgr.c:897)
+[16:40:54.885] DBG>uifw_set_positionsize: Old geometry x/y=300/100,w/h=600/400 (ico_window_mgr.c:931)
+[16:40:54.885] DBG>uifw_set_positionsize: Fixed Geometry, Change(Vis=1) (ico_window_mgr.c:946)
+[16:40:54.885] DBG>uifw_set_weston_surface: w/h=600/400->600/400 x/y=320/120->320/120 (ico_window_mgr.c:871)
+[16:40:54.885] DBG>ivi_shell_surface_configure: 08ba81d8 320,120(600/400) visible (ico_ivi_shell.c:1717)
+[16:40:54.885] DBG>win_mgr_surface_change: Enter(08b96da8,0,1) (ico_window_mgr.c:1208)
+[16:40:54.885] DBG>win_mgr_surface_change: Send SHELL_SURFACE_CONFIGURE(00000003,w/h=600/400) (ico_window_mgr.c:1220)
+[16:40:54.885] DBG>ivi_shell_send_configure: (08b96da8) edges=a w/h=600/400 (ico_ivi_shell.c:1559)
+[16:40:54.885] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000003,app=test-client,layer=0,x/y=320/120,w/h=600/400,hint=0) (ico_window_mgr.c:1464)
+[16:40:54.885] DBG>win_mgr_surface_change: Leave(OK) (ico_window_mgr.c:1234)
+[16:40:54.885] DBG>uifw_set_positionsize: Leave(OK,output=894e898) (ico_window_mgr.c:954)
+[16:40:55.427] DBG>uifw_set_positionsize: Enter res=08b425a0 surf=00000003 x/y/w/h=340/140/16384/16384 (ico_window_mgr.c:897)
+[16:40:55.427] DBG>uifw_set_positionsize: Old geometry x/y=320/120,w/h=600/400 (ico_window_mgr.c:931)
+[16:40:55.427] DBG>uifw_set_positionsize: Fixed Geometry, Change(Vis=1) (ico_window_mgr.c:946)
+[16:40:55.427] DBG>uifw_set_weston_surface: w/h=600/400->600/400 x/y=340/140->340/140 (ico_window_mgr.c:871)
+[16:40:55.428] DBG>ivi_shell_surface_configure: 08ba81d8 340,140(600/400) visible (ico_ivi_shell.c:1717)
+[16:40:55.428] DBG>win_mgr_surface_change: Enter(08b96da8,0,1) (ico_window_mgr.c:1208)
+[16:40:55.428] DBG>win_mgr_surface_change: Send SHELL_SURFACE_CONFIGURE(00000003,w/h=600/400) (ico_window_mgr.c:1220)
+[16:40:55.428] DBG>ivi_shell_send_configure: (08b96da8) edges=a w/h=600/400 (ico_ivi_shell.c:1559)
+[16:40:55.428] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000003,app=test-client,layer=0,x/y=340/140,w/h=600/400,hint=0) (ico_window_mgr.c:1464)
+[16:40:55.428] DBG>win_mgr_surface_change: Leave(OK) (ico_window_mgr.c:1234)
+[16:40:55.428] DBG>uifw_set_positionsize: Leave(OK,output=894e898) (ico_window_mgr.c:954)
+[16:40:55.969] DBG>uifw_set_positionsize: Enter res=08b425a0 surf=00000003 x/y/w/h=360/160/16384/16384 (ico_window_mgr.c:897)
+[16:40:55.969] DBG>uifw_set_positionsize: Old geometry x/y=340/140,w/h=600/400 (ico_window_mgr.c:931)
+[16:40:55.969] DBG>uifw_set_positionsize: Fixed Geometry, Change(Vis=1) (ico_window_mgr.c:946)
+[16:40:55.969] DBG>uifw_set_weston_surface: w/h=600/400->600/400 x/y=360/160->360/160 (ico_window_mgr.c:871)
+[16:40:55.969] DBG>ivi_shell_surface_configure: 08ba81d8 360,160(600/400) visible (ico_ivi_shell.c:1717)
+[16:40:55.969] DBG>win_mgr_surface_change: Enter(08b96da8,0,1) (ico_window_mgr.c:1208)
+[16:40:55.969] DBG>win_mgr_surface_change: Send SHELL_SURFACE_CONFIGURE(00000003,w/h=600/400) (ico_window_mgr.c:1220)
+[16:40:55.969] DBG>ivi_shell_send_configure: (08b96da8) edges=a w/h=600/400 (ico_ivi_shell.c:1559)
+[16:40:55.969] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000003,app=test-client,layer=0,x/y=360/160,w/h=600/400,hint=0) (ico_window_mgr.c:1464)
+[16:40:55.969] DBG>win_mgr_surface_change: Leave(OK) (ico_window_mgr.c:1234)
+[16:40:55.969] DBG>uifw_set_positionsize: Leave(OK,output=894e898) (ico_window_mgr.c:954)
+[16:40:56.511] DBG>uifw_set_positionsize: Enter res=08b425a0 surf=00000003 x/y/w/h=380/180/16384/16384 (ico_window_mgr.c:897)
+[16:40:56.511] DBG>uifw_set_positionsize: Old geometry x/y=360/160,w/h=600/400 (ico_window_mgr.c:931)
+[16:40:56.511] DBG>uifw_set_positionsize: Fixed Geometry, Change(Vis=1) (ico_window_mgr.c:946)
+[16:40:56.512] DBG>uifw_set_weston_surface: w/h=600/400->600/400 x/y=380/180->380/180 (ico_window_mgr.c:871)
+[16:40:56.512] DBG>ivi_shell_surface_configure: 08ba81d8 380,180(600/400) visible (ico_ivi_shell.c:1717)
+[16:40:56.512] DBG>win_mgr_surface_change: Enter(08b96da8,0,1) (ico_window_mgr.c:1208)
+[16:40:56.512] DBG>win_mgr_surface_change: Send SHELL_SURFACE_CONFIGURE(00000003,w/h=600/400) (ico_window_mgr.c:1220)
+[16:40:56.512] DBG>ivi_shell_send_configure: (08b96da8) edges=a w/h=600/400 (ico_ivi_shell.c:1559)
+[16:40:56.512] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000003,app=test-client,layer=0,x/y=380/180,w/h=600/400,hint=0) (ico_window_mgr.c:1464)
+[16:40:56.512] DBG>win_mgr_surface_change: Leave(OK) (ico_window_mgr.c:1234)
+[16:40:56.512] DBG>uifw_set_positionsize: Leave(OK,output=894e898) (ico_window_mgr.c:954)
+[16:40:57.054] DBG>uifw_set_visible: Enter(surf=00000003,0,9) (ico_window_mgr.c:980)
+[16:40:57.054] DBG>uifw_set_visible: Request from Manager(test-homescreen) (ico_window_mgr.c:990)
+[16:40:57.054] DBG>ivi_shell_set_visible: [08ba81d8] visible=0 (ico_ivi_shell.c:1356)
+[16:40:57.054] DBG>ivi_shell_restack_ivi_layer: Enter[08ba81d8] (ico_ivi_shell.c:1220)
+[16:40:57.054] DBG>ivi_shell_restack_ivi_layer: Leave (ico_ivi_shell.c:1286)
+[16:40:57.054] DBG>uifw_set_visible: Change to UnVisible (ico_window_mgr.c:1036)
+[16:40:57.054] DBG>uifw_set_weston_surface: w/h=600/400->600/400 x/y=380/180->380/180 (ico_window_mgr.c:871)
+[16:40:57.054] DBG>ivi_shell_surface_configure: 08ba81d8 380,180(600/400) unvisible (ico_ivi_shell.c:1710)
+[16:40:57.054] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) VISIBLE(surf=00000003,vis=0,raise=9,hint=0) (ico_window_mgr.c:1455)
+[16:40:57.054] DBG>uifw_set_visible: Leave(OK) (ico_window_mgr.c:1065)
+[16:40:57.094] DBG>uifw_set_visible: Enter(surf=00000003,0,9) (ico_window_mgr.c:980)
+[16:40:57.094] DBG>uifw_set_visible: Request from Manager(test-homescreen) (ico_window_mgr.c:990)
+[16:40:57.094] DBG>uifw_set_visible: Leave(No Change) (ico_window_mgr.c:1042)
+[16:40:58.098] DBG>uifw_set_positionsize: Enter res=08b425a0 surf=00000003 x/y/w/h=100/200/16384/16384 (ico_window_mgr.c:897)
+[16:40:58.098] DBG>uifw_set_positionsize: Old geometry x/y=16384/16384,w/h=600/400 (ico_window_mgr.c:931)
+[16:40:58.098] DBG>uifw_set_positionsize: Fixed Geometry, Change(Vis=0) (ico_window_mgr.c:946)
+[16:40:58.098] DBG>uifw_set_weston_surface: w/h=600/400->600/400 x/y=100/200->100/200 (ico_window_mgr.c:871)
+[16:40:58.098] DBG>ivi_shell_surface_configure: 08ba81d8 100,200(600/400) unvisible (ico_ivi_shell.c:1710)
+[16:40:58.098] DBG>win_mgr_surface_change: Enter(08b96da8,0,1) (ico_window_mgr.c:1208)
+[16:40:58.098] DBG>win_mgr_surface_change: Send SHELL_SURFACE_CONFIGURE(00000003,w/h=600/400) (ico_window_mgr.c:1220)
+[16:40:58.098] DBG>ivi_shell_send_configure: (08b96da8) edges=a w/h=600/400 (ico_ivi_shell.c:1559)
+[16:40:58.098] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000003,app=test-client,layer=0,x/y=100/200,w/h=600/400,hint=0) (ico_window_mgr.c:1464)
+[16:40:58.098] DBG>win_mgr_surface_change: Leave(OK) (ico_window_mgr.c:1234)
+[16:40:58.098] DBG>uifw_set_positionsize: Leave(OK,output=894e898) (ico_window_mgr.c:954)
+[16:40:58.118] DBG>uifw_set_positionsize: Enter res=08b425a0 surf=00000003 x/y/w/h=16384/16384/150/100 (ico_window_mgr.c:897)
+[16:40:58.118] DBG>uifw_set_positionsize: Old geometry x/y=16384/16384,w/h=600/400 (ico_window_mgr.c:931)
+[16:40:58.118] DBG>uifw_set_positionsize: Fixed Geometry, Change(Vis=0) (ico_window_mgr.c:946)
+[16:40:58.118] DBG>uifw_set_weston_surface: w/h=150/100->150/100 x/y=100/200->100/200 (ico_window_mgr.c:871)
+[16:40:58.118] DBG>ivi_shell_surface_configure: 08ba81d8 100,200(150/100) unvisible (ico_ivi_shell.c:1710)
+[16:40:58.118] DBG>win_mgr_surface_change: Enter(08b96da8,0,1) (ico_window_mgr.c:1208)
+[16:40:58.118] DBG>win_mgr_surface_change: Send SHELL_SURFACE_CONFIGURE(00000003,w/h=150/100) (ico_window_mgr.c:1220)
+[16:40:58.118] DBG>ivi_shell_send_configure: (08b96da8) edges=a w/h=150/100 (ico_ivi_shell.c:1559)
+[16:40:58.118] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000003,app=test-client,layer=0,x/y=100/200,w/h=150/100,hint=0) (ico_window_mgr.c:1464)
+[16:40:58.118] DBG>win_mgr_surface_change: Leave(OK) (ico_window_mgr.c:1234)
+[16:40:58.118] DBG>uifw_set_positionsize: Leave(OK,output=894e898) (ico_window_mgr.c:954)
+[16:40:58.138] DBG>uifw_set_visible: Enter(surf=00000003,1,9) (ico_window_mgr.c:980)
+[16:40:58.138] DBG>uifw_set_visible: Request from Manager(test-homescreen) (ico_window_mgr.c:990)
+[16:40:58.138] DBG>ivi_shell_set_visible: [08ba81d8] visible=1 (ico_ivi_shell.c:1356)
+[16:40:58.138] DBG>ivi_shell_restack_ivi_layer: Enter[08ba81d8] (ico_ivi_shell.c:1220)
+[16:40:58.138] DBG>ivi_shell_restack_ivi_layer: Leave (ico_ivi_shell.c:1286)
+[16:40:58.138] DBG>uifw_set_visible: Change to Visible (ico_window_mgr.c:1016)
+[16:40:58.138] DBG>ivi_shell_set_toplevel: (08b96da8) (ico_ivi_shell.c:1520)
+[16:40:58.138] DBG>uifw_set_visible: Visible to Weston WSurf=08b96da8,100/200/150/100 (ico_window_mgr.c:1023)
+[16:40:58.138] DBG>uifw_set_weston_surface: w/h=150/100->150/100 x/y=100/200->100/200 (ico_window_mgr.c:871)
+[16:40:58.138] DBG>ivi_shell_surface_configure: 08ba81d8 100,200(150/100) visible (ico_ivi_shell.c:1717)
+[16:40:58.138] DBG>ivi_shell_set_surfacetype: (08b96da8) (ico_ivi_shell.c:1536)
+[16:40:58.139] DBG>set_surface_type: [08ba81d8] (08b96da8) type=1 (ico_ivi_shell.c:265)
+[16:40:58.139] DBG>reset_shell_surface_type: [08ba81d8] (ico_ivi_shell.c:244)
+[16:40:58.139] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) VISIBLE(surf=00000003,vis=1,raise=9,hint=0) (ico_window_mgr.c:1455)
+[16:40:58.139] DBG>uifw_set_visible: Leave(OK) (ico_window_mgr.c:1065)
+[16:40:58.178] DBG>uifw_set_visible: Enter(surf=00000003,1,9) (ico_window_mgr.c:980)
+[16:40:58.179] DBG>uifw_set_visible: Request from Manager(test-homescreen) (ico_window_mgr.c:990)
+[16:40:58.179] DBG>uifw_set_visible: Leave(No Change) (ico_window_mgr.c:1028)
+[16:40:58.781] DBG>uifw_set_positionsize: Enter res=08b425a0 surf=00000003 x/y/w/h=16384/16384/300/200 (ico_window_mgr.c:897)
+[16:40:58.781] DBG>uifw_set_positionsize: Old geometry x/y=100/200,w/h=150/100 (ico_window_mgr.c:931)
+[16:40:58.781] DBG>uifw_set_positionsize: Fixed Geometry, Change(Vis=1) (ico_window_mgr.c:946)
+[16:40:58.781] DBG>uifw_set_weston_surface: w/h=300/200->300/200 x/y=100/200->100/200 (ico_window_mgr.c:871)
+[16:40:58.781] DBG>ivi_shell_surface_configure: 08ba81d8 100,200(300/200) visible (ico_ivi_shell.c:1717)
+[16:40:58.781] DBG>win_mgr_surface_change: Enter(08b96da8,0,1) (ico_window_mgr.c:1208)
+[16:40:58.781] DBG>win_mgr_surface_change: Send SHELL_SURFACE_CONFIGURE(00000003,w/h=300/200) (ico_window_mgr.c:1220)
+[16:40:58.781] DBG>ivi_shell_send_configure: (08b96da8) edges=a w/h=300/200 (ico_ivi_shell.c:1559)
+[16:40:58.781] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000003,app=test-client,layer=0,x/y=100/200,w/h=300/200,hint=0) (ico_window_mgr.c:1464)
+[16:40:58.781] DBG>win_mgr_surface_change: Leave(OK) (ico_window_mgr.c:1234)
+[16:40:58.781] DBG>uifw_set_positionsize: Leave(OK,output=894e898) (ico_window_mgr.c:954)
+[16:40:59.423] DBG>uifw_set_positionsize: Enter res=08b425a0 surf=00000003 x/y/w/h=16384/16384/450/300 (ico_window_mgr.c:897)
+[16:40:59.423] DBG>uifw_set_positionsize: Old geometry x/y=100/200,w/h=300/200 (ico_window_mgr.c:931)
+[16:40:59.423] DBG>uifw_set_positionsize: Fixed Geometry, Change(Vis=1) (ico_window_mgr.c:946)
+[16:40:59.424] DBG>uifw_set_weston_surface: w/h=450/300->450/300 x/y=100/200->100/200 (ico_window_mgr.c:871)
+[16:40:59.424] DBG>ivi_shell_surface_configure: 08ba81d8 100,200(450/300) visible (ico_ivi_shell.c:1717)
+[16:40:59.424] DBG>win_mgr_surface_change: Enter(08b96da8,0,1) (ico_window_mgr.c:1208)
+[16:40:59.424] DBG>win_mgr_surface_change: Send SHELL_SURFACE_CONFIGURE(00000003,w/h=450/300) (ico_window_mgr.c:1220)
+[16:40:59.424] DBG>ivi_shell_send_configure: (08b96da8) edges=a w/h=450/300 (ico_ivi_shell.c:1559)
+[16:40:59.424] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000003,app=test-client,layer=0,x/y=100/200,w/h=450/300,hint=0) (ico_window_mgr.c:1464)
+[16:40:59.424] DBG>win_mgr_surface_change: Leave(OK) (ico_window_mgr.c:1234)
+[16:40:59.424] DBG>uifw_set_positionsize: Leave(OK,output=894e898) (ico_window_mgr.c:954)
+[16:41:00.066] DBG>uifw_set_positionsize: Enter res=08b425a0 surf=00000003 x/y/w/h=16384/16384/600/400 (ico_window_mgr.c:897)
+[16:41:00.066] DBG>uifw_set_positionsize: Old geometry x/y=100/200,w/h=450/300 (ico_window_mgr.c:931)
+[16:41:00.066] DBG>uifw_set_positionsize: Fixed Geometry, Change(Vis=1) (ico_window_mgr.c:946)
+[16:41:00.066] DBG>uifw_set_weston_surface: w/h=600/400->600/400 x/y=100/200->100/200 (ico_window_mgr.c:871)
+[16:41:00.066] DBG>ivi_shell_surface_configure: 08ba81d8 100,200(600/400) visible (ico_ivi_shell.c:1717)
+[16:41:00.066] DBG>win_mgr_surface_change: Enter(08b96da8,0,1) (ico_window_mgr.c:1208)
+[16:41:00.066] DBG>win_mgr_surface_change: Send SHELL_SURFACE_CONFIGURE(00000003,w/h=600/400) (ico_window_mgr.c:1220)
+[16:41:00.066] DBG>ivi_shell_send_configure: (08b96da8) edges=a w/h=600/400 (ico_ivi_shell.c:1559)
+[16:41:00.066] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000003,app=test-client,layer=0,x/y=100/200,w/h=600/400,hint=0) (ico_window_mgr.c:1464)
+[16:41:00.066] DBG>win_mgr_surface_change: Leave(OK) (ico_window_mgr.c:1234)
+[16:41:00.066] DBG>uifw_set_positionsize: Leave(OK,output=894e898) (ico_window_mgr.c:954)
+[16:41:00.709] DBG>uifw_set_positionsize: Enter res=08b425a0 surf=00000003 x/y/w/h=16384/16384/400/250 (ico_window_mgr.c:897)
+[16:41:00.709] DBG>uifw_set_positionsize: Old geometry x/y=100/200,w/h=600/400 (ico_window_mgr.c:931)
+[16:41:00.709] DBG>uifw_set_positionsize: Fixed Geometry, Change(Vis=1) (ico_window_mgr.c:946)
+[16:41:00.709] DBG>uifw_set_weston_surface: w/h=400/250->400/250 x/y=100/200->100/200 (ico_window_mgr.c:871)
+[16:41:00.709] DBG>ivi_shell_surface_configure: 08ba81d8 100,200(400/250) visible (ico_ivi_shell.c:1717)
+[16:41:00.709] DBG>win_mgr_surface_change: Enter(08b96da8,0,1) (ico_window_mgr.c:1208)
+[16:41:00.709] DBG>win_mgr_surface_change: Send SHELL_SURFACE_CONFIGURE(00000003,w/h=400/250) (ico_window_mgr.c:1220)
+[16:41:00.709] DBG>ivi_shell_send_configure: (08b96da8) edges=a w/h=400/250 (ico_ivi_shell.c:1559)
+[16:41:00.709] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000003,app=test-client,layer=0,x/y=100/200,w/h=400/250,hint=0) (ico_window_mgr.c:1464)
+[16:41:00.709] DBG>win_mgr_surface_change: Leave(OK) (ico_window_mgr.c:1234)
+[16:41:00.709] DBG>uifw_set_positionsize: Leave(OK,output=894e898) (ico_window_mgr.c:954)
+[16:41:01.351] DBG>uifw_set_positionsize: Enter res=08b425a0 surf=00000003 x/y/w/h=16384/16384/200/150 (ico_window_mgr.c:897)
+[16:41:01.352] DBG>uifw_set_positionsize: Old geometry x/y=100/200,w/h=400/250 (ico_window_mgr.c:931)
+[16:41:01.352] DBG>uifw_set_positionsize: Fixed Geometry, Change(Vis=1) (ico_window_mgr.c:946)
+[16:41:01.352] DBG>uifw_set_weston_surface: w/h=200/150->200/150 x/y=100/200->100/200 (ico_window_mgr.c:871)
+[16:41:01.352] DBG>ivi_shell_surface_configure: 08ba81d8 100,200(200/150) visible (ico_ivi_shell.c:1717)
+[16:41:01.352] DBG>win_mgr_surface_change: Enter(08b96da8,0,1) (ico_window_mgr.c:1208)
+[16:41:01.352] DBG>win_mgr_surface_change: Send SHELL_SURFACE_CONFIGURE(00000003,w/h=200/150) (ico_window_mgr.c:1220)
+[16:41:01.352] DBG>ivi_shell_send_configure: (08b96da8) edges=a w/h=200/150 (ico_ivi_shell.c:1559)
+[16:41:01.352] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000003,app=test-client,layer=0,x/y=100/200,w/h=200/150,hint=0) (ico_window_mgr.c:1464)
+[16:41:01.352] DBG>win_mgr_surface_change: Leave(OK) (ico_window_mgr.c:1234)
+[16:41:01.352] DBG>uifw_set_positionsize: Leave(OK,output=894e898) (ico_window_mgr.c:954)
+[16:41:01.932] libwayland: disconnect from client 0x89ede80
+[16:41:01.932] DBG>unbind_shell (ico_ivi_shell.c:1135)
+[16:41:01.932] DBG>unbind_shell_client: Enter(client=089ede80) (ico_window_mgr.c:511)
+[16:41:01.932] DBG>unbind_shell_client: Leave (ico_window_mgr.c:519)
+[16:41:01.932] DBG>unbind_ivi_shell (ico_ivi_shell.c:1154)
+[16:41:01.932] DBG>unbind_ico_win_mgr: Enter (ico_window_mgr.c:1381)
+[16:41:01.932] DBG>unbind_ico_win_mgr: Leave (ico_window_mgr.c:1398)
+[16:41:01.932] DBG>ico_exinput_unbind: Enter(resource=089f0188) (ico_input_mgr.c:805)
+[16:41:01.933] DBG>ico_exinput_unbind: find app.test-client (ico_input_mgr.c:809)
+[16:41:01.933] DBG>ico_exinput_unbind: Leave (ico_input_mgr.c:840)
+[16:41:01.933] DBG>shell_handle_surface_destroy: Enter [08ba81d8] data=08b96da8 (ico_ivi_shell.c:645)
+[16:41:01.933] DBG>shell_destroy_shell_surface: Enter [08ba81d8] (ico_ivi_shell.c:622)
+[16:41:01.933] DBG>destroy_shell_surface: Enter[08ba81d8] (ico_ivi_shell.c:583)
+[16:41:01.933] DBG>ivi_shell_restack_ivi_layer: Enter[08ba81d8] (ico_ivi_shell.c:1220)
+[16:41:01.933] DBG>ivi_shell_restack_ivi_layer: Leave (ico_ivi_shell.c:1286)
+[16:41:01.933] DBG>destroy_shell_surface: call ivi_shell_hook_destroy(08b96da8) (ico_ivi_shell.c:595)
+[16:41:01.933] DBG>win_mgr_surface_destroy: Enter(08b96da8) (ico_window_mgr.c:1282)
+[16:41:01.933] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) DESTROYED surf=00000003 (ico_window_mgr.c:1472)
+[16:41:01.933] DBG>win_mgr_surface_destroy: Leave(OK) (ico_window_mgr.c:1332)
+[16:41:01.933] DBG>destroy_shell_surface: ret (ico_ivi_shell.c:597)
+[16:41:01.933] DBG>destroy_shell_surface: Leave (ico_ivi_shell.c:606)
+[16:41:01.933] DBG>shell_destroy_shell_surface: Leave (ico_ivi_shell.c:626)
+[16:41:01.933] DBG>shell_handle_surface_destroy: Leave (ico_ivi_shell.c:653)
+[16:41:04.232] DBG>bind_shell: client=08bc6638 id=11 (ico_ivi_shell.c:1112)
+[16:41:04.232] DBG>bind_shell_client: Enter(client=08bc6638) (ico_window_mgr.c:414)
+[16:41:04.232] DBG>find_client_from_client: NULL (ico_window_mgr.c:293)
+[16:41:04.232] DBG>bind_shell_client: Create Client (ico_window_mgr.c:420)
+[16:41:04.232] DBG>bind_shell_client: client=08bc6638 pid=28923 uid=0 gid=0 (ico_window_mgr.c:432)
+[16:41:04.234] DBG>bind_shell_client: pid=28923 dose not exist in AppCore(AUL) (ico_window_mgr.c:444)
+[16:41:04.234] DBG>bind_shell_client: client=08bc6638 pid=28923 appid=<wayland-flower> from Process table (ico_window_mgr.c:483)
+[16:41:04.234] DBG>bind_shell_client: Leave (ico_window_mgr.c:495)
+[16:41:04.234] DBG>shell_get_shell_surface: Enter (08ba81d8) client=08bc6638 (ico_ivi_shell.c:761)
+[16:41:04.234] DBG>create_shell_surface: (08ba81d8) [08ba8448] client=b5c0a744 (visible=0) (ico_ivi_shell.c:704)
+[16:41:04.234] DBG>shell_get_shell_surface: Init shsurf(08ba8448) weston_surf=08ba81d8 (ico_ivi_shell.c:782)
+[16:41:04.234] DBG>shell_get_shell_surface: call ivi_shell_hook_create(08bc6638,,08ba81d8,08ba8448) (ico_ivi_shell.c:787)
+[16:41:04.234] DBG>client_register_surface: Enter(surf=08ba81d8,client=08bc6638,res=08ba46f8) (ico_window_mgr.c:543)
+[16:41:04.234] DBG>find_uifw_win_surface_by_ws: NULL (ico_window_mgr.c:269)
+[16:41:04.234] DBG>generate_id: SurfaceId=00000004 (ico_window_mgr.c:357)
+[16:41:04.234] DBG>client_register_surface: Manager exist, Not visible (ico_window_mgr.c:569)
+[16:41:04.234] DBG>ivi_shell_set_visible: [08ba8448] visible=-1 (ico_ivi_shell.c:1356)
+[16:41:04.234] DBG>ivi_shell_set_visible: No change (ico_ivi_shell.c:1377)
+[16:41:04.234] DBG>ivi_shell_set_layer: Enter([08ba8448],08ba81d8,0) (ico_ivi_shell.c:1416)
+[16:41:04.234] DBG>ivi_shell_set_layer: el=0894f568(0) (ico_ivi_shell.c:1428)
+[16:41:04.234] DBG>ivi_shell_set_layer: Add surface to Layer 0 (ico_ivi_shell.c:1462)
+[16:41:04.234] DBG>ivi_shell_restack_ivi_layer: Enter[08ba8448] (ico_ivi_shell.c:1220)
+[16:41:04.234] DBG>ivi_shell_restack_ivi_layer: Leave (ico_ivi_shell.c:1286)
+[16:41:04.234] DBG>ivi_shell_set_layer: Leave (ico_ivi_shell.c:1471)
+[16:41:04.234] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) WINDOW_CREATED(surf=00000004,pid=28923,appid=wayland-flower) (ico_window_mgr.c:1448)
+[16:41:04.234] DBG>client_register_surface: Leave(surfaceId=00000004) (ico_window_mgr.c:627)
+[16:41:04.234] DBG>shell_get_shell_surface: ret  ivi_shell_hook_create (ico_ivi_shell.c:789)
+[16:41:04.234] DBG>shell_get_shell_surface: Leave (ico_ivi_shell.c:791)
+[16:41:04.234] DBG>shell_surface_set_title: [08ba8448] Flower (ico_ivi_shell.c:510)
+[16:41:04.234] DBG>shell_surface_set_toplevel: Set TopLevel[08ba8448] (ico_ivi_shell.c:373)
+[16:41:04.234] DBG>set_surface_type: [08ba8448] (08ba81d8) type=1 (ico_ivi_shell.c:265)
+[16:41:04.234] DBG>reset_shell_surface_type: [08ba8448] (ico_ivi_shell.c:244)
+[16:41:04.234] DBG>shell_surface_configure: map Buffer size(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1026)
+[16:41:04.234] DBG>map: Enter(08ba81d8) sx/sy=0/0, w/h=200/200 (ico_ivi_shell.c:857)
+[16:41:04.234] DBG>map: TopLevel x/y=0/0 w/h=200/200 (ico_ivi_shell.c:873)
+[16:41:04.234] DBG>ivi_shell_restack_ivi_layer: Enter[08ba8448] (ico_ivi_shell.c:1220)
+[16:41:04.234] DBG>ivi_shell_restack_ivi_layer: Leave (ico_ivi_shell.c:1286)
+[16:41:04.234] DBG>map: call ivi_shell_hook_map(08ba81d8, x/y=0/0, w/h=200/200) (ico_ivi_shell.c:927)
+[16:41:04.234] DBG>win_mgr_map_surface: Enter(08ba81d8, x/y=0/0 w/h=200/200) (ico_window_mgr.c:649)
+[16:41:04.234] DBG>win_mgr_map_surface: surf=00000004 w/h=0/0 vis=0 (ico_window_mgr.c:656)
+[16:41:04.235] DBG>win_mgr_map_surface: HomeScreen not regist Surface, Change PositionSize(surf=00000004 x/y=0/0 w/h=200/200) (ico_window_mgr.c:671)
+[16:41:04.235] DBG>win_mgr_map_surface: Change size and position (ico_window_mgr.c:687)
+[16:41:04.235] DBG>win_mgr_map_surface: Leave (ico_window_mgr.c:696)
+[16:41:04.235] DBG>map: ret  ivi_shell_hook_map(08ba81d8, x/y=0/0, w/h=1/1) (ico_ivi_shell.c:930)
+[16:41:04.235] DBG>map: call ivi_shell_hook_change(08ba81d8) (ico_ivi_shell.c:935)
+[16:41:04.235] DBG>win_mgr_surface_change: Enter(08ba81d8,-1,1) (ico_window_mgr.c:1208)
+[16:41:04.235] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000004,app=wayland-flower,layer=0,x/y=0/0,w/h=200/200,hint=0) (ico_window_mgr.c:1464)
+[16:41:04.235] DBG>win_mgr_surface_change: Leave(OK) (ico_window_mgr.c:1234)
+[16:41:04.235] DBG>map: ret  ivi_shell_hook_change (ico_ivi_shell.c:937)
+[16:41:04.235] DBG>map: Leave (ico_ivi_shell.c:939)
+[16:41:04.712] DBG>uifw_set_positionsize: Enter res=08b425a0 surf=00000004 x/y/w/h=200/100/16384/16384 (ico_window_mgr.c:897)
+[16:41:04.713] DBG>uifw_set_positionsize: Old geometry x/y=0/0,w/h=200/200 (ico_window_mgr.c:931)
+[16:41:04.713] DBG>uifw_set_positionsize: Fixed Geometry, Change(Vis=0) (ico_window_mgr.c:946)
+[16:41:04.713] DBG>uifw_set_weston_surface: w/h=200/200->200/200 x/y=200/100->200/100 (ico_window_mgr.c:871)
+[16:41:04.713] DBG>ivi_shell_surface_configure: 08ba8448 200,100(200/200) unvisible (ico_ivi_shell.c:1710)
+[16:41:04.713] DBG>win_mgr_surface_change: Enter(08ba81d8,0,1) (ico_window_mgr.c:1208)
+[16:41:04.713] DBG>win_mgr_surface_change: Send SHELL_SURFACE_CONFIGURE(00000004,w/h=200/200) (ico_window_mgr.c:1220)
+[16:41:04.713] DBG>ivi_shell_send_configure: (08ba81d8) edges=a w/h=200/200 (ico_ivi_shell.c:1559)
+[16:41:04.713] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000004,app=wayland-flower,layer=0,x/y=200/100,w/h=200/200,hint=0) (ico_window_mgr.c:1464)
+[16:41:04.713] DBG>win_mgr_surface_change: Leave(OK) (ico_window_mgr.c:1234)
+[16:41:04.713] DBG>uifw_set_positionsize: Leave(OK,output=894e898) (ico_window_mgr.c:954)
+[16:41:04.715] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:04.715] DBG>ivi_shell_surface_configure: 08ba8448 200,100(200/200) unvisible (ico_ivi_shell.c:1710)
+[16:41:04.715] DBG>shell_surface_configure: w/h=200/200->200/200 x/y=200/100->16384/16384 (ico_ivi_shell.c:1068)
+[16:41:04.715] DBG>win_mgr_surface_change_mgr: Enter(08ba81d8,x/y=200/100,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:04.715] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000004,app=wayland-flower,layer=0,x/y=200/100,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:04.715] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:04.715] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:04.733] DBG>uifw_set_visible: Enter(surf=00000004,1,9) (ico_window_mgr.c:980)
+[16:41:04.733] DBG>uifw_set_visible: Request from Manager(test-homescreen) (ico_window_mgr.c:990)
+[16:41:04.733] DBG>ivi_shell_set_visible: [08ba8448] visible=1 (ico_ivi_shell.c:1356)
+[16:41:04.733] DBG>ivi_shell_restack_ivi_layer: Enter[08ba8448] (ico_ivi_shell.c:1220)
+[16:41:04.733] DBG>ivi_shell_restack_ivi_layer: Leave (ico_ivi_shell.c:1286)
+[16:41:04.733] DBG>uifw_set_visible: Change to Visible (ico_window_mgr.c:1016)
+[16:41:04.733] DBG>ivi_shell_set_toplevel: (08ba81d8) (ico_ivi_shell.c:1520)
+[16:41:04.733] DBG>uifw_set_visible: Visible to Weston WSurf=08ba81d8,200/100/200/200 (ico_window_mgr.c:1023)
+[16:41:04.733] DBG>uifw_set_weston_surface: w/h=200/200->200/200 x/y=200/100->200/100 (ico_window_mgr.c:871)
+[16:41:04.733] DBG>ivi_shell_surface_configure: 08ba8448 200,100(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:04.733] DBG>ivi_shell_set_surfacetype: (08ba81d8) (ico_ivi_shell.c:1536)
+[16:41:04.733] DBG>set_surface_type: [08ba8448] (08ba81d8) type=1 (ico_ivi_shell.c:265)
+[16:41:04.733] DBG>reset_shell_surface_type: [08ba8448] (ico_ivi_shell.c:244)
+[16:41:04.733] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) VISIBLE(surf=00000004,vis=1,raise=9,hint=0) (ico_window_mgr.c:1455)
+[16:41:04.733] DBG>uifw_set_visible: Leave(OK) (ico_window_mgr.c:1065)
+[16:41:04.773] DBG>uifw_set_visible: Enter(surf=00000004,1,9) (ico_window_mgr.c:980)
+[16:41:04.773] DBG>uifw_set_visible: Request from Manager(test-homescreen) (ico_window_mgr.c:990)
+[16:41:04.773] DBG>uifw_set_visible: Leave(No Change) (ico_window_mgr.c:1028)
+[16:41:05.777] DBG>uifw_set_positionsize: Enter res=08b425a0 surf=00000004 x/y/w/h=16384/16384/500/400 (ico_window_mgr.c:897)
+[16:41:05.777] DBG>uifw_set_positionsize: Old geometry x/y=200/100,w/h=200/200 (ico_window_mgr.c:931)
+[16:41:05.777] DBG>uifw_set_positionsize: Fixed Geometry, Change(Vis=1) (ico_window_mgr.c:946)
+[16:41:05.777] DBG>uifw_set_weston_surface: w/h=500/400->200/200 x/y=200/100->350/200 (ico_window_mgr.c:871)
+[16:41:05.777] DBG>ivi_shell_surface_configure: 08ba8448 350,200(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:05.777] DBG>win_mgr_surface_change: Enter(08ba81d8,0,1) (ico_window_mgr.c:1208)
+[16:41:05.777] DBG>win_mgr_surface_change: Send SHELL_SURFACE_CONFIGURE(00000004,w/h=500/400) (ico_window_mgr.c:1220)
+[16:41:05.777] DBG>ivi_shell_send_configure: (08ba81d8) edges=a w/h=500/400 (ico_ivi_shell.c:1559)
+[16:41:05.777] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000004,app=wayland-flower,layer=0,x/y=200/100,w/h=500/400,hint=0) (ico_window_mgr.c:1464)
+[16:41:05.777] DBG>win_mgr_surface_change: Leave(OK) (ico_window_mgr.c:1234)
+[16:41:05.777] DBG>uifw_set_positionsize: Leave(OK,output=894e898) (ico_window_mgr.c:954)
+[16:41:05.779] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:05.779] DBG>ivi_shell_surface_configure: 08ba8448 350,200(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:05.779] DBG>shell_surface_configure: w/h=500/400->200/200 x/y=200/100->350/200 (ico_ivi_shell.c:1068)
+[16:41:05.779] DBG>win_mgr_surface_change_mgr: Enter(08ba81d8,x/y=200/100,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:05.779] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000004,app=wayland-flower,layer=0,x/y=200/100,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:05.779] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:05.779] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:08.126] libwayland: disconnect from client 0x8bc6638
+[16:41:08.126] DBG>unbind_shell (ico_ivi_shell.c:1135)
+[16:41:08.126] DBG>unbind_shell_client: Enter(client=08bc6638) (ico_window_mgr.c:511)
+[16:41:08.126] DBG>unbind_shell_client: Leave (ico_window_mgr.c:519)
+[16:41:08.126] DBG>shell_handle_surface_destroy: Enter [08ba8448] data=08ba81d8 (ico_ivi_shell.c:645)
+[16:41:08.126] DBG>shell_destroy_shell_surface: Enter [08ba8448] (ico_ivi_shell.c:622)
+[16:41:08.126] DBG>destroy_shell_surface: Enter[08ba8448] (ico_ivi_shell.c:583)
+[16:41:08.126] DBG>ivi_shell_restack_ivi_layer: Enter[08ba8448] (ico_ivi_shell.c:1220)
+[16:41:08.126] DBG>ivi_shell_restack_ivi_layer: Leave (ico_ivi_shell.c:1286)
+[16:41:08.126] DBG>destroy_shell_surface: call ivi_shell_hook_destroy(08ba81d8) (ico_ivi_shell.c:595)
+[16:41:08.126] DBG>win_mgr_surface_destroy: Enter(08ba81d8) (ico_window_mgr.c:1282)
+[16:41:08.126] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) DESTROYED surf=00000004 (ico_window_mgr.c:1472)
+[16:41:08.126] DBG>win_mgr_surface_destroy: Leave(OK) (ico_window_mgr.c:1332)
+[16:41:08.126] DBG>destroy_shell_surface: ret (ico_ivi_shell.c:597)
+[16:41:08.126] DBG>destroy_shell_surface: Leave (ico_ivi_shell.c:606)
+[16:41:08.126] DBG>shell_destroy_shell_surface: Leave (ico_ivi_shell.c:626)
+[16:41:08.126] DBG>shell_handle_surface_destroy: Leave (ico_ivi_shell.c:653)
+[16:41:09.463] DBG>bind_shell: client=08a4c8a0 id=11 (ico_ivi_shell.c:1112)
+[16:41:09.463] DBG>bind_shell_client: Enter(client=08a4c8a0) (ico_window_mgr.c:414)
+[16:41:09.463] DBG>find_client_from_client: NULL (ico_window_mgr.c:293)
+[16:41:09.463] DBG>bind_shell_client: Create Client (ico_window_mgr.c:420)
+[16:41:09.463] DBG>bind_shell_client: client=08a4c8a0 pid=29301 uid=0 gid=0 (ico_window_mgr.c:432)
+[16:41:09.464] DBG>bind_shell_client: pid=29301 dose not exist in AppCore(AUL) (ico_window_mgr.c:444)
+[16:41:09.464] DBG>bind_shell_client: client=08a4c8a0 pid=29301 appid=<wayland-smoke> from Process table (ico_window_mgr.c:483)
+[16:41:09.464] DBG>bind_shell_client: Leave (ico_window_mgr.c:495)
+[16:41:09.464] DBG>shell_get_shell_surface: Enter (08b96da8) client=08a4c8a0 (ico_ivi_shell.c:761)
+[16:41:09.464] DBG>create_shell_surface: (08b96da8) [089f0050] client=b5c0a744 (visible=0) (ico_ivi_shell.c:704)
+[16:41:09.464] DBG>shell_get_shell_surface: Init shsurf(089f0050) weston_surf=08b96da8 (ico_ivi_shell.c:782)
+[16:41:09.464] DBG>shell_get_shell_surface: call ivi_shell_hook_create(08a4c8a0,,08b96da8,089f0050) (ico_ivi_shell.c:787)
+[16:41:09.464] DBG>client_register_surface: Enter(surf=08b96da8,client=08a4c8a0,res=08ba4820) (ico_window_mgr.c:543)
+[16:41:09.464] DBG>find_uifw_win_surface_by_ws: NULL (ico_window_mgr.c:269)
+[16:41:09.464] DBG>generate_id: SurfaceId=00000005 (ico_window_mgr.c:357)
+[16:41:09.464] DBG>client_register_surface: Manager exist, Not visible (ico_window_mgr.c:569)
+[16:41:09.464] DBG>ivi_shell_set_visible: [089f0050] visible=-1 (ico_ivi_shell.c:1356)
+[16:41:09.464] DBG>ivi_shell_set_visible: No change (ico_ivi_shell.c:1377)
+[16:41:09.464] DBG>ivi_shell_set_layer: Enter([089f0050],08b96da8,0) (ico_ivi_shell.c:1416)
+[16:41:09.464] DBG>ivi_shell_set_layer: el=0894f568(0) (ico_ivi_shell.c:1428)
+[16:41:09.464] DBG>ivi_shell_set_layer: Add surface to Layer 0 (ico_ivi_shell.c:1462)
+[16:41:09.464] DBG>ivi_shell_restack_ivi_layer: Enter[089f0050] (ico_ivi_shell.c:1220)
+[16:41:09.464] DBG>ivi_shell_restack_ivi_layer: Leave (ico_ivi_shell.c:1286)
+[16:41:09.464] DBG>ivi_shell_set_layer: Leave (ico_ivi_shell.c:1471)
+[16:41:09.464] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) WINDOW_CREATED(surf=00000005,pid=29301,appid=wayland-smoke) (ico_window_mgr.c:1448)
+[16:41:09.464] DBG>client_register_surface: Leave(surfaceId=00000005) (ico_window_mgr.c:627)
+[16:41:09.464] DBG>shell_get_shell_surface: ret  ivi_shell_hook_create (ico_ivi_shell.c:789)
+[16:41:09.464] DBG>shell_get_shell_surface: Leave (ico_ivi_shell.c:791)
+[16:41:09.465] DBG>shell_surface_set_title: [089f0050] smoke (ico_ivi_shell.c:510)
+[16:41:09.465] DBG>shell_surface_set_toplevel: Set TopLevel[089f0050] (ico_ivi_shell.c:373)
+[16:41:09.465] DBG>set_surface_type: [089f0050] (08b96da8) type=1 (ico_ivi_shell.c:265)
+[16:41:09.465] DBG>reset_shell_surface_type: [089f0050] (ico_ivi_shell.c:244)
+[16:41:09.465] DBG>shell_surface_configure: map Buffer size(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1026)
+[16:41:09.465] DBG>map: Enter(08b96da8) sx/sy=0/0, w/h=200/200 (ico_ivi_shell.c:857)
+[16:41:09.465] DBG>map: TopLevel x/y=0/0 w/h=200/200 (ico_ivi_shell.c:873)
+[16:41:09.465] DBG>ivi_shell_restack_ivi_layer: Enter[089f0050] (ico_ivi_shell.c:1220)
+[16:41:09.465] DBG>ivi_shell_restack_ivi_layer: Leave (ico_ivi_shell.c:1286)
+[16:41:09.465] DBG>map: call ivi_shell_hook_map(08b96da8, x/y=0/0, w/h=200/200) (ico_ivi_shell.c:927)
+[16:41:09.465] DBG>win_mgr_map_surface: Enter(08b96da8, x/y=0/0 w/h=200/200) (ico_window_mgr.c:649)
+[16:41:09.465] DBG>win_mgr_map_surface: surf=00000005 w/h=0/0 vis=0 (ico_window_mgr.c:656)
+[16:41:09.465] DBG>win_mgr_map_surface: HomeScreen not regist Surface, Change PositionSize(surf=00000005 x/y=0/0 w/h=200/200) (ico_window_mgr.c:671)
+[16:41:09.465] DBG>win_mgr_map_surface: Change size and position (ico_window_mgr.c:687)
+[16:41:09.465] DBG>win_mgr_map_surface: Leave (ico_window_mgr.c:696)
+[16:41:09.465] DBG>map: ret  ivi_shell_hook_map(08b96da8, x/y=0/0, w/h=1/1) (ico_ivi_shell.c:930)
+[16:41:09.465] DBG>map: call ivi_shell_hook_change(08b96da8) (ico_ivi_shell.c:935)
+[16:41:09.465] DBG>win_mgr_surface_change: Enter(08b96da8,-1,1) (ico_window_mgr.c:1208)
+[16:41:09.465] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=0/0,w/h=200/200,hint=0) (ico_window_mgr.c:1464)
+[16:41:09.465] DBG>win_mgr_surface_change: Leave(OK) (ico_window_mgr.c:1234)
+[16:41:09.465] DBG>map: ret  ivi_shell_hook_change (ico_ivi_shell.c:937)
+[16:41:09.465] DBG>map: Leave (ico_ivi_shell.c:939)
+[16:41:09.499] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:09.499] DBG>ivi_shell_surface_configure: 089f0050 0,0(200/200) unvisible (ico_ivi_shell.c:1710)
+[16:41:09.499] DBG>shell_surface_configure: w/h=200/200->200/200 x/y=0/0->16384/16384 (ico_ivi_shell.c:1068)
+[16:41:09.499] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=0/0,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:09.499] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=0/0,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:09.499] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:09.499] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:09.539] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:09.539] DBG>ivi_shell_surface_configure: 089f0050 0,0(200/200) unvisible (ico_ivi_shell.c:1710)
+[16:41:09.539] DBG>shell_surface_configure: w/h=200/200->200/200 x/y=0/0->16384/16384 (ico_ivi_shell.c:1068)
+[16:41:09.539] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=0/0,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:09.539] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=0/0,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:09.539] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:09.539] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:09.954] DBG>uifw_set_positionsize: Enter res=08b425a0 surf=00000005 x/y/w/h=100/50/16384/16384 (ico_window_mgr.c:897)
+[16:41:09.954] DBG>uifw_set_positionsize: Old geometry x/y=16384/16384,w/h=200/200 (ico_window_mgr.c:931)
+[16:41:09.954] DBG>uifw_set_positionsize: Fixed Geometry, Change(Vis=0) (ico_window_mgr.c:946)
+[16:41:09.954] DBG>uifw_set_weston_surface: w/h=200/200->200/200 x/y=100/50->100/50 (ico_window_mgr.c:871)
+[16:41:09.954] DBG>ivi_shell_surface_configure: 089f0050 100,50(200/200) unvisible (ico_ivi_shell.c:1710)
+[16:41:09.954] DBG>win_mgr_surface_change: Enter(08b96da8,0,1) (ico_window_mgr.c:1208)
+[16:41:09.954] DBG>win_mgr_surface_change: Send SHELL_SURFACE_CONFIGURE(00000005,w/h=200/200) (ico_window_mgr.c:1220)
+[16:41:09.954] DBG>ivi_shell_send_configure: (08b96da8) edges=a w/h=200/200 (ico_ivi_shell.c:1559)
+[16:41:09.954] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=0) (ico_window_mgr.c:1464)
+[16:41:09.954] DBG>win_mgr_surface_change: Leave(OK) (ico_window_mgr.c:1234)
+[16:41:09.954] DBG>uifw_set_positionsize: Leave(OK,output=894e898) (ico_window_mgr.c:954)
+[16:41:09.974] DBG>uifw_set_visible: Enter(surf=00000005,1,9) (ico_window_mgr.c:980)
+[16:41:09.974] DBG>uifw_set_visible: Request from Manager(test-homescreen) (ico_window_mgr.c:990)
+[16:41:09.974] DBG>ivi_shell_set_visible: [089f0050] visible=1 (ico_ivi_shell.c:1356)
+[16:41:09.974] DBG>ivi_shell_restack_ivi_layer: Enter[089f0050] (ico_ivi_shell.c:1220)
+[16:41:09.974] DBG>ivi_shell_restack_ivi_layer: Leave (ico_ivi_shell.c:1286)
+[16:41:09.974] DBG>uifw_set_visible: Change to Visible (ico_window_mgr.c:1016)
+[16:41:09.975] DBG>ivi_shell_set_toplevel: (08b96da8) (ico_ivi_shell.c:1520)
+[16:41:09.975] DBG>uifw_set_visible: Visible to Weston WSurf=08b96da8,100/50/200/200 (ico_window_mgr.c:1023)
+[16:41:09.975] DBG>uifw_set_weston_surface: w/h=200/200->200/200 x/y=100/50->100/50 (ico_window_mgr.c:871)
+[16:41:09.975] DBG>ivi_shell_surface_configure: 089f0050 100,50(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:09.975] DBG>ivi_shell_set_surfacetype: (08b96da8) (ico_ivi_shell.c:1536)
+[16:41:09.975] DBG>set_surface_type: [089f0050] (08b96da8) type=1 (ico_ivi_shell.c:265)
+[16:41:09.975] DBG>reset_shell_surface_type: [089f0050] (ico_ivi_shell.c:244)
+[16:41:09.975] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) VISIBLE(surf=00000005,vis=1,raise=9,hint=0) (ico_window_mgr.c:1455)
+[16:41:09.975] DBG>uifw_set_visible: Leave(OK) (ico_window_mgr.c:1065)
+[16:41:09.989] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:09.989] DBG>ivi_shell_surface_configure: 089f0050 100,50(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:09.989] DBG>shell_surface_configure: w/h=200/200->200/200 x/y=100/50->100/50 (ico_ivi_shell.c:1068)
+[16:41:09.989] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:09.989] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:09.989] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:09.989] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:10.015] DBG>uifw_set_visible: Enter(surf=00000005,1,9) (ico_window_mgr.c:980)
+[16:41:10.015] DBG>uifw_set_visible: Request from Manager(test-homescreen) (ico_window_mgr.c:990)
+[16:41:10.015] DBG>uifw_set_visible: Leave(No Change) (ico_window_mgr.c:1028)
+[16:41:10.017] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:10.017] DBG>ivi_shell_surface_configure: 089f0050 100,50(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:10.017] DBG>shell_surface_configure: w/h=200/200->200/200 x/y=100/50->100/50 (ico_ivi_shell.c:1068)
+[16:41:10.017] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:10.017] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:10.017] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:10.017] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:10.055] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:10.055] DBG>ivi_shell_surface_configure: 089f0050 100,50(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:10.055] DBG>shell_surface_configure: w/h=200/200->200/200 x/y=100/50->100/50 (ico_ivi_shell.c:1068)
+[16:41:10.055] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:10.055] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:10.055] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:10.055] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:10.089] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:10.089] DBG>ivi_shell_surface_configure: 089f0050 100,50(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:10.089] DBG>shell_surface_configure: w/h=200/200->200/200 x/y=100/50->100/50 (ico_ivi_shell.c:1068)
+[16:41:10.089] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:10.089] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:10.089] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:10.089] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:10.122] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:10.122] DBG>ivi_shell_surface_configure: 089f0050 100,50(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:10.122] DBG>shell_surface_configure: w/h=200/200->200/200 x/y=100/50->100/50 (ico_ivi_shell.c:1068)
+[16:41:10.122] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:10.123] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:10.123] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:10.123] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:10.155] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:10.155] DBG>ivi_shell_surface_configure: 089f0050 100,50(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:10.155] DBG>shell_surface_configure: w/h=200/200->200/200 x/y=100/50->100/50 (ico_ivi_shell.c:1068)
+[16:41:10.155] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:10.155] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:10.155] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:10.155] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:10.188] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:10.188] DBG>ivi_shell_surface_configure: 089f0050 100,50(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:10.188] DBG>shell_surface_configure: w/h=200/200->200/200 x/y=100/50->100/50 (ico_ivi_shell.c:1068)
+[16:41:10.188] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:10.188] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:10.188] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:10.188] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:10.223] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:10.223] DBG>ivi_shell_surface_configure: 089f0050 100,50(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:10.223] DBG>shell_surface_configure: w/h=200/200->200/200 x/y=100/50->100/50 (ico_ivi_shell.c:1068)
+[16:41:10.223] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:10.223] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:10.223] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:10.223] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:10.257] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:10.257] DBG>ivi_shell_surface_configure: 089f0050 100,50(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:10.257] DBG>shell_surface_configure: w/h=200/200->200/200 x/y=100/50->100/50 (ico_ivi_shell.c:1068)
+[16:41:10.257] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:10.258] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:10.258] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:10.258] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:10.288] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:10.288] DBG>ivi_shell_surface_configure: 089f0050 100,50(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:10.288] DBG>shell_surface_configure: w/h=200/200->200/200 x/y=100/50->100/50 (ico_ivi_shell.c:1068)
+[16:41:10.288] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:10.288] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:10.288] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:10.288] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:10.323] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:10.323] DBG>ivi_shell_surface_configure: 089f0050 100,50(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:10.323] DBG>shell_surface_configure: w/h=200/200->200/200 x/y=100/50->100/50 (ico_ivi_shell.c:1068)
+[16:41:10.323] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:10.323] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:10.323] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:10.323] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:10.345] DBG>click_to_activate_binding: call ivi_shell_hook_select[089f0050] (ico_ivi_shell.c:1325)
+[16:41:10.345] DBG>win_mgr_surface_select: Enter(08b96da8) (ico_window_mgr.c:1250)
+[16:41:10.345] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) ACTIVE surf=00000005 active=2 (ico_window_mgr.c:1478)
+[16:41:10.345] DBG>win_mgr_surface_select: Leave(OK) (ico_window_mgr.c:1263)
+[16:41:10.345] DBG>click_to_activate_binding: ret  ivi_shell_hook_select (ico_ivi_shell.c:1327)
+[16:41:10.364] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:10.364] DBG>ivi_shell_surface_configure: 089f0050 100,50(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:10.364] DBG>shell_surface_configure: w/h=200/200->200/200 x/y=100/50->100/50 (ico_ivi_shell.c:1068)
+[16:41:10.364] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:10.364] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:10.364] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:10.364] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:10.424] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:10.424] DBG>ivi_shell_surface_configure: 089f0050 100,50(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:10.424] DBG>shell_surface_configure: w/h=200/200->200/200 x/y=100/50->100/50 (ico_ivi_shell.c:1068)
+[16:41:10.424] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:10.424] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:10.424] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:10.424] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:10.478] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:10.478] DBG>ivi_shell_surface_configure: 089f0050 100,50(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:10.478] DBG>shell_surface_configure: w/h=200/200->200/200 x/y=100/50->100/50 (ico_ivi_shell.c:1068)
+[16:41:10.478] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:10.478] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:10.478] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:10.478] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:10.530] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:10.530] DBG>ivi_shell_surface_configure: 089f0050 100,50(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:10.530] DBG>shell_surface_configure: w/h=200/200->200/200 x/y=100/50->100/50 (ico_ivi_shell.c:1068)
+[16:41:10.530] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:10.530] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:10.530] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:10.530] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:10.599] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:10.599] DBG>ivi_shell_surface_configure: 089f0050 100,50(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:10.599] DBG>shell_surface_configure: w/h=200/200->200/200 x/y=100/50->100/50 (ico_ivi_shell.c:1068)
+[16:41:10.599] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:10.599] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:10.599] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:10.599] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:10.667] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:10.667] DBG>ivi_shell_surface_configure: 089f0050 100,50(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:10.667] DBG>shell_surface_configure: w/h=200/200->200/200 x/y=100/50->100/50 (ico_ivi_shell.c:1068)
+[16:41:10.667] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:10.667] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:10.667] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:10.667] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:10.732] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:10.732] DBG>ivi_shell_surface_configure: 089f0050 100,50(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:10.732] DBG>shell_surface_configure: w/h=200/200->200/200 x/y=100/50->100/50 (ico_ivi_shell.c:1068)
+[16:41:10.732] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:10.732] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:10.732] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:10.732] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:10.796] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:10.796] DBG>ivi_shell_surface_configure: 089f0050 100,50(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:10.796] DBG>shell_surface_configure: w/h=200/200->200/200 x/y=100/50->100/50 (ico_ivi_shell.c:1068)
+[16:41:10.796] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:10.796] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:10.796] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:10.796] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:10.861] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:10.861] DBG>ivi_shell_surface_configure: 089f0050 100,50(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:10.861] DBG>shell_surface_configure: w/h=200/200->200/200 x/y=100/50->100/50 (ico_ivi_shell.c:1068)
+[16:41:10.861] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:10.861] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:10.861] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:10.861] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:10.907] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:10.907] DBG>ivi_shell_surface_configure: 089f0050 100,50(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:10.907] DBG>shell_surface_configure: w/h=200/200->200/200 x/y=100/50->100/50 (ico_ivi_shell.c:1068)
+[16:41:10.907] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:10.907] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:10.907] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:10.907] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:10.953] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:10.953] DBG>ivi_shell_surface_configure: 089f0050 100,50(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:10.953] DBG>shell_surface_configure: w/h=200/200->200/200 x/y=100/50->100/50 (ico_ivi_shell.c:1068)
+[16:41:10.953] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:10.953] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:10.953] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:10.953] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:11.000] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:11.000] DBG>ivi_shell_surface_configure: 089f0050 100,50(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:11.000] DBG>shell_surface_configure: w/h=200/200->200/200 x/y=100/50->100/50 (ico_ivi_shell.c:1068)
+[16:41:11.000] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:11.000] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:11.000] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:11.000] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:11.047] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:11.047] DBG>ivi_shell_surface_configure: 089f0050 100,50(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:11.047] DBG>shell_surface_configure: w/h=200/200->200/200 x/y=100/50->100/50 (ico_ivi_shell.c:1068)
+[16:41:11.047] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:11.047] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:11.047] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:11.047] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:11.095] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:11.095] DBG>ivi_shell_surface_configure: 089f0050 100,50(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:11.095] DBG>shell_surface_configure: w/h=200/200->200/200 x/y=100/50->100/50 (ico_ivi_shell.c:1068)
+[16:41:11.095] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:11.095] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:11.095] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:11.095] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:11.144] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:11.144] DBG>ivi_shell_surface_configure: 089f0050 100,50(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:11.144] DBG>shell_surface_configure: w/h=200/200->200/200 x/y=100/50->100/50 (ico_ivi_shell.c:1068)
+[16:41:11.144] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:11.144] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:11.144] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:11.144] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:11.176] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:11.176] DBG>ivi_shell_surface_configure: 089f0050 100,50(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:11.176] DBG>shell_surface_configure: w/h=200/200->200/200 x/y=100/50->100/50 (ico_ivi_shell.c:1068)
+[16:41:11.176] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:11.176] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:11.176] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:11.176] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:11.208] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:11.208] DBG>ivi_shell_surface_configure: 089f0050 100,50(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:11.208] DBG>shell_surface_configure: w/h=200/200->200/200 x/y=100/50->100/50 (ico_ivi_shell.c:1068)
+[16:41:11.208] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:11.208] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:11.208] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:11.208] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:11.241] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:11.241] DBG>ivi_shell_surface_configure: 089f0050 100,50(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:11.241] DBG>shell_surface_configure: w/h=200/200->200/200 x/y=100/50->100/50 (ico_ivi_shell.c:1068)
+[16:41:11.241] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:11.241] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:11.241] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:11.241] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:11.274] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:11.274] DBG>ivi_shell_surface_configure: 089f0050 100,50(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:11.274] DBG>shell_surface_configure: w/h=200/200->200/200 x/y=100/50->100/50 (ico_ivi_shell.c:1068)
+[16:41:11.274] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:11.274] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:11.274] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:11.274] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:11.307] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:11.307] DBG>ivi_shell_surface_configure: 089f0050 100,50(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:11.307] DBG>shell_surface_configure: w/h=200/200->200/200 x/y=100/50->100/50 (ico_ivi_shell.c:1068)
+[16:41:11.307] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:11.307] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:11.307] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:11.307] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:11.341] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:11.341] DBG>ivi_shell_surface_configure: 089f0050 100,50(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:11.341] DBG>shell_surface_configure: w/h=200/200->200/200 x/y=100/50->100/50 (ico_ivi_shell.c:1068)
+[16:41:11.341] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:11.341] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:11.341] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:11.341] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:11.374] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:11.374] DBG>ivi_shell_surface_configure: 089f0050 100,50(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:11.374] DBG>shell_surface_configure: w/h=200/200->200/200 x/y=100/50->100/50 (ico_ivi_shell.c:1068)
+[16:41:11.374] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:11.374] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:11.374] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:11.374] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:11.407] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:11.407] DBG>ivi_shell_surface_configure: 089f0050 100,50(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:11.407] DBG>shell_surface_configure: w/h=200/200->200/200 x/y=100/50->100/50 (ico_ivi_shell.c:1068)
+[16:41:11.408] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:11.408] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:11.408] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:11.408] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:11.441] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:11.441] DBG>ivi_shell_surface_configure: 089f0050 100,50(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:11.441] DBG>shell_surface_configure: w/h=200/200->200/200 x/y=100/50->100/50 (ico_ivi_shell.c:1068)
+[16:41:11.441] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:11.441] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:11.441] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:11.441] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:11.474] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:11.474] DBG>ivi_shell_surface_configure: 089f0050 100,50(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:11.474] DBG>shell_surface_configure: w/h=200/200->200/200 x/y=100/50->100/50 (ico_ivi_shell.c:1068)
+[16:41:11.474] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:11.474] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:11.474] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:11.474] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:11.507] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:11.507] DBG>ivi_shell_surface_configure: 089f0050 100,50(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:11.507] DBG>shell_surface_configure: w/h=200/200->200/200 x/y=100/50->100/50 (ico_ivi_shell.c:1068)
+[16:41:11.507] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:11.507] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:11.507] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:11.507] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:11.541] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:11.541] DBG>ivi_shell_surface_configure: 089f0050 100,50(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:11.541] DBG>shell_surface_configure: w/h=200/200->200/200 x/y=100/50->100/50 (ico_ivi_shell.c:1068)
+[16:41:11.541] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:11.541] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:11.541] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:11.541] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:11.542] DBG>uifw_set_positionsize: Enter res=08b425a0 surf=00000005 x/y/w/h=16384/16384/400/400 (ico_window_mgr.c:897)
+[16:41:11.542] DBG>uifw_set_positionsize: Old geometry x/y=100/50,w/h=200/200 (ico_window_mgr.c:931)
+[16:41:11.542] DBG>uifw_set_positionsize: Fixed Geometry, Change(Vis=1) (ico_window_mgr.c:946)
+[16:41:11.542] DBG>uifw_set_weston_surface: w/h=400/400->200/200 x/y=100/50->200/150 (ico_window_mgr.c:871)
+[16:41:11.542] DBG>ivi_shell_surface_configure: 089f0050 200,150(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:11.542] DBG>win_mgr_surface_change: Enter(08b96da8,0,1) (ico_window_mgr.c:1208)
+[16:41:11.542] DBG>win_mgr_surface_change: Send SHELL_SURFACE_CONFIGURE(00000005,w/h=400/400) (ico_window_mgr.c:1220)
+[16:41:11.542] DBG>ivi_shell_send_configure: (08b96da8) edges=a w/h=400/400 (ico_ivi_shell.c:1559)
+[16:41:11.542] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=400/400,hint=0) (ico_window_mgr.c:1464)
+[16:41:11.542] DBG>win_mgr_surface_change: Leave(OK) (ico_window_mgr.c:1234)
+[16:41:11.542] DBG>uifw_set_positionsize: Leave(OK,output=894e898) (ico_window_mgr.c:954)
+[16:41:11.572] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:11.572] DBG>ivi_shell_surface_configure: 089f0050 200,150(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:11.572] DBG>shell_surface_configure: w/h=400/400->200/200 x/y=100/50->200/150 (ico_ivi_shell.c:1068)
+[16:41:11.572] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:11.572] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:11.572] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:11.572] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:11.607] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:11.607] DBG>ivi_shell_surface_configure: 089f0050 200,150(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:11.607] DBG>shell_surface_configure: w/h=400/400->200/200 x/y=100/50->200/150 (ico_ivi_shell.c:1068)
+[16:41:11.607] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:11.607] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:11.607] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:11.607] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:11.641] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:11.641] DBG>ivi_shell_surface_configure: 089f0050 200,150(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:11.641] DBG>shell_surface_configure: w/h=400/400->200/200 x/y=100/50->200/150 (ico_ivi_shell.c:1068)
+[16:41:11.641] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:11.641] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:11.641] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:11.641] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:11.674] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:11.674] DBG>ivi_shell_surface_configure: 089f0050 200,150(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:11.674] DBG>shell_surface_configure: w/h=400/400->200/200 x/y=100/50->200/150 (ico_ivi_shell.c:1068)
+[16:41:11.674] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:11.674] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:11.674] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:11.674] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:11.708] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:11.708] DBG>ivi_shell_surface_configure: 089f0050 200,150(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:11.708] DBG>shell_surface_configure: w/h=400/400->200/200 x/y=100/50->200/150 (ico_ivi_shell.c:1068)
+[16:41:11.708] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:11.708] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:11.708] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:11.708] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:11.741] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:11.741] DBG>ivi_shell_surface_configure: 089f0050 200,150(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:11.741] DBG>shell_surface_configure: w/h=400/400->200/200 x/y=100/50->200/150 (ico_ivi_shell.c:1068)
+[16:41:11.741] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:11.741] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:11.741] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:11.741] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:11.774] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:11.774] DBG>ivi_shell_surface_configure: 089f0050 200,150(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:11.774] DBG>shell_surface_configure: w/h=400/400->200/200 x/y=100/50->200/150 (ico_ivi_shell.c:1068)
+[16:41:11.774] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:11.774] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:11.774] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:11.774] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:11.808] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:11.808] DBG>ivi_shell_surface_configure: 089f0050 200,150(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:11.808] DBG>shell_surface_configure: w/h=400/400->200/200 x/y=100/50->200/150 (ico_ivi_shell.c:1068)
+[16:41:11.808] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:11.808] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:11.808] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:11.808] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:11.841] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:11.841] DBG>ivi_shell_surface_configure: 089f0050 200,150(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:11.841] DBG>shell_surface_configure: w/h=400/400->200/200 x/y=100/50->200/150 (ico_ivi_shell.c:1068)
+[16:41:11.841] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:11.841] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:11.841] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:11.841] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:11.874] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:11.874] DBG>ivi_shell_surface_configure: 089f0050 200,150(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:11.874] DBG>shell_surface_configure: w/h=400/400->200/200 x/y=100/50->200/150 (ico_ivi_shell.c:1068)
+[16:41:11.874] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:11.874] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:11.874] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:11.874] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:11.903] DBG>click_to_activate_binding: ShellSurface[089f0050] already active (ico_ivi_shell.c:1331)
+[16:41:11.908] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:11.908] DBG>ivi_shell_surface_configure: 089f0050 200,150(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:11.908] DBG>shell_surface_configure: w/h=400/400->200/200 x/y=100/50->200/150 (ico_ivi_shell.c:1068)
+[16:41:11.908] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:11.908] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:11.908] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:11.908] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:11.939] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:11.939] DBG>ivi_shell_surface_configure: 089f0050 200,150(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:11.939] DBG>shell_surface_configure: w/h=400/400->200/200 x/y=100/50->200/150 (ico_ivi_shell.c:1068)
+[16:41:11.939] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:11.939] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:11.939] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:11.939] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:11.975] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:11.975] DBG>ivi_shell_surface_configure: 089f0050 200,150(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:11.975] DBG>shell_surface_configure: w/h=400/400->200/200 x/y=100/50->200/150 (ico_ivi_shell.c:1068)
+[16:41:11.975] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:11.975] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:11.975] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:11.975] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:12.008] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:12.008] DBG>ivi_shell_surface_configure: 089f0050 200,150(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:12.008] DBG>shell_surface_configure: w/h=400/400->200/200 x/y=100/50->200/150 (ico_ivi_shell.c:1068)
+[16:41:12.008] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:12.008] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:12.008] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:12.008] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:12.041] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:12.041] DBG>ivi_shell_surface_configure: 089f0050 200,150(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:12.041] DBG>shell_surface_configure: w/h=400/400->200/200 x/y=100/50->200/150 (ico_ivi_shell.c:1068)
+[16:41:12.041] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:12.041] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:12.041] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:12.041] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:12.075] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:12.075] DBG>ivi_shell_surface_configure: 089f0050 200,150(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:12.075] DBG>shell_surface_configure: w/h=400/400->200/200 x/y=100/50->200/150 (ico_ivi_shell.c:1068)
+[16:41:12.075] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:12.075] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:12.075] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:12.075] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:12.108] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:12.108] DBG>ivi_shell_surface_configure: 089f0050 200,150(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:12.108] DBG>shell_surface_configure: w/h=400/400->200/200 x/y=100/50->200/150 (ico_ivi_shell.c:1068)
+[16:41:12.108] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:12.108] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:12.108] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:12.108] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:12.141] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:12.141] DBG>ivi_shell_surface_configure: 089f0050 200,150(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:12.141] DBG>shell_surface_configure: w/h=400/400->200/200 x/y=100/50->200/150 (ico_ivi_shell.c:1068)
+[16:41:12.141] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:12.142] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:12.142] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:12.142] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:12.175] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:12.175] DBG>ivi_shell_surface_configure: 089f0050 200,150(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:12.175] DBG>shell_surface_configure: w/h=400/400->200/200 x/y=100/50->200/150 (ico_ivi_shell.c:1068)
+[16:41:12.175] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:12.175] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:12.175] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:12.175] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:12.208] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:12.208] DBG>ivi_shell_surface_configure: 089f0050 200,150(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:12.208] DBG>shell_surface_configure: w/h=400/400->200/200 x/y=100/50->200/150 (ico_ivi_shell.c:1068)
+[16:41:12.208] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:12.208] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:12.208] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:12.208] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:12.241] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:12.241] DBG>ivi_shell_surface_configure: 089f0050 200,150(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:12.241] DBG>shell_surface_configure: w/h=400/400->200/200 x/y=100/50->200/150 (ico_ivi_shell.c:1068)
+[16:41:12.241] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:12.241] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:12.242] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:12.242] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:12.275] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:12.275] DBG>ivi_shell_surface_configure: 089f0050 200,150(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:12.275] DBG>shell_surface_configure: w/h=400/400->200/200 x/y=100/50->200/150 (ico_ivi_shell.c:1068)
+[16:41:12.275] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:12.275] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:12.275] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:12.275] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:12.308] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:12.308] DBG>ivi_shell_surface_configure: 089f0050 200,150(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:12.308] DBG>shell_surface_configure: w/h=400/400->200/200 x/y=100/50->200/150 (ico_ivi_shell.c:1068)
+[16:41:12.308] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:12.308] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:12.308] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:12.308] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:12.341] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:12.341] DBG>ivi_shell_surface_configure: 089f0050 200,150(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:12.341] DBG>shell_surface_configure: w/h=400/400->200/200 x/y=100/50->200/150 (ico_ivi_shell.c:1068)
+[16:41:12.341] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:12.341] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:12.342] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:12.342] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:12.375] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:12.375] DBG>ivi_shell_surface_configure: 089f0050 200,150(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:12.375] DBG>shell_surface_configure: w/h=400/400->200/200 x/y=100/50->200/150 (ico_ivi_shell.c:1068)
+[16:41:12.375] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:12.375] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:12.375] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:12.375] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:12.408] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:12.408] DBG>ivi_shell_surface_configure: 089f0050 200,150(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:12.408] DBG>shell_surface_configure: w/h=400/400->200/200 x/y=100/50->200/150 (ico_ivi_shell.c:1068)
+[16:41:12.408] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:12.408] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:12.408] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:12.408] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:12.441] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:12.441] DBG>ivi_shell_surface_configure: 089f0050 200,150(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:12.441] DBG>shell_surface_configure: w/h=400/400->200/200 x/y=100/50->200/150 (ico_ivi_shell.c:1068)
+[16:41:12.441] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:12.441] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:12.441] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:12.441] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:12.475] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:12.475] DBG>ivi_shell_surface_configure: 089f0050 200,150(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:12.475] DBG>shell_surface_configure: w/h=400/400->200/200 x/y=100/50->200/150 (ico_ivi_shell.c:1068)
+[16:41:12.475] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:12.475] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:12.475] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:12.475] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:12.508] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:12.508] DBG>ivi_shell_surface_configure: 089f0050 200,150(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:12.508] DBG>shell_surface_configure: w/h=400/400->200/200 x/y=100/50->200/150 (ico_ivi_shell.c:1068)
+[16:41:12.508] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:12.508] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:12.508] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:12.508] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:12.541] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:12.541] DBG>ivi_shell_surface_configure: 089f0050 200,150(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:12.541] DBG>shell_surface_configure: w/h=400/400->200/200 x/y=100/50->200/150 (ico_ivi_shell.c:1068)
+[16:41:12.542] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:12.542] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:12.542] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:12.542] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:12.575] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:12.575] DBG>ivi_shell_surface_configure: 089f0050 200,150(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:12.575] DBG>shell_surface_configure: w/h=400/400->200/200 x/y=100/50->200/150 (ico_ivi_shell.c:1068)
+[16:41:12.575] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:12.575] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:12.575] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:12.575] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:12.608] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:12.609] DBG>ivi_shell_surface_configure: 089f0050 200,150(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:12.609] DBG>shell_surface_configure: w/h=400/400->200/200 x/y=100/50->200/150 (ico_ivi_shell.c:1068)
+[16:41:12.609] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:12.609] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:12.609] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:12.609] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:12.642] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:12.642] DBG>ivi_shell_surface_configure: 089f0050 200,150(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:12.642] DBG>shell_surface_configure: w/h=400/400->200/200 x/y=100/50->200/150 (ico_ivi_shell.c:1068)
+[16:41:12.642] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:12.642] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:12.642] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:12.642] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:12.675] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:12.675] DBG>ivi_shell_surface_configure: 089f0050 200,150(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:12.675] DBG>shell_surface_configure: w/h=400/400->200/200 x/y=100/50->200/150 (ico_ivi_shell.c:1068)
+[16:41:12.675] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:12.675] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:12.675] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:12.675] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:12.708] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:12.708] DBG>ivi_shell_surface_configure: 089f0050 200,150(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:12.708] DBG>shell_surface_configure: w/h=400/400->200/200 x/y=100/50->200/150 (ico_ivi_shell.c:1068)
+[16:41:12.708] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:12.708] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:12.708] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:12.708] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:12.741] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:12.742] DBG>ivi_shell_surface_configure: 089f0050 200,150(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:12.742] DBG>shell_surface_configure: w/h=400/400->200/200 x/y=100/50->200/150 (ico_ivi_shell.c:1068)
+[16:41:12.742] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:12.742] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:12.742] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:12.742] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:12.775] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:12.775] DBG>ivi_shell_surface_configure: 089f0050 200,150(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:12.775] DBG>shell_surface_configure: w/h=400/400->200/200 x/y=100/50->200/150 (ico_ivi_shell.c:1068)
+[16:41:12.775] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:12.775] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:12.775] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:12.775] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:12.808] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:12.808] DBG>ivi_shell_surface_configure: 089f0050 200,150(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:12.808] DBG>shell_surface_configure: w/h=400/400->200/200 x/y=100/50->200/150 (ico_ivi_shell.c:1068)
+[16:41:12.808] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:12.808] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:12.808] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:12.808] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:12.841] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:12.841] DBG>ivi_shell_surface_configure: 089f0050 200,150(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:12.841] DBG>shell_surface_configure: w/h=400/400->200/200 x/y=100/50->200/150 (ico_ivi_shell.c:1068)
+[16:41:12.841] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:12.841] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:12.841] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:12.841] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:12.875] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:12.875] DBG>ivi_shell_surface_configure: 089f0050 200,150(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:12.875] DBG>shell_surface_configure: w/h=400/400->200/200 x/y=100/50->200/150 (ico_ivi_shell.c:1068)
+[16:41:12.875] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:12.875] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:12.875] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:12.875] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:12.908] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:12.908] DBG>ivi_shell_surface_configure: 089f0050 200,150(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:12.908] DBG>shell_surface_configure: w/h=400/400->200/200 x/y=100/50->200/150 (ico_ivi_shell.c:1068)
+[16:41:12.908] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:12.908] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:12.908] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:12.908] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:12.941] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:12.941] DBG>ivi_shell_surface_configure: 089f0050 200,150(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:12.941] DBG>shell_surface_configure: w/h=400/400->200/200 x/y=100/50->200/150 (ico_ivi_shell.c:1068)
+[16:41:12.941] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:12.941] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:12.941] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:12.941] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:12.975] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:12.975] DBG>ivi_shell_surface_configure: 089f0050 200,150(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:12.975] DBG>shell_surface_configure: w/h=400/400->200/200 x/y=100/50->200/150 (ico_ivi_shell.c:1068)
+[16:41:12.975] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:12.975] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:12.975] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:12.975] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:13.009] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:13.009] DBG>ivi_shell_surface_configure: 089f0050 200,150(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:13.009] DBG>shell_surface_configure: w/h=400/400->200/200 x/y=100/50->200/150 (ico_ivi_shell.c:1068)
+[16:41:13.009] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:13.009] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:13.009] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:13.009] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:13.041] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:13.041] DBG>ivi_shell_surface_configure: 089f0050 200,150(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:13.041] DBG>shell_surface_configure: w/h=400/400->200/200 x/y=100/50->200/150 (ico_ivi_shell.c:1068)
+[16:41:13.041] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:13.041] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:13.042] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:13.042] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:13.075] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:13.075] DBG>ivi_shell_surface_configure: 089f0050 200,150(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:13.075] DBG>shell_surface_configure: w/h=400/400->200/200 x/y=100/50->200/150 (ico_ivi_shell.c:1068)
+[16:41:13.075] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:13.075] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:13.075] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:13.075] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:13.108] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:13.108] DBG>ivi_shell_surface_configure: 089f0050 200,150(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:13.108] DBG>shell_surface_configure: w/h=400/400->200/200 x/y=100/50->200/150 (ico_ivi_shell.c:1068)
+[16:41:13.108] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:13.108] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:13.108] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:13.108] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:13.109] DBG>uifw_set_positionsize: Enter res=08b425a0 surf=00000005 x/y/w/h=16384/16384/300/600 (ico_window_mgr.c:897)
+[16:41:13.109] DBG>uifw_set_positionsize: Old geometry x/y=200/150,w/h=200/200 (ico_window_mgr.c:931)
+[16:41:13.109] DBG>uifw_set_positionsize: Fixed Geometry, Change(Vis=1) (ico_window_mgr.c:946)
+[16:41:13.109] DBG>uifw_set_weston_surface: w/h=300/600->200/200 x/y=100/50->150/250 (ico_window_mgr.c:871)
+[16:41:13.109] DBG>ivi_shell_surface_configure: 089f0050 150,250(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:13.109] DBG>win_mgr_surface_change: Enter(08b96da8,0,1) (ico_window_mgr.c:1208)
+[16:41:13.109] DBG>win_mgr_surface_change: Send SHELL_SURFACE_CONFIGURE(00000005,w/h=300/600) (ico_window_mgr.c:1220)
+[16:41:13.109] DBG>ivi_shell_send_configure: (08b96da8) edges=a w/h=300/600 (ico_ivi_shell.c:1559)
+[16:41:13.109] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=300/600,hint=0) (ico_window_mgr.c:1464)
+[16:41:13.109] DBG>win_mgr_surface_change: Leave(OK) (ico_window_mgr.c:1234)
+[16:41:13.109] DBG>uifw_set_positionsize: Leave(OK,output=894e898) (ico_window_mgr.c:954)
+[16:41:13.141] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:13.141] DBG>ivi_shell_surface_configure: 089f0050 150,250(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:13.141] DBG>shell_surface_configure: w/h=300/600->200/200 x/y=100/50->150/250 (ico_ivi_shell.c:1068)
+[16:41:13.141] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:13.141] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:13.141] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:13.141] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:13.175] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:13.175] DBG>ivi_shell_surface_configure: 089f0050 150,250(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:13.175] DBG>shell_surface_configure: w/h=300/600->200/200 x/y=100/50->150/250 (ico_ivi_shell.c:1068)
+[16:41:13.175] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:13.175] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:13.175] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:13.175] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:13.208] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:13.208] DBG>ivi_shell_surface_configure: 089f0050 150,250(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:13.208] DBG>shell_surface_configure: w/h=300/600->200/200 x/y=100/50->150/250 (ico_ivi_shell.c:1068)
+[16:41:13.208] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:13.208] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:13.208] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:13.208] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:13.241] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:13.241] DBG>ivi_shell_surface_configure: 089f0050 150,250(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:13.241] DBG>shell_surface_configure: w/h=300/600->200/200 x/y=100/50->150/250 (ico_ivi_shell.c:1068)
+[16:41:13.241] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:13.241] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:13.241] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:13.241] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:13.274] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:13.275] DBG>ivi_shell_surface_configure: 089f0050 150,250(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:13.275] DBG>shell_surface_configure: w/h=300/600->200/200 x/y=100/50->150/250 (ico_ivi_shell.c:1068)
+[16:41:13.275] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:13.275] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:13.275] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:13.275] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:13.309] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:13.309] DBG>ivi_shell_surface_configure: 089f0050 150,250(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:13.309] DBG>shell_surface_configure: w/h=300/600->200/200 x/y=100/50->150/250 (ico_ivi_shell.c:1068)
+[16:41:13.309] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:13.309] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:13.309] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:13.309] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:13.341] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:13.341] DBG>ivi_shell_surface_configure: 089f0050 150,250(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:13.341] DBG>shell_surface_configure: w/h=300/600->200/200 x/y=100/50->150/250 (ico_ivi_shell.c:1068)
+[16:41:13.341] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:13.341] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:13.341] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:13.341] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:13.375] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:13.375] DBG>ivi_shell_surface_configure: 089f0050 150,250(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:13.375] DBG>shell_surface_configure: w/h=300/600->200/200 x/y=100/50->150/250 (ico_ivi_shell.c:1068)
+[16:41:13.375] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:13.375] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:13.375] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:13.375] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:13.408] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:13.408] DBG>ivi_shell_surface_configure: 089f0050 150,250(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:13.408] DBG>shell_surface_configure: w/h=300/600->200/200 x/y=100/50->150/250 (ico_ivi_shell.c:1068)
+[16:41:13.408] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:13.408] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:13.408] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:13.408] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:13.441] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:13.441] DBG>ivi_shell_surface_configure: 089f0050 150,250(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:13.441] DBG>shell_surface_configure: w/h=300/600->200/200 x/y=100/50->150/250 (ico_ivi_shell.c:1068)
+[16:41:13.441] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:13.441] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:13.441] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:13.441] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:13.475] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:13.475] DBG>ivi_shell_surface_configure: 089f0050 150,250(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:13.475] DBG>shell_surface_configure: w/h=300/600->200/200 x/y=100/50->150/250 (ico_ivi_shell.c:1068)
+[16:41:13.475] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:13.475] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:13.475] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:13.475] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:13.508] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:13.508] DBG>ivi_shell_surface_configure: 089f0050 150,250(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:13.508] DBG>shell_surface_configure: w/h=300/600->200/200 x/y=100/50->150/250 (ico_ivi_shell.c:1068)
+[16:41:13.508] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:13.508] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:13.508] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:13.508] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:13.541] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:13.541] DBG>ivi_shell_surface_configure: 089f0050 150,250(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:13.541] DBG>shell_surface_configure: w/h=300/600->200/200 x/y=100/50->150/250 (ico_ivi_shell.c:1068)
+[16:41:13.541] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:13.541] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:13.541] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:13.541] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:13.571] DBG>click_to_activate_binding: call ivi_shell_hook_select[08b98608] (ico_ivi_shell.c:1325)
+[16:41:13.571] DBG>win_mgr_surface_select: Enter(08baa788) (ico_window_mgr.c:1250)
+[16:41:13.571] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) ACTIVE surf=00000001 active=2 (ico_window_mgr.c:1478)
+[16:41:13.571] DBG>win_mgr_surface_select: Leave(OK) (ico_window_mgr.c:1263)
+[16:41:13.572] DBG>click_to_activate_binding: ret  ivi_shell_hook_select (ico_ivi_shell.c:1327)
+[16:41:13.575] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:13.575] DBG>ivi_shell_surface_configure: 089f0050 150,250(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:13.575] DBG>shell_surface_configure: w/h=300/600->200/200 x/y=100/50->150/250 (ico_ivi_shell.c:1068)
+[16:41:13.575] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:13.575] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:13.575] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:13.575] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:13.608] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:13.608] DBG>ivi_shell_surface_configure: 089f0050 150,250(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:13.608] DBG>shell_surface_configure: w/h=300/600->200/200 x/y=100/50->150/250 (ico_ivi_shell.c:1068)
+[16:41:13.608] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:13.608] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:13.608] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:13.608] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:13.641] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:13.641] DBG>ivi_shell_surface_configure: 089f0050 150,250(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:13.641] DBG>shell_surface_configure: w/h=300/600->200/200 x/y=100/50->150/250 (ico_ivi_shell.c:1068)
+[16:41:13.641] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:13.641] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:13.641] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:13.641] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:13.675] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:13.675] DBG>ivi_shell_surface_configure: 089f0050 150,250(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:13.675] DBG>shell_surface_configure: w/h=300/600->200/200 x/y=100/50->150/250 (ico_ivi_shell.c:1068)
+[16:41:13.675] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:13.675] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:13.675] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:13.675] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:13.708] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:13.708] DBG>ivi_shell_surface_configure: 089f0050 150,250(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:13.708] DBG>shell_surface_configure: w/h=300/600->200/200 x/y=100/50->150/250 (ico_ivi_shell.c:1068)
+[16:41:13.708] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:13.708] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:13.708] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:13.708] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:13.741] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:13.741] DBG>ivi_shell_surface_configure: 089f0050 150,250(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:13.741] DBG>shell_surface_configure: w/h=300/600->200/200 x/y=100/50->150/250 (ico_ivi_shell.c:1068)
+[16:41:13.741] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:13.741] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:13.741] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:13.741] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:13.775] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:13.775] DBG>ivi_shell_surface_configure: 089f0050 150,250(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:13.775] DBG>shell_surface_configure: w/h=300/600->200/200 x/y=100/50->150/250 (ico_ivi_shell.c:1068)
+[16:41:13.775] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:13.775] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:13.775] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:13.775] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:13.808] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:13.808] DBG>ivi_shell_surface_configure: 089f0050 150,250(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:13.808] DBG>shell_surface_configure: w/h=300/600->200/200 x/y=100/50->150/250 (ico_ivi_shell.c:1068)
+[16:41:13.808] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:13.808] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:13.808] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:13.808] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:13.846] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:13.846] DBG>ivi_shell_surface_configure: 089f0050 150,250(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:13.846] DBG>shell_surface_configure: w/h=300/600->200/200 x/y=100/50->150/250 (ico_ivi_shell.c:1068)
+[16:41:13.846] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:13.846] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:13.846] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:13.846] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:13.901] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:13.901] DBG>ivi_shell_surface_configure: 089f0050 150,250(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:13.901] DBG>shell_surface_configure: w/h=300/600->200/200 x/y=100/50->150/250 (ico_ivi_shell.c:1068)
+[16:41:13.901] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:13.901] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:13.901] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:13.901] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:13.950] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:13.950] DBG>ivi_shell_surface_configure: 089f0050 150,250(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:13.950] DBG>shell_surface_configure: w/h=300/600->200/200 x/y=100/50->150/250 (ico_ivi_shell.c:1068)
+[16:41:13.950] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:13.950] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:13.950] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:13.950] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:13.996] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:13.996] DBG>ivi_shell_surface_configure: 089f0050 150,250(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:13.996] DBG>shell_surface_configure: w/h=300/600->200/200 x/y=100/50->150/250 (ico_ivi_shell.c:1068)
+[16:41:13.996] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:13.996] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:13.996] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:13.996] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:14.046] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:14.046] DBG>ivi_shell_surface_configure: 089f0050 150,250(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:14.046] DBG>shell_surface_configure: w/h=300/600->200/200 x/y=100/50->150/250 (ico_ivi_shell.c:1068)
+[16:41:14.046] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:14.046] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:14.046] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:14.046] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:14.096] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:14.096] DBG>ivi_shell_surface_configure: 089f0050 150,250(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:14.096] DBG>shell_surface_configure: w/h=300/600->200/200 x/y=100/50->150/250 (ico_ivi_shell.c:1068)
+[16:41:14.096] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:14.096] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:14.096] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:14.096] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:14.146] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:14.146] DBG>ivi_shell_surface_configure: 089f0050 150,250(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:14.146] DBG>shell_surface_configure: w/h=300/600->200/200 x/y=100/50->150/250 (ico_ivi_shell.c:1068)
+[16:41:14.146] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:14.146] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:14.146] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:14.146] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:14.196] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:14.196] DBG>ivi_shell_surface_configure: 089f0050 150,250(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:14.196] DBG>shell_surface_configure: w/h=300/600->200/200 x/y=100/50->150/250 (ico_ivi_shell.c:1068)
+[16:41:14.196] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:14.196] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:14.196] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:14.196] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:14.246] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:14.246] DBG>ivi_shell_surface_configure: 089f0050 150,250(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:14.246] DBG>shell_surface_configure: w/h=300/600->200/200 x/y=100/50->150/250 (ico_ivi_shell.c:1068)
+[16:41:14.246] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:14.246] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:14.246] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:14.246] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:14.296] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:14.296] DBG>ivi_shell_surface_configure: 089f0050 150,250(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:14.296] DBG>shell_surface_configure: w/h=300/600->200/200 x/y=100/50->150/250 (ico_ivi_shell.c:1068)
+[16:41:14.296] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:14.296] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:14.296] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:14.296] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:14.346] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:14.346] DBG>ivi_shell_surface_configure: 089f0050 150,250(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:14.346] DBG>shell_surface_configure: w/h=300/600->200/200 x/y=100/50->150/250 (ico_ivi_shell.c:1068)
+[16:41:14.346] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:14.346] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:14.346] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:14.346] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:14.396] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:14.396] DBG>ivi_shell_surface_configure: 089f0050 150,250(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:14.396] DBG>shell_surface_configure: w/h=300/600->200/200 x/y=100/50->150/250 (ico_ivi_shell.c:1068)
+[16:41:14.396] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:14.396] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:14.396] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:14.396] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:14.446] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:14.446] DBG>ivi_shell_surface_configure: 089f0050 150,250(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:14.446] DBG>shell_surface_configure: w/h=300/600->200/200 x/y=100/50->150/250 (ico_ivi_shell.c:1068)
+[16:41:14.446] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:14.446] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:14.446] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:14.446] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:14.496] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:14.496] DBG>ivi_shell_surface_configure: 089f0050 150,250(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:14.496] DBG>shell_surface_configure: w/h=300/600->200/200 x/y=100/50->150/250 (ico_ivi_shell.c:1068)
+[16:41:14.496] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:14.496] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:14.496] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:14.496] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:14.546] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:14.546] DBG>ivi_shell_surface_configure: 089f0050 150,250(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:14.546] DBG>shell_surface_configure: w/h=300/600->200/200 x/y=100/50->150/250 (ico_ivi_shell.c:1068)
+[16:41:14.546] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:14.546] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:14.546] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:14.546] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:14.596] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:14.596] DBG>ivi_shell_surface_configure: 089f0050 150,250(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:14.596] DBG>shell_surface_configure: w/h=300/600->200/200 x/y=100/50->150/250 (ico_ivi_shell.c:1068)
+[16:41:14.596] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:14.596] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:14.596] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:14.596] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:14.646] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:14.646] DBG>ivi_shell_surface_configure: 089f0050 150,250(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:14.646] DBG>shell_surface_configure: w/h=300/600->200/200 x/y=100/50->150/250 (ico_ivi_shell.c:1068)
+[16:41:14.646] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:14.646] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:14.646] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:14.646] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:14.677] DBG>uifw_set_positionsize: Enter res=08b425a0 surf=00000005 x/y/w/h=16384/16384/450/300 (ico_window_mgr.c:897)
+[16:41:14.677] DBG>uifw_set_positionsize: Old geometry x/y=150/250,w/h=200/200 (ico_window_mgr.c:931)
+[16:41:14.677] DBG>uifw_set_positionsize: Fixed Geometry, Change(Vis=1) (ico_window_mgr.c:946)
+[16:41:14.677] DBG>uifw_set_weston_surface: w/h=450/300->200/200 x/y=100/50->225/100 (ico_window_mgr.c:871)
+[16:41:14.677] DBG>ivi_shell_surface_configure: 089f0050 225,100(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:14.677] DBG>win_mgr_surface_change: Enter(08b96da8,0,1) (ico_window_mgr.c:1208)
+[16:41:14.677] DBG>win_mgr_surface_change: Send SHELL_SURFACE_CONFIGURE(00000005,w/h=450/300) (ico_window_mgr.c:1220)
+[16:41:14.677] DBG>ivi_shell_send_configure: (08b96da8) edges=a w/h=450/300 (ico_ivi_shell.c:1559)
+[16:41:14.677] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=450/300,hint=0) (ico_window_mgr.c:1464)
+[16:41:14.677] DBG>win_mgr_surface_change: Leave(OK) (ico_window_mgr.c:1234)
+[16:41:14.677] DBG>uifw_set_positionsize: Leave(OK,output=894e898) (ico_window_mgr.c:954)
+[16:41:14.696] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:14.696] DBG>ivi_shell_surface_configure: 089f0050 225,100(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:14.696] DBG>shell_surface_configure: w/h=450/300->200/200 x/y=100/50->225/100 (ico_ivi_shell.c:1068)
+[16:41:14.696] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:14.696] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:14.696] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:14.696] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:14.746] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:14.746] DBG>ivi_shell_surface_configure: 089f0050 225,100(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:14.746] DBG>shell_surface_configure: w/h=450/300->200/200 x/y=100/50->225/100 (ico_ivi_shell.c:1068)
+[16:41:14.746] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:14.746] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:14.746] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:14.746] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:14.796] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:14.796] DBG>ivi_shell_surface_configure: 089f0050 225,100(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:14.796] DBG>shell_surface_configure: w/h=450/300->200/200 x/y=100/50->225/100 (ico_ivi_shell.c:1068)
+[16:41:14.796] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:14.796] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:14.796] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:14.796] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:14.846] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:14.846] DBG>ivi_shell_surface_configure: 089f0050 225,100(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:14.846] DBG>shell_surface_configure: w/h=450/300->200/200 x/y=100/50->225/100 (ico_ivi_shell.c:1068)
+[16:41:14.846] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:14.846] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:14.846] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:14.846] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:14.896] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:14.896] DBG>ivi_shell_surface_configure: 089f0050 225,100(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:14.896] DBG>shell_surface_configure: w/h=450/300->200/200 x/y=100/50->225/100 (ico_ivi_shell.c:1068)
+[16:41:14.896] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:14.896] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:14.896] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:14.896] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:14.947] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:14.947] DBG>ivi_shell_surface_configure: 089f0050 225,100(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:14.947] DBG>shell_surface_configure: w/h=450/300->200/200 x/y=100/50->225/100 (ico_ivi_shell.c:1068)
+[16:41:14.947] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:14.947] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:14.947] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:14.947] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:14.994] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:14.994] DBG>ivi_shell_surface_configure: 089f0050 225,100(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:14.994] DBG>shell_surface_configure: w/h=450/300->200/200 x/y=100/50->225/100 (ico_ivi_shell.c:1068)
+[16:41:14.995] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:14.995] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:14.995] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:14.995] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:15.039] DBG>click_to_activate_binding: call ivi_shell_hook_select[089f0050] (ico_ivi_shell.c:1325)
+[16:41:15.039] DBG>win_mgr_surface_select: Enter(08b96da8) (ico_window_mgr.c:1250)
+[16:41:15.039] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) ACTIVE surf=00000005 active=2 (ico_window_mgr.c:1478)
+[16:41:15.039] DBG>win_mgr_surface_select: Leave(OK) (ico_window_mgr.c:1263)
+[16:41:15.039] DBG>click_to_activate_binding: ret  ivi_shell_hook_select (ico_ivi_shell.c:1327)
+[16:41:15.042] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:15.042] DBG>ivi_shell_surface_configure: 089f0050 225,100(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:15.042] DBG>shell_surface_configure: w/h=450/300->200/200 x/y=100/50->225/100 (ico_ivi_shell.c:1068)
+[16:41:15.042] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:15.042] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:15.042] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:15.042] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:15.074] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:15.074] DBG>ivi_shell_surface_configure: 089f0050 225,100(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:15.074] DBG>shell_surface_configure: w/h=450/300->200/200 x/y=100/50->225/100 (ico_ivi_shell.c:1068)
+[16:41:15.074] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:15.074] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:15.074] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:15.074] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:15.109] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:15.109] DBG>ivi_shell_surface_configure: 089f0050 225,100(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:15.109] DBG>shell_surface_configure: w/h=450/300->200/200 x/y=100/50->225/100 (ico_ivi_shell.c:1068)
+[16:41:15.109] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:15.109] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:15.109] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:15.109] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:15.142] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:15.142] DBG>ivi_shell_surface_configure: 089f0050 225,100(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:15.142] DBG>shell_surface_configure: w/h=450/300->200/200 x/y=100/50->225/100 (ico_ivi_shell.c:1068)
+[16:41:15.142] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:15.142] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:15.142] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:15.142] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:15.179] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:15.179] DBG>ivi_shell_surface_configure: 089f0050 225,100(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:15.179] DBG>shell_surface_configure: w/h=450/300->200/200 x/y=100/50->225/100 (ico_ivi_shell.c:1068)
+[16:41:15.179] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:15.179] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:15.179] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:15.179] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:15.230] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:15.230] DBG>ivi_shell_surface_configure: 089f0050 225,100(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:15.230] DBG>shell_surface_configure: w/h=450/300->200/200 x/y=100/50->225/100 (ico_ivi_shell.c:1068)
+[16:41:15.230] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:15.230] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:15.230] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:15.231] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:15.275] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:15.275] DBG>ivi_shell_surface_configure: 089f0050 225,100(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:15.275] DBG>shell_surface_configure: w/h=450/300->200/200 x/y=100/50->225/100 (ico_ivi_shell.c:1068)
+[16:41:15.275] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:15.275] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:15.275] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:15.275] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:15.308] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:15.308] DBG>ivi_shell_surface_configure: 089f0050 225,100(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:15.308] DBG>shell_surface_configure: w/h=450/300->200/200 x/y=100/50->225/100 (ico_ivi_shell.c:1068)
+[16:41:15.308] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:15.308] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:15.308] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:15.308] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:15.342] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:15.342] DBG>ivi_shell_surface_configure: 089f0050 225,100(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:15.342] DBG>shell_surface_configure: w/h=450/300->200/200 x/y=100/50->225/100 (ico_ivi_shell.c:1068)
+[16:41:15.342] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:15.342] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:15.342] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:15.342] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:15.375] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:15.375] DBG>ivi_shell_surface_configure: 089f0050 225,100(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:15.375] DBG>shell_surface_configure: w/h=450/300->200/200 x/y=100/50->225/100 (ico_ivi_shell.c:1068)
+[16:41:15.375] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:15.375] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:15.375] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:15.375] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:15.408] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:15.408] DBG>ivi_shell_surface_configure: 089f0050 225,100(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:15.409] DBG>shell_surface_configure: w/h=450/300->200/200 x/y=100/50->225/100 (ico_ivi_shell.c:1068)
+[16:41:15.409] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:15.409] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:15.409] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:15.409] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:15.442] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:15.442] DBG>ivi_shell_surface_configure: 089f0050 225,100(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:15.442] DBG>shell_surface_configure: w/h=450/300->200/200 x/y=100/50->225/100 (ico_ivi_shell.c:1068)
+[16:41:15.442] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:15.442] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:15.442] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:15.442] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:15.475] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:15.475] DBG>ivi_shell_surface_configure: 089f0050 225,100(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:15.475] DBG>shell_surface_configure: w/h=450/300->200/200 x/y=100/50->225/100 (ico_ivi_shell.c:1068)
+[16:41:15.475] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:15.475] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:15.475] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:15.475] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:15.509] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:15.509] DBG>ivi_shell_surface_configure: 089f0050 225,100(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:15.509] DBG>shell_surface_configure: w/h=450/300->200/200 x/y=100/50->225/100 (ico_ivi_shell.c:1068)
+[16:41:15.509] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:15.509] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:15.509] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:15.509] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:15.542] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:15.542] DBG>ivi_shell_surface_configure: 089f0050 225,100(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:15.542] DBG>shell_surface_configure: w/h=450/300->200/200 x/y=100/50->225/100 (ico_ivi_shell.c:1068)
+[16:41:15.542] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:15.542] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:15.542] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:15.542] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:15.575] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:15.575] DBG>ivi_shell_surface_configure: 089f0050 225,100(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:15.575] DBG>shell_surface_configure: w/h=450/300->200/200 x/y=100/50->225/100 (ico_ivi_shell.c:1068)
+[16:41:15.575] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:15.575] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:15.575] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:15.575] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:15.609] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:15.609] DBG>ivi_shell_surface_configure: 089f0050 225,100(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:15.609] DBG>shell_surface_configure: w/h=450/300->200/200 x/y=100/50->225/100 (ico_ivi_shell.c:1068)
+[16:41:15.609] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:15.609] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:15.610] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:15.610] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:15.664] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:15.664] DBG>ivi_shell_surface_configure: 089f0050 225,100(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:15.664] DBG>shell_surface_configure: w/h=450/300->200/200 x/y=100/50->225/100 (ico_ivi_shell.c:1068)
+[16:41:15.664] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:15.664] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:15.664] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:15.664] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:15.714] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:15.714] DBG>ivi_shell_surface_configure: 089f0050 225,100(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:15.714] DBG>shell_surface_configure: w/h=450/300->200/200 x/y=100/50->225/100 (ico_ivi_shell.c:1068)
+[16:41:15.714] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:15.714] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:15.714] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:15.714] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:15.761] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:15.762] DBG>ivi_shell_surface_configure: 089f0050 225,100(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:15.762] DBG>shell_surface_configure: w/h=450/300->200/200 x/y=100/50->225/100 (ico_ivi_shell.c:1068)
+[16:41:15.762] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:15.762] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:15.762] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:15.762] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:15.813] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:15.813] DBG>ivi_shell_surface_configure: 089f0050 225,100(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:15.813] DBG>shell_surface_configure: w/h=450/300->200/200 x/y=100/50->225/100 (ico_ivi_shell.c:1068)
+[16:41:15.813] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:15.813] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:15.813] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:15.813] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:15.861] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:15.861] DBG>ivi_shell_surface_configure: 089f0050 225,100(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:15.861] DBG>shell_surface_configure: w/h=450/300->200/200 x/y=100/50->225/100 (ico_ivi_shell.c:1068)
+[16:41:15.861] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:15.861] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:15.861] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:15.861] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:15.914] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:15.914] DBG>ivi_shell_surface_configure: 089f0050 225,100(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:15.914] DBG>shell_surface_configure: w/h=450/300->200/200 x/y=100/50->225/100 (ico_ivi_shell.c:1068)
+[16:41:15.914] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:15.914] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:15.914] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:15.914] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:15.959] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:15.959] DBG>ivi_shell_surface_configure: 089f0050 225,100(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:15.959] DBG>shell_surface_configure: w/h=450/300->200/200 x/y=100/50->225/100 (ico_ivi_shell.c:1068)
+[16:41:15.959] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:15.959] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:15.959] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:15.959] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:16.010] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:16.010] DBG>ivi_shell_surface_configure: 089f0050 225,100(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:16.010] DBG>shell_surface_configure: w/h=450/300->200/200 x/y=100/50->225/100 (ico_ivi_shell.c:1068)
+[16:41:16.010] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:16.010] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:16.010] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:16.010] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:16.059] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:16.059] DBG>ivi_shell_surface_configure: 089f0050 225,100(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:16.059] DBG>shell_surface_configure: w/h=450/300->200/200 x/y=100/50->225/100 (ico_ivi_shell.c:1068)
+[16:41:16.059] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:16.059] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:16.059] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:16.059] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:16.092] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:16.092] DBG>ivi_shell_surface_configure: 089f0050 225,100(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:16.092] DBG>shell_surface_configure: w/h=450/300->200/200 x/y=100/50->225/100 (ico_ivi_shell.c:1068)
+[16:41:16.092] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:16.092] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:16.092] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:16.092] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:16.125] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:16.125] DBG>ivi_shell_surface_configure: 089f0050 225,100(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:16.125] DBG>shell_surface_configure: w/h=450/300->200/200 x/y=100/50->225/100 (ico_ivi_shell.c:1068)
+[16:41:16.125] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:16.125] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:16.125] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:16.125] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:16.159] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:16.159] DBG>ivi_shell_surface_configure: 089f0050 225,100(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:16.159] DBG>shell_surface_configure: w/h=450/300->200/200 x/y=100/50->225/100 (ico_ivi_shell.c:1068)
+[16:41:16.159] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:16.159] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:16.159] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:16.159] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:16.192] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:16.192] DBG>ivi_shell_surface_configure: 089f0050 225,100(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:16.192] DBG>shell_surface_configure: w/h=450/300->200/200 x/y=100/50->225/100 (ico_ivi_shell.c:1068)
+[16:41:16.192] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:16.192] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:16.192] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:16.192] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:16.225] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:16.225] DBG>ivi_shell_surface_configure: 089f0050 225,100(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:16.225] DBG>shell_surface_configure: w/h=450/300->200/200 x/y=100/50->225/100 (ico_ivi_shell.c:1068)
+[16:41:16.225] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:16.225] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:16.225] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:16.225] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:16.258] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:16.258] DBG>ivi_shell_surface_configure: 089f0050 225,100(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:16.258] DBG>shell_surface_configure: w/h=450/300->200/200 x/y=100/50->225/100 (ico_ivi_shell.c:1068)
+[16:41:16.259] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:16.259] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:16.259] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:16.259] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:16.292] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:16.292] DBG>ivi_shell_surface_configure: 089f0050 225,100(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:16.292] DBG>shell_surface_configure: w/h=450/300->200/200 x/y=100/50->225/100 (ico_ivi_shell.c:1068)
+[16:41:16.292] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:16.292] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:16.292] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:16.292] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:16.325] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:16.325] DBG>ivi_shell_surface_configure: 089f0050 225,100(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:16.325] DBG>shell_surface_configure: w/h=450/300->200/200 x/y=100/50->225/100 (ico_ivi_shell.c:1068)
+[16:41:16.325] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:16.325] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:16.325] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:16.325] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:16.359] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:16.359] DBG>ivi_shell_surface_configure: 089f0050 225,100(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:16.359] DBG>shell_surface_configure: w/h=450/300->200/200 x/y=100/50->225/100 (ico_ivi_shell.c:1068)
+[16:41:16.359] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:16.359] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:16.359] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:16.359] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:16.413] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:16.413] DBG>ivi_shell_surface_configure: 089f0050 225,100(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:16.413] DBG>shell_surface_configure: w/h=450/300->200/200 x/y=100/50->225/100 (ico_ivi_shell.c:1068)
+[16:41:16.413] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:16.413] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:16.414] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:16.414] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:16.458] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:16.459] DBG>ivi_shell_surface_configure: 089f0050 225,100(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:16.459] DBG>shell_surface_configure: w/h=450/300->200/200 x/y=100/50->225/100 (ico_ivi_shell.c:1068)
+[16:41:16.459] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:16.459] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:16.459] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:16.459] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:16.492] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:16.492] DBG>ivi_shell_surface_configure: 089f0050 225,100(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:16.492] DBG>shell_surface_configure: w/h=450/300->200/200 x/y=100/50->225/100 (ico_ivi_shell.c:1068)
+[16:41:16.492] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:16.492] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:16.492] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:16.492] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:16.525] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=200/200) (ico_ivi_shell.c:1047)
+[16:41:16.525] DBG>ivi_shell_surface_configure: 089f0050 225,100(200/200) visible (ico_ivi_shell.c:1717)
+[16:41:16.525] DBG>shell_surface_configure: w/h=450/300->200/200 x/y=100/50->225/100 (ico_ivi_shell.c:1068)
+[16:41:16.525] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=100/50,w/h=200/200) (ico_window_mgr.c:1177)
+[16:41:16.525] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000005,app=wayland-smoke,layer=0,x/y=100/50,w/h=200/200,hint=1) (ico_window_mgr.c:1464)
+[16:41:16.525] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:16.525] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:16.547] libwayland: disconnect from client 0x8a4c8a0
+[16:41:16.547] DBG>unbind_shell (ico_ivi_shell.c:1135)
+[16:41:16.547] DBG>unbind_shell_client: Enter(client=08a4c8a0) (ico_window_mgr.c:511)
+[16:41:16.547] DBG>unbind_shell_client: Leave (ico_window_mgr.c:519)
+[16:41:16.547] DBG>shell_handle_surface_destroy: Enter [089f0050] data=08b96da8 (ico_ivi_shell.c:645)
+[16:41:16.547] DBG>shell_destroy_shell_surface: Enter [089f0050] (ico_ivi_shell.c:622)
+[16:41:16.547] DBG>destroy_shell_surface: Enter[089f0050] (ico_ivi_shell.c:583)
+[16:41:16.547] DBG>ivi_shell_restack_ivi_layer: Enter[089f0050] (ico_ivi_shell.c:1220)
+[16:41:16.547] DBG>ivi_shell_restack_ivi_layer: Leave (ico_ivi_shell.c:1286)
+[16:41:16.547] DBG>destroy_shell_surface: call ivi_shell_hook_destroy(08b96da8) (ico_ivi_shell.c:595)
+[16:41:16.547] DBG>win_mgr_surface_destroy: Enter(08b96da8) (ico_window_mgr.c:1282)
+[16:41:16.547] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) DESTROYED surf=00000005 (ico_window_mgr.c:1472)
+[16:41:16.547] DBG>win_mgr_surface_destroy: Leave(OK) (ico_window_mgr.c:1332)
+[16:41:16.547] DBG>destroy_shell_surface: ret (ico_ivi_shell.c:597)
+[16:41:16.547] DBG>destroy_shell_surface: Leave (ico_ivi_shell.c:606)
+[16:41:16.547] DBG>shell_destroy_shell_surface: Leave (ico_ivi_shell.c:626)
+[16:41:16.547] DBG>shell_handle_surface_destroy: Leave (ico_ivi_shell.c:653)
+[16:41:17.866] DBG>bind_shell: client=089ede80 id=11 (ico_ivi_shell.c:1112)
+[16:41:17.866] DBG>bind_shell_client: Enter(client=089ede80) (ico_window_mgr.c:414)
+[16:41:17.866] DBG>find_client_from_client: NULL (ico_window_mgr.c:293)
+[16:41:17.866] DBG>bind_shell_client: Create Client (ico_window_mgr.c:420)
+[16:41:17.866] DBG>bind_shell_client: client=089ede80 pid=30509 uid=0 gid=0 (ico_window_mgr.c:432)
+[16:41:17.867] DBG>bind_shell_client: pid=30509 dose not exist in AppCore(AUL) (ico_window_mgr.c:444)
+[16:41:17.867] DBG>bind_shell_client: client=089ede80 pid=30509 appid=<test-eflapp@1> from Process table (ico_window_mgr.c:483)
+[16:41:17.867] DBG>bind_shell_client: Leave (ico_window_mgr.c:495)
+[16:41:18.016] DBG>shell_get_shell_surface: Enter (08b96da8) client=089ede80 (ico_ivi_shell.c:761)
+[16:41:18.016] DBG>create_shell_surface: (08b96da8) [089f00d8] client=b5c0a744 (visible=0) (ico_ivi_shell.c:704)
+[16:41:18.016] DBG>shell_get_shell_surface: Init shsurf(089f00d8) weston_surf=08b96da8 (ico_ivi_shell.c:782)
+[16:41:18.016] DBG>shell_get_shell_surface: call ivi_shell_hook_create(089ede80,,08b96da8,089f00d8) (ico_ivi_shell.c:787)
+[16:41:18.016] DBG>client_register_surface: Enter(surf=08b96da8,client=089ede80,res=08ba4820) (ico_window_mgr.c:543)
+[16:41:18.016] DBG>find_uifw_win_surface_by_ws: NULL (ico_window_mgr.c:269)
+[16:41:18.016] DBG>generate_id: SurfaceId=00000006 (ico_window_mgr.c:357)
+[16:41:18.016] DBG>client_register_surface: Manager exist, Not visible (ico_window_mgr.c:569)
+[16:41:18.016] DBG>ivi_shell_set_visible: [089f00d8] visible=-1 (ico_ivi_shell.c:1356)
+[16:41:18.016] DBG>ivi_shell_set_visible: No change (ico_ivi_shell.c:1377)
+[16:41:18.016] DBG>ivi_shell_set_layer: Enter([089f00d8],08b96da8,0) (ico_ivi_shell.c:1416)
+[16:41:18.016] DBG>ivi_shell_set_layer: el=0894f568(0) (ico_ivi_shell.c:1428)
+[16:41:18.016] DBG>ivi_shell_set_layer: Add surface to Layer 0 (ico_ivi_shell.c:1462)
+[16:41:18.016] DBG>ivi_shell_restack_ivi_layer: Enter[089f00d8] (ico_ivi_shell.c:1220)
+[16:41:18.016] DBG>ivi_shell_restack_ivi_layer: Leave (ico_ivi_shell.c:1286)
+[16:41:18.016] DBG>ivi_shell_set_layer: Leave (ico_ivi_shell.c:1471)
+[16:41:18.016] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) WINDOW_CREATED(surf=00000006,pid=30509,appid=test-eflapp@1) (ico_window_mgr.c:1448)
+[16:41:18.016] DBG>client_register_surface: Leave(surfaceId=00000006) (ico_window_mgr.c:627)
+[16:41:18.016] DBG>shell_get_shell_surface: ret  ivi_shell_hook_create (ico_ivi_shell.c:789)
+[16:41:18.016] DBG>shell_get_shell_surface: Leave (ico_ivi_shell.c:791)
+[16:41:18.016] DBG>shell_surface_set_toplevel: Set TopLevel[089f00d8] (ico_ivi_shell.c:373)
+[16:41:18.016] DBG>shell_surface_set_title: [089f00d8] EFL Native Application 1 (ico_ivi_shell.c:510)
+[16:41:18.025] DBG>set_surface_type: [089f00d8] (08b96da8) type=1 (ico_ivi_shell.c:265)
+[16:41:18.025] DBG>reset_shell_surface_type: [089f00d8] (ico_ivi_shell.c:244)
+[16:41:18.025] DBG>shell_surface_configure: configure to Buffer size(no Manager) x=16384+16384-16384 y=16384+16384-16384 (ico_ivi_shell.c:1080)
+[16:41:18.025] DBG>configure: Enter(08b96da8) [089f00d8] x/y=16384/16384, w/h=520/380 (ico_ivi_shell.c:965)
+[16:41:18.025] DBG>ivi_shell_surface_configure: 089f00d8 16384,16384(520/380) unvisible (ico_ivi_shell.c:1710)
+[16:41:18.025] DBG>configure: Leave (ico_ivi_shell.c:987)
+[16:41:18.025] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=520/380) (ico_ivi_shell.c:1047)
+[16:41:18.025] DBG>ivi_shell_surface_configure: 089f00d8 16384,16384(520/380) unvisible (ico_ivi_shell.c:1710)
+[16:41:18.025] DBG>shell_surface_configure: w/h=520/380->520/380 x/y=16384/16384->16384/16384 (ico_ivi_shell.c:1068)
+[16:41:18.025] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=16384/16384,w/h=520/380) (ico_window_mgr.c:1177)
+[16:41:18.025] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000006,app=test-eflapp@1,layer=0,x/y=16384/16384,w/h=520/380,hint=1) (ico_window_mgr.c:1464)
+[16:41:18.025] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:18.025] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:18.400] DBG>uifw_set_window_layer: Enter res=08b425a0 surfaceid=00000006 layer=101 (ico_window_mgr.c:823)
+[16:41:18.400] DBG>uifw_set_window_layer: Set Layer(101) to Shell Surface (ico_window_mgr.c:833)
+[16:41:18.400] DBG>ivi_shell_set_layer: Enter([089f00d8],08b96da8,101) (ico_ivi_shell.c:1416)
+[16:41:18.400] DBG>ivi_shell_set_layer: el=0894f568(0) (ico_ivi_shell.c:1428)
+[16:41:18.400] DBG>ivi_shell_set_layer: New Layer 101 (ico_ivi_shell.c:1434)
+[16:41:18.400] DBG>ivi_shell_restack_ivi_layer: Enter[089f00d8] (ico_ivi_shell.c:1220)
+[16:41:18.400] DBG>ivi_shell_restack_ivi_layer: Leave (ico_ivi_shell.c:1286)
+[16:41:18.400] DBG>ivi_shell_set_layer: Leave (ico_ivi_shell.c:1471)
+[16:41:18.400] DBG>win_mgr_surface_change: Enter(08b96da8,1,1) (ico_window_mgr.c:1208)
+[16:41:18.400] DBG>win_mgr_surface_change: Send SHELL_SURFACE_CONFIGURE(00000006,w/h=0/0) (ico_window_mgr.c:1220)
+[16:41:18.400] DBG>ivi_shell_send_configure: (08b96da8) edges=a w/h=0/0 (ico_ivi_shell.c:1559)
+[16:41:18.400] DBG>win_mgr_surface_change: Leave(OK) (ico_window_mgr.c:1234)
+[16:41:18.400] DBG>uifw_set_window_layer: Leave (ico_window_mgr.c:838)
+[16:41:18.410] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=520/380) (ico_ivi_shell.c:1047)
+[16:41:18.410] DBG>ivi_shell_surface_configure: 089f00d8 16384,16384(0/0) unvisible (ico_ivi_shell.c:1710)
+[16:41:18.410] DBG>shell_surface_configure: w/h=0/0->0/0 x/y=16384/16384->16384/16384 (ico_ivi_shell.c:1068)
+[16:41:18.410] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=16384/16384,w/h=520/380) (ico_window_mgr.c:1177)
+[16:41:18.410] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000006,app=test-eflapp@1,layer=101,x/y=16384/16384,w/h=520/380,hint=1) (ico_window_mgr.c:1464)
+[16:41:18.410] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:18.410] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:18.411] DBG>shell_surface_configure: configure to Buffer size(no Manager) x=16384+16384-16384 y=16384+16384-16384 (ico_ivi_shell.c:1080)
+[16:41:18.411] DBG>configure: Enter(08b96da8) [089f00d8] x/y=16384/16384, w/h=520/380 (ico_ivi_shell.c:965)
+[16:41:18.411] DBG>ivi_shell_surface_configure: 089f00d8 16384,16384(520/380) unvisible (ico_ivi_shell.c:1710)
+[16:41:18.411] DBG>configure: Leave (ico_ivi_shell.c:987)
+[16:41:18.420] DBG>uifw_set_positionsize: Enter res=08b425a0 surf=00000006 x/y/w/h=100/200/16384/16384 (ico_window_mgr.c:897)
+[16:41:18.420] DBG>uifw_set_positionsize: Old geometry x/y=16384/16384,w/h=520/380 (ico_window_mgr.c:931)
+[16:41:18.420] DBG>uifw_set_positionsize: Fixed Geometry, Change(Vis=0) (ico_window_mgr.c:946)
+[16:41:18.420] DBG>uifw_set_weston_surface: w/h=0/0->0/0 x/y=100/200->100/200 (ico_window_mgr.c:871)
+[16:41:18.420] DBG>ivi_shell_surface_configure: 089f00d8 100,200(0/0) unvisible (ico_ivi_shell.c:1710)
+[16:41:18.420] DBG>win_mgr_surface_change: Enter(08b96da8,0,1) (ico_window_mgr.c:1208)
+[16:41:18.421] DBG>win_mgr_surface_change: Send SHELL_SURFACE_CONFIGURE(00000006,w/h=0/0) (ico_window_mgr.c:1220)
+[16:41:18.421] DBG>ivi_shell_send_configure: (08b96da8) edges=a w/h=0/0 (ico_ivi_shell.c:1559)
+[16:41:18.421] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000006,app=test-eflapp@1,layer=101,x/y=100/200,w/h=0/0,hint=0) (ico_window_mgr.c:1464)
+[16:41:18.421] DBG>win_mgr_surface_change: Leave(OK) (ico_window_mgr.c:1234)
+[16:41:18.421] DBG>uifw_set_positionsize: Leave(OK,output=894e898) (ico_window_mgr.c:954)
+[16:41:18.440] DBG>uifw_set_visible: Enter(surf=00000006,1,9) (ico_window_mgr.c:980)
+[16:41:18.441] DBG>uifw_set_visible: Request from Manager(test-homescreen) (ico_window_mgr.c:990)
+[16:41:18.441] DBG>uifw_set_visible: Set w/h=0/0 (ico_window_mgr.c:1009)
+[16:41:18.441] DBG>ivi_shell_set_visible: [089f00d8] visible=1 (ico_ivi_shell.c:1356)
+[16:41:18.441] DBG>ivi_shell_restack_ivi_layer: Enter[089f00d8] (ico_ivi_shell.c:1220)
+[16:41:18.441] DBG>ivi_shell_restack_ivi_layer: Leave (ico_ivi_shell.c:1286)
+[16:41:18.441] DBG>uifw_set_visible: Change to Visible (ico_window_mgr.c:1016)
+[16:41:18.441] DBG>ivi_shell_set_toplevel: (08b96da8) (ico_ivi_shell.c:1520)
+[16:41:18.441] DBG>uifw_set_visible: Visible to Weston WSurf=08b96da8,100/200/0/0 (ico_window_mgr.c:1023)
+[16:41:18.441] DBG>uifw_set_weston_surface: w/h=0/0->0/0 x/y=100/200->100/200 (ico_window_mgr.c:871)
+[16:41:18.441] DBG>ivi_shell_surface_configure: 089f00d8 100,200(0/0) visible (ico_ivi_shell.c:1717)
+[16:41:18.441] DBG>ivi_shell_set_surfacetype: (08b96da8) (ico_ivi_shell.c:1536)
+[16:41:18.441] DBG>set_surface_type: [089f00d8] (08b96da8) type=1 (ico_ivi_shell.c:265)
+[16:41:18.441] DBG>reset_shell_surface_type: [089f00d8] (ico_ivi_shell.c:244)
+[16:41:18.441] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) VISIBLE(surf=00000006,vis=1,raise=9,hint=0) (ico_window_mgr.c:1455)
+[16:41:18.441] DBG>uifw_set_visible: Leave(OK) (ico_window_mgr.c:1065)
+[16:41:18.481] DBG>uifw_set_visible: Enter(surf=00000006,1,9) (ico_window_mgr.c:980)
+[16:41:18.481] DBG>uifw_set_visible: Request from Manager(test-homescreen) (ico_window_mgr.c:990)
+[16:41:18.481] DBG>uifw_set_visible: Set w/h=0/0 (ico_window_mgr.c:1009)
+[16:41:18.481] DBG>uifw_set_visible: Leave(No Change) (ico_window_mgr.c:1028)
+[16:41:19.046] DBG>bind_shell: client=08ba8278 id=11 (ico_ivi_shell.c:1112)
+[16:41:19.046] DBG>bind_shell_client: Enter(client=08ba8278) (ico_window_mgr.c:414)
+[16:41:19.046] DBG>find_client_from_client: NULL (ico_window_mgr.c:293)
+[16:41:19.046] DBG>bind_shell_client: Create Client (ico_window_mgr.c:420)
+[16:41:19.046] DBG>bind_shell_client: client=08ba8278 pid=31198 uid=0 gid=0 (ico_window_mgr.c:432)
+[16:41:19.047] DBG>bind_shell_client: pid=31198 dose not exist in AppCore(AUL) (ico_window_mgr.c:444)
+[16:41:19.047] DBG>bind_shell_client: client=08ba8278 pid=31198 appid=<test-eflapp@2> from Process table (ico_window_mgr.c:483)
+[16:41:19.047] DBG>bind_shell_client: Leave (ico_window_mgr.c:495)
+[16:41:19.186] DBG>shell_get_shell_surface: Enter (08b3f490) client=08ba8278 (ico_ivi_shell.c:761)
+[16:41:19.186] DBG>create_shell_surface: (08b3f490) [08bbf088] client=b5c0a744 (visible=0) (ico_ivi_shell.c:704)
+[16:41:19.186] DBG>shell_get_shell_surface: Init shsurf(08bbf088) weston_surf=08b3f490 (ico_ivi_shell.c:782)
+[16:41:19.186] DBG>shell_get_shell_surface: call ivi_shell_hook_create(08ba8278,,08b3f490,08bbf088) (ico_ivi_shell.c:787)
+[16:41:19.186] DBG>client_register_surface: Enter(surf=08b3f490,client=08ba8278,res=08b3efc8) (ico_window_mgr.c:543)
+[16:41:19.186] DBG>find_uifw_win_surface_by_ws: NULL (ico_window_mgr.c:269)
+[16:41:19.186] DBG>generate_id: SurfaceId=00000007 (ico_window_mgr.c:357)
+[16:41:19.186] DBG>client_register_surface: Manager exist, Not visible (ico_window_mgr.c:569)
+[16:41:19.186] DBG>ivi_shell_set_visible: [08bbf088] visible=-1 (ico_ivi_shell.c:1356)
+[16:41:19.186] DBG>ivi_shell_set_visible: No change (ico_ivi_shell.c:1377)
+[16:41:19.186] DBG>ivi_shell_set_layer: Enter([08bbf088],08b3f490,0) (ico_ivi_shell.c:1416)
+[16:41:19.186] DBG>ivi_shell_set_layer: el=08ba5b88(101) (ico_ivi_shell.c:1428)
+[16:41:19.186] DBG>ivi_shell_set_layer: el=0894f568(0) (ico_ivi_shell.c:1428)
+[16:41:19.186] DBG>ivi_shell_set_layer: Add surface to Layer 0 (ico_ivi_shell.c:1462)
+[16:41:19.186] DBG>ivi_shell_restack_ivi_layer: Enter[08bbf088] (ico_ivi_shell.c:1220)
+[16:41:19.186] DBG>ivi_shell_restack_ivi_layer: Leave (ico_ivi_shell.c:1286)
+[16:41:19.186] DBG>ivi_shell_set_layer: Leave (ico_ivi_shell.c:1471)
+[16:41:19.186] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) WINDOW_CREATED(surf=00000007,pid=31198,appid=test-eflapp@2) (ico_window_mgr.c:1448)
+[16:41:19.186] DBG>client_register_surface: Leave(surfaceId=00000007) (ico_window_mgr.c:627)
+[16:41:19.186] DBG>shell_get_shell_surface: ret  ivi_shell_hook_create (ico_ivi_shell.c:789)
+[16:41:19.186] DBG>shell_get_shell_surface: Leave (ico_ivi_shell.c:791)
+[16:41:19.186] DBG>shell_surface_set_toplevel: Set TopLevel[08bbf088] (ico_ivi_shell.c:373)
+[16:41:19.186] DBG>shell_surface_set_title: [08bbf088] EFL Native Application 2 (ico_ivi_shell.c:510)
+[16:41:19.193] DBG>set_surface_type: [08bbf088] (08b3f490) type=1 (ico_ivi_shell.c:265)
+[16:41:19.193] DBG>reset_shell_surface_type: [08bbf088] (ico_ivi_shell.c:244)
+[16:41:19.193] DBG>shell_surface_configure: configure to Buffer size(no Manager) x=16384+16384-16384 y=16384+16384-16384 (ico_ivi_shell.c:1080)
+[16:41:19.193] DBG>configure: Enter(08b3f490) [08bbf088] x/y=16384/16384, w/h=520/380 (ico_ivi_shell.c:965)
+[16:41:19.193] DBG>ivi_shell_surface_configure: 08bbf088 16384,16384(520/380) unvisible (ico_ivi_shell.c:1710)
+[16:41:19.193] DBG>configure: Leave (ico_ivi_shell.c:987)
+[16:41:19.193] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=520/380) (ico_ivi_shell.c:1047)
+[16:41:19.193] DBG>ivi_shell_surface_configure: 08bbf088 16384,16384(520/380) unvisible (ico_ivi_shell.c:1710)
+[16:41:19.193] DBG>shell_surface_configure: w/h=520/380->520/380 x/y=16384/16384->16384/16384 (ico_ivi_shell.c:1068)
+[16:41:19.193] DBG>win_mgr_surface_change_mgr: Enter(08b3f490,x/y=16384/16384,w/h=520/380) (ico_window_mgr.c:1177)
+[16:41:19.193] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000007,app=test-eflapp@2,layer=0,x/y=16384/16384,w/h=520/380,hint=1) (ico_window_mgr.c:1464)
+[16:41:19.193] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:19.193] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:19.571] DBG>uifw_set_window_layer: Enter res=08b425a0 surfaceid=00000007 layer=103 (ico_window_mgr.c:823)
+[16:41:19.572] DBG>uifw_set_window_layer: Set Layer(103) to Shell Surface (ico_window_mgr.c:833)
+[16:41:19.572] DBG>ivi_shell_set_layer: Enter([08bbf088],08b3f490,103) (ico_ivi_shell.c:1416)
+[16:41:19.572] DBG>ivi_shell_set_layer: el=08ba5b88(101) (ico_ivi_shell.c:1428)
+[16:41:19.572] DBG>ivi_shell_set_layer: el=0894f568(0) (ico_ivi_shell.c:1428)
+[16:41:19.572] DBG>ivi_shell_set_layer: New Layer 103 (ico_ivi_shell.c:1434)
+[16:41:19.572] DBG>ivi_shell_restack_ivi_layer: Enter[08bbf088] (ico_ivi_shell.c:1220)
+[16:41:19.572] DBG>ivi_shell_restack_ivi_layer: Leave (ico_ivi_shell.c:1286)
+[16:41:19.572] DBG>ivi_shell_set_layer: Leave (ico_ivi_shell.c:1471)
+[16:41:19.572] DBG>win_mgr_surface_change: Enter(08b3f490,1,1) (ico_window_mgr.c:1208)
+[16:41:19.572] DBG>win_mgr_surface_change: Send SHELL_SURFACE_CONFIGURE(00000007,w/h=0/0) (ico_window_mgr.c:1220)
+[16:41:19.572] DBG>ivi_shell_send_configure: (08b3f490) edges=a w/h=0/0 (ico_ivi_shell.c:1559)
+[16:41:19.572] DBG>win_mgr_surface_change: Leave(OK) (ico_window_mgr.c:1234)
+[16:41:19.572] DBG>uifw_set_window_layer: Leave (ico_window_mgr.c:838)
+[16:41:19.576] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=520/380) (ico_ivi_shell.c:1047)
+[16:41:19.576] DBG>ivi_shell_surface_configure: 08bbf088 16384,16384(0/0) unvisible (ico_ivi_shell.c:1710)
+[16:41:19.576] DBG>shell_surface_configure: w/h=0/0->0/0 x/y=16384/16384->16384/16384 (ico_ivi_shell.c:1068)
+[16:41:19.576] DBG>win_mgr_surface_change_mgr: Enter(08b3f490,x/y=16384/16384,w/h=520/380) (ico_window_mgr.c:1177)
+[16:41:19.577] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000007,app=test-eflapp@2,layer=103,x/y=16384/16384,w/h=520/380,hint=1) (ico_window_mgr.c:1464)
+[16:41:19.577] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:19.577] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:19.577] DBG>shell_surface_configure: configure to Buffer size(no Manager) x=16384+16384-16384 y=16384+16384-16384 (ico_ivi_shell.c:1080)
+[16:41:19.577] DBG>configure: Enter(08b3f490) [08bbf088] x/y=16384/16384, w/h=520/380 (ico_ivi_shell.c:965)
+[16:41:19.577] DBG>ivi_shell_surface_configure: 08bbf088 16384,16384(520/380) unvisible (ico_ivi_shell.c:1710)
+[16:41:19.577] DBG>configure: Leave (ico_ivi_shell.c:987)
+[16:41:19.592] DBG>uifw_set_positionsize: Enter res=08b425a0 surf=00000007 x/y/w/h=200/300/16384/16384 (ico_window_mgr.c:897)
+[16:41:19.592] DBG>uifw_set_positionsize: Old geometry x/y=16384/16384,w/h=520/380 (ico_window_mgr.c:931)
+[16:41:19.592] DBG>uifw_set_positionsize: Fixed Geometry, Change(Vis=0) (ico_window_mgr.c:946)
+[16:41:19.592] DBG>uifw_set_weston_surface: w/h=0/0->0/0 x/y=200/300->200/300 (ico_window_mgr.c:871)
+[16:41:19.592] DBG>ivi_shell_surface_configure: 08bbf088 200,300(0/0) unvisible (ico_ivi_shell.c:1710)
+[16:41:19.592] DBG>win_mgr_surface_change: Enter(08b3f490,0,1) (ico_window_mgr.c:1208)
+[16:41:19.592] DBG>win_mgr_surface_change: Send SHELL_SURFACE_CONFIGURE(00000007,w/h=0/0) (ico_window_mgr.c:1220)
+[16:41:19.592] DBG>ivi_shell_send_configure: (08b3f490) edges=a w/h=0/0 (ico_ivi_shell.c:1559)
+[16:41:19.592] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000007,app=test-eflapp@2,layer=103,x/y=200/300,w/h=0/0,hint=0) (ico_window_mgr.c:1464)
+[16:41:19.592] DBG>win_mgr_surface_change: Leave(OK) (ico_window_mgr.c:1234)
+[16:41:19.592] DBG>uifw_set_positionsize: Leave(OK,output=894e898) (ico_window_mgr.c:954)
+[16:41:19.612] DBG>uifw_set_visible: Enter(surf=00000007,1,9) (ico_window_mgr.c:980)
+[16:41:19.612] DBG>uifw_set_visible: Request from Manager(test-homescreen) (ico_window_mgr.c:990)
+[16:41:19.612] DBG>uifw_set_visible: Set w/h=0/0 (ico_window_mgr.c:1009)
+[16:41:19.612] DBG>ivi_shell_set_visible: [08bbf088] visible=1 (ico_ivi_shell.c:1356)
+[16:41:19.612] DBG>ivi_shell_restack_ivi_layer: Enter[08bbf088] (ico_ivi_shell.c:1220)
+[16:41:19.612] DBG>ivi_shell_restack_ivi_layer: Leave (ico_ivi_shell.c:1286)
+[16:41:19.612] DBG>uifw_set_visible: Change to Visible (ico_window_mgr.c:1016)
+[16:41:19.612] DBG>ivi_shell_set_toplevel: (08b3f490) (ico_ivi_shell.c:1520)
+[16:41:19.612] DBG>uifw_set_visible: Visible to Weston WSurf=08b3f490,200/300/0/0 (ico_window_mgr.c:1023)
+[16:41:19.612] DBG>uifw_set_weston_surface: w/h=0/0->0/0 x/y=200/300->200/300 (ico_window_mgr.c:871)
+[16:41:19.612] DBG>ivi_shell_surface_configure: 08bbf088 200,300(0/0) visible (ico_ivi_shell.c:1717)
+[16:41:19.612] DBG>ivi_shell_set_surfacetype: (08b3f490) (ico_ivi_shell.c:1536)
+[16:41:19.612] DBG>set_surface_type: [08bbf088] (08b3f490) type=1 (ico_ivi_shell.c:265)
+[16:41:19.612] DBG>reset_shell_surface_type: [08bbf088] (ico_ivi_shell.c:244)
+[16:41:19.612] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) VISIBLE(surf=00000007,vis=1,raise=9,hint=0) (ico_window_mgr.c:1455)
+[16:41:19.612] DBG>uifw_set_visible: Leave(OK) (ico_window_mgr.c:1065)
+[16:41:19.652] DBG>uifw_set_visible: Enter(surf=00000007,1,9) (ico_window_mgr.c:980)
+[16:41:19.652] DBG>uifw_set_visible: Request from Manager(test-homescreen) (ico_window_mgr.c:990)
+[16:41:19.652] DBG>uifw_set_visible: Set w/h=0/0 (ico_window_mgr.c:1009)
+[16:41:19.652] DBG>uifw_set_visible: Leave(No Change) (ico_window_mgr.c:1028)
+[16:41:20.204] DBG>bind_shell: client=08bbfef0 id=11 (ico_ivi_shell.c:1112)
+[16:41:20.204] DBG>bind_shell_client: Enter(client=08bbfef0) (ico_window_mgr.c:414)
+[16:41:20.204] DBG>find_client_from_client: NULL (ico_window_mgr.c:293)
+[16:41:20.205] DBG>bind_shell_client: Create Client (ico_window_mgr.c:420)
+[16:41:20.205] DBG>bind_shell_client: client=08bbfef0 pid=31608 uid=0 gid=0 (ico_window_mgr.c:432)
+[16:41:20.206] DBG>bind_shell_client: pid=31608 dose not exist in AppCore(AUL) (ico_window_mgr.c:444)
+[16:41:20.206] DBG>bind_shell_client: client=08bbfef0 pid=31608 appid=<test-eflapp@3> from Process table (ico_window_mgr.c:483)
+[16:41:20.206] DBG>bind_shell_client: Leave (ico_window_mgr.c:495)
+[16:41:20.343] DBG>shell_get_shell_surface: Enter (08bc0618) client=08bbfef0 (ico_ivi_shell.c:761)
+[16:41:20.343] DBG>create_shell_surface: (08bc0618) [08bc0888] client=b5c0a744 (visible=0) (ico_ivi_shell.c:704)
+[16:41:20.343] DBG>shell_get_shell_surface: Init shsurf(08bc0888) weston_surf=08bc0618 (ico_ivi_shell.c:782)
+[16:41:20.343] DBG>shell_get_shell_surface: call ivi_shell_hook_create(08bbfef0,,08bc0618,08bc0888) (ico_ivi_shell.c:787)
+[16:41:20.343] DBG>client_register_surface: Enter(surf=08bc0618,client=08bbfef0,res=08bc0400) (ico_window_mgr.c:543)
+[16:41:20.343] DBG>find_uifw_win_surface_by_ws: NULL (ico_window_mgr.c:269)
+[16:41:20.343] DBG>generate_id: SurfaceId=00000008 (ico_window_mgr.c:357)
+[16:41:20.343] DBG>client_register_surface: Manager exist, Not visible (ico_window_mgr.c:569)
+[16:41:20.343] DBG>ivi_shell_set_visible: [08bc0888] visible=-1 (ico_ivi_shell.c:1356)
+[16:41:20.343] DBG>ivi_shell_set_visible: No change (ico_ivi_shell.c:1377)
+[16:41:20.343] DBG>ivi_shell_set_layer: Enter([08bc0888],08bc0618,0) (ico_ivi_shell.c:1416)
+[16:41:20.343] DBG>ivi_shell_set_layer: el=08ba5b38(103) (ico_ivi_shell.c:1428)
+[16:41:20.343] DBG>ivi_shell_set_layer: el=08ba5b88(101) (ico_ivi_shell.c:1428)
+[16:41:20.343] DBG>ivi_shell_set_layer: el=0894f568(0) (ico_ivi_shell.c:1428)
+[16:41:20.343] DBG>ivi_shell_set_layer: Add surface to Layer 0 (ico_ivi_shell.c:1462)
+[16:41:20.343] DBG>ivi_shell_restack_ivi_layer: Enter[08bc0888] (ico_ivi_shell.c:1220)
+[16:41:20.343] DBG>ivi_shell_restack_ivi_layer: Leave (ico_ivi_shell.c:1286)
+[16:41:20.343] DBG>ivi_shell_set_layer: Leave (ico_ivi_shell.c:1471)
+[16:41:20.343] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) WINDOW_CREATED(surf=00000008,pid=31608,appid=test-eflapp@3) (ico_window_mgr.c:1448)
+[16:41:20.343] DBG>client_register_surface: Leave(surfaceId=00000008) (ico_window_mgr.c:627)
+[16:41:20.343] DBG>shell_get_shell_surface: ret  ivi_shell_hook_create (ico_ivi_shell.c:789)
+[16:41:20.343] DBG>shell_get_shell_surface: Leave (ico_ivi_shell.c:791)
+[16:41:20.343] DBG>shell_surface_set_toplevel: Set TopLevel[08bc0888] (ico_ivi_shell.c:373)
+[16:41:20.343] DBG>shell_surface_set_title: [08bc0888] EFL Native Application 3 (ico_ivi_shell.c:510)
+[16:41:20.350] DBG>set_surface_type: [08bc0888] (08bc0618) type=1 (ico_ivi_shell.c:265)
+[16:41:20.350] DBG>reset_shell_surface_type: [08bc0888] (ico_ivi_shell.c:244)
+[16:41:20.350] DBG>shell_surface_configure: configure to Buffer size(no Manager) x=16384+16384-16384 y=16384+16384-16384 (ico_ivi_shell.c:1080)
+[16:41:20.350] DBG>configure: Enter(08bc0618) [08bc0888] x/y=16384/16384, w/h=520/380 (ico_ivi_shell.c:965)
+[16:41:20.350] DBG>ivi_shell_surface_configure: 08bc0888 16384,16384(520/380) unvisible (ico_ivi_shell.c:1710)
+[16:41:20.350] DBG>configure: Leave (ico_ivi_shell.c:987)
+[16:41:20.350] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=520/380) (ico_ivi_shell.c:1047)
+[16:41:20.350] DBG>ivi_shell_surface_configure: 08bc0888 16384,16384(520/380) unvisible (ico_ivi_shell.c:1710)
+[16:41:20.350] DBG>shell_surface_configure: w/h=520/380->520/380 x/y=16384/16384->16384/16384 (ico_ivi_shell.c:1068)
+[16:41:20.350] DBG>win_mgr_surface_change_mgr: Enter(08bc0618,x/y=16384/16384,w/h=520/380) (ico_window_mgr.c:1177)
+[16:41:20.350] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000008,app=test-eflapp@3,layer=0,x/y=16384/16384,w/h=520/380,hint=1) (ico_window_mgr.c:1464)
+[16:41:20.350] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:20.350] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:20.739] DBG>uifw_set_window_layer: Enter res=08b425a0 surfaceid=00000008 layer=102 (ico_window_mgr.c:823)
+[16:41:20.739] DBG>uifw_set_window_layer: Set Layer(102) to Shell Surface (ico_window_mgr.c:833)
+[16:41:20.739] DBG>ivi_shell_set_layer: Enter([08bc0888],08bc0618,102) (ico_ivi_shell.c:1416)
+[16:41:20.739] DBG>ivi_shell_set_layer: el=08ba5b38(103) (ico_ivi_shell.c:1428)
+[16:41:20.739] DBG>ivi_shell_set_layer: el=08ba5b88(101) (ico_ivi_shell.c:1428)
+[16:41:20.739] DBG>ivi_shell_set_layer: el=0894f568(0) (ico_ivi_shell.c:1428)
+[16:41:20.739] DBG>ivi_shell_set_layer: New Layer 102 (ico_ivi_shell.c:1434)
+[16:41:20.739] DBG>ivi_shell_restack_ivi_layer: Enter[08bc0888] (ico_ivi_shell.c:1220)
+[16:41:20.739] DBG>ivi_shell_restack_ivi_layer: Leave (ico_ivi_shell.c:1286)
+[16:41:20.739] DBG>ivi_shell_set_layer: Leave (ico_ivi_shell.c:1471)
+[16:41:20.739] DBG>win_mgr_surface_change: Enter(08bc0618,1,1) (ico_window_mgr.c:1208)
+[16:41:20.739] DBG>win_mgr_surface_change: Send SHELL_SURFACE_CONFIGURE(00000008,w/h=0/0) (ico_window_mgr.c:1220)
+[16:41:20.739] DBG>ivi_shell_send_configure: (08bc0618) edges=a w/h=0/0 (ico_ivi_shell.c:1559)
+[16:41:20.739] DBG>win_mgr_surface_change: Leave(OK) (ico_window_mgr.c:1234)
+[16:41:20.739] DBG>uifw_set_window_layer: Leave (ico_window_mgr.c:838)
+[16:41:20.742] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=520/380) (ico_ivi_shell.c:1047)
+[16:41:20.742] DBG>ivi_shell_surface_configure: 08bc0888 16384,16384(0/0) unvisible (ico_ivi_shell.c:1710)
+[16:41:20.742] DBG>shell_surface_configure: w/h=0/0->0/0 x/y=16384/16384->16384/16384 (ico_ivi_shell.c:1068)
+[16:41:20.742] DBG>win_mgr_surface_change_mgr: Enter(08bc0618,x/y=16384/16384,w/h=520/380) (ico_window_mgr.c:1177)
+[16:41:20.742] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000008,app=test-eflapp@3,layer=102,x/y=16384/16384,w/h=520/380,hint=1) (ico_window_mgr.c:1464)
+[16:41:20.742] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:20.742] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:20.742] DBG>shell_surface_configure: configure to Buffer size(no Manager) x=16384+16384-16384 y=16384+16384-16384 (ico_ivi_shell.c:1080)
+[16:41:20.742] DBG>configure: Enter(08bc0618) [08bc0888] x/y=16384/16384, w/h=520/380 (ico_ivi_shell.c:965)
+[16:41:20.742] DBG>ivi_shell_surface_configure: 08bc0888 16384,16384(520/380) unvisible (ico_ivi_shell.c:1710)
+[16:41:20.742] DBG>configure: Leave (ico_ivi_shell.c:987)
+[16:41:20.759] DBG>uifw_set_positionsize: Enter res=08b425a0 surf=00000008 x/y/w/h=300/400/16384/16384 (ico_window_mgr.c:897)
+[16:41:20.759] DBG>uifw_set_positionsize: Old geometry x/y=16384/16384,w/h=520/380 (ico_window_mgr.c:931)
+[16:41:20.759] DBG>uifw_set_positionsize: Fixed Geometry, Change(Vis=0) (ico_window_mgr.c:946)
+[16:41:20.759] DBG>uifw_set_weston_surface: w/h=0/0->0/0 x/y=300/400->300/400 (ico_window_mgr.c:871)
+[16:41:20.759] DBG>ivi_shell_surface_configure: 08bc0888 300,400(0/0) unvisible (ico_ivi_shell.c:1710)
+[16:41:20.759] DBG>win_mgr_surface_change: Enter(08bc0618,0,1) (ico_window_mgr.c:1208)
+[16:41:20.759] DBG>win_mgr_surface_change: Send SHELL_SURFACE_CONFIGURE(00000008,w/h=0/0) (ico_window_mgr.c:1220)
+[16:41:20.759] DBG>ivi_shell_send_configure: (08bc0618) edges=a w/h=0/0 (ico_ivi_shell.c:1559)
+[16:41:20.759] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000008,app=test-eflapp@3,layer=102,x/y=300/400,w/h=0/0,hint=0) (ico_window_mgr.c:1464)
+[16:41:20.760] DBG>win_mgr_surface_change: Leave(OK) (ico_window_mgr.c:1234)
+[16:41:20.760] DBG>uifw_set_positionsize: Leave(OK,output=894e898) (ico_window_mgr.c:954)
+[16:41:20.779] DBG>uifw_set_visible: Enter(surf=00000008,1,9) (ico_window_mgr.c:980)
+[16:41:20.780] DBG>uifw_set_visible: Request from Manager(test-homescreen) (ico_window_mgr.c:990)
+[16:41:20.780] DBG>uifw_set_visible: Set w/h=0/0 (ico_window_mgr.c:1009)
+[16:41:20.780] DBG>ivi_shell_set_visible: [08bc0888] visible=1 (ico_ivi_shell.c:1356)
+[16:41:20.780] DBG>ivi_shell_restack_ivi_layer: Enter[08bc0888] (ico_ivi_shell.c:1220)
+[16:41:20.780] DBG>ivi_shell_restack_ivi_layer: Leave (ico_ivi_shell.c:1286)
+[16:41:20.780] DBG>uifw_set_visible: Change to Visible (ico_window_mgr.c:1016)
+[16:41:20.780] DBG>ivi_shell_set_toplevel: (08bc0618) (ico_ivi_shell.c:1520)
+[16:41:20.780] DBG>uifw_set_visible: Visible to Weston WSurf=08bc0618,300/400/0/0 (ico_window_mgr.c:1023)
+[16:41:20.780] DBG>uifw_set_weston_surface: w/h=0/0->0/0 x/y=300/400->300/400 (ico_window_mgr.c:871)
+[16:41:20.780] DBG>ivi_shell_surface_configure: 08bc0888 300,400(0/0) visible (ico_ivi_shell.c:1717)
+[16:41:20.780] DBG>ivi_shell_set_surfacetype: (08bc0618) (ico_ivi_shell.c:1536)
+[16:41:20.780] DBG>set_surface_type: [08bc0888] (08bc0618) type=1 (ico_ivi_shell.c:265)
+[16:41:20.780] DBG>reset_shell_surface_type: [08bc0888] (ico_ivi_shell.c:244)
+[16:41:20.780] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) VISIBLE(surf=00000008,vis=1,raise=9,hint=0) (ico_window_mgr.c:1455)
+[16:41:20.780] DBG>uifw_set_visible: Leave(OK) (ico_window_mgr.c:1065)
+[16:41:20.820] DBG>uifw_set_visible: Enter(surf=00000008,1,9) (ico_window_mgr.c:980)
+[16:41:20.820] DBG>uifw_set_visible: Request from Manager(test-homescreen) (ico_window_mgr.c:990)
+[16:41:20.820] DBG>uifw_set_visible: Set w/h=0/0 (ico_window_mgr.c:1009)
+[16:41:20.820] DBG>uifw_set_visible: Leave(No Change) (ico_window_mgr.c:1028)
+[16:41:21.373] DBG>bind_shell: client=08bc0eb0 id=11 (ico_ivi_shell.c:1112)
+[16:41:21.373] DBG>bind_shell_client: Enter(client=08bc0eb0) (ico_window_mgr.c:414)
+[16:41:21.373] DBG>find_client_from_client: NULL (ico_window_mgr.c:293)
+[16:41:21.373] DBG>bind_shell_client: Create Client (ico_window_mgr.c:420)
+[16:41:21.373] DBG>bind_shell_client: client=08bc0eb0 pid=31705 uid=0 gid=0 (ico_window_mgr.c:432)
+[16:41:21.374] DBG>bind_shell_client: pid=31705 dose not exist in AppCore(AUL) (ico_window_mgr.c:444)
+[16:41:21.374] DBG>bind_shell_client: client=08bc0eb0 pid=31705 appid=<test-eflapp@4> from Process table (ico_window_mgr.c:483)
+[16:41:21.374] DBG>bind_shell_client: Leave (ico_window_mgr.c:495)
+[16:41:21.519] DBG>shell_get_shell_surface: Enter (08badc38) client=08bc0eb0 (ico_ivi_shell.c:761)
+[16:41:21.519] DBG>create_shell_surface: (08badc38) [08badea8] client=b5c0a744 (visible=0) (ico_ivi_shell.c:704)
+[16:41:21.519] DBG>shell_get_shell_surface: Init shsurf(08badea8) weston_surf=08badc38 (ico_ivi_shell.c:782)
+[16:41:21.519] DBG>shell_get_shell_surface: call ivi_shell_hook_create(08bc0eb0,,08badc38,08badea8) (ico_ivi_shell.c:787)
+[16:41:21.519] DBG>client_register_surface: Enter(surf=08badc38,client=08bc0eb0,res=08badab0) (ico_window_mgr.c:543)
+[16:41:21.519] DBG>find_uifw_win_surface_by_ws: NULL (ico_window_mgr.c:269)
+[16:41:21.519] DBG>generate_id: SurfaceId=00000009 (ico_window_mgr.c:357)
+[16:41:21.519] DBG>client_register_surface: Manager exist, Not visible (ico_window_mgr.c:569)
+[16:41:21.519] DBG>ivi_shell_set_visible: [08badea8] visible=-1 (ico_ivi_shell.c:1356)
+[16:41:21.519] DBG>ivi_shell_set_visible: No change (ico_ivi_shell.c:1377)
+[16:41:21.519] DBG>ivi_shell_set_layer: Enter([08badea8],08badc38,0) (ico_ivi_shell.c:1416)
+[16:41:21.519] DBG>ivi_shell_set_layer: el=08ba5b38(103) (ico_ivi_shell.c:1428)
+[16:41:21.519] DBG>ivi_shell_set_layer: el=08bbffa8(102) (ico_ivi_shell.c:1428)
+[16:41:21.519] DBG>ivi_shell_set_layer: el=08ba5b88(101) (ico_ivi_shell.c:1428)
+[16:41:21.519] DBG>ivi_shell_set_layer: el=0894f568(0) (ico_ivi_shell.c:1428)
+[16:41:21.519] DBG>ivi_shell_set_layer: Add surface to Layer 0 (ico_ivi_shell.c:1462)
+[16:41:21.519] DBG>ivi_shell_restack_ivi_layer: Enter[08badea8] (ico_ivi_shell.c:1220)
+[16:41:21.519] DBG>ivi_shell_restack_ivi_layer: Leave (ico_ivi_shell.c:1286)
+[16:41:21.519] DBG>ivi_shell_set_layer: Leave (ico_ivi_shell.c:1471)
+[16:41:21.519] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) WINDOW_CREATED(surf=00000009,pid=31705,appid=test-eflapp@4) (ico_window_mgr.c:1448)
+[16:41:21.519] DBG>client_register_surface: Leave(surfaceId=00000009) (ico_window_mgr.c:627)
+[16:41:21.519] DBG>shell_get_shell_surface: ret  ivi_shell_hook_create (ico_ivi_shell.c:789)
+[16:41:21.519] DBG>shell_get_shell_surface: Leave (ico_ivi_shell.c:791)
+[16:41:21.519] DBG>shell_surface_set_toplevel: Set TopLevel[08badea8] (ico_ivi_shell.c:373)
+[16:41:21.519] DBG>shell_surface_set_title: [08badea8] EFL Native Application 4 (ico_ivi_shell.c:510)
+[16:41:21.526] DBG>set_surface_type: [08badea8] (08badc38) type=1 (ico_ivi_shell.c:265)
+[16:41:21.526] DBG>reset_shell_surface_type: [08badea8] (ico_ivi_shell.c:244)
+[16:41:21.526] DBG>shell_surface_configure: configure to Buffer size(no Manager) x=16384+16384-16384 y=16384+16384-16384 (ico_ivi_shell.c:1080)
+[16:41:21.526] DBG>configure: Enter(08badc38) [08badea8] x/y=16384/16384, w/h=520/380 (ico_ivi_shell.c:965)
+[16:41:21.526] DBG>ivi_shell_surface_configure: 08badea8 16384,16384(520/380) unvisible (ico_ivi_shell.c:1710)
+[16:41:21.526] DBG>configure: Leave (ico_ivi_shell.c:987)
+[16:41:21.526] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=520/380) (ico_ivi_shell.c:1047)
+[16:41:21.526] DBG>ivi_shell_surface_configure: 08badea8 16384,16384(520/380) unvisible (ico_ivi_shell.c:1710)
+[16:41:21.526] DBG>shell_surface_configure: w/h=520/380->520/380 x/y=16384/16384->16384/16384 (ico_ivi_shell.c:1068)
+[16:41:21.526] DBG>win_mgr_surface_change_mgr: Enter(08badc38,x/y=16384/16384,w/h=520/380) (ico_window_mgr.c:1177)
+[16:41:21.526] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000009,app=test-eflapp@4,layer=0,x/y=16384/16384,w/h=520/380,hint=1) (ico_window_mgr.c:1464)
+[16:41:21.526] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:21.526] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:21.907] DBG>uifw_set_window_layer: Enter res=08b425a0 surfaceid=00000009 layer=102 (ico_window_mgr.c:823)
+[16:41:21.907] DBG>uifw_set_window_layer: Set Layer(102) to Shell Surface (ico_window_mgr.c:833)
+[16:41:21.907] DBG>ivi_shell_set_layer: Enter([08badea8],08badc38,102) (ico_ivi_shell.c:1416)
+[16:41:21.907] DBG>ivi_shell_set_layer: el=08ba5b38(103) (ico_ivi_shell.c:1428)
+[16:41:21.907] DBG>ivi_shell_set_layer: el=08bbffa8(102) (ico_ivi_shell.c:1428)
+[16:41:21.907] DBG>ivi_shell_set_layer: Add surface to Layer 102 (ico_ivi_shell.c:1462)
+[16:41:21.907] DBG>ivi_shell_restack_ivi_layer: Enter[08badea8] (ico_ivi_shell.c:1220)
+[16:41:21.907] DBG>ivi_shell_restack_ivi_layer: Leave (ico_ivi_shell.c:1286)
+[16:41:21.907] DBG>ivi_shell_set_layer: Leave (ico_ivi_shell.c:1471)
+[16:41:21.907] DBG>win_mgr_surface_change: Enter(08badc38,1,1) (ico_window_mgr.c:1208)
+[16:41:21.907] DBG>win_mgr_surface_change: Send SHELL_SURFACE_CONFIGURE(00000009,w/h=0/0) (ico_window_mgr.c:1220)
+[16:41:21.907] DBG>ivi_shell_send_configure: (08badc38) edges=a w/h=0/0 (ico_ivi_shell.c:1559)
+[16:41:21.907] DBG>win_mgr_surface_change: Leave(OK) (ico_window_mgr.c:1234)
+[16:41:21.907] DBG>uifw_set_window_layer: Leave (ico_window_mgr.c:838)
+[16:41:21.908] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=520/380) (ico_ivi_shell.c:1047)
+[16:41:21.908] DBG>ivi_shell_surface_configure: 08badea8 16384,16384(0/0) unvisible (ico_ivi_shell.c:1710)
+[16:41:21.908] DBG>shell_surface_configure: w/h=0/0->0/0 x/y=16384/16384->16384/16384 (ico_ivi_shell.c:1068)
+[16:41:21.908] DBG>win_mgr_surface_change_mgr: Enter(08badc38,x/y=16384/16384,w/h=520/380) (ico_window_mgr.c:1177)
+[16:41:21.908] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000009,app=test-eflapp@4,layer=102,x/y=16384/16384,w/h=520/380,hint=1) (ico_window_mgr.c:1464)
+[16:41:21.908] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:21.908] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:21.908] DBG>shell_surface_configure: configure to Buffer size(no Manager) x=16384+16384-16384 y=16384+16384-16384 (ico_ivi_shell.c:1080)
+[16:41:21.908] DBG>configure: Enter(08badc38) [08badea8] x/y=16384/16384, w/h=520/380 (ico_ivi_shell.c:965)
+[16:41:21.908] DBG>ivi_shell_surface_configure: 08badea8 16384,16384(520/380) unvisible (ico_ivi_shell.c:1710)
+[16:41:21.909] DBG>configure: Leave (ico_ivi_shell.c:987)
+[16:41:21.927] DBG>uifw_set_positionsize: Enter res=08b425a0 surf=00000009 x/y/w/h=400/500/16384/16384 (ico_window_mgr.c:897)
+[16:41:21.927] DBG>uifw_set_positionsize: Old geometry x/y=16384/16384,w/h=520/380 (ico_window_mgr.c:931)
+[16:41:21.927] DBG>uifw_set_positionsize: Fixed Geometry, Change(Vis=0) (ico_window_mgr.c:946)
+[16:41:21.927] DBG>uifw_set_weston_surface: w/h=0/0->0/0 x/y=400/500->400/500 (ico_window_mgr.c:871)
+[16:41:21.927] DBG>ivi_shell_surface_configure: 08badea8 400,500(0/0) unvisible (ico_ivi_shell.c:1710)
+[16:41:21.927] DBG>win_mgr_surface_change: Enter(08badc38,0,1) (ico_window_mgr.c:1208)
+[16:41:21.927] DBG>win_mgr_surface_change: Send SHELL_SURFACE_CONFIGURE(00000009,w/h=0/0) (ico_window_mgr.c:1220)
+[16:41:21.927] DBG>ivi_shell_send_configure: (08badc38) edges=a w/h=0/0 (ico_ivi_shell.c:1559)
+[16:41:21.928] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000009,app=test-eflapp@4,layer=102,x/y=400/500,w/h=0/0,hint=0) (ico_window_mgr.c:1464)
+[16:41:21.928] DBG>win_mgr_surface_change: Leave(OK) (ico_window_mgr.c:1234)
+[16:41:21.928] DBG>uifw_set_positionsize: Leave(OK,output=894e898) (ico_window_mgr.c:954)
+[16:41:21.948] DBG>uifw_set_visible: Enter(surf=00000009,1,9) (ico_window_mgr.c:980)
+[16:41:21.948] DBG>uifw_set_visible: Request from Manager(test-homescreen) (ico_window_mgr.c:990)
+[16:41:21.948] DBG>uifw_set_visible: Set w/h=0/0 (ico_window_mgr.c:1009)
+[16:41:21.948] DBG>ivi_shell_set_visible: [08badea8] visible=1 (ico_ivi_shell.c:1356)
+[16:41:21.948] DBG>ivi_shell_restack_ivi_layer: Enter[08badea8] (ico_ivi_shell.c:1220)
+[16:41:21.948] DBG>ivi_shell_restack_ivi_layer: Leave (ico_ivi_shell.c:1286)
+[16:41:21.948] DBG>uifw_set_visible: Change to Visible (ico_window_mgr.c:1016)
+[16:41:21.948] DBG>ivi_shell_set_toplevel: (08badc38) (ico_ivi_shell.c:1520)
+[16:41:21.948] DBG>uifw_set_visible: Visible to Weston WSurf=08badc38,400/500/0/0 (ico_window_mgr.c:1023)
+[16:41:21.948] DBG>uifw_set_weston_surface: w/h=0/0->0/0 x/y=400/500->400/500 (ico_window_mgr.c:871)
+[16:41:21.948] DBG>ivi_shell_surface_configure: 08badea8 400,500(0/0) visible (ico_ivi_shell.c:1717)
+[16:41:21.948] DBG>ivi_shell_set_surfacetype: (08badc38) (ico_ivi_shell.c:1536)
+[16:41:21.948] DBG>set_surface_type: [08badea8] (08badc38) type=1 (ico_ivi_shell.c:265)
+[16:41:21.948] DBG>reset_shell_surface_type: [08badea8] (ico_ivi_shell.c:244)
+[16:41:21.948] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) VISIBLE(surf=00000009,vis=1,raise=9,hint=0) (ico_window_mgr.c:1455)
+[16:41:21.948] DBG>uifw_set_visible: Leave(OK) (ico_window_mgr.c:1065)
+[16:41:21.988] DBG>uifw_set_visible: Enter(surf=00000009,1,9) (ico_window_mgr.c:980)
+[16:41:21.988] DBG>uifw_set_visible: Request from Manager(test-homescreen) (ico_window_mgr.c:990)
+[16:41:21.988] DBG>uifw_set_visible: Set w/h=0/0 (ico_window_mgr.c:1009)
+[16:41:21.988] DBG>uifw_set_visible: Leave(No Change) (ico_window_mgr.c:1028)
+[16:41:22.540] DBG>bind_shell: client=08baede8 id=11 (ico_ivi_shell.c:1112)
+[16:41:22.540] DBG>bind_shell_client: Enter(client=08baede8) (ico_window_mgr.c:414)
+[16:41:22.540] DBG>find_client_from_client: NULL (ico_window_mgr.c:293)
+[16:41:22.540] DBG>bind_shell_client: Create Client (ico_window_mgr.c:420)
+[16:41:22.540] DBG>bind_shell_client: client=08baede8 pid=31774 uid=0 gid=0 (ico_window_mgr.c:432)
+[16:41:22.541] DBG>bind_shell_client: pid=31774 dose not exist in AppCore(AUL) (ico_window_mgr.c:444)
+[16:41:22.542] DBG>bind_shell_client: client=08baede8 pid=31774 appid=<test-eflapp@5> from Process table (ico_window_mgr.c:483)
+[16:41:22.542] DBG>bind_shell_client: Leave (ico_window_mgr.c:495)
+[16:41:22.679] DBG>shell_get_shell_surface: Enter (08baf500) client=08baede8 (ico_ivi_shell.c:761)
+[16:41:22.679] DBG>create_shell_surface: (08baf500) [08baf770] client=b5c0a744 (visible=0) (ico_ivi_shell.c:704)
+[16:41:22.679] DBG>shell_get_shell_surface: Init shsurf(08baf770) weston_surf=08baf500 (ico_ivi_shell.c:782)
+[16:41:22.679] DBG>shell_get_shell_surface: call ivi_shell_hook_create(08baede8,,08baf500,08baf770) (ico_ivi_shell.c:787)
+[16:41:22.680] DBG>client_register_surface: Enter(surf=08baf500,client=08baede8,res=08baf2d8) (ico_window_mgr.c:543)
+[16:41:22.680] DBG>find_uifw_win_surface_by_ws: NULL (ico_window_mgr.c:269)
+[16:41:22.680] DBG>generate_id: SurfaceId=0000000a (ico_window_mgr.c:357)
+[16:41:22.680] DBG>client_register_surface: Manager exist, Not visible (ico_window_mgr.c:569)
+[16:41:22.680] DBG>ivi_shell_set_visible: [08baf770] visible=-1 (ico_ivi_shell.c:1356)
+[16:41:22.680] DBG>ivi_shell_set_visible: No change (ico_ivi_shell.c:1377)
+[16:41:22.680] DBG>ivi_shell_set_layer: Enter([08baf770],08baf500,0) (ico_ivi_shell.c:1416)
+[16:41:22.680] DBG>ivi_shell_set_layer: el=08ba5b38(103) (ico_ivi_shell.c:1428)
+[16:41:22.680] DBG>ivi_shell_set_layer: el=08bbffa8(102) (ico_ivi_shell.c:1428)
+[16:41:22.680] DBG>ivi_shell_set_layer: el=08ba5b88(101) (ico_ivi_shell.c:1428)
+[16:41:22.680] DBG>ivi_shell_set_layer: el=0894f568(0) (ico_ivi_shell.c:1428)
+[16:41:22.680] DBG>ivi_shell_set_layer: Add surface to Layer 0 (ico_ivi_shell.c:1462)
+[16:41:22.680] DBG>ivi_shell_restack_ivi_layer: Enter[08baf770] (ico_ivi_shell.c:1220)
+[16:41:22.680] DBG>ivi_shell_restack_ivi_layer: Leave (ico_ivi_shell.c:1286)
+[16:41:22.680] DBG>ivi_shell_set_layer: Leave (ico_ivi_shell.c:1471)
+[16:41:22.680] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) WINDOW_CREATED(surf=0000000a,pid=31774,appid=test-eflapp@5) (ico_window_mgr.c:1448)
+[16:41:22.680] DBG>client_register_surface: Leave(surfaceId=0000000a) (ico_window_mgr.c:627)
+[16:41:22.680] DBG>shell_get_shell_surface: ret  ivi_shell_hook_create (ico_ivi_shell.c:789)
+[16:41:22.680] DBG>shell_get_shell_surface: Leave (ico_ivi_shell.c:791)
+[16:41:22.680] DBG>shell_surface_set_toplevel: Set TopLevel[08baf770] (ico_ivi_shell.c:373)
+[16:41:22.680] DBG>shell_surface_set_title: [08baf770] EFL Native Application 5 (ico_ivi_shell.c:510)
+[16:41:22.686] DBG>set_surface_type: [08baf770] (08baf500) type=1 (ico_ivi_shell.c:265)
+[16:41:22.686] DBG>reset_shell_surface_type: [08baf770] (ico_ivi_shell.c:244)
+[16:41:22.686] DBG>shell_surface_configure: configure to Buffer size(no Manager) x=16384+16384-16384 y=16384+16384-16384 (ico_ivi_shell.c:1080)
+[16:41:22.686] DBG>configure: Enter(08baf500) [08baf770] x/y=16384/16384, w/h=520/380 (ico_ivi_shell.c:965)
+[16:41:22.686] DBG>ivi_shell_surface_configure: 08baf770 16384,16384(520/380) unvisible (ico_ivi_shell.c:1710)
+[16:41:22.686] DBG>configure: Leave (ico_ivi_shell.c:987)
+[16:41:22.686] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=520/380) (ico_ivi_shell.c:1047)
+[16:41:22.686] DBG>ivi_shell_surface_configure: 08baf770 16384,16384(520/380) unvisible (ico_ivi_shell.c:1710)
+[16:41:22.686] DBG>shell_surface_configure: w/h=520/380->520/380 x/y=16384/16384->16384/16384 (ico_ivi_shell.c:1068)
+[16:41:22.686] DBG>win_mgr_surface_change_mgr: Enter(08baf500,x/y=16384/16384,w/h=520/380) (ico_window_mgr.c:1177)
+[16:41:22.686] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=0000000a,app=test-eflapp@5,layer=0,x/y=16384/16384,w/h=520/380,hint=1) (ico_window_mgr.c:1464)
+[16:41:22.686] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:22.686] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:23.075] DBG>uifw_set_window_layer: Enter res=08b425a0 surfaceid=0000000a layer=102 (ico_window_mgr.c:823)
+[16:41:23.075] DBG>uifw_set_window_layer: Set Layer(102) to Shell Surface (ico_window_mgr.c:833)
+[16:41:23.075] DBG>ivi_shell_set_layer: Enter([08baf770],08baf500,102) (ico_ivi_shell.c:1416)
+[16:41:23.075] DBG>ivi_shell_set_layer: el=08ba5b38(103) (ico_ivi_shell.c:1428)
+[16:41:23.075] DBG>ivi_shell_set_layer: el=08bbffa8(102) (ico_ivi_shell.c:1428)
+[16:41:23.075] DBG>ivi_shell_set_layer: Add surface to Layer 102 (ico_ivi_shell.c:1462)
+[16:41:23.075] DBG>ivi_shell_restack_ivi_layer: Enter[08baf770] (ico_ivi_shell.c:1220)
+[16:41:23.075] DBG>ivi_shell_restack_ivi_layer: Leave (ico_ivi_shell.c:1286)
+[16:41:23.075] DBG>ivi_shell_set_layer: Leave (ico_ivi_shell.c:1471)
+[16:41:23.075] DBG>win_mgr_surface_change: Enter(08baf500,1,1) (ico_window_mgr.c:1208)
+[16:41:23.075] DBG>win_mgr_surface_change: Send SHELL_SURFACE_CONFIGURE(0000000a,w/h=0/0) (ico_window_mgr.c:1220)
+[16:41:23.075] DBG>ivi_shell_send_configure: (08baf500) edges=a w/h=0/0 (ico_ivi_shell.c:1559)
+[16:41:23.075] DBG>win_mgr_surface_change: Leave(OK) (ico_window_mgr.c:1234)
+[16:41:23.075] DBG>uifw_set_window_layer: Leave (ico_window_mgr.c:838)
+[16:41:23.092] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=520/380) (ico_ivi_shell.c:1047)
+[16:41:23.092] DBG>ivi_shell_surface_configure: 08baf770 16384,16384(0/0) unvisible (ico_ivi_shell.c:1710)
+[16:41:23.092] DBG>shell_surface_configure: w/h=0/0->0/0 x/y=16384/16384->16384/16384 (ico_ivi_shell.c:1068)
+[16:41:23.092] DBG>win_mgr_surface_change_mgr: Enter(08baf500,x/y=16384/16384,w/h=520/380) (ico_window_mgr.c:1177)
+[16:41:23.092] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=0000000a,app=test-eflapp@5,layer=102,x/y=16384/16384,w/h=520/380,hint=1) (ico_window_mgr.c:1464)
+[16:41:23.092] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:23.092] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:23.092] DBG>shell_surface_configure: configure to Buffer size(no Manager) x=16384+16384-16384 y=16384+16384-16384 (ico_ivi_shell.c:1080)
+[16:41:23.092] DBG>configure: Enter(08baf500) [08baf770] x/y=16384/16384, w/h=520/380 (ico_ivi_shell.c:965)
+[16:41:23.092] DBG>ivi_shell_surface_configure: 08baf770 16384,16384(520/380) unvisible (ico_ivi_shell.c:1710)
+[16:41:23.092] DBG>configure: Leave (ico_ivi_shell.c:987)
+[16:41:23.095] DBG>uifw_set_positionsize: Enter res=08b425a0 surf=0000000a x/y/w/h=500/600/16384/16384 (ico_window_mgr.c:897)
+[16:41:23.095] DBG>uifw_set_positionsize: Old geometry x/y=16384/16384,w/h=520/380 (ico_window_mgr.c:931)
+[16:41:23.095] DBG>uifw_set_positionsize: Fixed Geometry, Change(Vis=0) (ico_window_mgr.c:946)
+[16:41:23.095] DBG>uifw_set_weston_surface: w/h=0/0->0/0 x/y=500/600->500/600 (ico_window_mgr.c:871)
+[16:41:23.095] DBG>ivi_shell_surface_configure: 08baf770 500,600(0/0) unvisible (ico_ivi_shell.c:1710)
+[16:41:23.095] DBG>win_mgr_surface_change: Enter(08baf500,0,1) (ico_window_mgr.c:1208)
+[16:41:23.095] DBG>win_mgr_surface_change: Send SHELL_SURFACE_CONFIGURE(0000000a,w/h=0/0) (ico_window_mgr.c:1220)
+[16:41:23.095] DBG>ivi_shell_send_configure: (08baf500) edges=a w/h=0/0 (ico_ivi_shell.c:1559)
+[16:41:23.095] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=0000000a,app=test-eflapp@5,layer=102,x/y=500/600,w/h=0/0,hint=0) (ico_window_mgr.c:1464)
+[16:41:23.095] DBG>win_mgr_surface_change: Leave(OK) (ico_window_mgr.c:1234)
+[16:41:23.095] DBG>uifw_set_positionsize: Leave(OK,output=894e898) (ico_window_mgr.c:954)
+[16:41:23.115] DBG>uifw_set_visible: Enter(surf=0000000a,1,9) (ico_window_mgr.c:980)
+[16:41:23.115] DBG>uifw_set_visible: Request from Manager(test-homescreen) (ico_window_mgr.c:990)
+[16:41:23.115] DBG>uifw_set_visible: Set w/h=0/0 (ico_window_mgr.c:1009)
+[16:41:23.115] DBG>ivi_shell_set_visible: [08baf770] visible=1 (ico_ivi_shell.c:1356)
+[16:41:23.115] DBG>ivi_shell_restack_ivi_layer: Enter[08baf770] (ico_ivi_shell.c:1220)
+[16:41:23.115] DBG>ivi_shell_restack_ivi_layer: Leave (ico_ivi_shell.c:1286)
+[16:41:23.115] DBG>uifw_set_visible: Change to Visible (ico_window_mgr.c:1016)
+[16:41:23.115] DBG>ivi_shell_set_toplevel: (08baf500) (ico_ivi_shell.c:1520)
+[16:41:23.115] DBG>uifw_set_visible: Visible to Weston WSurf=08baf500,500/600/0/0 (ico_window_mgr.c:1023)
+[16:41:23.115] DBG>uifw_set_weston_surface: w/h=0/0->0/0 x/y=500/600->500/600 (ico_window_mgr.c:871)
+[16:41:23.115] DBG>ivi_shell_surface_configure: 08baf770 500,600(0/0) visible (ico_ivi_shell.c:1717)
+[16:41:23.115] DBG>ivi_shell_set_surfacetype: (08baf500) (ico_ivi_shell.c:1536)
+[16:41:23.115] DBG>set_surface_type: [08baf770] (08baf500) type=1 (ico_ivi_shell.c:265)
+[16:41:23.115] DBG>reset_shell_surface_type: [08baf770] (ico_ivi_shell.c:244)
+[16:41:23.115] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) VISIBLE(surf=0000000a,vis=1,raise=9,hint=0) (ico_window_mgr.c:1455)
+[16:41:23.116] DBG>uifw_set_visible: Leave(OK) (ico_window_mgr.c:1065)
+[16:41:23.155] DBG>uifw_set_visible: Enter(surf=0000000a,1,9) (ico_window_mgr.c:980)
+[16:41:23.156] DBG>uifw_set_visible: Request from Manager(test-homescreen) (ico_window_mgr.c:990)
+[16:41:23.156] DBG>uifw_set_visible: Set w/h=0/0 (ico_window_mgr.c:1009)
+[16:41:23.156] DBG>uifw_set_visible: Leave(No Change) (ico_window_mgr.c:1028)
+[16:41:24.159] DBG>uifw_set_visible: Enter(surf=00000007,0,9) (ico_window_mgr.c:980)
+[16:41:24.159] DBG>uifw_set_visible: Request from Manager(test-homescreen) (ico_window_mgr.c:990)
+[16:41:24.159] DBG>ivi_shell_set_visible: [08bbf088] visible=0 (ico_ivi_shell.c:1356)
+[16:41:24.159] DBG>ivi_shell_restack_ivi_layer: Enter[08bbf088] (ico_ivi_shell.c:1220)
+[16:41:24.160] DBG>ivi_shell_restack_ivi_layer: Leave (ico_ivi_shell.c:1286)
+[16:41:24.160] DBG>uifw_set_visible: Change to UnVisible (ico_window_mgr.c:1036)
+[16:41:24.160] DBG>uifw_set_weston_surface: w/h=0/0->0/0 x/y=200/300->200/300 (ico_window_mgr.c:871)
+[16:41:24.160] DBG>ivi_shell_surface_configure: 08bbf088 200,300(0/0) unvisible (ico_ivi_shell.c:1710)
+[16:41:24.160] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) VISIBLE(surf=00000007,vis=0,raise=9,hint=0) (ico_window_mgr.c:1455)
+[16:41:24.160] DBG>uifw_set_visible: Leave(OK) (ico_window_mgr.c:1065)
+[16:41:24.200] DBG>uifw_set_visible: Enter(surf=00000007,0,9) (ico_window_mgr.c:980)
+[16:41:24.200] DBG>uifw_set_visible: Request from Manager(test-homescreen) (ico_window_mgr.c:990)
+[16:41:24.200] DBG>uifw_set_visible: Leave(No Change) (ico_window_mgr.c:1042)
+[16:41:25.204] DBG>uifw_set_visible: Enter(surf=00000007,1,9) (ico_window_mgr.c:980)
+[16:41:25.204] DBG>uifw_set_visible: Request from Manager(test-homescreen) (ico_window_mgr.c:990)
+[16:41:25.204] DBG>uifw_set_visible: Set w/h=0/0 (ico_window_mgr.c:1009)
+[16:41:25.204] DBG>ivi_shell_set_visible: [08bbf088] visible=1 (ico_ivi_shell.c:1356)
+[16:41:25.204] DBG>ivi_shell_restack_ivi_layer: Enter[08bbf088] (ico_ivi_shell.c:1220)
+[16:41:25.204] DBG>ivi_shell_restack_ivi_layer: Leave (ico_ivi_shell.c:1286)
+[16:41:25.204] DBG>uifw_set_visible: Change to Visible (ico_window_mgr.c:1016)
+[16:41:25.204] DBG>ivi_shell_set_toplevel: (08b3f490) (ico_ivi_shell.c:1520)
+[16:41:25.204] DBG>uifw_set_visible: Visible to Weston WSurf=08b3f490,200/300/0/0 (ico_window_mgr.c:1023)
+[16:41:25.204] DBG>uifw_set_weston_surface: w/h=0/0->0/0 x/y=200/300->200/300 (ico_window_mgr.c:871)
+[16:41:25.204] DBG>ivi_shell_surface_configure: 08bbf088 200,300(0/0) visible (ico_ivi_shell.c:1717)
+[16:41:25.204] DBG>ivi_shell_set_surfacetype: (08b3f490) (ico_ivi_shell.c:1536)
+[16:41:25.204] DBG>set_surface_type: [08bbf088] (08b3f490) type=1 (ico_ivi_shell.c:265)
+[16:41:25.204] DBG>reset_shell_surface_type: [08bbf088] (ico_ivi_shell.c:244)
+[16:41:25.204] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) VISIBLE(surf=00000007,vis=1,raise=9,hint=0) (ico_window_mgr.c:1455)
+[16:41:25.204] DBG>uifw_set_visible: Leave(OK) (ico_window_mgr.c:1065)
+[16:41:25.244] DBG>uifw_set_visible: Enter(surf=00000007,1,9) (ico_window_mgr.c:980)
+[16:41:25.244] DBG>uifw_set_visible: Request from Manager(test-homescreen) (ico_window_mgr.c:990)
+[16:41:25.244] DBG>uifw_set_visible: Set w/h=0/0 (ico_window_mgr.c:1009)
+[16:41:25.244] DBG>uifw_set_visible: Leave(No Change) (ico_window_mgr.c:1028)
+[16:41:27.292] DBG>uifw_set_positionsize: Enter res=08b425a0 surf=00000007 x/y/w/h=16384/16384/200/300 (ico_window_mgr.c:897)
+[16:41:27.292] DBG>uifw_set_positionsize: Old geometry x/y=200/300,w/h=0/0 (ico_window_mgr.c:931)
+[16:41:27.292] DBG>win_mgr_surface_change: Enter(08b3f490,0,1) (ico_window_mgr.c:1208)
+[16:41:27.292] DBG>win_mgr_surface_change: Send SHELL_SURFACE_CONFIGURE(00000007,w/h=200/300) (ico_window_mgr.c:1220)
+[16:41:27.292] DBG>ivi_shell_send_configure: (08b3f490) edges=a w/h=200/300 (ico_ivi_shell.c:1559)
+[16:41:27.292] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000007,app=test-eflapp@2,layer=103,x/y=200/300,w/h=200/300,hint=0) (ico_window_mgr.c:1464)
+[16:41:27.292] DBG>win_mgr_surface_change: Leave(OK) (ico_window_mgr.c:1234)
+[16:41:27.292] DBG>uifw_set_positionsize: Leave(OK,output=894e898) (ico_window_mgr.c:954)
+[16:41:28.336] DBG>uifw_set_positionsize: Enter res=08b425a0 surf=00000008 x/y/w/h=16384/16384/720/520 (ico_window_mgr.c:897)
+[16:41:28.336] DBG>uifw_set_positionsize: Old geometry x/y=300/400,w/h=0/0 (ico_window_mgr.c:931)
+[16:41:28.336] DBG>win_mgr_surface_change: Enter(08bc0618,0,1) (ico_window_mgr.c:1208)
+[16:41:28.336] DBG>win_mgr_surface_change: Send SHELL_SURFACE_CONFIGURE(00000008,w/h=720/520) (ico_window_mgr.c:1220)
+[16:41:28.336] DBG>ivi_shell_send_configure: (08bc0618) edges=a w/h=720/520 (ico_ivi_shell.c:1559)
+[16:41:28.336] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000008,app=test-eflapp@3,layer=102,x/y=300/400,w/h=720/520,hint=0) (ico_window_mgr.c:1464)
+[16:41:28.336] DBG>win_mgr_surface_change: Leave(OK) (ico_window_mgr.c:1234)
+[16:41:28.336] DBG>uifw_set_positionsize: Leave(OK,output=894e898) (ico_window_mgr.c:954)
+[16:41:29.380] DBG>uifw_set_positionsize: Enter res=08b425a0 surf=00000008 x/y/w/h=16384/16384/520/380 (ico_window_mgr.c:897)
+[16:41:29.381] DBG>uifw_set_positionsize: Old geometry x/y=300/400,w/h=0/0 (ico_window_mgr.c:931)
+[16:41:29.381] DBG>win_mgr_surface_change: Enter(08bc0618,0,1) (ico_window_mgr.c:1208)
+[16:41:29.381] DBG>win_mgr_surface_change: Send SHELL_SURFACE_CONFIGURE(00000008,w/h=520/380) (ico_window_mgr.c:1220)
+[16:41:29.381] DBG>ivi_shell_send_configure: (08bc0618) edges=a w/h=520/380 (ico_ivi_shell.c:1559)
+[16:41:29.381] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000008,app=test-eflapp@3,layer=102,x/y=300/400,w/h=520/380,hint=0) (ico_window_mgr.c:1464)
+[16:41:29.381] DBG>win_mgr_surface_change: Leave(OK) (ico_window_mgr.c:1234)
+[16:41:29.381] DBG>uifw_set_positionsize: Leave(OK,output=894e898) (ico_window_mgr.c:954)
+[16:41:30.425] DBG>uifw_set_positionsize: Enter res=08b425a0 surf=00000007 x/y/w/h=16384/16384/520/380 (ico_window_mgr.c:897)
+[16:41:30.425] DBG>uifw_set_positionsize: Old geometry x/y=200/300,w/h=0/0 (ico_window_mgr.c:931)
+[16:41:30.425] DBG>win_mgr_surface_change: Enter(08b3f490,0,1) (ico_window_mgr.c:1208)
+[16:41:30.425] DBG>win_mgr_surface_change: Send SHELL_SURFACE_CONFIGURE(00000007,w/h=520/380) (ico_window_mgr.c:1220)
+[16:41:30.425] DBG>ivi_shell_send_configure: (08b3f490) edges=a w/h=520/380 (ico_ivi_shell.c:1559)
+[16:41:30.425] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=00000007,app=test-eflapp@2,layer=103,x/y=200/300,w/h=520/380,hint=0) (ico_window_mgr.c:1464)
+[16:41:30.425] DBG>win_mgr_surface_change: Leave(OK) (ico_window_mgr.c:1234)
+[16:41:30.425] DBG>uifw_set_positionsize: Leave(OK,output=894e898) (ico_window_mgr.c:954)
+[16:41:31.509] DBG>uifw_set_visible: Enter(surf=00000008,9,1) (ico_window_mgr.c:980)
+[16:41:31.509] DBG>uifw_set_visible: Request from Manager(test-homescreen) (ico_window_mgr.c:990)
+[16:41:31.509] DBG>ivi_shell_set_raise: Enter(08bc0618,1) layer_list=08bbffa8 (ico_ivi_shell.c:1488)
+[16:41:31.509] DBG>ivi_shell_set_raise: Raise Link to Top (ico_ivi_shell.c:1494)
+[16:41:31.509] DBG>ivi_shell_restack_ivi_layer: Enter[08bc0888] (ico_ivi_shell.c:1220)
+[16:41:31.509] DBG>ivi_shell_restack_ivi_layer: Leave (ico_ivi_shell.c:1286)
+[16:41:31.509] DBG>ivi_shell_set_raise: Leave (ico_ivi_shell.c:1505)
+[16:41:31.509] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) VISIBLE(surf=00000008,vis=9,raise=1,hint=0) (ico_window_mgr.c:1455)
+[16:41:31.509] DBG>uifw_set_visible: Leave(OK) (ico_window_mgr.c:1065)
+[16:41:31.549] DBG>uifw_set_visible: Enter(surf=00000008,9,9) (ico_window_mgr.c:980)
+[16:41:31.549] DBG>uifw_set_visible: Request from Manager(test-homescreen) (ico_window_mgr.c:990)
+[16:41:31.549] DBG>uifw_set_visible: Leave(No Change) (ico_window_mgr.c:1047)
+[16:41:32.553] DBG>uifw_set_visible: Enter(surf=00000009,9,1) (ico_window_mgr.c:980)
+[16:41:32.554] DBG>uifw_set_visible: Request from Manager(test-homescreen) (ico_window_mgr.c:990)
+[16:41:32.554] DBG>ivi_shell_set_raise: Enter(08badc38,1) layer_list=08bbffa8 (ico_ivi_shell.c:1488)
+[16:41:32.554] DBG>ivi_shell_set_raise: Raise Link to Top (ico_ivi_shell.c:1494)
+[16:41:32.554] DBG>ivi_shell_restack_ivi_layer: Enter[08badea8] (ico_ivi_shell.c:1220)
+[16:41:32.554] DBG>ivi_shell_restack_ivi_layer: Leave (ico_ivi_shell.c:1286)
+[16:41:32.554] DBG>ivi_shell_set_raise: Leave (ico_ivi_shell.c:1505)
+[16:41:32.554] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) VISIBLE(surf=00000009,vis=9,raise=1,hint=0) (ico_window_mgr.c:1455)
+[16:41:32.554] DBG>uifw_set_visible: Leave(OK) (ico_window_mgr.c:1065)
+[16:41:32.594] DBG>uifw_set_visible: Enter(surf=00000009,9,9) (ico_window_mgr.c:980)
+[16:41:32.594] DBG>uifw_set_visible: Request from Manager(test-homescreen) (ico_window_mgr.c:990)
+[16:41:32.594] DBG>uifw_set_visible: Leave(No Change) (ico_window_mgr.c:1047)
+[16:41:33.598] DBG>uifw_set_visible: Enter(surf=0000000a,9,1) (ico_window_mgr.c:980)
+[16:41:33.598] DBG>uifw_set_visible: Request from Manager(test-homescreen) (ico_window_mgr.c:990)
+[16:41:33.598] DBG>ivi_shell_set_raise: Enter(08baf500,1) layer_list=08bbffa8 (ico_ivi_shell.c:1488)
+[16:41:33.598] DBG>ivi_shell_set_raise: Raise Link to Top (ico_ivi_shell.c:1494)
+[16:41:33.598] DBG>ivi_shell_restack_ivi_layer: Enter[08baf770] (ico_ivi_shell.c:1220)
+[16:41:33.598] DBG>ivi_shell_restack_ivi_layer: Leave (ico_ivi_shell.c:1286)
+[16:41:33.598] DBG>ivi_shell_set_raise: Leave (ico_ivi_shell.c:1505)
+[16:41:33.598] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) VISIBLE(surf=0000000a,vis=9,raise=1,hint=0) (ico_window_mgr.c:1455)
+[16:41:33.598] DBG>uifw_set_visible: Leave(OK) (ico_window_mgr.c:1065)
+[16:41:33.638] DBG>uifw_set_visible: Enter(surf=0000000a,9,9) (ico_window_mgr.c:980)
+[16:41:33.638] DBG>uifw_set_visible: Request from Manager(test-homescreen) (ico_window_mgr.c:990)
+[16:41:33.638] DBG>uifw_set_visible: Leave(No Change) (ico_window_mgr.c:1047)
+[16:41:34.642] DBG>uifw_set_visible: Enter(surf=0000000a,9,0) (ico_window_mgr.c:980)
+[16:41:34.642] DBG>uifw_set_visible: Request from Manager(test-homescreen) (ico_window_mgr.c:990)
+[16:41:34.642] DBG>ivi_shell_set_raise: Enter(08baf500,0) layer_list=08bbffa8 (ico_ivi_shell.c:1488)
+[16:41:34.642] DBG>ivi_shell_set_raise: Lower Link to Bottom (ico_ivi_shell.c:1499)
+[16:41:34.642] DBG>ivi_shell_restack_ivi_layer: Enter[08baf770] (ico_ivi_shell.c:1220)
+[16:41:34.642] DBG>ivi_shell_restack_ivi_layer: Leave (ico_ivi_shell.c:1286)
+[16:41:34.642] DBG>ivi_shell_set_raise: Leave (ico_ivi_shell.c:1505)
+[16:41:34.642] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) VISIBLE(surf=0000000a,vis=9,raise=0,hint=0) (ico_window_mgr.c:1455)
+[16:41:34.643] DBG>uifw_set_visible: Leave(OK) (ico_window_mgr.c:1065)
+[16:41:34.682] DBG>uifw_set_visible: Enter(surf=0000000a,9,9) (ico_window_mgr.c:980)
+[16:41:34.682] DBG>uifw_set_visible: Request from Manager(test-homescreen) (ico_window_mgr.c:990)
+[16:41:34.682] DBG>uifw_set_visible: Leave(No Change) (ico_window_mgr.c:1047)
+[16:41:35.686] DBG>uifw_set_visible: Enter(surf=00000009,9,0) (ico_window_mgr.c:980)
+[16:41:35.687] DBG>uifw_set_visible: Request from Manager(test-homescreen) (ico_window_mgr.c:990)
+[16:41:35.687] DBG>ivi_shell_set_raise: Enter(08badc38,0) layer_list=08bbffa8 (ico_ivi_shell.c:1488)
+[16:41:35.687] DBG>ivi_shell_set_raise: Lower Link to Bottom (ico_ivi_shell.c:1499)
+[16:41:35.687] DBG>ivi_shell_restack_ivi_layer: Enter[08badea8] (ico_ivi_shell.c:1220)
+[16:41:35.687] DBG>ivi_shell_restack_ivi_layer: Leave (ico_ivi_shell.c:1286)
+[16:41:35.687] DBG>ivi_shell_set_raise: Leave (ico_ivi_shell.c:1505)
+[16:41:35.687] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) VISIBLE(surf=00000009,vis=9,raise=0,hint=0) (ico_window_mgr.c:1455)
+[16:41:35.687] DBG>uifw_set_visible: Leave(OK) (ico_window_mgr.c:1065)
+[16:41:35.727] DBG>uifw_set_visible: Enter(surf=00000009,9,9) (ico_window_mgr.c:980)
+[16:41:35.727] DBG>uifw_set_visible: Request from Manager(test-homescreen) (ico_window_mgr.c:990)
+[16:41:35.727] DBG>uifw_set_visible: Leave(No Change) (ico_window_mgr.c:1047)
+[16:41:36.731] DBG>uifw_set_visible: Enter(surf=00000008,9,0) (ico_window_mgr.c:980)
+[16:41:36.731] DBG>uifw_set_visible: Request from Manager(test-homescreen) (ico_window_mgr.c:990)
+[16:41:36.731] DBG>ivi_shell_set_raise: Enter(08bc0618,0) layer_list=08bbffa8 (ico_ivi_shell.c:1488)
+[16:41:36.731] DBG>ivi_shell_set_raise: Lower Link to Bottom (ico_ivi_shell.c:1499)
+[16:41:36.731] DBG>ivi_shell_restack_ivi_layer: Enter[08bc0888] (ico_ivi_shell.c:1220)
+[16:41:36.731] DBG>ivi_shell_restack_ivi_layer: Leave (ico_ivi_shell.c:1286)
+[16:41:36.731] DBG>ivi_shell_set_raise: Leave (ico_ivi_shell.c:1505)
+[16:41:36.731] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) VISIBLE(surf=00000008,vis=9,raise=0,hint=0) (ico_window_mgr.c:1455)
+[16:41:36.731] DBG>uifw_set_visible: Leave(OK) (ico_window_mgr.c:1065)
+[16:41:36.771] DBG>uifw_set_visible: Enter(surf=00000008,9,9) (ico_window_mgr.c:980)
+[16:41:36.771] DBG>uifw_set_visible: Request from Manager(test-homescreen) (ico_window_mgr.c:990)
+[16:41:36.771] DBG>uifw_set_visible: Leave(No Change) (ico_window_mgr.c:1047)
+[16:41:38.819] DBG>uifw_set_window_layer: Enter res=08b425a0 surfaceid=00000006 layer=100 (ico_window_mgr.c:823)
+[16:41:38.819] DBG>uifw_set_window_layer: Set Layer(100) to Shell Surface (ico_window_mgr.c:833)
+[16:41:38.819] DBG>ivi_shell_set_layer: Enter([089f00d8],08b96da8,100) (ico_ivi_shell.c:1416)
+[16:41:38.819] DBG>ivi_shell_set_layer: el=08ba5b38(103) (ico_ivi_shell.c:1428)
+[16:41:38.819] DBG>ivi_shell_set_layer: el=08bbffa8(102) (ico_ivi_shell.c:1428)
+[16:41:38.819] DBG>ivi_shell_set_layer: el=08ba5b88(101) (ico_ivi_shell.c:1428)
+[16:41:38.819] DBG>ivi_shell_set_layer: el=0894f568(0) (ico_ivi_shell.c:1428)
+[16:41:38.819] DBG>ivi_shell_set_layer: New Layer 100 (ico_ivi_shell.c:1434)
+[16:41:38.819] DBG>ivi_shell_restack_ivi_layer: Enter[089f00d8] (ico_ivi_shell.c:1220)
+[16:41:38.819] DBG>ivi_shell_restack_ivi_layer: Leave (ico_ivi_shell.c:1286)
+[16:41:38.819] DBG>ivi_shell_set_layer: Leave (ico_ivi_shell.c:1471)
+[16:41:38.819] DBG>win_mgr_surface_change: Enter(08b96da8,1,1) (ico_window_mgr.c:1208)
+[16:41:38.819] DBG>win_mgr_surface_change: Send SHELL_SURFACE_CONFIGURE(00000006,w/h=0/0) (ico_window_mgr.c:1220)
+[16:41:38.819] DBG>ivi_shell_send_configure: (08b96da8) edges=a w/h=0/0 (ico_ivi_shell.c:1559)
+[16:41:38.819] DBG>win_mgr_surface_change: Leave(OK) (ico_window_mgr.c:1234)
+[16:41:38.819] DBG>uifw_set_window_layer: Leave (ico_window_mgr.c:838)
+[16:41:39.863] DBG>uifw_set_window_layer: Enter res=08b425a0 surfaceid=00000007 layer=100 (ico_window_mgr.c:823)
+[16:41:39.863] DBG>uifw_set_window_layer: Set Layer(100) to Shell Surface (ico_window_mgr.c:833)
+[16:41:39.863] DBG>ivi_shell_set_layer: Enter([08bbf088],08b3f490,100) (ico_ivi_shell.c:1416)
+[16:41:39.863] DBG>ivi_shell_set_layer: el=08ba5b38(103) (ico_ivi_shell.c:1428)
+[16:41:39.863] DBG>ivi_shell_set_layer: el=08bbffa8(102) (ico_ivi_shell.c:1428)
+[16:41:39.863] DBG>ivi_shell_set_layer: el=08ba5b88(101) (ico_ivi_shell.c:1428)
+[16:41:39.863] DBG>ivi_shell_set_layer: el=08ba83c8(100) (ico_ivi_shell.c:1428)
+[16:41:39.863] DBG>ivi_shell_set_layer: Add surface to Layer 100 (ico_ivi_shell.c:1462)
+[16:41:39.863] DBG>ivi_shell_restack_ivi_layer: Enter[08bbf088] (ico_ivi_shell.c:1220)
+[16:41:39.863] DBG>ivi_shell_restack_ivi_layer: Leave (ico_ivi_shell.c:1286)
+[16:41:39.863] DBG>ivi_shell_set_layer: Leave (ico_ivi_shell.c:1471)
+[16:41:39.864] DBG>win_mgr_surface_change: Enter(08b3f490,1,1) (ico_window_mgr.c:1208)
+[16:41:39.864] DBG>win_mgr_surface_change: Send SHELL_SURFACE_CONFIGURE(00000007,w/h=520/380) (ico_window_mgr.c:1220)
+[16:41:39.864] DBG>ivi_shell_send_configure: (08b3f490) edges=a w/h=520/380 (ico_ivi_shell.c:1559)
+[16:41:39.864] DBG>win_mgr_surface_change: Leave(OK) (ico_window_mgr.c:1234)
+[16:41:39.864] DBG>uifw_set_window_layer: Leave (ico_window_mgr.c:838)
+[16:41:41.951] DBG>uifw_set_layer_visible: Enter(layer=102, visilbe=0) (ico_window_mgr.c:1148)
+[16:41:41.951] DBG>ivi_shell_set_layer_visible: Enter(layer=102, visible=0) (ico_ivi_shell.c:1608)
+[16:41:41.951] DBG>ivi_shell_set_layer_visible: change to not visible (ico_ivi_shell.c:1648)
+[16:41:41.951] DBG>ivi_shell_restack_ivi_layer: Enter[00000000] (ico_ivi_shell.c:1220)
+[16:41:41.951] DBG>ivi_shell_restack_ivi_layer: Leave (ico_ivi_shell.c:1286)
+[16:41:41.951] DBG>ivi_shell_set_layer_visible: Leave (ico_ivi_shell.c:1676)
+[16:41:41.952] DBG>uifw_set_layer_visible: Leave (ico_window_mgr.c:1152)
+[16:41:42.995] DBG>uifw_set_layer_visible: Enter(layer=102, visilbe=1) (ico_window_mgr.c:1148)
+[16:41:42.995] DBG>ivi_shell_set_layer_visible: Enter(layer=102, visible=1) (ico_ivi_shell.c:1608)
+[16:41:42.996] DBG>ivi_shell_set_layer_visible: change to visible (ico_ivi_shell.c:1653)
+[16:41:42.996] DBG>ivi_shell_restack_ivi_layer: Enter[00000000] (ico_ivi_shell.c:1220)
+[16:41:42.996] DBG>ivi_shell_restack_ivi_layer: Leave (ico_ivi_shell.c:1286)
+[16:41:42.996] DBG>ivi_shell_set_layer_visible: Leave (ico_ivi_shell.c:1676)
+[16:41:42.996] DBG>uifw_set_layer_visible: Leave (ico_window_mgr.c:1152)
+[16:41:44.067] libwayland: disconnect from client 0x89ede80
+[16:41:44.067] DBG>unbind_shell (ico_ivi_shell.c:1135)
+[16:41:44.067] DBG>unbind_shell_client: Enter(client=089ede80) (ico_window_mgr.c:511)
+[16:41:44.067] DBG>unbind_shell_client: Leave (ico_window_mgr.c:519)
+[16:41:44.067] DBG>shell_handle_surface_destroy: Enter [089f00d8] data=08b96da8 (ico_ivi_shell.c:645)
+[16:41:44.067] DBG>shell_destroy_shell_surface: Enter [089f00d8] (ico_ivi_shell.c:622)
+[16:41:44.067] DBG>destroy_shell_surface: Enter[089f00d8] (ico_ivi_shell.c:583)
+[16:41:44.067] DBG>ivi_shell_restack_ivi_layer: Enter[089f00d8] (ico_ivi_shell.c:1220)
+[16:41:44.067] DBG>ivi_shell_restack_ivi_layer: Leave (ico_ivi_shell.c:1286)
+[16:41:44.067] DBG>destroy_shell_surface: call ivi_shell_hook_destroy(08b96da8) (ico_ivi_shell.c:595)
+[16:41:44.067] DBG>win_mgr_surface_destroy: Enter(08b96da8) (ico_window_mgr.c:1282)
+[16:41:44.067] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) DESTROYED surf=00000006 (ico_window_mgr.c:1472)
+[16:41:44.067] DBG>win_mgr_surface_destroy: Leave(OK) (ico_window_mgr.c:1332)
+[16:41:44.067] DBG>destroy_shell_surface: ret (ico_ivi_shell.c:597)
+[16:41:44.067] DBG>destroy_shell_surface: Leave (ico_ivi_shell.c:606)
+[16:41:44.067] DBG>shell_destroy_shell_surface: Leave (ico_ivi_shell.c:626)
+[16:41:44.067] DBG>shell_handle_surface_destroy: Leave (ico_ivi_shell.c:653)
+[16:41:44.910] libwayland: disconnect from client 0x8ba8278
+[16:41:44.910] DBG>unbind_shell (ico_ivi_shell.c:1135)
+[16:41:44.910] DBG>unbind_shell_client: Enter(client=08ba8278) (ico_window_mgr.c:511)
+[16:41:44.910] DBG>unbind_shell_client: Leave (ico_window_mgr.c:519)
+[16:41:44.910] DBG>shell_handle_surface_destroy: Enter [08bbf088] data=08b3f490 (ico_ivi_shell.c:645)
+[16:41:44.910] DBG>shell_destroy_shell_surface: Enter [08bbf088] (ico_ivi_shell.c:622)
+[16:41:44.910] DBG>destroy_shell_surface: Enter[08bbf088] (ico_ivi_shell.c:583)
+[16:41:44.910] DBG>ivi_shell_restack_ivi_layer: Enter[08bbf088] (ico_ivi_shell.c:1220)
+[16:41:44.910] DBG>ivi_shell_restack_ivi_layer: Leave (ico_ivi_shell.c:1286)
+[16:41:44.910] DBG>destroy_shell_surface: call ivi_shell_hook_destroy(08b3f490) (ico_ivi_shell.c:595)
+[16:41:44.910] DBG>win_mgr_surface_destroy: Enter(08b3f490) (ico_window_mgr.c:1282)
+[16:41:44.910] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) DESTROYED surf=00000007 (ico_window_mgr.c:1472)
+[16:41:44.910] DBG>win_mgr_surface_destroy: Leave(OK) (ico_window_mgr.c:1332)
+[16:41:44.910] DBG>destroy_shell_surface: ret (ico_ivi_shell.c:597)
+[16:41:44.910] DBG>destroy_shell_surface: Leave (ico_ivi_shell.c:606)
+[16:41:44.910] DBG>shell_destroy_shell_surface: Leave (ico_ivi_shell.c:626)
+[16:41:44.910] DBG>shell_handle_surface_destroy: Leave (ico_ivi_shell.c:653)
+[16:41:45.752] libwayland: disconnect from client 0x8bbfef0
+[16:41:45.752] DBG>unbind_shell (ico_ivi_shell.c:1135)
+[16:41:45.752] DBG>unbind_shell_client: Enter(client=08bbfef0) (ico_window_mgr.c:511)
+[16:41:45.752] DBG>unbind_shell_client: Leave (ico_window_mgr.c:519)
+[16:41:45.752] DBG>shell_handle_surface_destroy: Enter [08bc0888] data=08bc0618 (ico_ivi_shell.c:645)
+[16:41:45.752] DBG>shell_destroy_shell_surface: Enter [08bc0888] (ico_ivi_shell.c:622)
+[16:41:45.752] DBG>destroy_shell_surface: Enter[08bc0888] (ico_ivi_shell.c:583)
+[16:41:45.752] DBG>ivi_shell_restack_ivi_layer: Enter[08bc0888] (ico_ivi_shell.c:1220)
+[16:41:45.752] DBG>ivi_shell_restack_ivi_layer: Leave (ico_ivi_shell.c:1286)
+[16:41:45.752] DBG>destroy_shell_surface: call ivi_shell_hook_destroy(08bc0618) (ico_ivi_shell.c:595)
+[16:41:45.752] DBG>win_mgr_surface_destroy: Enter(08bc0618) (ico_window_mgr.c:1282)
+[16:41:45.752] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) DESTROYED surf=00000008 (ico_window_mgr.c:1472)
+[16:41:45.752] DBG>win_mgr_surface_destroy: Leave(OK) (ico_window_mgr.c:1332)
+[16:41:45.752] DBG>destroy_shell_surface: ret (ico_ivi_shell.c:597)
+[16:41:45.752] DBG>destroy_shell_surface: Leave (ico_ivi_shell.c:606)
+[16:41:45.752] DBG>shell_destroy_shell_surface: Leave (ico_ivi_shell.c:626)
+[16:41:45.752] DBG>shell_handle_surface_destroy: Leave (ico_ivi_shell.c:653)
+[16:41:46.597] libwayland: disconnect from client 0x8bc0eb0
+[16:41:46.597] DBG>unbind_shell (ico_ivi_shell.c:1135)
+[16:41:46.597] DBG>unbind_shell_client: Enter(client=08bc0eb0) (ico_window_mgr.c:511)
+[16:41:46.597] DBG>unbind_shell_client: Leave (ico_window_mgr.c:519)
+[16:41:46.597] DBG>shell_handle_surface_destroy: Enter [08badea8] data=08badc38 (ico_ivi_shell.c:645)
+[16:41:46.597] DBG>shell_destroy_shell_surface: Enter [08badea8] (ico_ivi_shell.c:622)
+[16:41:46.597] DBG>destroy_shell_surface: Enter[08badea8] (ico_ivi_shell.c:583)
+[16:41:46.597] DBG>ivi_shell_restack_ivi_layer: Enter[08badea8] (ico_ivi_shell.c:1220)
+[16:41:46.597] DBG>ivi_shell_restack_ivi_layer: Leave (ico_ivi_shell.c:1286)
+[16:41:46.597] DBG>destroy_shell_surface: call ivi_shell_hook_destroy(08badc38) (ico_ivi_shell.c:595)
+[16:41:46.597] DBG>win_mgr_surface_destroy: Enter(08badc38) (ico_window_mgr.c:1282)
+[16:41:46.597] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) DESTROYED surf=00000009 (ico_window_mgr.c:1472)
+[16:41:46.597] DBG>win_mgr_surface_destroy: Leave(OK) (ico_window_mgr.c:1332)
+[16:41:46.597] DBG>destroy_shell_surface: ret (ico_ivi_shell.c:597)
+[16:41:46.597] DBG>destroy_shell_surface: Leave (ico_ivi_shell.c:606)
+[16:41:46.597] DBG>shell_destroy_shell_surface: Leave (ico_ivi_shell.c:626)
+[16:41:46.597] DBG>shell_handle_surface_destroy: Leave (ico_ivi_shell.c:653)
+[16:41:47.440] libwayland: disconnect from client 0x8baede8
+[16:41:47.440] DBG>unbind_shell (ico_ivi_shell.c:1135)
+[16:41:47.440] DBG>unbind_shell_client: Enter(client=08baede8) (ico_window_mgr.c:511)
+[16:41:47.440] DBG>unbind_shell_client: Leave (ico_window_mgr.c:519)
+[16:41:47.440] DBG>shell_handle_surface_destroy: Enter [08baf770] data=08baf500 (ico_ivi_shell.c:645)
+[16:41:47.440] DBG>shell_destroy_shell_surface: Enter [08baf770] (ico_ivi_shell.c:622)
+[16:41:47.440] DBG>destroy_shell_surface: Enter[08baf770] (ico_ivi_shell.c:583)
+[16:41:47.440] DBG>ivi_shell_restack_ivi_layer: Enter[08baf770] (ico_ivi_shell.c:1220)
+[16:41:47.440] DBG>ivi_shell_restack_ivi_layer: Leave (ico_ivi_shell.c:1286)
+[16:41:47.440] DBG>destroy_shell_surface: call ivi_shell_hook_destroy(08baf500) (ico_ivi_shell.c:595)
+[16:41:47.440] DBG>win_mgr_surface_destroy: Enter(08baf500) (ico_window_mgr.c:1282)
+[16:41:47.440] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) DESTROYED surf=0000000a (ico_window_mgr.c:1472)
+[16:41:47.440] DBG>win_mgr_surface_destroy: Leave(OK) (ico_window_mgr.c:1332)
+[16:41:47.441] DBG>destroy_shell_surface: ret (ico_ivi_shell.c:597)
+[16:41:47.441] DBG>destroy_shell_surface: Leave (ico_ivi_shell.c:606)
+[16:41:47.441] DBG>shell_destroy_shell_surface: Leave (ico_ivi_shell.c:626)
+[16:41:47.441] DBG>shell_handle_surface_destroy: Leave (ico_ivi_shell.c:653)
+[16:41:49.835] DBG>bind_shell: client=08a4c8a0 id=6 (ico_ivi_shell.c:1112)
+[16:41:49.835] DBG>bind_shell_client: Enter(client=08a4c8a0) (ico_window_mgr.c:414)
+[16:41:49.835] DBG>find_client_from_client: NULL (ico_window_mgr.c:293)
+[16:41:49.835] DBG>bind_shell_client: Create Client (ico_window_mgr.c:420)
+[16:41:49.835] DBG>bind_shell_client: client=08a4c8a0 pid=31986 uid=0 gid=0 (ico_window_mgr.c:432)
+[16:41:49.838] DBG>bind_shell_client: pid=31986 dose not exist in AppCore(AUL) (ico_window_mgr.c:444)
+[16:41:49.838] DBG>bind_shell_client: client=08a4c8a0 pid=31986 appid=<test-client@1> from Process table (ico_window_mgr.c:483)
+[16:41:49.838] DBG>bind_shell_client: Leave (ico_window_mgr.c:495)
+[16:41:49.838] DBG>bind_ivi_shell: client=08a4c8a0 id=7 (ico_ivi_shell.c:1179)
+[16:41:49.838] DBG>bind_ico_win_mgr: Enter(client=08a4c8a0, id=8) (ico_window_mgr.c:1353)
+[16:41:49.838] DBG>bind_ico_win_mgr: Leave (ico_window_mgr.c:1365)
+[16:41:49.838] DBG>ico_exinput_bind: Enter(client=08a4c8a0,test-client@1) (ico_input_mgr.c:727)
+[16:41:49.838] DBG>ico_exinput_bind: Create App.test-client@1 table (ico_input_mgr.c:747)
+[16:41:49.838] DBG>ico_exinput_bind: Leave (ico_input_mgr.c:785)
+[16:41:49.936] DBG>shell_get_shell_surface: Enter (08b96da8) client=08a4c8a0 (ico_ivi_shell.c:761)
+[16:41:49.936] DBG>create_shell_surface: (08b96da8) [08ba4690] client=b5c0a744 (visible=0) (ico_ivi_shell.c:704)
+[16:41:49.936] DBG>shell_get_shell_surface: Init shsurf(08ba4690) weston_surf=08b96da8 (ico_ivi_shell.c:782)
+[16:41:49.936] DBG>shell_get_shell_surface: call ivi_shell_hook_create(08a4c8a0,,08b96da8,08ba4690) (ico_ivi_shell.c:787)
+[16:41:49.936] DBG>client_register_surface: Enter(surf=08b96da8,client=08a4c8a0,res=08ba58f0) (ico_window_mgr.c:543)
+[16:41:49.936] DBG>find_uifw_win_surface_by_ws: NULL (ico_window_mgr.c:269)
+[16:41:49.936] DBG>generate_id: SurfaceId=0000000b (ico_window_mgr.c:357)
+[16:41:49.936] DBG>client_register_surface: Manager exist, Not visible (ico_window_mgr.c:569)
+[16:41:49.936] DBG>ivi_shell_set_visible: [08ba4690] visible=-1 (ico_ivi_shell.c:1356)
+[16:41:49.936] DBG>ivi_shell_set_visible: No change (ico_ivi_shell.c:1377)
+[16:41:49.936] DBG>ivi_shell_set_layer: Enter([08ba4690],08b96da8,0) (ico_ivi_shell.c:1416)
+[16:41:49.936] DBG>ivi_shell_set_layer: el=08ba5b38(103) (ico_ivi_shell.c:1428)
+[16:41:49.936] DBG>ivi_shell_set_layer: el=08bbffa8(102) (ico_ivi_shell.c:1428)
+[16:41:49.936] DBG>ivi_shell_set_layer: el=08ba5b88(101) (ico_ivi_shell.c:1428)
+[16:41:49.936] DBG>ivi_shell_set_layer: el=08ba83c8(100) (ico_ivi_shell.c:1428)
+[16:41:49.936] DBG>ivi_shell_set_layer: el=0894f568(0) (ico_ivi_shell.c:1428)
+[16:41:49.936] DBG>ivi_shell_set_layer: Add surface to Layer 0 (ico_ivi_shell.c:1462)
+[16:41:49.936] DBG>ivi_shell_restack_ivi_layer: Enter[08ba4690] (ico_ivi_shell.c:1220)
+[16:41:49.936] DBG>ivi_shell_restack_ivi_layer: Leave (ico_ivi_shell.c:1286)
+[16:41:49.936] DBG>ivi_shell_set_layer: Leave (ico_ivi_shell.c:1471)
+[16:41:49.937] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) WINDOW_CREATED(surf=0000000b,pid=31986,appid=test-client@1) (ico_window_mgr.c:1448)
+[16:41:49.937] DBG>client_register_surface: Leave(surfaceId=0000000b) (ico_window_mgr.c:627)
+[16:41:49.937] DBG>shell_get_shell_surface: ret  ivi_shell_hook_create (ico_ivi_shell.c:789)
+[16:41:49.937] DBG>shell_get_shell_surface: Leave (ico_ivi_shell.c:791)
+[16:41:49.937] DBG>shell_surface_set_toplevel: Set TopLevel[08ba4690] (ico_ivi_shell.c:373)
+[16:41:50.056] DBG>set_surface_type: [08ba4690] (08b96da8) type=1 (ico_ivi_shell.c:265)
+[16:41:50.056] DBG>reset_shell_surface_type: [08ba4690] (ico_ivi_shell.c:244)
+[16:41:50.056] DBG>shell_surface_configure: configure to Buffer size(no Manager) x=16384+16384-16384 y=16384+16384-16384 (ico_ivi_shell.c:1080)
+[16:41:50.056] DBG>configure: Enter(08b96da8) [08ba4690] x/y=16384/16384, w/h=640/480 (ico_ivi_shell.c:965)
+[16:41:50.056] DBG>ivi_shell_surface_configure: 08ba4690 16384,16384(640/480) unvisible (ico_ivi_shell.c:1710)
+[16:41:50.056] DBG>configure: Leave (ico_ivi_shell.c:987)
+[16:41:50.712] DBG>uifw_set_window_layer: Enter res=08b425a0 surfaceid=0000000b layer=101 (ico_window_mgr.c:823)
+[16:41:50.713] DBG>uifw_set_window_layer: Set Layer(101) to Shell Surface (ico_window_mgr.c:833)
+[16:41:50.713] DBG>ivi_shell_set_layer: Enter([08ba4690],08b96da8,101) (ico_ivi_shell.c:1416)
+[16:41:50.713] DBG>ivi_shell_set_layer: el=08ba5b38(103) (ico_ivi_shell.c:1428)
+[16:41:50.713] DBG>ivi_shell_set_layer: el=08bbffa8(102) (ico_ivi_shell.c:1428)
+[16:41:50.713] DBG>ivi_shell_set_layer: el=08ba5b88(101) (ico_ivi_shell.c:1428)
+[16:41:50.713] DBG>ivi_shell_set_layer: Add surface to Layer 101 (ico_ivi_shell.c:1462)
+[16:41:50.713] DBG>ivi_shell_restack_ivi_layer: Enter[08ba4690] (ico_ivi_shell.c:1220)
+[16:41:50.713] DBG>ivi_shell_restack_ivi_layer: Leave (ico_ivi_shell.c:1286)
+[16:41:50.713] DBG>ivi_shell_set_layer: Leave (ico_ivi_shell.c:1471)
+[16:41:50.713] DBG>win_mgr_surface_change: Enter(08b96da8,1,1) (ico_window_mgr.c:1208)
+[16:41:50.713] DBG>win_mgr_surface_change: Send SHELL_SURFACE_CONFIGURE(0000000b,w/h=0/0) (ico_window_mgr.c:1220)
+[16:41:50.713] DBG>ivi_shell_send_configure: (08b96da8) edges=a w/h=0/0 (ico_ivi_shell.c:1559)
+[16:41:50.713] DBG>win_mgr_surface_change: Leave(OK) (ico_window_mgr.c:1234)
+[16:41:50.713] DBG>uifw_set_window_layer: Leave (ico_window_mgr.c:838)
+[16:41:50.716] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=640/480) (ico_ivi_shell.c:1047)
+[16:41:50.716] DBG>ivi_shell_surface_configure: 08ba4690 16384,16384(0/0) unvisible (ico_ivi_shell.c:1710)
+[16:41:50.716] DBG>shell_surface_configure: w/h=0/0->0/0 x/y=16384/16384->16384/16384 (ico_ivi_shell.c:1068)
+[16:41:50.716] DBG>win_mgr_surface_change_mgr: Enter(08b96da8,x/y=16384/16384,w/h=640/480) (ico_window_mgr.c:1177)
+[16:41:50.716] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=0000000b,app=test-client@1,layer=101,x/y=16384/16384,w/h=640/480,hint=1) (ico_window_mgr.c:1464)
+[16:41:50.716] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:50.716] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:50.733] DBG>uifw_set_positionsize: Enter res=08b425a0 surf=0000000b x/y/w/h=100/200/16384/16384 (ico_window_mgr.c:897)
+[16:41:50.733] DBG>uifw_set_positionsize: Old geometry x/y=16384/16384,w/h=0/0 (ico_window_mgr.c:931)
+[16:41:50.733] DBG>win_mgr_surface_change: Enter(08b96da8,0,1) (ico_window_mgr.c:1208)
+[16:41:50.733] DBG>win_mgr_surface_change: Send SHELL_SURFACE_CONFIGURE(0000000b,w/h=0/0) (ico_window_mgr.c:1220)
+[16:41:50.733] DBG>ivi_shell_send_configure: (08b96da8) edges=a w/h=0/0 (ico_ivi_shell.c:1559)
+[16:41:50.733] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=0000000b,app=test-client@1,layer=101,x/y=100/200,w/h=0/0,hint=0) (ico_window_mgr.c:1464)
+[16:41:50.733] DBG>win_mgr_surface_change: Leave(OK) (ico_window_mgr.c:1234)
+[16:41:50.733] DBG>uifw_set_positionsize: Leave(OK,output=894e898) (ico_window_mgr.c:954)
+[16:41:50.753] DBG>uifw_set_visible: Enter(surf=0000000b,1,9) (ico_window_mgr.c:980)
+[16:41:50.753] DBG>uifw_set_visible: Request from Manager(test-homescreen) (ico_window_mgr.c:990)
+[16:41:50.753] DBG>uifw_set_visible: Set w/h=0/0 (ico_window_mgr.c:1009)
+[16:41:50.753] DBG>ivi_shell_set_visible: [08ba4690] visible=1 (ico_ivi_shell.c:1356)
+[16:41:50.753] DBG>ivi_shell_restack_ivi_layer: Enter[08ba4690] (ico_ivi_shell.c:1220)
+[16:41:50.753] DBG>ivi_shell_restack_ivi_layer: Leave (ico_ivi_shell.c:1286)
+[16:41:50.753] DBG>uifw_set_visible: Change to Visible (ico_window_mgr.c:1016)
+[16:41:50.753] DBG>ivi_shell_set_toplevel: (08b96da8) (ico_ivi_shell.c:1520)
+[16:41:50.753] DBG>uifw_set_visible: Visible to Weston WSurf=08b96da8,100/200/0/0 (ico_window_mgr.c:1023)
+[16:41:50.753] DBG>uifw_set_weston_surface: w/h=0/0->0/0 x/y=100/200->100/200 (ico_window_mgr.c:871)
+[16:41:50.753] DBG>ivi_shell_surface_configure: 08ba4690 100,200(0/0) visible (ico_ivi_shell.c:1717)
+[16:41:50.753] DBG>ivi_shell_set_surfacetype: (08b96da8) (ico_ivi_shell.c:1536)
+[16:41:50.753] DBG>set_surface_type: [08ba4690] (08b96da8) type=1 (ico_ivi_shell.c:265)
+[16:41:50.753] DBG>reset_shell_surface_type: [08ba4690] (ico_ivi_shell.c:244)
+[16:41:50.753] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) VISIBLE(surf=0000000b,vis=1,raise=9,hint=0) (ico_window_mgr.c:1455)
+[16:41:50.753] DBG>uifw_set_visible: Leave(OK) (ico_window_mgr.c:1065)
+[16:41:50.793] DBG>uifw_set_visible: Enter(surf=0000000b,1,9) (ico_window_mgr.c:980)
+[16:41:50.793] DBG>uifw_set_visible: Request from Manager(test-homescreen) (ico_window_mgr.c:990)
+[16:41:50.793] DBG>uifw_set_visible: Set w/h=0/0 (ico_window_mgr.c:1009)
+[16:41:50.793] DBG>uifw_set_visible: Leave(No Change) (ico_window_mgr.c:1028)
+[16:41:51.315] DBG>click_to_activate_binding: call ivi_shell_hook_select[08b98608] (ico_ivi_shell.c:1325)
+[16:41:51.315] DBG>win_mgr_surface_select: Enter(08baa788) (ico_window_mgr.c:1250)
+[16:41:51.315] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) ACTIVE surf=00000001 active=2 (ico_window_mgr.c:1478)
+[16:41:51.316] DBG>win_mgr_surface_select: Leave(OK) (ico_window_mgr.c:1263)
+[16:41:51.316] DBG>click_to_activate_binding: ret  ivi_shell_hook_select (ico_ivi_shell.c:1327)
+[16:41:51.749] DBG>bind_shell: client=08ba84b8 id=6 (ico_ivi_shell.c:1112)
+[16:41:51.749] DBG>bind_shell_client: Enter(client=08ba84b8) (ico_window_mgr.c:414)
+[16:41:51.749] DBG>find_client_from_client: NULL (ico_window_mgr.c:293)
+[16:41:51.749] DBG>bind_shell_client: Create Client (ico_window_mgr.c:420)
+[16:41:51.749] DBG>bind_shell_client: client=08ba84b8 pid=31989 uid=0 gid=0 (ico_window_mgr.c:432)
+[16:41:51.752] DBG>bind_shell_client: pid=31989 dose not exist in AppCore(AUL) (ico_window_mgr.c:444)
+[16:41:51.752] DBG>bind_shell_client: client=08ba84b8 pid=31989 appid=<test-client@2> from Process table (ico_window_mgr.c:483)
+[16:41:51.752] DBG>bind_shell_client: Leave (ico_window_mgr.c:495)
+[16:41:51.752] DBG>bind_ivi_shell: client=08ba84b8 id=7 (ico_ivi_shell.c:1179)
+[16:41:51.752] DBG>bind_ico_win_mgr: Enter(client=08ba84b8, id=8) (ico_window_mgr.c:1353)
+[16:41:51.752] DBG>bind_ico_win_mgr: Leave (ico_window_mgr.c:1365)
+[16:41:51.752] DBG>ico_exinput_bind: Enter(client=08ba84b8,test-client@2) (ico_input_mgr.c:727)
+[16:41:51.753] DBG>ico_exinput_bind: Create App.test-client@2 table (ico_input_mgr.c:747)
+[16:41:51.753] DBG>ico_exinput_bind: Leave (ico_input_mgr.c:785)
+[16:41:51.850] DBG>shell_get_shell_surface: Enter (08bc4780) client=08ba84b8 (ico_ivi_shell.c:761)
+[16:41:51.850] DBG>create_shell_surface: (08bc4780) [08bc49f0] client=b5c0a744 (visible=0) (ico_ivi_shell.c:704)
+[16:41:51.850] DBG>shell_get_shell_surface: Init shsurf(08bc49f0) weston_surf=08bc4780 (ico_ivi_shell.c:782)
+[16:41:51.850] DBG>shell_get_shell_surface: call ivi_shell_hook_create(08ba84b8,,08bc4780,08bc49f0) (ico_ivi_shell.c:787)
+[16:41:51.850] DBG>client_register_surface: Enter(surf=08bc4780,client=08ba84b8,res=08ba85e0) (ico_window_mgr.c:543)
+[16:41:51.850] DBG>find_uifw_win_surface_by_ws: NULL (ico_window_mgr.c:269)
+[16:41:51.850] DBG>generate_id: SurfaceId=0000000c (ico_window_mgr.c:357)
+[16:41:51.850] DBG>client_register_surface: Manager exist, Not visible (ico_window_mgr.c:569)
+[16:41:51.850] DBG>ivi_shell_set_visible: [08bc49f0] visible=-1 (ico_ivi_shell.c:1356)
+[16:41:51.851] DBG>ivi_shell_set_visible: No change (ico_ivi_shell.c:1377)
+[16:41:51.851] DBG>ivi_shell_set_layer: Enter([08bc49f0],08bc4780,0) (ico_ivi_shell.c:1416)
+[16:41:51.851] DBG>ivi_shell_set_layer: el=08ba5b38(103) (ico_ivi_shell.c:1428)
+[16:41:51.851] DBG>ivi_shell_set_layer: el=08bbffa8(102) (ico_ivi_shell.c:1428)
+[16:41:51.851] DBG>ivi_shell_set_layer: el=08ba5b88(101) (ico_ivi_shell.c:1428)
+[16:41:51.851] DBG>ivi_shell_set_layer: el=08ba83c8(100) (ico_ivi_shell.c:1428)
+[16:41:51.851] DBG>ivi_shell_set_layer: el=0894f568(0) (ico_ivi_shell.c:1428)
+[16:41:51.851] DBG>ivi_shell_set_layer: Add surface to Layer 0 (ico_ivi_shell.c:1462)
+[16:41:51.851] DBG>ivi_shell_restack_ivi_layer: Enter[08bc49f0] (ico_ivi_shell.c:1220)
+[16:41:51.851] DBG>ivi_shell_restack_ivi_layer: Leave (ico_ivi_shell.c:1286)
+[16:41:51.851] DBG>ivi_shell_set_layer: Leave (ico_ivi_shell.c:1471)
+[16:41:51.851] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) WINDOW_CREATED(surf=0000000c,pid=31989,appid=test-client@2) (ico_window_mgr.c:1448)
+[16:41:51.851] DBG>client_register_surface: Leave(surfaceId=0000000c) (ico_window_mgr.c:627)
+[16:41:51.851] DBG>shell_get_shell_surface: ret  ivi_shell_hook_create (ico_ivi_shell.c:789)
+[16:41:51.851] DBG>shell_get_shell_surface: Leave (ico_ivi_shell.c:791)
+[16:41:51.851] DBG>shell_surface_set_toplevel: Set TopLevel[08bc49f0] (ico_ivi_shell.c:373)
+[16:41:51.973] DBG>set_surface_type: [08bc49f0] (08bc4780) type=1 (ico_ivi_shell.c:265)
+[16:41:51.973] DBG>reset_shell_surface_type: [08bc49f0] (ico_ivi_shell.c:244)
+[16:41:51.973] DBG>shell_surface_configure: configure to Buffer size(no Manager) x=16384+16384-16384 y=16384+16384-16384 (ico_ivi_shell.c:1080)
+[16:41:51.973] DBG>configure: Enter(08bc4780) [08bc49f0] x/y=16384/16384, w/h=640/480 (ico_ivi_shell.c:965)
+[16:41:51.973] DBG>ivi_shell_surface_configure: 08bc49f0 16384,16384(640/480) unvisible (ico_ivi_shell.c:1710)
+[16:41:51.973] DBG>configure: Leave (ico_ivi_shell.c:987)
+[16:41:52.627] DBG>uifw_set_window_layer: Enter res=08b425a0 surfaceid=0000000c layer=101 (ico_window_mgr.c:823)
+[16:41:52.627] DBG>uifw_set_window_layer: Set Layer(101) to Shell Surface (ico_window_mgr.c:833)
+[16:41:52.627] DBG>ivi_shell_set_layer: Enter([08bc49f0],08bc4780,101) (ico_ivi_shell.c:1416)
+[16:41:52.627] DBG>ivi_shell_set_layer: el=08ba5b38(103) (ico_ivi_shell.c:1428)
+[16:41:52.627] DBG>ivi_shell_set_layer: el=08bbffa8(102) (ico_ivi_shell.c:1428)
+[16:41:52.627] DBG>ivi_shell_set_layer: el=08ba5b88(101) (ico_ivi_shell.c:1428)
+[16:41:52.627] DBG>ivi_shell_set_layer: Add surface to Layer 101 (ico_ivi_shell.c:1462)
+[16:41:52.627] DBG>ivi_shell_restack_ivi_layer: Enter[08bc49f0] (ico_ivi_shell.c:1220)
+[16:41:52.627] DBG>ivi_shell_restack_ivi_layer: Leave (ico_ivi_shell.c:1286)
+[16:41:52.627] DBG>ivi_shell_set_layer: Leave (ico_ivi_shell.c:1471)
+[16:41:52.627] DBG>win_mgr_surface_change: Enter(08bc4780,1,1) (ico_window_mgr.c:1208)
+[16:41:52.627] DBG>win_mgr_surface_change: Send SHELL_SURFACE_CONFIGURE(0000000c,w/h=0/0) (ico_window_mgr.c:1220)
+[16:41:52.627] DBG>ivi_shell_send_configure: (08bc4780) edges=a w/h=0/0 (ico_ivi_shell.c:1559)
+[16:41:52.627] DBG>win_mgr_surface_change: Leave(OK) (ico_window_mgr.c:1234)
+[16:41:52.627] DBG>uifw_set_window_layer: Leave (ico_window_mgr.c:838)
+[16:41:52.632] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=640/480) (ico_ivi_shell.c:1047)
+[16:41:52.632] DBG>ivi_shell_surface_configure: 08bc49f0 16384,16384(0/0) unvisible (ico_ivi_shell.c:1710)
+[16:41:52.632] DBG>shell_surface_configure: w/h=0/0->0/0 x/y=16384/16384->16384/16384 (ico_ivi_shell.c:1068)
+[16:41:52.632] DBG>win_mgr_surface_change_mgr: Enter(08bc4780,x/y=16384/16384,w/h=640/480) (ico_window_mgr.c:1177)
+[16:41:52.632] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=0000000c,app=test-client@2,layer=101,x/y=16384/16384,w/h=640/480,hint=1) (ico_window_mgr.c:1464)
+[16:41:52.632] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:52.632] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:52.647] DBG>uifw_set_positionsize: Enter res=08b425a0 surf=0000000c x/y/w/h=250/300/16384/16384 (ico_window_mgr.c:897)
+[16:41:52.647] DBG>uifw_set_positionsize: Old geometry x/y=16384/16384,w/h=0/0 (ico_window_mgr.c:931)
+[16:41:52.647] DBG>win_mgr_surface_change: Enter(08bc4780,0,1) (ico_window_mgr.c:1208)
+[16:41:52.647] DBG>win_mgr_surface_change: Send SHELL_SURFACE_CONFIGURE(0000000c,w/h=0/0) (ico_window_mgr.c:1220)
+[16:41:52.647] DBG>ivi_shell_send_configure: (08bc4780) edges=a w/h=0/0 (ico_ivi_shell.c:1559)
+[16:41:52.647] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=0000000c,app=test-client@2,layer=101,x/y=250/300,w/h=0/0,hint=0) (ico_window_mgr.c:1464)
+[16:41:52.647] DBG>win_mgr_surface_change: Leave(OK) (ico_window_mgr.c:1234)
+[16:41:52.647] DBG>uifw_set_positionsize: Leave(OK,output=894e898) (ico_window_mgr.c:954)
+[16:41:52.667] DBG>uifw_set_visible: Enter(surf=0000000c,1,9) (ico_window_mgr.c:980)
+[16:41:52.667] DBG>uifw_set_visible: Request from Manager(test-homescreen) (ico_window_mgr.c:990)
+[16:41:52.667] DBG>uifw_set_visible: Set w/h=0/0 (ico_window_mgr.c:1009)
+[16:41:52.667] DBG>ivi_shell_set_visible: [08bc49f0] visible=1 (ico_ivi_shell.c:1356)
+[16:41:52.667] DBG>ivi_shell_restack_ivi_layer: Enter[08bc49f0] (ico_ivi_shell.c:1220)
+[16:41:52.667] DBG>ivi_shell_restack_ivi_layer: Leave (ico_ivi_shell.c:1286)
+[16:41:52.667] DBG>uifw_set_visible: Change to Visible (ico_window_mgr.c:1016)
+[16:41:52.667] DBG>ivi_shell_set_toplevel: (08bc4780) (ico_ivi_shell.c:1520)
+[16:41:52.667] DBG>uifw_set_visible: Visible to Weston WSurf=08bc4780,250/300/0/0 (ico_window_mgr.c:1023)
+[16:41:52.667] DBG>uifw_set_weston_surface: w/h=0/0->0/0 x/y=250/300->250/300 (ico_window_mgr.c:871)
+[16:41:52.667] DBG>ivi_shell_surface_configure: 08bc49f0 250,300(0/0) visible (ico_ivi_shell.c:1717)
+[16:41:52.667] DBG>ivi_shell_set_surfacetype: (08bc4780) (ico_ivi_shell.c:1536)
+[16:41:52.667] DBG>set_surface_type: [08bc49f0] (08bc4780) type=1 (ico_ivi_shell.c:265)
+[16:41:52.667] DBG>reset_shell_surface_type: [08bc49f0] (ico_ivi_shell.c:244)
+[16:41:52.667] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) VISIBLE(surf=0000000c,vis=1,raise=9,hint=0) (ico_window_mgr.c:1455)
+[16:41:52.668] DBG>uifw_set_visible: Leave(OK) (ico_window_mgr.c:1065)
+[16:41:52.707] DBG>uifw_set_visible: Enter(surf=0000000c,1,9) (ico_window_mgr.c:980)
+[16:41:52.707] DBG>uifw_set_visible: Request from Manager(test-homescreen) (ico_window_mgr.c:990)
+[16:41:52.707] DBG>uifw_set_visible: Set w/h=0/0 (ico_window_mgr.c:1009)
+[16:41:52.707] DBG>uifw_set_visible: Leave(No Change) (ico_window_mgr.c:1028)
+[16:41:53.230] DBG>click_to_activate_binding: ShellSurface[08b98608] already active (ico_ivi_shell.c:1331)
+[16:41:53.663] DBG>bind_shell: client=08badc00 id=6 (ico_ivi_shell.c:1112)
+[16:41:53.663] DBG>bind_shell_client: Enter(client=08badc00) (ico_window_mgr.c:414)
+[16:41:53.663] DBG>find_client_from_client: NULL (ico_window_mgr.c:293)
+[16:41:53.663] DBG>bind_shell_client: Create Client (ico_window_mgr.c:420)
+[16:41:53.663] DBG>bind_shell_client: client=08badc00 pid=31991 uid=0 gid=0 (ico_window_mgr.c:432)
+[16:41:53.666] DBG>bind_shell_client: pid=31991 dose not exist in AppCore(AUL) (ico_window_mgr.c:444)
+[16:41:53.666] DBG>bind_shell_client: client=08badc00 pid=31991 appid=<test-client@3> from Process table (ico_window_mgr.c:483)
+[16:41:53.666] DBG>bind_shell_client: Leave (ico_window_mgr.c:495)
+[16:41:53.666] DBG>bind_ivi_shell: client=08badc00 id=7 (ico_ivi_shell.c:1179)
+[16:41:53.666] DBG>bind_ico_win_mgr: Enter(client=08badc00, id=8) (ico_window_mgr.c:1353)
+[16:41:53.666] DBG>bind_ico_win_mgr: Leave (ico_window_mgr.c:1365)
+[16:41:53.666] DBG>ico_exinput_bind: Enter(client=08badc00,test-client@3) (ico_input_mgr.c:727)
+[16:41:53.667] DBG>ico_exinput_bind: Create App.test-client@3 table (ico_input_mgr.c:747)
+[16:41:53.667] DBG>ico_exinput_bind: Leave (ico_input_mgr.c:785)
+[16:41:53.764] DBG>shell_get_shell_surface: Enter (08b3f138) client=08badc00 (ico_ivi_shell.c:761)
+[16:41:53.764] DBG>create_shell_surface: (08b3f138) [08b3f3a8] client=b5c0a744 (visible=0) (ico_ivi_shell.c:704)
+[16:41:53.764] DBG>shell_get_shell_surface: Init shsurf(08b3f3a8) weston_surf=08b3f138 (ico_ivi_shell.c:782)
+[16:41:53.764] DBG>shell_get_shell_surface: call ivi_shell_hook_create(08badc00,,08b3f138,08b3f3a8) (ico_ivi_shell.c:787)
+[16:41:53.764] DBG>client_register_surface: Enter(surf=08b3f138,client=08badc00,res=08badc58) (ico_window_mgr.c:543)
+[16:41:53.764] DBG>find_uifw_win_surface_by_ws: NULL (ico_window_mgr.c:269)
+[16:41:53.764] DBG>generate_id: SurfaceId=0000000d (ico_window_mgr.c:357)
+[16:41:53.764] DBG>client_register_surface: Manager exist, Not visible (ico_window_mgr.c:569)
+[16:41:53.764] DBG>ivi_shell_set_visible: [08b3f3a8] visible=-1 (ico_ivi_shell.c:1356)
+[16:41:53.765] DBG>ivi_shell_set_visible: No change (ico_ivi_shell.c:1377)
+[16:41:53.765] DBG>ivi_shell_set_layer: Enter([08b3f3a8],08b3f138,0) (ico_ivi_shell.c:1416)
+[16:41:53.765] DBG>ivi_shell_set_layer: el=08ba5b38(103) (ico_ivi_shell.c:1428)
+[16:41:53.765] DBG>ivi_shell_set_layer: el=08bbffa8(102) (ico_ivi_shell.c:1428)
+[16:41:53.765] DBG>ivi_shell_set_layer: el=08ba5b88(101) (ico_ivi_shell.c:1428)
+[16:41:53.765] DBG>ivi_shell_set_layer: el=08ba83c8(100) (ico_ivi_shell.c:1428)
+[16:41:53.765] DBG>ivi_shell_set_layer: el=0894f568(0) (ico_ivi_shell.c:1428)
+[16:41:53.765] DBG>ivi_shell_set_layer: Add surface to Layer 0 (ico_ivi_shell.c:1462)
+[16:41:53.765] DBG>ivi_shell_restack_ivi_layer: Enter[08b3f3a8] (ico_ivi_shell.c:1220)
+[16:41:53.765] DBG>ivi_shell_restack_ivi_layer: Leave (ico_ivi_shell.c:1286)
+[16:41:53.765] DBG>ivi_shell_set_layer: Leave (ico_ivi_shell.c:1471)
+[16:41:53.765] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) WINDOW_CREATED(surf=0000000d,pid=31991,appid=test-client@3) (ico_window_mgr.c:1448)
+[16:41:53.765] DBG>client_register_surface: Leave(surfaceId=0000000d) (ico_window_mgr.c:627)
+[16:41:53.765] DBG>shell_get_shell_surface: ret  ivi_shell_hook_create (ico_ivi_shell.c:789)
+[16:41:53.765] DBG>shell_get_shell_surface: Leave (ico_ivi_shell.c:791)
+[16:41:53.765] DBG>shell_surface_set_toplevel: Set TopLevel[08b3f3a8] (ico_ivi_shell.c:373)
+[16:41:53.884] DBG>set_surface_type: [08b3f3a8] (08b3f138) type=1 (ico_ivi_shell.c:265)
+[16:41:53.884] DBG>reset_shell_surface_type: [08b3f3a8] (ico_ivi_shell.c:244)
+[16:41:53.884] DBG>shell_surface_configure: configure to Buffer size(no Manager) x=16384+16384-16384 y=16384+16384-16384 (ico_ivi_shell.c:1080)
+[16:41:53.884] DBG>configure: Enter(08b3f138) [08b3f3a8] x/y=16384/16384, w/h=640/480 (ico_ivi_shell.c:965)
+[16:41:53.884] DBG>ivi_shell_surface_configure: 08b3f3a8 16384,16384(640/480) unvisible (ico_ivi_shell.c:1710)
+[16:41:53.884] DBG>configure: Leave (ico_ivi_shell.c:987)
+[16:41:54.541] DBG>uifw_set_window_layer: Enter res=08b425a0 surfaceid=0000000d layer=101 (ico_window_mgr.c:823)
+[16:41:54.541] DBG>uifw_set_window_layer: Set Layer(101) to Shell Surface (ico_window_mgr.c:833)
+[16:41:54.541] DBG>ivi_shell_set_layer: Enter([08b3f3a8],08b3f138,101) (ico_ivi_shell.c:1416)
+[16:41:54.541] DBG>ivi_shell_set_layer: el=08ba5b38(103) (ico_ivi_shell.c:1428)
+[16:41:54.541] DBG>ivi_shell_set_layer: el=08bbffa8(102) (ico_ivi_shell.c:1428)
+[16:41:54.541] DBG>ivi_shell_set_layer: el=08ba5b88(101) (ico_ivi_shell.c:1428)
+[16:41:54.541] DBG>ivi_shell_set_layer: Add surface to Layer 101 (ico_ivi_shell.c:1462)
+[16:41:54.541] DBG>ivi_shell_restack_ivi_layer: Enter[08b3f3a8] (ico_ivi_shell.c:1220)
+[16:41:54.541] DBG>ivi_shell_restack_ivi_layer: Leave (ico_ivi_shell.c:1286)
+[16:41:54.541] DBG>ivi_shell_set_layer: Leave (ico_ivi_shell.c:1471)
+[16:41:54.541] DBG>win_mgr_surface_change: Enter(08b3f138,1,1) (ico_window_mgr.c:1208)
+[16:41:54.541] DBG>win_mgr_surface_change: Send SHELL_SURFACE_CONFIGURE(0000000d,w/h=0/0) (ico_window_mgr.c:1220)
+[16:41:54.541] DBG>ivi_shell_send_configure: (08b3f138) edges=a w/h=0/0 (ico_ivi_shell.c:1559)
+[16:41:54.541] DBG>win_mgr_surface_change: Leave(OK) (ico_window_mgr.c:1234)
+[16:41:54.541] DBG>uifw_set_window_layer: Leave (ico_window_mgr.c:838)
+[16:41:54.548] DBG>shell_surface_configure: App request change(sx/sy=0/0 w/h=640/480) (ico_ivi_shell.c:1047)
+[16:41:54.548] DBG>ivi_shell_surface_configure: 08b3f3a8 16384,16384(0/0) unvisible (ico_ivi_shell.c:1710)
+[16:41:54.548] DBG>shell_surface_configure: w/h=0/0->0/0 x/y=16384/16384->16384/16384 (ico_ivi_shell.c:1068)
+[16:41:54.548] DBG>win_mgr_surface_change_mgr: Enter(08b3f138,x/y=16384/16384,w/h=640/480) (ico_window_mgr.c:1177)
+[16:41:54.548] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=0000000d,app=test-client@3,layer=101,x/y=16384/16384,w/h=640/480,hint=1) (ico_window_mgr.c:1464)
+[16:41:54.548] DBG>win_mgr_surface_change_mgr: Leave(1) (ico_window_mgr.c:1189)
+[16:41:54.548] DBG>shell_surface_configure: ret ivi_shell_hook_change(1) (ico_ivi_shell.c:1073)
+[16:41:54.561] DBG>uifw_set_positionsize: Enter res=08b425a0 surf=0000000d x/y/w/h=400/400/16384/16384 (ico_window_mgr.c:897)
+[16:41:54.561] DBG>uifw_set_positionsize: Old geometry x/y=16384/16384,w/h=0/0 (ico_window_mgr.c:931)
+[16:41:54.561] DBG>win_mgr_surface_change: Enter(08b3f138,0,1) (ico_window_mgr.c:1208)
+[16:41:54.561] DBG>win_mgr_surface_change: Send SHELL_SURFACE_CONFIGURE(0000000d,w/h=0/0) (ico_window_mgr.c:1220)
+[16:41:54.561] DBG>ivi_shell_send_configure: (08b3f138) edges=a w/h=0/0 (ico_ivi_shell.c:1559)
+[16:41:54.561] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) CONFIGURE(surf=0000000d,app=test-client@3,layer=101,x/y=400/400,w/h=0/0,hint=0) (ico_window_mgr.c:1464)
+[16:41:54.561] DBG>win_mgr_surface_change: Leave(OK) (ico_window_mgr.c:1234)
+[16:41:54.561] DBG>uifw_set_positionsize: Leave(OK,output=894e898) (ico_window_mgr.c:954)
+[16:41:54.581] DBG>uifw_set_visible: Enter(surf=0000000d,1,9) (ico_window_mgr.c:980)
+[16:41:54.581] DBG>uifw_set_visible: Request from Manager(test-homescreen) (ico_window_mgr.c:990)
+[16:41:54.581] DBG>uifw_set_visible: Set w/h=0/0 (ico_window_mgr.c:1009)
+[16:41:54.581] DBG>ivi_shell_set_visible: [08b3f3a8] visible=1 (ico_ivi_shell.c:1356)
+[16:41:54.581] DBG>ivi_shell_restack_ivi_layer: Enter[08b3f3a8] (ico_ivi_shell.c:1220)
+[16:41:54.581] DBG>ivi_shell_restack_ivi_layer: Leave (ico_ivi_shell.c:1286)
+[16:41:54.581] DBG>uifw_set_visible: Change to Visible (ico_window_mgr.c:1016)
+[16:41:54.581] DBG>ivi_shell_set_toplevel: (08b3f138) (ico_ivi_shell.c:1520)
+[16:41:54.581] DBG>uifw_set_visible: Visible to Weston WSurf=08b3f138,400/400/0/0 (ico_window_mgr.c:1023)
+[16:41:54.581] DBG>uifw_set_weston_surface: w/h=0/0->0/0 x/y=400/400->400/400 (ico_window_mgr.c:871)
+[16:41:54.581] DBG>ivi_shell_surface_configure: 08b3f3a8 400,400(0/0) visible (ico_ivi_shell.c:1717)
+[16:41:54.581] DBG>ivi_shell_set_surfacetype: (08b3f138) (ico_ivi_shell.c:1536)
+[16:41:54.581] DBG>set_surface_type: [08b3f3a8] (08b3f138) type=1 (ico_ivi_shell.c:265)
+[16:41:54.581] DBG>reset_shell_surface_type: [08b3f3a8] (ico_ivi_shell.c:244)
+[16:41:54.581] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) VISIBLE(surf=0000000d,vis=1,raise=9,hint=0) (ico_window_mgr.c:1455)
+[16:41:54.581] DBG>uifw_set_visible: Leave(OK) (ico_window_mgr.c:1065)
+[16:41:54.621] DBG>uifw_set_visible: Enter(surf=0000000d,1,9) (ico_window_mgr.c:980)
+[16:41:54.621] DBG>uifw_set_visible: Request from Manager(test-homescreen) (ico_window_mgr.c:990)
+[16:41:54.621] DBG>uifw_set_visible: Set w/h=0/0 (ico_window_mgr.c:1009)
+[16:41:54.621] DBG>uifw_set_visible: Leave(No Change) (ico_window_mgr.c:1028)
+[16:41:55.143] DBG>click_to_activate_binding: ShellSurface[08b98608] already active (ico_ivi_shell.c:1331)
+[16:41:55.565] DBG>uifw_set_visible: Enter(surf=0000000c,0,9) (ico_window_mgr.c:980)
+[16:41:55.565] DBG>uifw_set_visible: Request from Manager(test-homescreen) (ico_window_mgr.c:990)
+[16:41:55.565] DBG>ivi_shell_set_visible: [08bc49f0] visible=0 (ico_ivi_shell.c:1356)
+[16:41:55.566] DBG>ivi_shell_restack_ivi_layer: Enter[08bc49f0] (ico_ivi_shell.c:1220)
+[16:41:55.566] DBG>ivi_shell_restack_ivi_layer: Leave (ico_ivi_shell.c:1286)
+[16:41:55.566] DBG>uifw_set_visible: Change to UnVisible (ico_window_mgr.c:1036)
+[16:41:55.566] DBG>uifw_set_weston_surface: w/h=0/0->0/0 x/y=250/300->250/300 (ico_window_mgr.c:871)
+[16:41:55.566] DBG>ivi_shell_surface_configure: 08bc49f0 250,300(0/0) unvisible (ico_ivi_shell.c:1710)
+[16:41:55.566] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) VISIBLE(surf=0000000c,vis=0,raise=9,hint=0) (ico_window_mgr.c:1455)
+[16:41:55.566] DBG>uifw_set_visible: Leave(OK) (ico_window_mgr.c:1065)
+[16:41:55.606] DBG>uifw_set_visible: Enter(surf=0000000c,0,9) (ico_window_mgr.c:980)
+[16:41:55.606] DBG>uifw_set_visible: Request from Manager(test-homescreen) (ico_window_mgr.c:990)
+[16:41:55.606] DBG>uifw_set_visible: Leave(No Change) (ico_window_mgr.c:1042)
+[16:41:55.927] DBG>click_to_activate_binding: ShellSurface[08b98608] already active (ico_ivi_shell.c:1331)
+[16:41:56.650] DBG>uifw_set_visible: Enter(surf=0000000d,9,0) (ico_window_mgr.c:980)
+[16:41:56.650] DBG>uifw_set_visible: Request from Manager(test-homescreen) (ico_window_mgr.c:990)
+[16:41:56.650] DBG>ivi_shell_set_raise: Enter(08b3f138,0) layer_list=08ba5b88 (ico_ivi_shell.c:1488)
+[16:41:56.650] DBG>ivi_shell_set_raise: Lower Link to Bottom (ico_ivi_shell.c:1499)
+[16:41:56.650] DBG>ivi_shell_restack_ivi_layer: Enter[08b3f3a8] (ico_ivi_shell.c:1220)
+[16:41:56.650] DBG>ivi_shell_restack_ivi_layer: Leave (ico_ivi_shell.c:1286)
+[16:41:56.650] DBG>ivi_shell_set_raise: Leave (ico_ivi_shell.c:1505)
+[16:41:56.650] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) VISIBLE(surf=0000000d,vis=9,raise=0,hint=0) (ico_window_mgr.c:1455)
+[16:41:56.650] DBG>uifw_set_visible: Leave(OK) (ico_window_mgr.c:1065)
+[16:41:56.691] DBG>uifw_set_visible: Enter(surf=0000000d,9,9) (ico_window_mgr.c:980)
+[16:41:56.691] DBG>uifw_set_visible: Request from Manager(test-homescreen) (ico_window_mgr.c:990)
+[16:41:56.691] DBG>uifw_set_visible: Leave(No Change) (ico_window_mgr.c:1047)
+[16:41:57.012] DBG>click_to_activate_binding: ShellSurface[08b98608] already active (ico_ivi_shell.c:1331)
+[16:41:57.735] DBG>uifw_set_visible: Enter(surf=0000000c,1,9) (ico_window_mgr.c:980)
+[16:41:57.735] DBG>uifw_set_visible: Request from Manager(test-homescreen) (ico_window_mgr.c:990)
+[16:41:57.735] DBG>uifw_set_visible: Set w/h=0/0 (ico_window_mgr.c:1009)
+[16:41:57.735] DBG>ivi_shell_set_visible: [08bc49f0] visible=1 (ico_ivi_shell.c:1356)
+[16:41:57.735] DBG>ivi_shell_restack_ivi_layer: Enter[08bc49f0] (ico_ivi_shell.c:1220)
+[16:41:57.735] DBG>ivi_shell_restack_ivi_layer: Leave (ico_ivi_shell.c:1286)
+[16:41:57.735] DBG>uifw_set_visible: Change to Visible (ico_window_mgr.c:1016)
+[16:41:57.735] DBG>ivi_shell_set_toplevel: (08bc4780) (ico_ivi_shell.c:1520)
+[16:41:57.735] DBG>uifw_set_visible: Visible to Weston WSurf=08bc4780,250/300/0/0 (ico_window_mgr.c:1023)
+[16:41:57.735] DBG>uifw_set_weston_surface: w/h=0/0->0/0 x/y=250/300->250/300 (ico_window_mgr.c:871)
+[16:41:57.735] DBG>ivi_shell_surface_configure: 08bc49f0 250,300(0/0) visible (ico_ivi_shell.c:1717)
+[16:41:57.735] DBG>ivi_shell_set_surfacetype: (08bc4780) (ico_ivi_shell.c:1536)
+[16:41:57.736] DBG>set_surface_type: [08bc49f0] (08bc4780) type=1 (ico_ivi_shell.c:265)
+[16:41:57.736] DBG>reset_shell_surface_type: [08bc49f0] (ico_ivi_shell.c:244)
+[16:41:57.736] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) VISIBLE(surf=0000000c,vis=1,raise=9,hint=0) (ico_window_mgr.c:1455)
+[16:41:57.736] DBG>uifw_set_visible: Leave(OK) (ico_window_mgr.c:1065)
+[16:41:57.775] DBG>uifw_set_visible: Enter(surf=0000000c,1,9) (ico_window_mgr.c:980)
+[16:41:57.775] DBG>uifw_set_visible: Request from Manager(test-homescreen) (ico_window_mgr.c:990)
+[16:41:57.775] DBG>uifw_set_visible: Set w/h=0/0 (ico_window_mgr.c:1009)
+[16:41:57.775] DBG>uifw_set_visible: Leave(No Change) (ico_window_mgr.c:1028)
+[16:41:58.097] DBG>click_to_activate_binding: ShellSurface[08b98608] already active (ico_ivi_shell.c:1331)
+[16:42:00.326] DBG>ico_device_configure_input: Enter(client=08bc8578,dev=InDev1,type=8,swname=Sw1,input=0,code=0[Sw1]) (ico_input_mgr.c:381)
+[16:42:00.326] DBG>ico_device_configure_input: create pIctlMgr(mgr=08bc18d0,input=0) (ico_input_mgr.c:396)
+[16:42:00.326] DBG>ico_device_configure_input: create InDev1.Sw1(0) switch (ico_input_mgr.c:416)
+[16:42:00.326] DBG>ico_device_configure_input: send capabilities to app(test-homescreen) InDev1.Sw1[0] (ico_input_mgr.c:454)
+[16:42:00.326] DBG>ico_device_configure_input: send capabilities to app(test-client@1) InDev1.Sw1[0] (ico_input_mgr.c:454)
+[16:42:00.326] DBG>ico_device_configure_input: send capabilities to app(test-client@2) InDev1.Sw1[0] (ico_input_mgr.c:454)
+[16:42:00.326] DBG>ico_device_configure_input: send capabilities to app(test-client@3) InDev1.Sw1[0] (ico_input_mgr.c:454)
+[16:42:00.326] DBG>ico_device_configure_input: Leave (ico_input_mgr.c:459)
+[16:42:00.346] DBG>ico_device_configure_input: Enter(client=08bc8578,dev=InDev1,type=8,swname=Sw2,input=1,code=10[Up]) (ico_input_mgr.c:381)
+[16:42:00.346] DBG>ico_device_configure_input: create InDev1.Sw2(1) switch (ico_input_mgr.c:416)
+[16:42:00.346] DBG>ico_device_configure_input: send capabilities to app(test-homescreen) InDev1.Sw2[1] (ico_input_mgr.c:454)
+[16:42:00.346] DBG>ico_device_configure_input: send capabilities to app(test-client@1) InDev1.Sw2[1] (ico_input_mgr.c:454)
+[16:42:00.346] DBG>ico_device_configure_input: send capabilities to app(test-client@2) InDev1.Sw2[1] (ico_input_mgr.c:454)
+[16:42:00.346] DBG>ico_device_configure_input: send capabilities to app(test-client@3) InDev1.Sw2[1] (ico_input_mgr.c:454)
+[16:42:00.346] DBG>ico_device_configure_input: Leave (ico_input_mgr.c:459)
+[16:42:00.366] DBG>ico_device_configure_code: Enter(client=08bc8578,dev=InDev1,input=1,code=11[Down]) (ico_input_mgr.c:481)
+[16:42:00.366] DBG>ico_device_configure_input: send code to app(test-homescreen) InDev1.Sw2[1] (ico_input_mgr.c:526)
+[16:42:00.366] DBG>ico_device_configure_input: send code to app(test-client@1) InDev1.Sw2[1] (ico_input_mgr.c:526)
+[16:42:00.366] DBG>ico_device_configure_input: send code to app(test-client@2) InDev1.Sw2[1] (ico_input_mgr.c:526)
+[16:42:00.366] DBG>ico_device_configure_input: send code to app(test-client@3) InDev1.Sw2[1] (ico_input_mgr.c:526)
+[16:42:00.366] DBG>ico_device_configure_code: Leave (ico_input_mgr.c:530)
+[16:42:00.386] DBG>ico_device_configure_input: Enter(client=08bc8578,dev=InDev1,type=8,swname=Sw3,input=2,code=20[Left]) (ico_input_mgr.c:381)
+[16:42:00.386] DBG>ico_device_configure_input: create InDev1.Sw3(2) switch (ico_input_mgr.c:416)
+[16:42:00.386] DBG>ico_device_configure_input: send capabilities to app(test-homescreen) InDev1.Sw3[2] (ico_input_mgr.c:454)
+[16:42:00.386] DBG>ico_device_configure_input: send capabilities to app(test-client@1) InDev1.Sw3[2] (ico_input_mgr.c:454)
+[16:42:00.386] DBG>ico_device_configure_input: send capabilities to app(test-client@2) InDev1.Sw3[2] (ico_input_mgr.c:454)
+[16:42:00.387] DBG>ico_device_configure_input: send capabilities to app(test-client@3) InDev1.Sw3[2] (ico_input_mgr.c:454)
+[16:42:00.387] DBG>ico_device_configure_input: Leave (ico_input_mgr.c:459)
+[16:42:00.407] DBG>ico_device_configure_code: Enter(client=08bc8578,dev=InDev1,input=2,code=21[Right]) (ico_input_mgr.c:481)
+[16:42:00.407] DBG>ico_device_configure_input: send code to app(test-homescreen) InDev1.Sw3[2] (ico_input_mgr.c:526)
+[16:42:00.407] DBG>ico_device_configure_input: send code to app(test-client@1) InDev1.Sw3[2] (ico_input_mgr.c:526)
+[16:42:00.407] DBG>ico_device_configure_input: send code to app(test-client@2) InDev1.Sw3[2] (ico_input_mgr.c:526)
+[16:42:00.407] DBG>ico_device_configure_input: send code to app(test-client@3) InDev1.Sw3[2] (ico_input_mgr.c:526)
+[16:42:00.407] DBG>ico_device_configure_code: Leave (ico_input_mgr.c:530)
+[16:42:00.427] DBG>ico_device_configure_input: Enter(client=08bc8578,dev=InDev1,type=8,swname=Sw4,input=3,code=0[Sw4]) (ico_input_mgr.c:381)
+[16:42:00.427] DBG>ico_device_configure_input: create InDev1.Sw4(3) switch (ico_input_mgr.c:416)
+[16:42:00.427] DBG>ico_device_configure_input: send capabilities to app(test-homescreen) InDev1.Sw4[3] (ico_input_mgr.c:454)
+[16:42:00.427] DBG>ico_device_configure_input: send capabilities to app(test-client@1) InDev1.Sw4[3] (ico_input_mgr.c:454)
+[16:42:00.427] DBG>ico_device_configure_input: send capabilities to app(test-client@2) InDev1.Sw4[3] (ico_input_mgr.c:454)
+[16:42:00.427] DBG>ico_device_configure_input: send capabilities to app(test-client@3) InDev1.Sw4[3] (ico_input_mgr.c:454)
+[16:42:00.427] DBG>ico_device_configure_input: Leave (ico_input_mgr.c:459)
+[16:42:00.969] DBG>ico_device_configure_input: Enter(client=08bc8578,dev=InDev2,type=8,swname=Sw0,input=0,code=0[Sw0]) (ico_input_mgr.c:381)
+[16:42:00.969] DBG>ico_device_configure_input: create pIctlMgr(mgr=08bc1910,input=0) (ico_input_mgr.c:396)
+[16:42:00.969] DBG>ico_device_configure_input: create InDev2.Sw0(0) switch (ico_input_mgr.c:416)
+[16:42:00.969] DBG>ico_device_configure_input: send capabilities to app(test-homescreen) InDev2.Sw0[0] (ico_input_mgr.c:454)
+[16:42:00.969] DBG>ico_device_configure_input: send capabilities to app(test-client@1) InDev2.Sw0[0] (ico_input_mgr.c:454)
+[16:42:00.969] DBG>ico_device_configure_input: send capabilities to app(test-client@2) InDev2.Sw0[0] (ico_input_mgr.c:454)
+[16:42:00.969] DBG>ico_device_configure_input: send capabilities to app(test-client@3) InDev2.Sw0[0] (ico_input_mgr.c:454)
+[16:42:00.969] DBG>ico_device_configure_input: Leave (ico_input_mgr.c:459)
+[16:42:00.989] DBG>ico_device_configure_input: Enter(client=08bc8578,dev=InDev2,type=8,swname=Sw1,input=1,code=0[Sw1]) (ico_input_mgr.c:381)
+[16:42:00.989] DBG>ico_device_configure_input: create InDev2.Sw1(1) switch (ico_input_mgr.c:416)
+[16:42:00.989] DBG>ico_device_configure_input: send capabilities to app(test-homescreen) InDev2.Sw1[1] (ico_input_mgr.c:454)
+[16:42:00.989] DBG>ico_device_configure_input: send capabilities to app(test-client@1) InDev2.Sw1[1] (ico_input_mgr.c:454)
+[16:42:00.989] DBG>ico_device_configure_input: send capabilities to app(test-client@2) InDev2.Sw1[1] (ico_input_mgr.c:454)
+[16:42:00.989] DBG>ico_device_configure_input: send capabilities to app(test-client@3) InDev2.Sw1[1] (ico_input_mgr.c:454)
+[16:42:00.989] DBG>ico_device_configure_input: Leave (ico_input_mgr.c:459)
+[16:42:01.552] DBG>ico_device_input_event: Enter(time=721551,dev=InDev1,input=2,code=20,state=1) (ico_input_mgr.c:553)
+[16:42:01.552] DBG>ico_device_input_event: Leave(InDev1.Sw3 not assign) (ico_input_mgr.c:574)
+[16:42:01.692] DBG>ico_device_input_event: Enter(time=721692,dev=InDev1,input=2,code=20,state=0) (ico_input_mgr.c:553)
+[16:42:01.692] DBG>ico_device_input_event: Leave(InDev1.Sw3 not assign) (ico_input_mgr.c:574)
+[16:42:02.234] DBG>ico_device_input_event: Enter(time=722234,dev=InDev2,input=0,code=1,state=1) (ico_input_mgr.c:553)
+[16:42:02.234] DBG>ico_device_input_event: Leave(InDev2.Sw0 not assign) (ico_input_mgr.c:574)
+[16:42:02.375] DBG>ico_device_input_event: Enter(time=722375,dev=InDev2,input=0,code=1,state=1) (ico_input_mgr.c:553)
+[16:42:02.375] DBG>ico_device_input_event: Leave(InDev2.Sw0 not assign) (ico_input_mgr.c:574)
+[16:42:02.937] DBG>ico_mgr_add_input_app: Enter(appid=test-client@1,dev=InDev1,input=1,fix=0) (ico_input_mgr.c:182)
+[16:42:02.938] DBG>ico_mgr_add_input_app: Leave(InDev1.Sw2[1] assign to test-client@1) (ico_input_mgr.c:227)
+[16:42:02.958] DBG>ico_mgr_add_input_app: Enter(appid=test-client@2,dev=InDev1,input=2,fix=0) (ico_input_mgr.c:182)
+[16:42:02.958] DBG>ico_mgr_add_input_app: Leave(InDev1.Sw3[2] assign to test-client@2) (ico_input_mgr.c:227)
+[16:42:02.978] DBG>ico_mgr_add_input_app: Enter(appid=test-client@3,dev=InDev1,input=3,fix=0) (ico_input_mgr.c:182)
+[16:42:02.978] DBG>ico_mgr_add_input_app: Leave(InDev1.Sw4[3] assign to test-client@3) (ico_input_mgr.c:227)
+[16:42:02.998] DBG>ico_mgr_add_input_app: Enter(appid=test-client@1,dev=InDev2,input=0,fix=1) (ico_input_mgr.c:182)
+[16:42:02.998] DBG>ico_mgr_add_input_app: Leave(InDev2.Sw0[0] assign to test-client@1) (ico_input_mgr.c:227)
+[16:42:03.018] DBG>ico_mgr_add_input_app: Enter(appid=test-client@1,dev=InDev2,input=1,fix=0) (ico_input_mgr.c:182)
+[16:42:03.018] DBG>ico_mgr_add_input_app: Leave(InDev2.Sw1[1] assign to test-client@1) (ico_input_mgr.c:227)
+[16:42:03.581] DBG>ico_device_input_event: Enter(time=723580,dev=InDev1,input=0,code=1,state=1) (ico_input_mgr.c:553)
+[16:42:03.581] DBG>ico_device_input_event: Leave(InDev1.Sw1 not assign) (ico_input_mgr.c:574)
+[16:42:03.721] DBG>ico_device_input_event: Enter(time=723721,dev=InDev1,input=0,code=1,state=0) (ico_input_mgr.c:553)
+[16:42:03.721] DBG>ico_device_input_event: Leave(InDev1.Sw1 not assign) (ico_input_mgr.c:574)
+[16:42:04.263] DBG>ico_device_input_event: Enter(time=724263,dev=InDev1,input=1,code=10,state=1) (ico_input_mgr.c:553)
+[16:42:04.263] DBG>ico_device_input_event: send event=InDev1.Sw2[1],10,1 to App.test-client@1 (ico_input_mgr.c:580)
+[16:42:04.264] DBG>ico_device_input_event: Leave (ico_input_mgr.c:584)
+[16:42:04.404] DBG>ico_device_input_event: Enter(time=724404,dev=InDev1,input=1,code=10,state=0) (ico_input_mgr.c:553)
+[16:42:04.404] DBG>ico_device_input_event: send event=InDev1.Sw2[1],10,0 to App.test-client@1 (ico_input_mgr.c:580)
+[16:42:04.404] DBG>ico_device_input_event: Leave (ico_input_mgr.c:584)
+[16:42:04.946] DBG>ico_device_input_event: Enter(time=724946,dev=InDev1,input=2,code=21,state=1) (ico_input_mgr.c:553)
+[16:42:04.946] DBG>ico_device_input_event: send event=InDev1.Sw3[2],21,1 to App.test-client@2 (ico_input_mgr.c:580)
+[16:42:04.946] DBG>ico_device_input_event: Leave (ico_input_mgr.c:584)
+[16:42:05.087] DBG>ico_device_input_event: Enter(time=725087,dev=InDev1,input=2,code=21,state=0) (ico_input_mgr.c:553)
+[16:42:05.087] DBG>ico_device_input_event: send event=InDev1.Sw3[2],21,0 to App.test-client@2 (ico_input_mgr.c:580)
+[16:42:05.087] DBG>ico_device_input_event: Leave (ico_input_mgr.c:584)
+[16:42:05.629] DBG>ico_device_input_event: Enter(time=725629,dev=InDev1,input=3,code=1,state=1) (ico_input_mgr.c:553)
+[16:42:05.629] DBG>ico_device_input_event: send event=InDev1.Sw4[3],1,1 to App.test-client@3 (ico_input_mgr.c:580)
+[16:42:05.630] DBG>ico_device_input_event: Leave (ico_input_mgr.c:584)
+[16:42:05.770] DBG>ico_device_input_event: Enter(time=725770,dev=InDev1,input=3,code=1,state=0) (ico_input_mgr.c:553)
+[16:42:05.770] DBG>ico_device_input_event: send event=InDev1.Sw4[3],1,0 to App.test-client@3 (ico_input_mgr.c:580)
+[16:42:05.770] DBG>ico_device_input_event: Leave (ico_input_mgr.c:584)
+[16:42:06.312] DBG>ico_device_input_event: Enter(time=726312,dev=InDev2,input=0,code=1,state=1) (ico_input_mgr.c:553)
+[16:42:06.312] DBG>ico_device_input_event: send event=InDev2.Sw0[0],1,1 to App.test-client@1 (ico_input_mgr.c:580)
+[16:42:06.312] DBG>ico_device_input_event: Leave (ico_input_mgr.c:584)
+[16:42:06.453] DBG>ico_device_input_event: Enter(time=726453,dev=InDev2,input=0,code=1,state=0) (ico_input_mgr.c:553)
+[16:42:06.453] DBG>ico_device_input_event: send event=InDev2.Sw0[0],1,0 to App.test-client@1 (ico_input_mgr.c:580)
+[16:42:06.453] DBG>ico_device_input_event: Leave (ico_input_mgr.c:584)
+[16:42:06.995] DBG>ico_device_input_event: Enter(time=726995,dev=InDev2,input=1,code=1,state=1) (ico_input_mgr.c:553)
+[16:42:06.995] DBG>ico_device_input_event: send event=InDev2.Sw1[1],1,1 to App.test-client@1 (ico_input_mgr.c:580)
+[16:42:06.995] DBG>ico_device_input_event: Leave (ico_input_mgr.c:584)
+[16:42:07.136] DBG>ico_device_input_event: Enter(time=727136,dev=InDev2,input=1,code=1,state=0) (ico_input_mgr.c:553)
+[16:42:07.136] DBG>ico_device_input_event: send event=InDev2.Sw1[1],1,0 to App.test-client@1 (ico_input_mgr.c:580)
+[16:42:07.136] DBG>ico_device_input_event: Leave (ico_input_mgr.c:584)
+[16:42:07.718] DBG>ico_mgr_add_input_app: Enter(appid=test-client@1,dev=InDev2,input=0,fix=0) (ico_input_mgr.c:182)
+[16:42:07.718] DBG>ico_mgr_add_input_app: Leave(InDev2.Sw0[0] assign to test-client@1) (ico_input_mgr.c:227)
+[16:42:07.759] DBG>ico_mgr_add_input_app: Enter(appid=test-client@1,dev=InDev2,input=0,fix=1) (ico_input_mgr.c:182)
+[16:42:07.759] DBG>ico_mgr_add_input_app: Leave(InDev2.Sw0[0] assign to test-client@1) (ico_input_mgr.c:227)
+[16:42:07.799] DBG>ico_mgr_add_input_app: Enter(appid=test-client@2,dev=InDev2,input=1,fix=0) (ico_input_mgr.c:182)
+[16:42:07.799] DBG>ico_mgr_add_input_app: Leave(InDev2.Sw1[1] assign to test-client@2) (ico_input_mgr.c:227)
+[16:42:07.839] DBG>ico_mgr_del_input_app: Enter(appid=test-client@1,dev=InDev1,input=1) (ico_input_mgr.c:250)
+[16:42:07.839] DBG>ico_mgr_del_input_app: Leave(InDev1.1 app.test-client@1 deleted) (ico_input_mgr.c:296)
+[16:42:07.879] DBG>ico_mgr_del_input_app: Enter(appid=test-client@1,dev=InDev2,input=1) (ico_input_mgr.c:250)
+[16:42:07.879] DBG>ico_mgr_del_input_app: Leave(InDev2.1 not app.test-client@1, current test-client@2) (ico_input_mgr.c:292)
+[16:42:07.920] DBG>ico_device_input_event: Enter(time=727920,dev=InDev2,input=0,code=1,state=1) (ico_input_mgr.c:553)
+[16:42:07.920] DBG>ico_device_input_event: send event=InDev2.Sw0[0],1,1 to App.test-client@1 (ico_input_mgr.c:580)
+[16:42:07.920] DBG>ico_device_input_event: Leave (ico_input_mgr.c:584)
+[16:42:08.060] DBG>ico_device_input_event: Enter(time=728060,dev=InDev2,input=0,code=1,state=0) (ico_input_mgr.c:553)
+[16:42:08.060] DBG>ico_device_input_event: send event=InDev2.Sw0[0],1,0 to App.test-client@1 (ico_input_mgr.c:580)
+[16:42:08.060] DBG>ico_device_input_event: Leave (ico_input_mgr.c:584)
+[16:42:08.201] DBG>ico_device_input_event: Enter(time=728201,dev=InDev2,input=1,code=1,state=1) (ico_input_mgr.c:553)
+[16:42:08.201] DBG>ico_device_input_event: send event=InDev2.Sw1[1],1,1 to App.test-client@2 (ico_input_mgr.c:580)
+[16:42:08.201] DBG>ico_device_input_event: Leave (ico_input_mgr.c:584)
+[16:42:08.342] DBG>ico_device_input_event: Enter(time=728342,dev=InDev2,input=1,code=1,state=0) (ico_input_mgr.c:553)
+[16:42:08.342] DBG>ico_device_input_event: send event=InDev2.Sw1[1],1,0 to App.test-client@2 (ico_input_mgr.c:580)
+[16:42:08.342] DBG>ico_device_input_event: Leave (ico_input_mgr.c:584)
+[16:42:08.482] DBG>ico_device_input_event: Enter(time=728482,dev=InDev1,input=3,code=1,state=1) (ico_input_mgr.c:553)
+[16:42:08.482] DBG>ico_device_input_event: send event=InDev1.Sw4[3],1,1 to App.test-client@3 (ico_input_mgr.c:580)
+[16:42:08.482] DBG>ico_device_input_event: Leave (ico_input_mgr.c:584)
+[16:42:08.623] DBG>ico_device_input_event: Enter(time=728623,dev=InDev1,input=3,code=1,state=0) (ico_input_mgr.c:553)
+[16:42:08.623] DBG>ico_device_input_event: send event=InDev1.Sw4[3],1,0 to App.test-client@3 (ico_input_mgr.c:580)
+[16:42:08.623] DBG>ico_device_input_event: Leave (ico_input_mgr.c:584)
+[16:42:09.687] DBG>ico_mgr_del_input_app: Enter(appid=,dev=,input=-1) (ico_input_mgr.c:250)
+[16:42:09.687] DBG>ico_mgr_del_input_app: InDev1.2 app.test-client@2 deleted (ico_input_mgr.c:348)
+[16:42:09.687] DBG>ico_mgr_del_input_app: InDev1.3 app.test-client@3 deleted (ico_input_mgr.c:348)
+[16:42:09.687] DBG>ico_mgr_del_input_app: InDev2.1 app.test-client@2 deleted (ico_input_mgr.c:348)
+[16:42:09.687] DBG>ico_mgr_del_input_app: Leave (ico_input_mgr.c:355)
+[16:42:12.057] libwayland: disconnect from client 0x8a4c8a0
+[16:42:12.057] DBG>unbind_shell (ico_ivi_shell.c:1135)
+[16:42:12.057] DBG>unbind_shell_client: Enter(client=08a4c8a0) (ico_window_mgr.c:511)
+[16:42:12.057] DBG>unbind_shell_client: Leave (ico_window_mgr.c:519)
+[16:42:12.057] DBG>unbind_ivi_shell (ico_ivi_shell.c:1154)
+[16:42:12.057] DBG>unbind_ico_win_mgr: Enter (ico_window_mgr.c:1381)
+[16:42:12.057] DBG>unbind_ico_win_mgr: Leave (ico_window_mgr.c:1398)
+[16:42:12.057] DBG>ico_exinput_unbind: Enter(resource=08a37938) (ico_input_mgr.c:805)
+[16:42:12.057] DBG>ico_exinput_unbind: find app.test-client@1 (ico_input_mgr.c:809)
+[16:42:12.058] DBG>ico_exinput_unbind: app.test-client@1 fix assign InDev2.Sw0 (ico_input_mgr.c:822)
+[16:42:12.058] DBG>ico_exinput_unbind: Leave (ico_input_mgr.c:840)
+[16:42:12.058] DBG>shell_handle_surface_destroy: Enter [08ba4690] data=08b96da8 (ico_ivi_shell.c:645)
+[16:42:12.058] DBG>shell_destroy_shell_surface: Enter [08ba4690] (ico_ivi_shell.c:622)
+[16:42:12.058] DBG>destroy_shell_surface: Enter[08ba4690] (ico_ivi_shell.c:583)
+[16:42:12.058] DBG>ivi_shell_restack_ivi_layer: Enter[08ba4690] (ico_ivi_shell.c:1220)
+[16:42:12.058] DBG>ivi_shell_restack_ivi_layer: Leave (ico_ivi_shell.c:1286)
+[16:42:12.058] DBG>destroy_shell_surface: call ivi_shell_hook_destroy(08b96da8) (ico_ivi_shell.c:595)
+[16:42:12.058] DBG>win_mgr_surface_destroy: Enter(08b96da8) (ico_window_mgr.c:1282)
+[16:42:12.058] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) DESTROYED surf=0000000b (ico_window_mgr.c:1472)
+[16:42:12.058] DBG>win_mgr_surface_destroy: Leave(OK) (ico_window_mgr.c:1332)
+[16:42:12.058] DBG>destroy_shell_surface: ret (ico_ivi_shell.c:597)
+[16:42:12.058] DBG>destroy_shell_surface: Leave (ico_ivi_shell.c:606)
+[16:42:12.058] DBG>shell_destroy_shell_surface: Leave (ico_ivi_shell.c:626)
+[16:42:12.058] DBG>shell_handle_surface_destroy: Leave (ico_ivi_shell.c:653)
+[16:42:12.901] libwayland: disconnect from client 0x8ba84b8
+[16:42:12.901] DBG>unbind_shell (ico_ivi_shell.c:1135)
+[16:42:12.901] DBG>unbind_shell_client: Enter(client=08ba84b8) (ico_window_mgr.c:511)
+[16:42:12.901] DBG>unbind_shell_client: Leave (ico_window_mgr.c:519)
+[16:42:12.901] DBG>unbind_ivi_shell (ico_ivi_shell.c:1154)
+[16:42:12.901] DBG>unbind_ico_win_mgr: Enter (ico_window_mgr.c:1381)
+[16:42:12.901] DBG>unbind_ico_win_mgr: Leave (ico_window_mgr.c:1398)
+[16:42:12.901] DBG>ico_exinput_unbind: Enter(resource=08bc4750) (ico_input_mgr.c:805)
+[16:42:12.901] DBG>ico_exinput_unbind: find app.test-client@2 (ico_input_mgr.c:809)
+[16:42:12.901] DBG>ico_exinput_unbind: Leave (ico_input_mgr.c:840)
+[16:42:12.901] DBG>shell_handle_surface_destroy: Enter [08bc49f0] data=08bc4780 (ico_ivi_shell.c:645)
+[16:42:12.901] DBG>shell_destroy_shell_surface: Enter [08bc49f0] (ico_ivi_shell.c:622)
+[16:42:12.901] DBG>destroy_shell_surface: Enter[08bc49f0] (ico_ivi_shell.c:583)
+[16:42:12.901] DBG>ivi_shell_restack_ivi_layer: Enter[08bc49f0] (ico_ivi_shell.c:1220)
+[16:42:12.901] DBG>ivi_shell_restack_ivi_layer: Leave (ico_ivi_shell.c:1286)
+[16:42:12.901] DBG>destroy_shell_surface: call ivi_shell_hook_destroy(08bc4780) (ico_ivi_shell.c:595)
+[16:42:12.901] DBG>win_mgr_surface_destroy: Enter(08bc4780) (ico_window_mgr.c:1282)
+[16:42:12.901] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) DESTROYED surf=0000000c (ico_window_mgr.c:1472)
+[16:42:12.901] DBG>win_mgr_surface_destroy: Leave(OK) (ico_window_mgr.c:1332)
+[16:42:12.901] DBG>destroy_shell_surface: ret (ico_ivi_shell.c:597)
+[16:42:12.901] DBG>destroy_shell_surface: Leave (ico_ivi_shell.c:606)
+[16:42:12.901] DBG>shell_destroy_shell_surface: Leave (ico_ivi_shell.c:626)
+[16:42:12.901] DBG>shell_handle_surface_destroy: Leave (ico_ivi_shell.c:653)
+[16:42:13.744] libwayland: disconnect from client 0x8badc00
+[16:42:13.744] DBG>unbind_shell (ico_ivi_shell.c:1135)
+[16:42:13.744] DBG>unbind_shell_client: Enter(client=08badc00) (ico_window_mgr.c:511)
+[16:42:13.744] DBG>unbind_shell_client: Leave (ico_window_mgr.c:519)
+[16:42:13.744] DBG>unbind_ivi_shell (ico_ivi_shell.c:1154)
+[16:42:13.744] DBG>unbind_ico_win_mgr: Enter (ico_window_mgr.c:1381)
+[16:42:13.744] DBG>unbind_ico_win_mgr: Leave (ico_window_mgr.c:1398)
+[16:42:13.744] DBG>ico_exinput_unbind: Enter(resource=08b3f0a8) (ico_input_mgr.c:805)
+[16:42:13.744] DBG>ico_exinput_unbind: find app.test-client@3 (ico_input_mgr.c:809)
+[16:42:13.744] DBG>ico_exinput_unbind: Leave (ico_input_mgr.c:840)
+[16:42:13.744] DBG>shell_handle_surface_destroy: Enter [08b3f3a8] data=08b3f138 (ico_ivi_shell.c:645)
+[16:42:13.744] DBG>shell_destroy_shell_surface: Enter [08b3f3a8] (ico_ivi_shell.c:622)
+[16:42:13.744] DBG>destroy_shell_surface: Enter[08b3f3a8] (ico_ivi_shell.c:583)
+[16:42:13.744] DBG>ivi_shell_restack_ivi_layer: Enter[08b3f3a8] (ico_ivi_shell.c:1220)
+[16:42:13.744] DBG>ivi_shell_restack_ivi_layer: Leave (ico_ivi_shell.c:1286)
+[16:42:13.744] DBG>destroy_shell_surface: call ivi_shell_hook_destroy(08b3f138) (ico_ivi_shell.c:595)
+[16:42:13.744] DBG>win_mgr_surface_destroy: Enter(08b3f138) (ico_window_mgr.c:1282)
+[16:42:13.744] DBG>ico_win_mgr_send_to_mgr: Send Manager(08b425a0) DESTROYED surf=0000000d (ico_window_mgr.c:1472)
+[16:42:13.745] DBG>win_mgr_surface_destroy: Leave(OK) (ico_window_mgr.c:1332)
+[16:42:13.745] DBG>destroy_shell_surface: ret (ico_ivi_shell.c:597)
+[16:42:13.745] DBG>destroy_shell_surface: Leave (ico_ivi_shell.c:606)
+[16:42:13.745] DBG>shell_destroy_shell_surface: Leave (ico_ivi_shell.c:626)
+[16:42:13.745] DBG>shell_handle_surface_destroy: Leave (ico_ivi_shell.c:653)
+[16:42:14.528] libwayland: disconnect from client 0x8bc8578
+[16:42:14.528] DBG>unbind_shell (ico_ivi_shell.c:1135)
+[16:42:14.528] DBG>unbind_shell_client: Enter(client=08bc8578) (ico_window_mgr.c:511)
+[16:42:14.528] DBG>unbind_shell_client: Leave (ico_window_mgr.c:519)
+[16:42:14.528] DBG>unbind_ivi_shell (ico_ivi_shell.c:1154)
+[16:42:14.528] DBG>unbind_ico_win_mgr: Enter (ico_window_mgr.c:1381)
+[16:42:14.528] DBG>unbind_ico_win_mgr: Leave (ico_window_mgr.c:1398)
+[16:42:14.528] DBG>ico_control_unbind: Enter(resource=08ba5ba8) (ico_input_mgr.c:650)
+[16:42:14.528] DBG>ico_control_unbind: find app.test-homescreen (ico_input_mgr.c:654)
+[16:42:14.528] DBG>ico_control_unbind: Leave (ico_input_mgr.c:661)
+[16:42:14.528] DBG>ico_device_unbind: Enter(resource=08b985a8) (ico_input_mgr.c:700)
+[16:42:14.528] DBG>ico_device_unbind: Leave (ico_input_mgr.c:702)
+[16:42:14.528] DBG>ico_exinput_unbind: Enter(resource=08b985d8) (ico_input_mgr.c:805)
+[16:42:14.528] DBG>ico_exinput_unbind: find app.test-homescreen (ico_input_mgr.c:809)
+[16:42:14.528] DBG>ico_exinput_unbind: Leave (ico_input_mgr.c:840)
+[16:42:14.528] DBG>shell_handle_surface_destroy: Enter [08b98608] data=08baa788 (ico_ivi_shell.c:645)
+[16:42:14.528] DBG>shell_destroy_shell_surface: Enter [08b98608] (ico_ivi_shell.c:622)
+[16:42:14.528] DBG>destroy_shell_surface: Enter[08b98608] (ico_ivi_shell.c:583)
+[16:42:14.528] DBG>ivi_shell_restack_ivi_layer: Enter[08b98608] (ico_ivi_shell.c:1220)
+[16:42:14.528] DBG>ivi_shell_restack_ivi_layer: Leave (ico_ivi_shell.c:1286)
+[16:42:14.528] DBG>destroy_shell_surface: call ivi_shell_hook_destroy(08baa788) (ico_ivi_shell.c:595)
+[16:42:14.529] DBG>win_mgr_surface_destroy: Enter(08baa788) (ico_window_mgr.c:1282)
+[16:42:14.529] DBG>win_mgr_surface_destroy: Leave(OK) (ico_window_mgr.c:1332)
+[16:42:14.529] DBG>destroy_shell_surface: ret (ico_ivi_shell.c:597)
+[16:42:14.529] DBG>destroy_shell_surface: Leave (ico_ivi_shell.c:606)
+[16:42:14.529] DBG>shell_destroy_shell_surface: Leave (ico_ivi_shell.c:626)
+[16:42:14.529] DBG>shell_handle_surface_destroy: Leave (ico_ivi_shell.c:653)
+[16:42:15.540] caught signal 15
+[16:42:15.540] DBG>shell_destroy (ico_ivi_shell.c:1199)
diff --git a/tests/weston-plugin-test b/tests/weston-plugin-test
new file mode 100755 (executable)
index 0000000..b474bd5
--- /dev/null
@@ -0,0 +1,76 @@
+#!/bin/sh
+#
+#      Weston IVI Plugin Test
+#
+#        Remark: This examination premises that Weston does not run.
+
+# 1 Delete log file
+rm -fr ../tests/testlog/*
+
+# 2 Start Pseudo event device (for Touch Panel)
+../tests/test-send_event -d -mq=5551 2> ../tests/testlog/event_log.log &
+sleep 1
+
+# 3 Weston/Wayland Envionment
+export XDG_RUNTIME_DIR=/tmp/run-root
+export QT_QPA_PLATFORM=wayland
+export ELM_ENGINE=wayland_egl
+export ECORE_EVAS_ENGINE=wayland_egl
+#export ELM_ENGINE=wayland_shm
+#export ECORE_EVAS_ENGINE=wayland_shm
+export EVAS_FONT_DPI=72
+export ECORE_IMF_MODULE=isf
+export ELM_MODULES="ctxpopup_copypasteUI>entry/api:datetime_input_ctxpopup>datetime/api"
+export ELM_SCALE="0.7"
+export ELM_PROFILE=mobile
+
+# 4 Set Environment for Test
+export WESTON_IVI_PLUGIN_DIR="../src/.libs"
+
+# 5 Start Weston
+export XDG_CONFIG_HOME="../tests"
+MOD_DIR="$PWD/../src/.libs"
+/usr/bin/weston --backend=drm-backend.so --modules=$MOD_DIR/ico_plugin_loader.so --idle-time=0 --log=../tests/testlog/weston.log &
+sleep 1
+
+# 6 Set library path
+export LD_LIBRARY_PATH=../src/.libs:$LD_LIBRARY_PATH
+
+# 7 Start test-homescreen
+../tests/test-homescreen < ../tests/testdata/hs_alltest.dat 2> ../tests/testlog/test-homescreen.log
+
+# 8 End of Test
+sleep 1
+/usr/bin/killall weston
+/usr/bin/killall test-send_event
+sleep 1
+
+# 9 Check Error
+FOUND_ERR=0
+/bin/grep "ERR>" testlog/*
+if [ "$?" != "1" ] ; then
+       FOUND_ERR=1
+fi
+/bin/grep "WRN>" testlog/*
+if [ "$?" != "1" ] ; then
+       FOUND_ERR=1
+fi
+/bin/grep "Error" testlog/*
+if [ "$?" != "1" ] ; then
+       FOUND_ERR=1
+fi
+/bin/grep "error" testlog/* | /bin/grep -v "error_but_no_problem_for_test"
+if [ "$?" != "1" ] ; then
+       FOUND_ERR=1
+fi
+/bin/grep "Fail" testlog/* | /bin/grep -v "error_but_no_problem_for_test"
+if [ "$?" != "1" ] ; then
+       FOUND_ERR=1
+fi
+
+if [ $FOUND_ERR = 0 ] ; then
+       echo "Weston IVI Plugin Test: OK"
+else
+       echo "Weston IVI Plugin Test: ERROR"
+fi
+
diff --git a/tests/weston-plugin-test.homescreen b/tests/weston-plugin-test.homescreen
new file mode 100755 (executable)
index 0000000..d7fc29b
--- /dev/null
@@ -0,0 +1,42 @@
+#!/bin/sh
+#
+#      Weston IVI Plugin Test
+#        Examination to operate only the program of the HomeScreen.
+#
+#        Remark: This examination premises that Weston does not run.
+
+# 1 Delete log file
+rm -fr ../tests/testlog/*
+
+# 2 Weston/Wayland Envionment
+export XDG_RUNTIME_DIR=/tmp/run-root
+export QT_QPA_PLATFORM=wayland
+export ELM_ENGINE=wayland_egl
+export ECORE_EVAS_ENGINE=wayland_egl
+#export ELM_ENGINE=wayland_shm
+#export ECORE_EVAS_ENGINE=wayland_shm
+export EVAS_FONT_DPI=72
+export ECORE_IMF_MODULE=isf
+export ELM_MODULES="ctxpopup_copypasteUI>entry/api:datetime_input_ctxpopup>datetime/api"
+export ELM_SCALE="0.7"
+export ELM_PROFILE=mobile
+
+# 3 Set Environment for Test
+export WESTON_IVI_PLUGIN_DIR="../src/.libs"
+
+# 4 Start Weston
+export XDG_CONFIG_HOME="../tests"
+MOD_DIR="$PWD/../src/.libs"
+/usr/bin/weston --backend=drm-backend.so --modules=$MOD_DIR/ico_plugin_loader.so --idle-time=0 --log=../tests/testlog/weston.log &
+sleep 2
+
+# 5 Set library path
+export LD_LIBRARY_PATH=../src/.libs:$LD_LIBRARY_PATH
+
+# 6 Start test-homescreen
+../tests/test-homescreen -prompt=1 2> ../tests/testlog/test-homescreen.log
+
+# 7 End of Test
+sleep 2
+/usr/bin/killall weston
+
diff --git a/tests/weston-plugin-test.input b/tests/weston-plugin-test.input
new file mode 100755 (executable)
index 0000000..0990ea9
--- /dev/null
@@ -0,0 +1,75 @@
+#!/bin/sh
+#
+#      Weston IVI Plugin Test
+#
+#        Remark: This examination premises that Weston does not run.
+
+# 1 Delete log file
+rm -fr ../tests/testlog/*
+
+# 2 Start Pseudo event device (for Touch Panel)
+../tests/test-send_event -d -mq=5551 2> ../tests/testlog/event_log.log &
+sleep 1
+
+# 3 Weston/Wayland Envionment
+export XDG_RUNTIME_DIR=/tmp/run-root
+export QT_QPA_PLATFORM=wayland
+export ELM_ENGINE=wayland_egl
+export ECORE_EVAS_ENGINE=wayland_egl
+export EVAS_FONT_DPI=72
+export ECORE_IMF_MODULE=isf
+export ELM_MODULES="ctxpopup_copypasteUI>entry/api:datetime_input_ctxpopup>datetime/api"
+export ELM_SCALE="0.7"
+export ELM_PROFILE=mobile
+#export WAYLAND_DEBUG="1"
+
+# 4 Set Environment for Test
+export WESTON_IVI_PLUGIN_DIR="../src/.libs"
+
+# 5 Start Weston
+export XDG_CONFIG_HOME="../tests"
+MOD_DIR="$PWD/../src/.libs"
+/usr/bin/weston --backend=drm-backend.so --modules=$MOD_DIR/ico_plugin_loader.so --idle-time=0 --log=../tests/testlog/weston.log &
+sleep 1
+
+# 6 Set library path
+export LD_LIBRARY_PATH=../src/.libs:$LD_LIBRARY_PATH
+
+# 7 Start test-homescreen
+../tests/test-homescreen < ../tests/testdata/hs_inputtest.dat 2> ../tests/testlog/test-homescreen.log
+
+# 8 End of Test
+sleep 1
+/usr/bin/killall weston
+/usr/bin/killall test-send_event
+sleep 1
+
+# 9 Check Error
+FOUND_ERR=0
+/bin/grep "ERR>" testlog/*
+if [ "$?" != "1" ] ; then
+       FOUND_ERR=1
+fi
+/bin/grep "WRN>" testlog/*
+if [ "$?" != "1" ] ; then
+       FOUND_ERR=1
+fi
+/bin/grep "Error" testlog/*
+if [ "$?" != "1" ] ; then
+       FOUND_ERR=1
+fi
+/bin/grep "error" testlog/* | /bin/grep -v "error_but_no_problem_for_test"
+if [ "$?" != "1" ] ; then
+       FOUND_ERR=1
+fi
+/bin/grep "Fail" testlog/* | /bin/grep -v "error_but_no_problem_for_test"
+if [ "$?" != "1" ] ; then
+       FOUND_ERR=1
+fi
+
+if [ $FOUND_ERR = 0 ] ; then
+       echo "Weston IVI Plugin Test: OK"
+else
+       echo "Weston IVI Plugin Test: ERROR"
+fi
+
diff --git a/tests/weston-plugin-test.notouch b/tests/weston-plugin-test.notouch
new file mode 100755 (executable)
index 0000000..b6a6fae
--- /dev/null
@@ -0,0 +1,76 @@
+#!/bin/sh
+#
+#      Weston IVI Plugin Test
+#
+#        Remark: This examination premises that Weston does not run.
+
+# 1 Delete log file
+rm -fr ../tests/testlog/*
+
+# 2 Start Pseudo event device (for Touch Panel)
+#../tests/test-send_event -mq=5551 &
+#sleep 1
+
+# 3 Weston/Wayland Envionment
+export XDG_RUNTIME_DIR=/tmp/run-root
+export QT_QPA_PLATFORM=wayland
+export ELM_ENGINE=wayland_egl
+export ECORE_EVAS_ENGINE=wayland_egl
+#export ELM_ENGINE=wayland_shm
+#export ECORE_EVAS_ENGINE=wayland_shm
+export EVAS_FONT_DPI=72
+export ECORE_IMF_MODULE=isf
+export ELM_MODULES="ctxpopup_copypasteUI>entry/api:datetime_input_ctxpopup>datetime/api"
+export ELM_SCALE="0.7"
+export ELM_PROFILE=mobile
+
+# 4 Set Environment for Test
+export WESTON_IVI_PLUGIN_DIR="../src/.libs"
+
+# 5 Start Weston
+export XDG_CONFIG_HOME="../tests"
+MOD_DIR="$PWD/../src/.libs"
+/usr/bin/weston --backend=drm-backend.so --modules=$MOD_DIR/ico_plugin_loader.so --idle-time=0 --log=../tests/testlog/weston.log &
+sleep 1
+
+# 6 Set library path
+export LD_LIBRARY_PATH=../src/.libs:$LD_LIBRARY_PATH
+
+# 7 Start test-homescreen
+../tests/test-homescreen < ../tests/testdata/hs_alltest.dat 2> ../tests/testlog/test-homescreen.log
+
+# 8 End of Test
+sleep 1
+/usr/bin/killall weston
+/usr/bin/killall test-send_event
+sleep 1
+
+# 9 Check Error
+FOUND_ERR=0
+/bin/grep "ERR>" testlog/*
+if [ "$?" != "1" ] ; then
+       FOUND_ERR=1
+fi
+/bin/grep "WRN>" testlog/*
+if [ "$?" != "1" ] ; then
+       FOUND_ERR=1
+fi
+/bin/grep "Error" testlog/*
+if [ "$?" != "1" ] ; then
+       FOUND_ERR=1
+fi
+/bin/grep "error" testlog/* | /bin/grep -v "error_but_no_problem_for_test"
+if [ "$?" != "1" ] ; then
+       FOUND_ERR=1
+fi
+/bin/grep "Fail" testlog/* | /bin/grep -v "error_but_no_problem_for_test"
+if [ "$?" != "1" ] ; then
+       FOUND_ERR=1
+fi
+
+if [ $FOUND_ERR = 0 ] ; then
+       echo "Weston IVI Plugin Test: OK"
+else
+       echo "Weston IVI Plugin Test: ERROR"
+fi
+
diff --git a/tests/weston-plugin-test.resize b/tests/weston-plugin-test.resize
new file mode 100755 (executable)
index 0000000..4999038
--- /dev/null
@@ -0,0 +1,76 @@
+#!/bin/sh
+#
+#      Weston IVI Plugin Test (Resize Buf test)
+#
+#        Remark: This examination premises that Weston does not run.
+
+# 1 Delete log file
+rm -fr ../tests/testlog/*
+
+# 2 Start Pseudo event device (for Touch Panel)
+../tests/test-send_event -d -mq=5551 2> ../tests/testlog/event_log.log &
+sleep 1
+
+# 3 Weston/Wayland Envionment
+export XDG_RUNTIME_DIR=/tmp/run-root
+export QT_QPA_PLATFORM=wayland
+export ELM_ENGINE=wayland_egl
+export ECORE_EVAS_ENGINE=wayland_egl
+#export ELM_ENGINE=wayland_shm
+#export ECORE_EVAS_ENGINE=wayland_shm
+export EVAS_FONT_DPI=72
+export ECORE_IMF_MODULE=isf
+export ELM_MODULES="ctxpopup_copypasteUI>entry/api:datetime_input_ctxpopup>datetime/api"
+export ELM_SCALE="0.7"
+export ELM_PROFILE=mobile
+
+# 4 Set Environment for Test
+export WESTON_IVI_PLUGIN_DIR="../src/.libs"
+
+# 5 Start Weston
+export XDG_CONFIG_HOME="../tests"
+MOD_DIR="$PWD/../src/.libs"
+/usr/bin/weston --backend=drm-backend.so --modules=$MOD_DIR/ico_plugin_loader.so --idle-time=0 --log=../tests/testlog/weston.log &
+sleep 1
+
+# 6 Set library path
+export LD_LIBRARY_PATH=../src/.libs:$LD_LIBRARY_PATH
+
+# 7 Start test-homescreen
+../tests/test-homescreen < ../tests/testdata/hs_resize.dat 2> ../tests/testlog/test-homescreen.log
+
+# 8 End of Test
+sleep 1
+/usr/bin/killall weston
+/usr/bin/killall test-send_event
+sleep 1
+
+# 9 Check Error
+FOUND_ERR=0
+/bin/grep "ERR>" testlog/*
+if [ "$?" != "1" ] ; then
+       FOUND_ERR=1
+fi
+/bin/grep "WRN>" testlog/*
+if [ "$?" != "1" ] ; then
+       FOUND_ERR=1
+fi
+/bin/grep "Error" testlog/*
+if [ "$?" != "1" ] ; then
+       FOUND_ERR=1
+fi
+/bin/grep "error" testlog/* | /bin/grep -v "error_but_no_problem_for_test"
+if [ "$?" != "1" ] ; then
+       FOUND_ERR=1
+fi
+/bin/grep "Fail" testlog/* | /bin/grep -v "error_but_no_problem_for_test"
+if [ "$?" != "1" ] ; then
+       FOUND_ERR=1
+fi
+
+if [ $FOUND_ERR = 0 ] ; then
+       echo "Weston IVI Plugin Test: OK"
+else
+       echo "Weston IVI Plugin Test: ERROR"
+fi
+
diff --git a/tests/weston-plugin-test.resize_flower b/tests/weston-plugin-test.resize_flower
new file mode 100755 (executable)
index 0000000..12d4411
--- /dev/null
@@ -0,0 +1,76 @@
+#!/bin/sh
+#
+#      Weston IVI Plugin Test (Resize Buf test)
+#
+#        Remark: This examination premises that Weston does not run.
+
+# 1 Delete log file
+rm -fr ../tests/testlog/*
+
+# 2 Start Pseudo event device (for Touch Panel)
+../tests/test-send_event -d -mq=5551 2> ../tests/testlog/event_log.log &
+sleep 1
+
+# 3 Weston/Wayland Envionment
+export XDG_RUNTIME_DIR=/tmp/run-root
+export QT_QPA_PLATFORM=wayland
+export ELM_ENGINE=wayland_egl
+export ECORE_EVAS_ENGINE=wayland_egl
+#export ELM_ENGINE=wayland_shm
+#export ECORE_EVAS_ENGINE=wayland_shm
+export EVAS_FONT_DPI=72
+export ECORE_IMF_MODULE=isf
+export ELM_MODULES="ctxpopup_copypasteUI>entry/api:datetime_input_ctxpopup>datetime/api"
+export ELM_SCALE="0.7"
+export ELM_PROFILE=mobile
+
+# 4 Set Environment for Test
+export WESTON_IVI_PLUGIN_DIR="../src/.libs"
+
+# 5 Start Weston
+export XDG_CONFIG_HOME="../tests"
+MOD_DIR="$PWD/../src/.libs"
+/usr/bin/weston --backend=drm-backend.so --modules=$MOD_DIR/ico_plugin_loader.so --idle-time=0 --log=../tests/testlog/weston.log &
+sleep 1
+
+# 6 Set library path
+export LD_LIBRARY_PATH=../src/.libs:$LD_LIBRARY_PATH
+
+# 7 Start test-homescreen
+../tests/test-homescreen < ../tests/testdata/hs_resize_flower.dat 2> ../tests/testlog/test-homescreen.log
+
+# 8 End of Test
+sleep 1
+/usr/bin/killall weston
+/usr/bin/killall test-send_event
+sleep 1
+
+# 9 Check Error
+FOUND_ERR=0
+/bin/grep "ERR>" testlog/*
+if [ "$?" != "1" ] ; then
+       FOUND_ERR=1
+fi
+/bin/grep "WRN>" testlog/*
+if [ "$?" != "1" ] ; then
+       FOUND_ERR=1
+fi
+/bin/grep "Error" testlog/*
+if [ "$?" != "1" ] ; then
+       FOUND_ERR=1
+fi
+/bin/grep "error" testlog/* | /bin/grep -v "error_but_no_problem_for_test"
+if [ "$?" != "1" ] ; then
+       FOUND_ERR=1
+fi
+/bin/grep "Fail" testlog/* | /bin/grep -v "error_but_no_problem_for_test"
+if [ "$?" != "1" ] ; then
+       FOUND_ERR=1
+fi
+
+if [ $FOUND_ERR = 0 ] ; then
+       echo "Weston IVI Plugin Test: OK"
+else
+       echo "Weston IVI Plugin Test: ERROR"
+fi
+
diff --git a/tests/weston-plugin-test.resize_native b/tests/weston-plugin-test.resize_native
new file mode 100755 (executable)
index 0000000..fb26de0
--- /dev/null
@@ -0,0 +1,76 @@
+#!/bin/sh
+#
+#      Weston IVI Plugin Test (Resize Buf test)
+#
+#        Remark: This examination premises that Weston does not run.
+
+# 1 Delete log file
+rm -fr ../tests/testlog/*
+
+# 2 Start Pseudo event device (for Touch Panel)
+../tests/test-send_event -d -mq=5551 2> ../tests/testlog/event_log.log &
+sleep 1
+
+# 3 Weston/Wayland Envionment
+export XDG_RUNTIME_DIR=/tmp/run-root
+export QT_QPA_PLATFORM=wayland
+export ELM_ENGINE=wayland_egl
+export ECORE_EVAS_ENGINE=wayland_egl
+#export ELM_ENGINE=wayland_shm
+#export ECORE_EVAS_ENGINE=wayland_shm
+export EVAS_FONT_DPI=72
+export ECORE_IMF_MODULE=isf
+export ELM_MODULES="ctxpopup_copypasteUI>entry/api:datetime_input_ctxpopup>datetime/api"
+export ELM_SCALE="0.7"
+export ELM_PROFILE=mobile
+
+# 4 Set Environment for Test
+export WESTON_IVI_PLUGIN_DIR="../src/.libs"
+
+# 5 Start Weston
+export XDG_CONFIG_HOME="../tests"
+MOD_DIR="$PWD/../src/.libs"
+/usr/bin/weston --backend=drm-backend.so --modules=$MOD_DIR/ico_plugin_loader.so --idle-time=0 --log=../tests/testlog/weston.log &
+sleep 1
+
+# 6 Set library path
+export LD_LIBRARY_PATH=../src/.libs:$LD_LIBRARY_PATH
+
+# 7 Start test-homescreen
+../tests/test-homescreen < ../tests/testdata/hs_resize_native.dat 2> ../tests/testlog/test-homescreen.log
+
+# 8 End of Test
+sleep 1
+/usr/bin/killall weston
+/usr/bin/killall test-send_event
+sleep 1
+
+# 9 Check Error
+FOUND_ERR=0
+/bin/grep "ERR>" testlog/*
+if [ "$?" != "1" ] ; then
+       FOUND_ERR=1
+fi
+/bin/grep "WRN>" testlog/*
+if [ "$?" != "1" ] ; then
+       FOUND_ERR=1
+fi
+/bin/grep "Error" testlog/*
+if [ "$?" != "1" ] ; then
+       FOUND_ERR=1
+fi
+/bin/grep "error" testlog/* | /bin/grep -v "error_but_no_problem_for_test"
+if [ "$?" != "1" ] ; then
+       FOUND_ERR=1
+fi
+/bin/grep "Fail" testlog/* | /bin/grep -v "error_but_no_problem_for_test"
+if [ "$?" != "1" ] ; then
+       FOUND_ERR=1
+fi
+
+if [ $FOUND_ERR = 0 ] ; then
+       echo "Weston IVI Plugin Test: OK"
+else
+       echo "Weston IVI Plugin Test: ERROR"
+fi
+
diff --git a/tests/weston-plugin-test.resize_smoke b/tests/weston-plugin-test.resize_smoke
new file mode 100755 (executable)
index 0000000..f725aae
--- /dev/null
@@ -0,0 +1,80 @@
+#!/bin/sh
+#
+#      Weston IVI Plugin Test (Resize Buf test)
+#
+#        Remark: This examination premises that Weston does not run.
+
+# 1 Delete log file
+rm -fr ../tests/testlog/*
+
+# 2 Start Pseudo event device (for Touch Panel)
+../tests/test-send_event -d -mq=5551 2> ../tests/testlog/event_log.log &
+sleep 1
+
+# 3 Weston/Wayland Envionment
+export XDG_RUNTIME_DIR=/tmp/run-root
+export QT_QPA_PLATFORM=wayland
+export ELM_ENGINE=wayland_egl
+export ECORE_EVAS_ENGINE=wayland_egl
+#export ELM_ENGINE=wayland_shm
+#export ECORE_EVAS_ENGINE=wayland_shm
+export EVAS_FONT_DPI=72
+export ECORE_IMF_MODULE=isf
+export ELM_MODULES="ctxpopup_copypasteUI>entry/api:datetime_input_ctxpopup>datetime/api"
+export ELM_SCALE="0.7"
+export ELM_PROFILE=mobile
+
+# 4 Set Environment for Test
+export WESTON_IVI_PLUGIN_DIR="../src/.libs"
+
+# 5 Start Weston
+export XDG_CONFIG_HOME="../tests"
+MOD_DIR="$PWD/../src/.libs"
+/usr/bin/weston --backend=drm-backend.so --modules=$MOD_DIR/ico_plugin_loader.so --idle-time=0 --log=../tests/testlog/weston.log &
+sleep 1
+
+# 6 Set library path
+export LD_LIBRARY_PATH=../src/.libs:$LD_LIBRARY_PATH
+
+# 7 Start test-homescreen
+if [ $# != 0 ] ; then
+       ../tests/test-homescreen < ../tests/testdata/$1 2> ../tests/testlog/test-homescreen.log
+else
+       ../tests/test-homescreen < ../tests/testdata/hs_resize_smoke.dat 2> ../tests/testlog/test-homescreen.log
+fi
+
+# 8 End of Test
+sleep 1
+/usr/bin/killall weston
+/usr/bin/killall test-send_event
+sleep 1
+
+# 9 Check Error
+FOUND_ERR=0
+/bin/grep "ERR>" testlog/*
+if [ "$?" != "1" ] ; then
+       FOUND_ERR=1
+fi
+/bin/grep "WRN>" testlog/*
+if [ "$?" != "1" ] ; then
+       FOUND_ERR=1
+fi
+/bin/grep "Error" testlog/*
+if [ "$?" != "1" ] ; then
+       FOUND_ERR=1
+fi
+/bin/grep "error" testlog/* | /bin/grep -v "error_but_no_problem_for_test"
+if [ "$?" != "1" ] ; then
+       FOUND_ERR=1
+fi
+/bin/grep "Fail" testlog/* | /bin/grep -v "error_but_no_problem_for_test"
+if [ "$?" != "1" ] ; then
+       FOUND_ERR=1
+fi
+
+if [ $FOUND_ERR = 0 ] ; then
+       echo "Weston IVI Plugin Test: OK"
+else
+       echo "Weston IVI Plugin Test: ERROR"
+fi
+
diff --git a/tests/weston-plugin-test.resize_smoke2 b/tests/weston-plugin-test.resize_smoke2
new file mode 100755 (executable)
index 0000000..a012e10
--- /dev/null
@@ -0,0 +1,76 @@
+#!/bin/sh
+#
+#      Weston IVI Plugin Test (Resize Buf test)
+#
+#        Remark: This examination premises that Weston does not run.
+
+# 1 Delete log file
+rm -fr ../tests/testlog/*
+
+# 2 Start Pseudo event device (for Touch Panel)
+../tests/test-send_event -d -mq=5551 2> ../tests/testlog/event_log.log &
+sleep 1
+
+# 3 Weston/Wayland Envionment
+export XDG_RUNTIME_DIR=/tmp/run-root
+export QT_QPA_PLATFORM=wayland
+export ELM_ENGINE=wayland_egl
+export ECORE_EVAS_ENGINE=wayland_egl
+#export ELM_ENGINE=wayland_shm
+#export ECORE_EVAS_ENGINE=wayland_shm
+export EVAS_FONT_DPI=72
+export ECORE_IMF_MODULE=isf
+export ELM_MODULES="ctxpopup_copypasteUI>entry/api:datetime_input_ctxpopup>datetime/api"
+export ELM_SCALE="0.7"
+export ELM_PROFILE=mobile
+
+# 4 Set Environment for Test
+export WESTON_IVI_PLUGIN_DIR="../src/.libs"
+
+# 5 Start Weston
+export XDG_CONFIG_HOME="../tests"
+MOD_DIR="$PWD/../src/.libs"
+/usr/bin/weston --backend=drm-backend.so --modules=$MOD_DIR/ico_plugin_loader.so --idle-time=0 --log=../tests/testlog/weston.log &
+sleep 1
+
+# 6 Set library path
+export LD_LIBRARY_PATH=../src/.libs:$LD_LIBRARY_PATH
+
+# 7 Start test-homescreen
+../tests/test-homescreen < ../tests/testdata/hs_resize_smoke2.dat 2> ../tests/testlog/test-homescreen.log
+
+# 8 End of Test
+sleep 1
+/usr/bin/killall weston
+/usr/bin/killall test-send_event
+sleep 1
+
+# 9 Check Error
+FOUND_ERR=0
+/bin/grep "ERR>" testlog/*
+if [ "$?" != "1" ] ; then
+       FOUND_ERR=1
+fi
+/bin/grep "WRN>" testlog/*
+if [ "$?" != "1" ] ; then
+       FOUND_ERR=1
+fi
+/bin/grep "Error" testlog/*
+if [ "$?" != "1" ] ; then
+       FOUND_ERR=1
+fi
+/bin/grep "error" testlog/* | /bin/grep -v "error_but_no_problem_for_test"
+if [ "$?" != "1" ] ; then
+       FOUND_ERR=1
+fi
+/bin/grep "Fail" testlog/* | /bin/grep -v "error_but_no_problem_for_test"
+if [ "$?" != "1" ] ; then
+       FOUND_ERR=1
+fi
+
+if [ $FOUND_ERR = 0 ] ; then
+       echo "Weston IVI Plugin Test: OK"
+else
+       echo "Weston IVI Plugin Test: ERROR"
+fi
+
diff --git a/tests/weston-plugin-test_gdb b/tests/weston-plugin-test_gdb
new file mode 100755 (executable)
index 0000000..2e0a697
--- /dev/null
@@ -0,0 +1,75 @@
+#!/bin/sh
+#
+#      Weston IVI Plugin Test
+#
+#        Remark: This examination premises that Weston does not run.
+
+# 1 Delete log file
+rm -fr ../tests/testlog/*
+
+# 2 Start Pseudo event device (for Touch Panel)
+../tests/test-send_event -d -mq=5551 2> ../tests/testlog/event_log.log &
+sleep 1
+
+# 3 Weston/Wayland Envionment
+export XDG_RUNTIME_DIR=/tmp/run-root
+export QT_QPA_PLATFORM=wayland
+export ELM_ENGINE=wayland_egl
+export ECORE_EVAS_ENGINE=wayland_egl
+export EVAS_FONT_DPI=72
+export ECORE_IMF_MODULE=isf
+export ELM_MODULES="ctxpopup_copypasteUI>entry/api:datetime_input_ctxpopup>datetime/api"
+export ELM_SCALE="0.7"
+export ELM_PROFILE=mobile
+
+# 4 Set Environment for Test
+export WESTON_IVI_PLUGIN_DIR="../src/.libs"
+
+# 5 Start Weston
+export XDG_CONFIG_HOME="../tests"
+MOD_DIR="$PWD/../src/.libs"
+/usr/bin/weston --backend=drm-backend.so --modules=$MOD_DIR/ico_plugin_loader.so --idle-time=0 --log=../tests/testlog/weston.log &
+sleep 1
+
+# 6 Set library path
+export LD_LIBRARY_PATH=../src/.libs:$LD_LIBRARY_PATH
+
+# 7 Start test-homescreen
+gdb ../tests/test-homescreen
+../tests/test-homescreen < ../tests/testdata/hs_inputtest.dat 2> ../tests/testlog/test-homescreen.log
+
+# 8 End of Test
+sleep 1
+/usr/bin/killall weston
+/usr/bin/killall test-send_event
+sleep 1
+
+# 9 Check Error
+FOUND_ERR=0
+/bin/grep "ERR>" testlog/*
+if [ "$?" != "1" ] ; then
+       FOUND_ERR=1
+fi
+/bin/grep "WRN>" testlog/*
+if [ "$?" != "1" ] ; then
+       FOUND_ERR=1
+fi
+/bin/grep "Error" testlog/*
+if [ "$?" != "1" ] ; then
+       FOUND_ERR=1
+fi
+/bin/grep "error" testlog/* | /bin/grep -v "error_but_no_problem_for_test"
+if [ "$?" != "1" ] ; then
+       FOUND_ERR=1
+fi
+/bin/grep "Fail" testlog/* | /bin/grep -v "error_but_no_problem_for_test"
+if [ "$?" != "1" ] ; then
+       FOUND_ERR=1
+fi
+
+if [ $FOUND_ERR = 0 ] ; then
+       echo "Weston IVI Plugin Test: OK"
+else
+       echo "Weston IVI Plugin Test: ERROR"
+fi
+
diff --git a/tests/weston.ini b/tests/weston.ini
new file mode 100644 (file)
index 0000000..62d8338
--- /dev/null
@@ -0,0 +1,25 @@
+[core]
+modules=error_but_no_problem_for_test.so
+# This is Error for Test(No Problem)
+
+#[output]
+#name=HDMI3
+#mode=1680x945
+#mode=1920x1080
+#mode=173.00  1920 2048 2248 2576  1080 1083 1088 1120 -hsync +vsync
+#transform=90
+
+#[output]
+#name=LVDS1
+#mode=1680x1050
+#transform=90
+
+#[output]
+#name=VGA1
+#mode=173.00  1920 2048 2248 2576  1080 1083 1088 1120 -hsync +vsync
+#transform=90
+
+#[output]
+#name=X1
+#mode=1024x768
+#transform=flipped-270
diff --git a/tests/weston_ivi_plugin.ini b/tests/weston_ivi_plugin.ini
new file mode 100644 (file)
index 0000000..89798d3
--- /dev/null
@@ -0,0 +1,18 @@
+[plugin]
+modules=ico_ivi_common.so,ico_ivi_shell.so,ico_window_mgr.so,ico_input_mgr.so
+
+[shell]
+animation=none
+#animation=zoom
+# 0=hide on surface create(for with HomeScreen)/1=show on surface create(for Debug)
+visible_on_create=0
+
+[debug]
+# option flag
+#  0x00000001 : =1, At the time of unvisible of surface, it travels surface outside a screen.
+#             : =0, Exclude surface of the unvisible from a list of surface of Westons.
+option_flag=1
+
+# 0=no debug write(1=err/2=warn/3=info/4=debug)
+ivi_debug=4
+
diff --git a/weston.ini.ico b/weston.ini.ico
new file mode 100644 (file)
index 0000000..3ed96fa
--- /dev/null
@@ -0,0 +1,23 @@
+[core]
+modules=ico_plugin_loader.so
+
+[output]
+name=HDMI3
+#mode=1680x945
+mode=173.00  1920 2048 2248 2576  1080 1083 1088 1120 -hsync +vsync
+#transform=90
+
+#[output]
+#name=LVDS1
+#mode=1680x1050
+#transform=90
+
+[output]
+name=VGA1
+#mode=173.00  1920 2048 2248 2576  1080 1083 1088 1120 -hsync +vsync
+#transform=90
+
+#[output]
+#name=X1
+#mode=1024x768
+#transform=flipped-270
diff --git a/weston_ivi_plugin.ini b/weston_ivi_plugin.ini
new file mode 100644 (file)
index 0000000..0c24230
--- /dev/null
@@ -0,0 +1,17 @@
+[plugin]
+modules=ico_ivi_common.so,ico_ivi_shell.so,ico_window_mgr.so,ico_input_mgr.so
+
+[shell]
+animation=none
+# 0=hide on surface create(for with HomeScreen)/1=show on surface create(for Debug)
+visible_on_create=0
+
+[debug]
+# option flag
+#  0x00000001 : =1, At the time of unvisible of surface, it travels surface outside a screen.
+#             : =0, Exclude surface of the unvisible from a list of surface of Westons.
+option_flag=1
+
+# 0=no debug write(1=err/2=warn/3=info/4=debug)
+ivi_debug=4
+