[cheese] keybindings: add configure checks for needed X11 stuff
- From: Filippo Argiolas <fargiolas src gnome org>
- To: svn-commits-list gnome org
- Subject: [cheese] keybindings: add configure checks for needed X11 stuff
- Date: Sun, 21 Jun 2009 05:14:58 -0400 (EDT)
commit 129f92e36b3a3e4a87e5719c89e56d12fd529383
Author: Filippo Argiolas <filippo argiolas gmail com>
Date: Sun Jun 21 11:11:17 2009 +0200
keybindings: add configure checks for needed X11 stuff
Check for XF86keysym.h availability and add a configure option to
disable Webcam Button listening. Copied from rhythmbox.
configure.ac | 27 +++++++++++++++++++++++++++
src/cheese-window.c | 6 ++++++
2 files changed, 33 insertions(+), 0 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index 3e6171f..4e3c7e4 100644
--- a/configure.ac
+++ b/configure.ac
@@ -105,6 +105,33 @@ fi
AM_CONDITIONAL(WITH_HILDON, test "x$enable_hildon" = "xyes")
+dnl Multimedia keys
+have_xfree=no
+AC_COMPILE_IFELSE([
+ #include <X11/XF86keysym.h>
+ int main(int argc,char **argv) {
+ return 0;
+ }
+], have_xfree=yes)
+AC_MSG_CHECKING(for XFree86 headers)
+AC_MSG_RESULT($have_xfree)
+if test x"$have_xfree" = "xyes" ; then
+ AC_DEFINE(HAVE_XFREE, 1, [defined if you have X11/XF86keysym.h])
+fi
+
+AC_ARG_ENABLE(mmkeys, AC_HELP_STRING([--disable-mmkeys],
+ [don't build with Multimedia Keys support]))
+if test x"$have_xfree" = xyes; then
+ if test x"$enable_mmkeys" != xno; then
+ enable_mmkeys=yes
+ AC_DEFINE(HAVE_MMKEYS, 1, [define if Multimedia Keys are enabled])
+ fi
+else
+ if test x"$enable_mmkeys" = xyes; then
+ AC_MSG_ERROR([Multimedia keys explicitly requested but no support found])
+ fi
+fi
+
AC_PATH_PROG(GCONFTOOL, gconftool-2)
AM_GCONF_SOURCE_2
diff --git a/src/cheese-window.c b/src/cheese-window.c
index d922e5e..173d280 100644
--- a/src/cheese-window.c
+++ b/src/cheese-window.c
@@ -39,7 +39,9 @@
#include <gtk/gtk.h>
#include <libebook/e-book.h>
+#ifdef HAVE_MMKEYS
#include <X11/XF86keysym.h>
+#endif /* HAVE_MMKEYS */
#ifdef HILDON
#include <hildon/hildon-program.h>
@@ -267,6 +269,9 @@ cheese_window_delete_event_cb (GtkWidget *widget, GdkEvent event, gpointer data)
static gboolean
cheese_window_key_press_event_cb (GtkWidget *win, GdkEventKey *event, CheeseWindow *cheese_window)
{
+#ifndef HAVE_MMKEYS
+ return FALSE;
+#else
/* If we have modifiers, and either Ctrl, Mod1 (Alt), or any
* of Mod3 to Mod5 (Mod2 is num-lock...) are pressed, we
* let Gtk+ handle the key */
@@ -286,6 +291,7 @@ cheese_window_key_press_event_cb (GtkWidget *win, GdkEventKey *event, CheeseWind
}
return FALSE;
+#endif /* !HAVE_MMKEYS */
}
static void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]