Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/bindings/globalkeys
diff options
context:
space:
mode:
Diffstat (limited to 'bindings/globalkeys')
-rw-r--r--bindings/globalkeys/Makefile.am34
-rw-r--r--bindings/globalkeys/globalkeys.defs17
-rw-r--r--bindings/globalkeys/globalkeys.override17
-rw-r--r--bindings/globalkeys/globalkeysmodule.c27
-rw-r--r--bindings/globalkeys/sugar-key-grabber.c39
-rw-r--r--bindings/globalkeys/sugar-key-grabber.h42
6 files changed, 176 insertions, 0 deletions
diff --git a/bindings/globalkeys/Makefile.am b/bindings/globalkeys/Makefile.am
new file mode 100644
index 0000000..86e0abc
--- /dev/null
+++ b/bindings/globalkeys/Makefile.am
@@ -0,0 +1,34 @@
+INCLUDES = \
+ $(PYTHON_INCLUDES) \
+ $(PYGTK_CFLAGS) \
+ $(GLOBALKEYS_CFLAGS)
+
+pkgpythondir = $(pyexecdir)/sugar
+
+globalkeysdir = $(pkgpythondir)
+globalkeys_PYTHON = __init__.py
+
+pkgpyexec_LTLIBRARIES = globalkeys.la
+
+globalkeys_la_LDFLAGS = -module -avoid-version
+globalkeys_la_LIBADD = $(GLOBALKEYS_LIBS)
+
+globalkeys_la_SOURCES = \
+ globalkeysmodule.c \
+ sugar-key-grabber.h \
+ sugar-key-grabber.c
+
+nodist_globalkeys_la_SOURCES = globalkeys.c
+
+globalkeys.c: globalkeys.defs globalkeys.override
+
+CLEANFILES = globalkeys.c
+EXTRA_DIST = globalkeys.override globalkeys.defs
+
+.defs.c:
+ (cd $(srcdir)\
+ && $(PYGTK_CODEGEN) \
+ --override $*.override \
+ --prefix py$* $*.defs) > gen-$*.c \
+ && cp gen-$*.c $*.c \
+ && rm -f gen-$*.c
diff --git a/bindings/globalkeys/globalkeys.defs b/bindings/globalkeys/globalkeys.defs
new file mode 100644
index 0000000..5597417
--- /dev/null
+++ b/bindings/globalkeys/globalkeys.defs
@@ -0,0 +1,17 @@
+(define-object KeyGrabber
+ (in-module "globalkeys")
+ (parent "GObject")
+ (c-name "SugarKeyGrabber")
+ (gtype-id "SUGAR_TYPE_KEY_GRABBER")
+)
+
+(define-function sugar_key_grabber_get_type
+ (c-name "sugar_key_grabber_get_type")
+ (return-type "GType")
+)
+
+(define-function sugar_key_grabber_new
+ (c-name "sugar_key_grabber_new")
+ (is-constructor-of "SugarKeyGrabber")
+ (return-type "GObject*")
+)
diff --git a/bindings/globalkeys/globalkeys.override b/bindings/globalkeys/globalkeys.override
new file mode 100644
index 0000000..f54c4ef
--- /dev/null
+++ b/bindings/globalkeys/globalkeys.override
@@ -0,0 +1,17 @@
+/* -*- Mode: C; c-basic-offset: 4 -*- */
+%%
+headers
+#include <Python.h>
+
+#include "pygobject.h"
+#include "sugar-key-grabber.h"
+
+%%
+modulename globalkeys
+%%
+import gobject.GObject as PyGObject_Type
+%%
+ignore-glob
+ *_get_type
+ _*
+%%
diff --git a/bindings/globalkeys/globalkeysmodule.c b/bindings/globalkeys/globalkeysmodule.c
new file mode 100644
index 0000000..9034f51
--- /dev/null
+++ b/bindings/globalkeys/globalkeysmodule.c
@@ -0,0 +1,27 @@
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+/* include this first, before NO_IMPORT_PYGOBJECT is defined */
+#include <pygobject.h>
+
+void pyglobalkeys_register_classes (PyObject *d);
+
+extern PyMethodDef pyglobalkeys_functions[];
+
+DL_EXPORT(void)
+initglobalkeys(void)
+{
+ PyObject *m, *d;
+
+ init_pygobject ();
+
+ m = Py_InitModule ("globalkeys", pyglobalkeys_functions);
+ d = PyModule_GetDict (m);
+
+ pyglobalkeys_register_classes (d);
+
+ if (PyErr_Occurred ()) {
+ Py_FatalError ("can't initialise module globalkeys");
+ }
+}
diff --git a/bindings/globalkeys/sugar-key-grabber.c b/bindings/globalkeys/sugar-key-grabber.c
new file mode 100644
index 0000000..3444377
--- /dev/null
+++ b/bindings/globalkeys/sugar-key-grabber.c
@@ -0,0 +1,39 @@
+/*
+ * Copyright (C) 2006 Red Hat, Inc
+ *
+ * Sugar is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * Sugar is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
+ */
+
+#include "sugar-key-grabber.h"
+
+struct _SugarKeyGrabber {
+ gpointer dummy;
+};
+
+struct _SugarKeyGrabberClass {
+ GObjectClass base_class;
+};
+
+G_DEFINE_TYPE(SugarKeyGrabber, sugar_key_grabber, G_TYPE_OBJECT)
+
+static void
+sugar_key_grabber_class_init (SugarKeyGrabberClass *key_grabber_class)
+{
+}
+
+static void
+sugar_key_grabber_init (SugarKeyGrabber *key_grabber)
+{
+}
diff --git a/bindings/globalkeys/sugar-key-grabber.h b/bindings/globalkeys/sugar-key-grabber.h
new file mode 100644
index 0000000..0d72a2b
--- /dev/null
+++ b/bindings/globalkeys/sugar-key-grabber.h
@@ -0,0 +1,42 @@
+/*
+ * Copyright (C) 2006 Red Hat, Inc
+ *
+ * Sugar is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * Sugar is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __SUGAR_KEY_GRABBER_H__
+#define __SUGAR_KEY_GRABBER_H__
+
+#include <glib-object.h>
+
+G_BEGIN_DECLS
+
+typedef struct _SugarKeyGrabber SugarKeyGrabber;
+typedef struct _SugarKeyGrabberClass SugarKeyGrabberClass;
+typedef struct _SugarKeyGrabberPrivate SugarKeyGrabberPrivate;
+
+#define SUGAR_TYPE_KEY_GRABBER (sugar_key_grabber_get_type())
+#define SUGAR_KEY_GRABBER(object) (G_TYPE_CHECK_INSTANCE_CAST((object), SUGAR_TYPE_KEY_GRABBER, SugarKeyGrabber))
+#define SUGAR_KEY_GRABBER_CLASS(klass) (G_TYPE_CHACK_CLASS_CAST((klass), SUGAR_TYPE_KEY_GRABBER, SugarKeyGrabberClass))
+#define SUGAR_IS_KEY_GRABBER(object) (G_TYPE_CHECK_INSTANCE_TYPE((object), SUGAR_TYPE_KEY_GRABBER))
+#define SUGAR_IS_KEYGRABBER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), SUGAR_TYPE_KEY_GRABBER))
+#define SUGAR_KEY_GRABBER_GET_CLASS(object) (G_TYPE_INSTANCE_GET_CLASS((object), SUGAR_TYPE_KEY_GRABBER, SugarKeyGrabberClass))
+
+GType sugar_key_grabber_get_type (void);
+GObject *sugar_key_grabber_new (void);
+
+G_END_DECLS
+
+#endif /* __SUGAR_KEY_GRABBER_H__ */