Updating branch refs/heads/master to 815985420f03d4b020a24037861829a0a86ddb62 (commit) from cff81899796df74e8ac7ee478e829588b117e8de (commit)
commit 815985420f03d4b020a24037861829a0a86ddb62 Author: Danny Milosavljevic <dan...@xfce.org> Date: Tue Dec 28 23:34:54 2010 +0100 add xfconf support. Makefile.am | 4 +- configure.ac | 3 +- netk/gen | 2 +- xfconf/Makefile.am | 55 ++++++++++++++ netk/template.override => xfconf/binding.override | 6 +- netk/template.override => xfconf/channel.override | 6 +- netk/template.override => xfconf/errors.override | 6 +- xfconf/gen | 55 ++++++++++++++ netk/template.override => xfconf/types.override | 6 +- netk/netk.py => xfconf/xfconf.py | 3 +- netk/netkmodule.c => xfconf/xfconfmodule.c | 83 ++++++--------------- 11 files changed, 152 insertions(+), 77 deletions(-) diff --git a/Makefile.am b/Makefile.am index a642c1d..810c84d 100644 --- a/Makefile.am +++ b/Makefile.am @@ -13,8 +13,8 @@ if HAVE_MIGHTY_MOUSE SUBDIR_MIGHTY_MOUSE = panel endif -SUBDIRS = gui netk util $(SUBDIR_MIGHTY_MOUSE) -DIST_SUBDIRS = gui netk util $(SUBDIR_MIGHTY_MOUSE) +SUBDIRS = gui netk util xfconf $(SUBDIR_MIGHTY_MOUSE) +DIST_SUBDIRS = gui netk util xfconf $(SUBDIR_MIGHTY_MOUSE) PLATFORM_VERSION = 4.2 PLATFORM_WIN32 = diff --git a/configure.ac b/configure.ac index fee8f0a..fe10f1e 100644 --- a/configure.ac +++ b/configure.ac @@ -43,7 +43,7 @@ dnl get rid of the -export-dynamic stuff from the configure flags ... export_dynamic=`(./libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh` BM_DEPEND([XFCE4_UTIL], [libxfce4util-1.0], [4.1.0]) - +BM_DEPEND([XFCE4_XFCONF], [libxfconf-0], [4.6.2]) BM_DEPEND([XFCE4_GUI], [libxfcegui4-1.0], [4.3.90]) # new panel @@ -88,5 +88,6 @@ AC_CONFIG_FILES( netk/Makefile panel/Makefile util/Makefile + xfconf/Makefile ) AC_OUTPUT diff --git a/netk/gen b/netk/gen index fb9c452..f1af90b 100755 --- a/netk/gen +++ b/netk/gen @@ -17,7 +17,7 @@ do #echo "${defs}" - python /usr/share/pygtk/2.0/codegen/h2def.py "$s" >"${defs}" + python /usr/lib/python2.6/site-packages/gtk-2.0/codegen/h2def.py "$s" >"${defs}" fi done rm -f util.defs diff --git a/xfconf/Makefile.am b/xfconf/Makefile.am new file mode 100644 index 0000000..09d0e00 --- /dev/null +++ b/xfconf/Makefile.am @@ -0,0 +1,55 @@ +...@set_make@ + +PLATFORM_VERSION = 4.2 + +common_ldflags = -module -avoid-version -export-symbols-regex init_xfconf +if PLATFORM_WIN32 +common_ldflags += -no-undefined +endif + +INCLUDES = $(PYTHON_INCLUDES) + +CODEGEN_PATH = @CODEGEN_PATH@ + +pyxfceexecdir = $(pyexecdir)/xfce4 +pyxfceexec_LTLIBRARIES = _xfconf.la +pyxfceexec_PYTHON = xfconf.py +_xfconf_la_CFLAGS = $(XFCE4_XFCONF_CFLAGS) $(PYTHON_CFLAGS) $(PYGTK_CFLAGS) +_xfconf_la_LDFLAGS = $(common_ldflags) +_xfconf_la_LIBADD = $(XFCE4_XFCONF_LIBS) $(PYTHON_LIBS) +_xfconf_la_SOURCES = \ + binding.c \ + channel.c \ + errors.c \ + types.c \ + xfconfmodule.c + +defsdir = $(pkgdatadir)/$(PLATFORM_VERSION)/defs +defs_DATA = \ + binding.defs \ + channel.defs \ + errors.defs \ + types.defs + +xfconf_overrides = binding.override channel.override errors.override types.override + +EXTRA_DIST = $(defs_DATA) $(xfconf_overrides) gen +nodist__xfconf_la_SOURCES = + +PYGTK_DEFS="`pkg-config --variable=defsdir pygtk-2.0`" + +.defs.c: + (cd $(srcdir) \ + && $(PYTHON) $(CODEGEN_PATH)/codegen.py \ + $(PYGTK_CODEGEN_DEFINES) \ + --override $*.override \ + --register $(PYGTK_DEFS)/gtk-types.defs \ + --register $(PYGTK_DEFS)/gdk-types.defs \ + --register binding.defs \ + --register channel.defs \ + --register errors.defs \ + --register types.defs \ + --prefix py$* $*.defs) > gen-$*.c \ + && cp gen-$*.c $*.c \ + && rm -f gen-$*.c + diff --git a/netk/template.override b/xfconf/binding.override similarity index 73% copy from netk/template.override copy to xfconf/binding.override index 0a4011a..fa9bf76 100644 --- a/netk/template.override +++ b/xfconf/binding.override @@ -4,13 +4,13 @@ %% headers #include "pygobject.h" -#include <gtk/gtk.h> -#include <libxfcegui4/libxfcegui4.h> +#include <glib.h> +#include <xfconf/xfconf.h> %% include %% -modulename * +modulename classgroup %% import gobject.GObject as PyGObject_Type %% diff --git a/netk/template.override b/xfconf/channel.override similarity index 73% copy from netk/template.override copy to xfconf/channel.override index 0a4011a..fa9bf76 100644 --- a/netk/template.override +++ b/xfconf/channel.override @@ -4,13 +4,13 @@ %% headers #include "pygobject.h" -#include <gtk/gtk.h> -#include <libxfcegui4/libxfcegui4.h> +#include <glib.h> +#include <xfconf/xfconf.h> %% include %% -modulename * +modulename classgroup %% import gobject.GObject as PyGObject_Type %% diff --git a/netk/template.override b/xfconf/errors.override similarity index 73% copy from netk/template.override copy to xfconf/errors.override index 0a4011a..fa9bf76 100644 --- a/netk/template.override +++ b/xfconf/errors.override @@ -4,13 +4,13 @@ %% headers #include "pygobject.h" -#include <gtk/gtk.h> -#include <libxfcegui4/libxfcegui4.h> +#include <glib.h> +#include <xfconf/xfconf.h> %% include %% -modulename * +modulename classgroup %% import gobject.GObject as PyGObject_Type %% diff --git a/xfconf/gen b/xfconf/gen new file mode 100755 index 0000000..bfe32eb --- /dev/null +++ b/xfconf/gen @@ -0,0 +1,55 @@ +#!/bin/bash + +inc="`pkg-config --variable=includedir libxfconf-0`"/xfce4 + +for s in "${inc}"/xfconf-0/xfconf/*.h +do + #echo "XX $s" + t="${s##*/}" + + t="${t%.h}" + + if [ "${t#xfconf-}" != "$t" ] + then + defs="${t/-/_}.defs" + defs="${defs/-/_}" + defs="${defs/-/_}" + + #echo "${defs}" + + python2 /usr/lib/python2.6/site-packages/gtk-2.0/codegen/h2def.py "$s" >"${defs}" + fi +done +rm -f util.defs + +for s in xfconf_*.defs +do + t="${s#xfconf_}" + mv "$s" "$t" +done + +#mmv -o 'xfce-*.defs' '#1.defs' +#rm -f libxfce4util.defs +#rm -f libxfce4util-config.defs +#rm -f generics.defs +#rm -f debug.defs + +cat >P << EOF +(define-object Channel + (in-module "Xfce") + (parent "GObject") + (c-name "XfconfChannel") + (gtype-id "XFCONF_TYPE_CHANNEL") +) +EOF +cat P channel.defs > channel.defs.new && mv channel.defs.new channel.defs + + +for s in *.defs +do + if [ "$s" != "*.defs" ] + then + sed -e 's;(define-function xfconf_;(define-function ;' "$s" >"${s}.new" && mv "${s}.new" "$s" + fi +done + diff --git a/netk/template.override b/xfconf/types.override similarity index 73% copy from netk/template.override copy to xfconf/types.override index 0a4011a..fa9bf76 100644 --- a/netk/template.override +++ b/xfconf/types.override @@ -4,13 +4,13 @@ %% headers #include "pygobject.h" -#include <gtk/gtk.h> -#include <libxfcegui4/libxfcegui4.h> +#include <glib.h> +#include <xfconf/xfconf.h> %% include %% -modulename * +modulename classgroup %% import gobject.GObject as PyGObject_Type %% diff --git a/netk/netk.py b/xfconf/xfconf.py similarity index 50% copy from netk/netk.py copy to xfconf/xfconf.py index bfefdba..8567ca0 100644 --- a/netk/netk.py +++ b/xfconf/xfconf.py @@ -1,3 +1,4 @@ #!/usr/bin/env python -from _netk import * +from _xfconf import * + diff --git a/netk/netkmodule.c b/xfconf/xfconfmodule.c similarity index 52% copy from netk/netkmodule.c copy to xfconf/xfconfmodule.c index d119fe5..597538b 100644 --- a/netk/netkmodule.c +++ b/xfconf/xfconfmodule.c @@ -11,50 +11,23 @@ #include <pygobject.h> #include <pyerrors.h> -extern PyMethodDef pyapplication_functions[]; -extern PyMethodDef pyclass_group_functions[]; -extern PyMethodDef pyenum_types_functions[]; -extern PyMethodDef pypager_functions[]; -extern PyMethodDef pyscreen_functions[]; -extern PyMethodDef pytasklist_functions[]; -extern PyMethodDef pytrayicon_functions[]; -extern PyMethodDef pyutil_functions[]; -extern PyMethodDef pywindow_action_menu_functions[]; -extern PyMethodDef pywindow_functions[]; -extern PyMethodDef pywindow_menu_functions[]; -extern PyMethodDef pyworkspace_functions[]; -void pyapplication_register_classes(PyObject *d); -void pyclass_group_register_classes(PyObject *d); -void pyenum_types_register_classes(PyObject *d); -void pypager_register_classes(PyObject *d); -void pyscreen_register_classes(PyObject *d); -void pytasklist_register_classes(PyObject *d); -void pytrayicon_register_classes(PyObject *d); -void pyutil_register_classes(PyObject *d); -void pywindow_action_menu_register_classes(PyObject *d); -void pywindow_register_classes(PyObject *d); -void pywindow_menu_register_classes(PyObject *d); -void pyworkspace_register_classes(PyObject *d); - -void pywindow_add_constants(PyObject *module, const gchar *strip_prefix); -void pypager_add_constants(PyObject *module, const gchar *strip_prefix); -void pytasklist_add_constants(PyObject *module, const gchar *strip_prefix); +extern const PyMethodDef pybinding_functions[]; +extern const PyMethodDef pychannel_functions[]; +extern const PyMethodDef pyerrors_functions[]; +extern const PyMethodDef pytypes_functions[]; +void pybinding_register_classes(PyObject *d); +void pychannel_register_classes(PyObject *d); +void pyerrors_register_classes(PyObject *d); +void pytypes_register_classes(PyObject *d); +void pyerrors_add_constants(PyObject *module, const gchar *strip_prefix); static PyMethodDef all_functions[1000]; -static PyMethodDef* each_functions[] = { - pyapplication_functions, - pyclass_group_functions, - pyenum_types_functions, - pypager_functions, - pyscreen_functions, - pytasklist_functions, - pytrayicon_functions, - pyutil_functions, - pywindow_action_menu_functions, - pywindow_functions, - pywindow_menu_functions, - pyworkspace_functions, +static const PyMethodDef* each_functions[] = { + pybinding_functions, + pychannel_functions, + pyerrors_functions, + pytypes_functions, }; static void @@ -78,28 +51,18 @@ my_register1() } } - m = Py_InitModule("_netk", all_functions); - pywindow_add_constants(m, "NETK_"); - pypager_add_constants(m, "NETK_"); - pytasklist_add_constants(m, "NETK_"); + m = Py_InitModule("_xfconf", all_functions); + pyerrors_add_constants(m, "XFCONF_"); d = PyModule_GetDict(m); - pyapplication_register_classes (d); - pyclass_group_register_classes (d); - pyenum_types_register_classes (d); - pypager_register_classes (d); - pyscreen_register_classes (d); - pytasklist_register_classes (d); - pytrayicon_register_classes (d); - pyutil_register_classes (d); - pywindow_action_menu_register_classes (d); - pywindow_register_classes (d); - pywindow_menu_register_classes (d); - pyworkspace_register_classes (d); + pybinding_register_classes(d); + pychannel_register_classes(d); + pyerrors_register_classes(d); + pytypes_register_classes(d); } DL_EXPORT(void) -init_netk(void) +init_xfconf(void) { /* set the default python encoding to utf-8 */ PyUnicode_SetDefaultEncoding("utf-8"); @@ -115,7 +78,7 @@ my_register(char const *name, PyMethodDef afunctions[], void (aregister)(PyObjec { PyObject *m, *d; char tmp[2049]; - snprintf (tmp, 2049, "netk.%s", name); + snprintf (tmp, 2049, "xfconf.%s", name); m = Py_InitModule(tmp, afunctions); d = PyModule_GetDict(m); (*aregister)(d); @@ -123,7 +86,7 @@ my_register(char const *name, PyMethodDef afunctions[], void (aregister)(PyObjec } DL_EXPORT(void) -init_netk(void) +init_xfconf(void) { /* set the default python encoding to utf-8 */ PyUnicode_SetDefaultEncoding("utf-8"); _______________________________________________ Xfce4-commits mailing list Xfce4-commits@xfce.org http://foo-projects.org/mailman/listinfo/xfce4-commits