Index: configure.ac
===================================================================
--- configure.ac	(revision 76670)
+++ configure.ac	(working copy)
@@ -59,9 +59,14 @@ AC_SUBST(ALL_LINGUAS)
 AM_GNU_GETTEXT_VERSION([0.12.1])
 AM_GNU_GETTEXT([external])
 
+have_ecore_x="no"
+have_xlib="no"
+
 PKG_CHECK_MODULES([EDBUS], [edbus])
 PKG_CHECK_MODULES([ELEMENTARY], [elementary])
 PKG_CHECK_MODULES([EWEBKIT], [ewebkit ecore-file])
+PKG_CHECK_MODULES([ECORE_X], [ecore-x], [have_ecore_x="yes"], [have_ecore_x="no"])
+PKG_CHECK_MODULES([XLIB], [x11], [have_xlib="yes"], [have_xlib="no"])
 
 AC_ARG_WITH([edje-cc],
    [AC_HELP_STRING([--with-edje-cc=PATH],
@@ -117,6 +122,14 @@ fi
 
 AM_CONDITIONAL(BUILD_QUICKLAUNCH, test "x${want_quicklaunch}" = "xyes")
 
+if test "x${have_ecore_x}" = "xyes"; then
+   AC_DEFINE(HAVE_ECORE_X, 1, [Have Ecore_X])
+fi
+
+if test "x${have_xlib}" = "xyes"; then
+   AC_DEFINE(HAVE_XLIB, 1, [Have Xlib])
+fi
+
 AC_OUTPUT([
 Makefile
 src/Makefile
Index: src/bin/main.c
===================================================================
--- src/bin/main.c	(revision 76670)
+++ src/bin/main.c	(working copy)
@@ -387,8 +387,10 @@ _cb_dbus_open_url(E_DBus_Object *obj __UNUSED__, D
 
    if ((uri = uri_sanitize(tmp_uri)))
      {
+        Ecore_Evas *ee = ecore_evas_ecore_evas_get(evas_object_evas_get(win));
+
         tab_add(win, uri, NULL);
-        ecore_x_window_focus(elm_win_xwindow_get(win->win));
+        ecore_evas_focus_set(win, EINA_TRUE);
         free(uri);
      }
 
Index: src/bin/Makefile.am
===================================================================
--- src/bin/Makefile.am	(revision 76670)
+++ src/bin/Makefile.am	(working copy)
@@ -11,14 +11,16 @@ INCLUDES = \
 -DLOCALEDIR=\"$(localedir)\" \
 @ELEMENTARY_CFLAGS@ \
 @EWEBKIT_CFLAGS@ \
-@EDBUS_CFLAGS@
+@ECORE_X_CFLAGS@ \
+@EDBUS_CFLAGS@ \
+@XLIB_CFLAGS@
 
 bin_PROGRAMS = eve
 if BUILD_QUICKLAUNCH
 bin_PROGRAMS += eve_ql
 endif
 
-eve_LDADD = @ELEMENTARY_LIBS@ @EWEBKIT_LIBS@ @EDBUS_LIBS@ -lm
+eve_LDADD = @ECORE_X_LIBS@ @ELEMENTARY_LIBS@ @EWEBKIT_LIBS@ @EDBUS_LIBS@ @XLIB_LIBS@ -lm
 eve_SOURCES = main.c view.c chrome.c eve_state.c
 
 if BUILD_QUICKLAUNCH
@@ -31,7 +33,7 @@ if BUILD_QUICKLAUNCH
 eve_qldir = $(quicklauncher_libdir)
 eve_ql_LTLIBRARIES = eve_ql.la
 eve_ql_la_SOURCES = main.c view.c chrome.c eve_state.h
-eve_ql_la_LIBADD = @ELEMENTARY_LIBS@ @EWEBKIT_LIBS@ @EDBUS_LIBS@ -lm
+eve_ql_la_LIBADD = @ECORE_X_LIBS@ @ELEMENTARY_LIBS@ @EWEBKIT_LIBS@ @EDBUS_LIBS@ @XLIB_LIBS@ -lm
 eve_ql_la_CFLAGS =
 eve_ql_la_LDFLAGS = -module -avoid-version -no-undefined
 eve_ql_SOURCES = main.c
Index: src/bin/view.c
===================================================================
--- src/bin/view.c	(revision 76670)
+++ src/bin/view.c	(working copy)
@@ -2,7 +2,10 @@
 #include <Ecore.h>
 #include <math.h>
 
+#if defined(HAVE_ECORE_X) && defined(HAVE_XLIB)
 #define HACK_FLUSH_EVENTS_DURING_LONG_CALCULATE 1
+#endif
+
 #ifdef HACK_FLUSH_EVENTS_DURING_LONG_CALCULATE
 static const double LONG_CALCULATE_TIMEOUT = 0.6;
 #include <Ecore_X.h>
