From 0652af02209a1fc8db6573a98bd01369952ab320 Mon Sep 17 00:00:00 2001 From: Daniel Micay Date: Mon, 22 Jun 2015 13:26:19 -0400 Subject: [PATCH] improve compatibility with non-X11 backends --- termite.cc | 27 ++++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/termite.cc b/termite.cc index 5d40748..949d6ac 100644 --- a/termite.cc +++ b/termite.cc @@ -28,10 +28,13 @@ #include #include -#include #include #include +#ifdef GDK_WINDOWING_X11 +#include +#endif + #include "url_regex.hh" #include "util/clamp.hh" #include "util/maybe.hh" @@ -1582,15 +1585,21 @@ int main(int argc, char **argv) { gtk_widget_hide(info.panel.panel); gtk_widget_hide(info.panel.da); - GdkWindow *gdk_window = gtk_widget_get_window(window); - if (!gdk_window) { - g_printerr("no window\n"); - return EXIT_FAILURE; - } - char xid_s[std::numeric_limits::digits10 + 1]; - snprintf(xid_s, sizeof(xid_s), "%lu", GDK_WINDOW_XID(gdk_window)); char **env = g_get_environ(); - env = g_environ_setenv(env, "WINDOWID", xid_s, TRUE); + +#ifdef GDK_WINDOWING_X11 + if (GDK_IS_X11_SCREEN(gtk_widget_get_screen(window))) { + GdkWindow *gdk_window = gtk_widget_get_window(window); + if (!gdk_window) { + g_printerr("no window\n"); + return EXIT_FAILURE; + } + char xid_s[std::numeric_limits::digits10 + 1]; + snprintf(xid_s, sizeof(xid_s), "%lu", GDK_WINDOW_XID(gdk_window)); + env = g_environ_setenv(env, "WINDOWID", xid_s, TRUE); + } +#endif + env = g_environ_setenv(env, "TERM", term, TRUE); GPid child_pid;