From 956d1fb1d923827925f1e70904449fefbb557962 Mon Sep 17 00:00:00 2001 From: Daniel Micay Date: Tue, 22 May 2012 14:19:47 -0400 Subject: [PATCH] support both gtk2 and gtk3 --- Makefile | 12 ++++++++++-- termite.c | 15 +++++++++++---- 2 files changed, 21 insertions(+), 6 deletions(-) diff --git a/Makefile b/Makefile index 77089d1..9049e18 100644 --- a/Makefile +++ b/Makefile @@ -1,14 +1,22 @@ PREFIX = /usr/local +ifeq (${GTK3}, 1) + GTK = gtk+-3.0 + VTE = vte-2.90 +else + GTK = gtk+-2.0 + VTE = vte +endif + CFLAGS += -std=c99 -O3 \ -Wall -Wextra -pedantic \ -Winit-self \ -Wshadow \ -Wformat=2 \ -Wmissing-declarations \ - $(shell pkg-config --cflags gtk+-2.0 vte) + $(shell pkg-config --cflags ${GTK} ${VTE}) -LDFLAGS += -s -Wl,--as-needed $(shell pkg-config --libs gtk+-2.0 vte) +LDFLAGS += -s -Wl,--as-needed $(shell pkg-config --libs ${GTK} ${VTE}) termite: termite.c config.h ${CC} ${CFLAGS} -o $@ $< ${LDFLAGS} diff --git a/termite.c b/termite.c index 947d41f..6601c8c 100644 --- a/termite.c +++ b/termite.c @@ -6,6 +6,13 @@ #include "config.h" +#if GTK_CHECK_VERSION (2, 90, 7) +#define GDK_KEY(symbol) GDK_KEY_##symbol +#else +#include +#define GDK_KEY(symbol) GDK_##symbol +#endif + #ifndef __GNUC__ # define __attribute__(x) #endif @@ -73,18 +80,18 @@ static gboolean key_press_cb(GtkWidget *vte, GdkEventKey *event, search_dialog_i if (modifiers == (GDK_CONTROL_MASK|GDK_SHIFT_MASK)) { switch (gdk_keyval_to_lower(event->keyval)) { - case GDK_p: + case GDK_KEY(p): vte_terminal_search_find_previous(VTE_TERMINAL(vte)); return TRUE; - case GDK_n: + case GDK_KEY(n): vte_terminal_search_find_next(VTE_TERMINAL(vte)); return TRUE; - case GDK_question: + case GDK_KEY(question): open_search_dialog(vte, search_backward, info); return TRUE; } } - if (modifiers == GDK_CONTROL_MASK && event->keyval == GDK_slash) { + if (modifiers == GDK_CONTROL_MASK && event->keyval == GDK_KEY(slash)) { open_search_dialog(vte, search_forward, info); return TRUE; }