[maemo-commits] [maemo-commits] r14625 - in projects/haf/trunk/python-hildondesktop: . libhildondesktop loader
From: subversion at stage.maemo.org subversion at stage.maemo.orgDate: Fri Oct 26 11:01:00 EEST 2007
- Previous message: [maemo-commits] r14624 - in projects/haf/trunk/dbus/debian: . patches
- Next message: [maemo-commits] r14626 - in projects/haf/trunk/dbus/debian: . patches
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Author: lucasr Date: 2007-10-26 11:00:55 +0300 (Fri, 26 Oct 2007) New Revision: 14625 Modified: projects/haf/trunk/python-hildondesktop/ChangeLog projects/haf/trunk/python-hildondesktop/configure.ac projects/haf/trunk/python-hildondesktop/libhildondesktop/Makefile.am projects/haf/trunk/python-hildondesktop/libhildondesktop/hildondesktop.defs projects/haf/trunk/python-hildondesktop/libhildondesktop/hildondesktop.override projects/haf/trunk/python-hildondesktop/loader/hd-plugin-loader-python.c Log: 2007-10-26 Lucas Rocha <lucas.rocha at nokia.com> * configure.ac: update dependency checks for Python 2.5. * loader/hd-plugin-loader-python.c: update for Python 2.5. * libhildondesktop/hildondesktop.override, libhildondesktop/hildondesktop.defs, libhildondesktop/Makefile.am: update to match API changes. Modified: projects/haf/trunk/python-hildondesktop/ChangeLog =================================================================== --- projects/haf/trunk/python-hildondesktop/ChangeLog 2007-10-26 08:00:43 UTC (rev 14624) +++ projects/haf/trunk/python-hildondesktop/ChangeLog 2007-10-26 08:00:55 UTC (rev 14625) @@ -1,3 +1,11 @@ +2007-10-26 Lucas Rocha <lucas.rocha at nokia.com> + + * configure.ac: update dependency checks for Python 2.5. + * loader/hd-plugin-loader-python.c: update for Python 2.5. + * libhildondesktop/hildondesktop.override, + libhildondesktop/hildondesktop.defs, + libhildondesktop/Makefile.am: update to match API changes. + 2007-06-08 Lucas Rocha <lucas.rocha at nokia.com> * configure.ac: release 0.0.1 Modified: projects/haf/trunk/python-hildondesktop/configure.ac =================================================================== --- projects/haf/trunk/python-hildondesktop/configure.ac 2007-10-26 08:00:43 UTC (rev 14624) +++ projects/haf/trunk/python-hildondesktop/configure.ac 2007-10-26 08:00:55 UTC (rev 14625) @@ -47,16 +47,12 @@ #++++++++ if test "x$have_python" != "xno"; then - AM_PATH_PYTHON([2.4],[],[no]) + AM_PATH_PYTHON([2.5],[],[no]) if test "x$PYTHON" = "x:"; then have_python=no fi fi -dnl if test "x$have_python" != "xno"; then -dnl AM_CHECK_PYTHON_HEADERS([],[have_python=no]) -dnl fi - if test "x$have_python" != "xno"; then PY_PREFIX=`$PYTHON -c 'import sys ; print sys.prefix'` PY_EXEC_PREFIX=`$PYTHON -c 'import sys ; print sys.exec_prefix'` @@ -73,11 +69,11 @@ AC_SUBST(PYTHON_CFLAGS) AC_SUBST(PYTHON_EXTRA_LIBS) - PKG_CHECK_MODULES(PYGOBJECT, pygobject-2.0 >= 2.6) + PKG_CHECK_MODULES(PYGOBJECT, pygobject-2.0 >= 2.13) AC_SUBST(PYGOBJECT_LIBS) AC_SUBST(PYGOBJECT_CFLAGS) - PKG_CHECK_MODULES(PYGTK, pygtk-2.0 >= 2.6) + PKG_CHECK_MODULES(PYGTK, pygtk-2.0 >= 2.10) AC_SUBST(PYGTK_CFLAGS) AC_SUBST(PYGTK_LIBS) Modified: projects/haf/trunk/python-hildondesktop/libhildondesktop/Makefile.am =================================================================== --- projects/haf/trunk/python-hildondesktop/libhildondesktop/Makefile.am 2007-10-26 08:00:43 UTC (rev 14624) +++ projects/haf/trunk/python-hildondesktop/libhildondesktop/Makefile.am 2007-10-26 08:00:55 UTC (rev 14625) @@ -27,8 +27,15 @@ --prefix $* $(<F) ) > $@ BINDING_LIBHILDONDESKTOP_IN = \ + $(hildondesktopincludedir)/libhildondesktop/hildon-desktop-popup-menu.h \ + $(hildondesktopincludedir)/libhildondesktop/hildon-thumb-menu-item.h \ + $(hildondesktopincludedir)/libhildondesktop/hildon-desktop-panel-window-composite.h \ + $(hildondesktopincludedir)/libhildondesktop/hildon-desktop-popup-window.h \ + $(hildondesktopincludedir)/libhildondesktop/hildon-desktop-toggle-button.h \ $(hildondesktopincludedir)/libhildondesktop/hildon-desktop-window.h \ $(hildondesktopincludedir)/libhildondesktop/hildon-desktop-panel.h \ + $(hildondesktopincludedir)/libhildondesktop/hildon-desktop-notification-manager.h \ + $(hildondesktopincludedir)/libhildondesktop/hildon-desktop-container.h \ $(hildondesktopincludedir)/libhildondesktop/hildon-desktop-panel-window.h \ $(hildondesktopincludedir)/libhildondesktop/hildon-desktop-panel-expandable.h \ $(hildondesktopincludedir)/libhildondesktop/hildon-desktop-panel-window-dialog.h \ @@ -39,6 +46,7 @@ $(hildondesktopincludedir)/libhildondesktop/hildon-home-titlebar.h \ $(hildondesktopincludedir)/libhildondesktop/hildon-desktop-home-item.h \ $(hildondesktopincludedir)/libhildondesktop/hildon-desktop-item.h \ + $(hildondesktopincludedir)/libhildondesktop/home-item.h \ $(hildondesktopincludedir)/libhildondesktop/statusbar-item.h \ $(hildondesktopincludedir)/libhildondesktop/tasknavigator-item.h Modified: projects/haf/trunk/python-hildondesktop/libhildondesktop/hildondesktop.defs =================================================================== --- projects/haf/trunk/python-hildondesktop/libhildondesktop/hildondesktop.defs 2007-10-26 08:00:43 UTC (rev 14624) +++ projects/haf/trunk/python-hildondesktop/libhildondesktop/hildondesktop.defs 2007-10-26 08:00:55 UTC (rev 14625) @@ -1,5 +1,11 @@ ;; -*- scheme -*- ; object definitions ... +(define-object Container + (in-module "HildonDesktop") + (c-name "HildonDesktopContainer") + (gtype-id "HILDON_DESKTOP_TYPE_CONTAINER") +) + (define-object Item (in-module "HildonDesktop") (parent "GtkBin") @@ -35,6 +41,20 @@ (gtype-id "HILDON_DESKTOP_TYPE_PANEL_ITEM") ) +(define-object PanelWindowDialog + (in-module "HildonDesktop") + (parent "HildonDesktopPanelWindowComposite") + (c-name "HildonDesktopPanelWindowDialog") + (gtype-id "HILDON_DESKTOP_TYPE_PANEL_WINDOW_DIALOG") +) + +(define-object ToggleButton + (in-module "HildonDesktop") + (parent "GtkToggleButton") + (c-name "HildonDesktopToggleButton") + (gtype-id "HILDON_DESKTOP_TYPE_TOGGLE_BUTTON") +) + (define-object Window (in-module "HildonDesktop") (parent "GtkWindow") @@ -49,20 +69,13 @@ (gtype-id "HILDON_DESKTOP_TYPE_PANEL_WINDOW") ) -(define-object PanelWindowDialog +(define-object PanelWindowComposite (in-module "HildonDesktop") (parent "HildonDesktopPanelWindow") - (c-name "HildonDesktopPanelWindowDialog") - (gtype-id "HILDON_DESKTOP_TYPE_PANEL_WINDOW_DIALOG") + (c-name "HildonDesktopPanelWindowComposite") + (gtype-id "HILDON_DESKTOP_TYPE_PANEL_WINDOW_COMPOSITE") ) -(define-object HomeItem - (in-module "HildonDesktop") - (parent "HildonDesktopItem") - (c-name "HildonDesktopHomeItem") - (gtype-id "HILDON_DESKTOP_TYPE_HOME_ITEM") -) - (define-object HomeArea (in-module "HildonDesktop") (parent "GtkContainer") @@ -84,6 +97,27 @@ (gtype-id "HILDON_TYPE_HOME_WINDOW") ) +(define-object ThumbMenuItem + (in-module "HildonDesktop") + (parent "GtkImageMenuItem") + (c-name "HildonThumbMenuItem") + (gtype-id "HILDON_TYPE_THUMB_MENU_ITEM") +) + +(define-object DesktopHomeItem + (in-module "HildonDesktop") + (parent "HildonDesktopItem") + (c-name "HildonDesktopHomeItem") + (gtype-id "HILDON_DESKTOP_TYPE_HOME_ITEM") +) + +(define-object HomeItem + (in-module "HildonDesktop") + (parent "HildonDesktopHomeItem") + (c-name "HomeItem") + (gtype-id "HOME_TYPE_ITEM") +) + (define-object StatusbarItem (in-module "HildonDesktop") (parent "HildonDesktopPanelItem") @@ -104,6 +138,12 @@ (in-module "HildonDesktop") (c-name "HildonDesktopPanelWindowOrientation") (gtype-id "HILDON_DESKTOP_TYPE_PANEL_WINDOW_ORIENTATION") + (values + '("top" "HILDON_DESKTOP_PANEL_WINDOW_ORIENTATION_TOP") + '("left" "HILDON_DESKTOP_PANEL_WINDOW_ORIENTATION_LEFT") + '("right" "HILDON_DESKTOP_PANEL_WINDOW_ORIENTATION_RIGHT") + '("bottom" "HILDON_DESKTOP_PANEL_WINDOW_ORIENTATION_BOTTOM") + ) ) (define-enum HomeItemResizeType @@ -118,6 +158,90 @@ ) ) + + + + +;; From /usr/include/libhildondesktop/libhildondesktop/hildon-thumb-menu-item.h + +(define-function hildon_thumb_menu_item_get_type + (c-name "hildon_thumb_menu_item_get_type") + (return-type "GType") +) + +(define-function hildon_thumb_menu_item_new + (c-name "hildon_thumb_menu_item_new") + (is-constructor-of "HildonThumbMenuItem") + (return-type "GtkWidget*") +) + +(define-function hildon_thumb_menu_item_new_with_labels + (c-name "hildon_thumb_menu_item_new_with_labels") + (return-type "GtkWidget*") + (parameters + '("const-gchar*" "label") + '("const-gchar*" "thumb_label") + '("const-gchar*" "comment") + ) +) + +(define-function hildon_thumb_menu_item_new_with_mnemonic + (c-name "hildon_thumb_menu_item_new_with_mnemonic") + (return-type "GtkWidget*") + (parameters + '("const-gchar*" "label") + '("const-gchar*" "thumb_label") + '("const-gchar*" "comment") + ) +) + +(define-method set_images + (of-object "HildonThumbMenuItem") + (c-name "hildon_thumb_menu_item_set_images") + (return-type "none") + (parameters + '("GtkWidget*" "image") + '("GtkWidget*" "thumb_image") + ) +) + +(define-function hildon_menu_set_thumb_mode + (c-name "hildon_menu_set_thumb_mode") + (return-type "none") + (parameters + '("GtkMenu*" "menu") + '("gboolean" "thumb_mode") + ) +) + + + + +;; From /usr/include/libhildondesktop/libhildondesktop/hildon-desktop-panel-window-composite.h + +(define-function hildon_desktop_panel_window_composite_get_type + (c-name "hildon_desktop_panel_window_composite_get_type") + (return-type "GType") +) + + + + +;; From /usr/include/libhildondesktop/libhildondesktop/hildon-desktop-toggle-button.h + +(define-function hildon_desktop_toggle_button_get_type + (c-name "hildon_desktop_toggle_button_get_type") + (return-type "GType") +) + +(define-function hildon_desktop_toggle_button_new + (c-name "hildon_desktop_toggle_button_new") + (is-constructor-of "HildonDesktopToggleButton") + (return-type "GtkWidget*") +) + + + ;; From /usr/include/libhildondesktop/libhildondesktop/hildon-desktop-window.h (define-function hildon_desktop_window_get_type @@ -182,8 +306,39 @@ (return-type "none") ) +(define-method refresh_items_status + (of-object "HildonDesktopPanel") + (c-name "hildon_desktop_panel_refresh_items_status") + (return-type "none") +) + + +;; From /usr/include/libhildondesktop/libhildondesktop/hildon-desktop-container.h + +(define-function hildon_desktop_container_get_type + (c-name "hildon_desktop_container_get_type") + (return-type "GType") +) + +(define-method get_children + (of-object "HildonDesktopContainer") + (c-name "hildon_desktop_container_get_children") + (return-type "GList*") +) + +(define-method remove + (of-object "HildonDesktopContainer") + (c-name "hildon_desktop_container_remove") + (return-type "none") + (parameters + '("GtkWidget*" "widget") + ) +) + + + ;; From /usr/include/libhildondesktop/libhildondesktop/hildon-desktop-panel-window.h (define-function hildon_desktop_panel_window_get_type @@ -191,6 +346,11 @@ (return-type "GType") ) +(define-function hildon_desktop_panel_window_orientation_get_type + (c-name "hildon_desktop_panel_window_orientation_get_type") + (return-type "GType") +) + (define-function hildon_desktop_panel_window_new (c-name "hildon_desktop_panel_window_new") (is-constructor-of "HildonDesktopPanelWindow") @@ -208,6 +368,36 @@ +;; From /usr/include/libhildondesktop/libhildondesktop/hildon-desktop-panel-expandable.h + +(define-function hildon_desktop_panel_expandable_get_type + (c-name "hildon_desktop_panel_expandable_get_type") + (return-type "GType") +) + +(define-method get_extension + (of-object "HildonDesktopPanelExpandable") + (c-name "hildon_desktop_panel_expandable_get_extension") + (return-type "GtkWidget*") +) + + + +;; From /usr/include/libhildondesktop/libhildondesktop/hildon-desktop-panel-window-dialog.h + +(define-function hildon_desktop_panel_window_dialog_get_type + (c-name "hildon_desktop_panel_window_dialog_get_type") + (return-type "GType") +) + +(define-function hildon_desktop_panel_window_dialog_new + (c-name "hildon_desktop_panel_window_dialog_new") + (is-constructor-of "HildonDesktopPanelWindowDialog") + (return-type "GtkWidget*") +) + + + ;; From /usr/include/libhildondesktop/libhildondesktop/hildon-desktop-panel-item.h (define-function hildon_desktop_panel_item_get_type @@ -230,81 +420,85 @@ (return-type "GType") ) -(define-method reinit - (of-object "HildonDesktopMultiscreen") +(define-function hildon_desktop_ms_reinit (c-name "hildon_desktop_ms_reinit") (return-type "none") + (parameters + '("HildonDesktopMultiscreen*" "ms") + ) ) -(define-method get_screens - (of-object "HildonDesktopMultiscreen") +(define-function hildon_desktop_ms_get_screens (c-name "hildon_desktop_ms_get_screens") (return-type "gint") + (parameters + '("HildonDesktopMultiscreen*" "ms") + ) ) -(define-method get_monitors - (of-object "HildonDesktopMultiscreen") +(define-function hildon_desktop_ms_get_monitors (c-name "hildon_desktop_ms_get_monitors") (return-type "gint") (parameters + '("HildonDesktopMultiscreen*" "ms") '("GdkScreen*" "screen") ) ) -(define-method get_x - (of-object "HildonDesktopMultiscreen") +(define-function hildon_desktop_ms_get_x (c-name "hildon_desktop_ms_get_x") (return-type "gint") (parameters + '("HildonDesktopMultiscreen*" "ms") '("GdkScreen*" "screen") '("gint" "monitor") ) ) -(define-method get_y - (of-object "HildonDesktopMultiscreen") +(define-function hildon_desktop_ms_get_y (c-name "hildon_desktop_ms_get_y") (return-type "gint") (parameters + '("HildonDesktopMultiscreen*" "ms") '("GdkScreen*" "screen") '("gint" "monitor") ) ) -(define-method get_width - (of-object "HildonDesktopMultiscreen") +(define-function hildon_desktop_ms_get_width (c-name "hildon_desktop_ms_get_width") (return-type "gint") (parameters + '("HildonDesktopMultiscreen*" "ms") '("GdkScreen*" "screen") '("gint" "monitor") ) ) -(define-method get_height - (of-object "HildonDesktopMultiscreen") +(define-function hildon_desktop_ms_get_height (c-name "hildon_desktop_ms_get_height") (return-type "gint") (parameters + '("HildonDesktopMultiscreen*" "ms") '("GdkScreen*" "screen") '("gint" "monitor") ) ) -(define-method locate_widget_monitor - (of-object "HildonDesktopMultiscreen") +(define-function hildon_desktop_ms_locate_widget_monitor (c-name "hildon_desktop_ms_locate_widget_monitor") (return-type "gint") (parameters + '("HildonDesktopMultiscreen*" "ms") '("GtkWidget*" "widget") ) ) -(define-method is_at_visible_extreme - (of-object "HildonDesktopMultiscreen") +(define-function hildon_desktop_ms_is_at_visible_extreme (c-name "hildon_desktop_ms_is_at_visible_extreme") (return-type "none") (parameters + '("HildonDesktopMultiscreen*" "ms") '("GdkScreen*" "screen") '("gint" "monitor") '("gboolean*" "leftmost") @@ -314,11 +508,11 @@ ) ) -(define-method make_environment_for_screen - (of-object "HildonDesktopMultiscreen") +(define-function hildon_desktop_ms_make_environment_for_screen (c-name "hildon_desktop_ms_make_environment_for_screen") (return-type "gchar**") (parameters + '("HildonDesktopMultiscreen*" "ms") '("GdkScreen*" "screen") '("gchar**" "envp") ) @@ -375,21 +569,6 @@ (return-type "GtkWidget*") ) -(define-method set_layout_mode - (of-object "HildonHomeArea") - (c-name "hildon_home_area_set_layout_mode") - (return-type "none") - (parameters - '("gboolean" "layout_mode") - ) -) - -(define-method get_layout_mode - (of-object "HildonHomeArea") - (c-name "hildon_home_area_get_layout_mode") - (return-type "gboolean") -) - (define-method save_configuration (of-object "HildonHomeArea") (c-name "hildon_home_area_save_configuration") @@ -416,18 +595,26 @@ (return-type "gboolean") ) -(define-method get_overlaps +(define-method put (of-object "HildonHomeArea") - (c-name "hildon_home_area_get_overlaps") - (return-type "gboolean") + (c-name "hildon_home_area_put") + (return-type "none") + (parameters + '("GtkWidget*" "child") + '("gint" "x") + '("gint" "y") + '("gint" "stack_index") + ) ) -(define-method set_batch_add +(define-method move (of-object "HildonHomeArea") - (c-name "hildon_home_area_set_batch_add") + (c-name "hildon_home_area_move") (return-type "none") (parameters - '("gboolean" "batch_add") + '("GtkWidget*" "child") + '("gint" "x") + '("gint" "y") ) ) @@ -472,77 +659,7 @@ -;; From /usr/include/libhildondesktop/libhildondesktop/hildon-desktop-home-item.h -(define-function hildon_desktop_home_item_resize_type_get_type - (c-name "hildon_desktop_home_item_resize_type_get_type") - (return-type "GType") -) - -(define-function hildon_desktop_home_item_get_type - (c-name "hildon_desktop_home_item_get_type") - (return-type "GType") -) - -(define-function hildon_desktop_home_item_new - (c-name "hildon_desktop_home_item_new") - (is-constructor-of "HildonHomeApplet") - (return-type "GtkWidget*") -) - -(define-method set_layout_mode - (of-object "HildonHomeApplet") - (c-name "hildon_desktop_home_item_set_layout_mode") - (return-type "none") - (parameters - '("gboolean" "layout_mode") - ) -) - -(define-method get_layout_mode - (of-object "HildonHomeApplet") - (c-name "hildon_desktop_home_item_get_layout_mode") - (return-type "gboolean") -) - -(define-method set_resize_type - (of-object "HildonHomeApplet") - (c-name "hildon_desktop_home_item_set_resize_type") - (return-type "none") - (parameters - '("HildonHomeAppletResizeType" "rt") - ) -) - -(define-method get_resize_type - (of-object "HildonHomeApplet") - (c-name "hildon_desktop_home_item_get_resize_type") - (return-type "HildonHomeAppletResizeType") -) - -(define-method get_settings_menu_item - (of-object "HildonHomeApplet") - (c-name "hildon_desktop_home_item_get_settings_menu_item") - (return-type "GtkWidget*") -) - -(define-method get_overlaps - (of-object "HildonHomeApplet") - (c-name "hildon_desktop_home_item_get_overlaps") - (return-type "gboolean") -) - -(define-method set_is_background - (of-object "HildonHomeApplet") - (c-name "hildon_desktop_home_item_set_is_background") - (return-type "none") - (parameters - '("gboolean" "is_background") - ) -) - - - ;; From /usr/include/libhildondesktop/libhildondesktop/hildon-desktop-item.h (define-function hildon_desktop_item_get_type @@ -579,6 +696,24 @@ +;; From /usr/include/libhildondesktop/libhildondesktop/home-item.h + +(define-function home_item_get_type + (c-name "home_item_get_type") + (return-type "GType") +) + +(define-method set_resize_type + (of-object "HomeItem") + (c-name "home_item_set_resize_type") + (return-type "none") + (parameters + '("HildonDesktopHomeItemResizeType" "resize_type") + ) +) + + + ;; From /usr/include/libhildondesktop/libhildondesktop/statusbar-item.h (define-function statusbar_item_get_type Modified: projects/haf/trunk/python-hildondesktop/libhildondesktop/hildondesktop.override =================================================================== --- projects/haf/trunk/python-hildondesktop/libhildondesktop/hildondesktop.override 2007-10-26 08:00:43 UTC (rev 14624) +++ projects/haf/trunk/python-hildondesktop/libhildondesktop/hildondesktop.override 2007-10-26 08:00:55 UTC (rev 14625) @@ -3,6 +3,9 @@ #include <Python.h> #include <pygobject.h> #include <libhildondesktop/hildon-desktop-window.h> +#include <libhildondesktop/hildon-thumb-menu-item.h> +#include <libhildondesktop/hildon-desktop-container.h> +#include <libhildondesktop/hildon-desktop-toggle-button.h> #include <libhildondesktop/hildon-desktop-panel.h> #include <libhildondesktop/hildon-desktop-panel-window.h> #include <libhildondesktop/hildon-desktop-panel-expandable.h> @@ -15,6 +18,7 @@ #include <libhildondesktop/hildon-desktop-home-item.h> #include <libhildondesktop/hildon-desktop-plugin.h> #include <libhildondesktop/hildon-desktop-item.h> +#include <libhildondesktop/home-item.h> #include <libhildondesktop/statusbar-item.h> #include <libhildondesktop/tasknavigator-item.h> %% @@ -27,6 +31,9 @@ import gtk.Container as PyGtkContainer_Type import gtk.EventBox as PyGtkEventBox_Type import gtk.Widget as PyGtkWidget_Type +import gtk.MenuItem as PyGtkMenuItem_Type +import gtk.ImageMenuItem as PyGtkImageMenuItem_Type +import gtk.ToggleButton as PyGtkToggleButton_Type import gtk.gdk.Screen as PyGdkScreen_Type import gobject.GObject as PyGObject_Type %% Modified: projects/haf/trunk/python-hildondesktop/loader/hd-plugin-loader-python.c =================================================================== --- projects/haf/trunk/python-hildondesktop/loader/hd-plugin-loader-python.c 2007-10-26 08:00:43 UTC (rev 14624) +++ projects/haf/trunk/python-hildondesktop/loader/hd-plugin-loader-python.c 2007-10-26 08:00:55 UTC (rev 14625) @@ -285,7 +285,11 @@ Py_Initialize (); loader->priv->initialised = TRUE; - init_pygobject (); + pStr = PyString_FromString (HD_DESKTOP_MODULE_PATH); + pPath = PySys_GetObject ("path"); + PyList_Append (pPath, pStr); + + pygobject_init (-1, -1, -1); init_pygtk (); pStr = PyString_FromString (HD_DESKTOP_MODULE_PATH);
- Previous message: [maemo-commits] r14624 - in projects/haf/trunk/dbus/debian: . patches
- Next message: [maemo-commits] r14626 - in projects/haf/trunk/dbus/debian: . patches
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]