Index: docs/reference/gdk/gdk-sections.txt
===================================================================
--- docs/reference/gdk/gdk-sections.txt	(revision 20916)
+++ docs/reference/gdk/gdk-sections.txt	(working copy)
@@ -972,6 +972,8 @@
 gdk_threads_add_idle_full
 gdk_threads_add_timeout
 gdk_threads_add_timeout_full
+gdk_threads_add_timeout_seconds
+gdk_threads_add_timeout_seconds_full
 
 <SUBSECTION Private>
 gdk_threads_lock
Index: gdk/gdk.c
===================================================================
--- gdk/gdk.c	(revision 20916)
+++ gdk/gdk.c	(working copy)
@@ -691,6 +691,69 @@
 }
 
 
+/**
+ * gdk_threads_add_timeout_seconds_full:
+ * @priority: the priority of the timeout source. Typically this will be in the
+ *            range between #G_PRIORITY_DEFAULT_IDLE and #G_PRIORITY_HIGH_IDLE.
+ * @interval: the time between calls to the function, in seconds
+ * @function: function to call
+ * @data:     data to pass to @function
+ * @notify:   function to call when the timeout is removed, or %NULL
+ *
+ * For details, see gdk_threads_add_timeout_full().
+ *
+ * Return value: the ID (greater than 0) of the event source.
+ * 
+ * Since: 2.14
+ */
+guint
+gdk_threads_add_timeout_seconds_full (gint           priority,
+                                      guint          interval,
+                                      GSourceFunc    function,
+                                      gpointer       data,
+                                      GDestroyNotify notify)
+{
+  GdkThreadsDispatch *dispatch;
+
+  g_return_val_if_fail (function != NULL, 0);
+
+  dispatch = g_slice_new (GdkThreadsDispatch);
+  dispatch->func = function;
+  dispatch->data = data;
+  dispatch->destroy = notify;
+
+  return g_timeout_add_seconds_full (priority, 
+                                     interval,
+                                     gdk_threads_dispatch, 
+                                     dispatch, 
+                                     gdk_threads_dispatch_free);
+}
+
+/**
+ * gdk_threads_add_timeout_seconds:
+ * @interval: the time between calls to the function, in seconds
+ * @function: function to call
+ * @data:     data to pass to @function
+ *
+ * A wrapper for the common usage of gdk_threads_add_timeout_seconds_full() 
+ * assigning the default priority, #G_PRIORITY_DEFAULT.
+ *
+ * For details, see gdk_threads_add_timeout_full().
+ * 
+ * Return value: the ID (greater than 0) of the event source.
+ *
+ * Since: 2.14
+ */
+guint
+gdk_threads_add_timeout_seconds (guint       interval,
+                                 GSourceFunc function,
+                                 gpointer    data)
+{
+  return gdk_threads_add_timeout_seconds_full (G_PRIORITY_DEFAULT,
+                                               interval, function, data, NULL);
+}
+
+
 G_CONST_RETURN char *
 gdk_get_program_class (void)
 {
Index: gdk/gdk.h
===================================================================
--- gdk/gdk.h	(revision 20916)
+++ gdk/gdk.h	(working copy)
@@ -195,26 +195,34 @@
 GDKVAR GCallback gdk_threads_lock;
 GDKVAR GCallback gdk_threads_unlock;
 
-void     gdk_threads_enter                (void);
-void     gdk_threads_leave                (void);
-void     gdk_threads_init                 (void);
-void     gdk_threads_set_lock_functions   (GCallback enter_fn,
-					   GCallback leave_fn);
+void     gdk_threads_enter                    (void);
+void     gdk_threads_leave                    (void);
+void     gdk_threads_init                     (void);
+void     gdk_threads_set_lock_functions       (GCallback enter_fn,
+					       GCallback leave_fn);
 
-guint    gdk_threads_add_idle_full        (gint           priority,
-		                           GSourceFunc    function,
-		                           gpointer       data,
-		                           GDestroyNotify notify);
-guint    gdk_threads_add_idle             (GSourceFunc    function,
-		                           gpointer       data);
-guint    gdk_threads_add_timeout_full     (gint           priority,
-                                           guint          interval,
-                                           GSourceFunc    function,
-                                           gpointer       data,
-                                           GDestroyNotify notify);
-guint    gdk_threads_add_timeout          (guint          interval,
-                                           GSourceFunc    function,
-                                           gpointer       data);
+guint    gdk_threads_add_idle_full            (gint           priority,
+		                               GSourceFunc    function,
+		                               gpointer       data,
+		                               GDestroyNotify notify);
+guint    gdk_threads_add_idle                 (GSourceFunc    function,
+		                               gpointer       data);
+guint    gdk_threads_add_timeout_full         (gint           priority,
+                                               guint          interval,
+                                               GSourceFunc    function,
+                                               gpointer       data,
+                                               GDestroyNotify notify);
+guint    gdk_threads_add_timeout              (guint          interval,
+                                               GSourceFunc    function,
+                                               gpointer       data);
+guint    gdk_threads_add_timeout_seconds_full (gint           priority,
+                                               guint          interval,
+                                               GSourceFunc    function,
+                                               gpointer       data,
+                                               GDestroyNotify notify);
+guint    gdk_threads_add_timeout_seconds      (guint          interval,
+                                               GSourceFunc    function,
+                                               gpointer       data);
 
 #ifdef	G_THREADS_ENABLED
 #  define GDK_THREADS_ENTER()	G_STMT_START {	\
Index: gdk/gdk.symbols
===================================================================
--- gdk/gdk.symbols	(revision 20916)
+++ gdk/gdk.symbols	(working copy)
@@ -147,6 +147,8 @@
 gdk_threads_add_idle_full
 gdk_threads_add_timeout
 gdk_threads_add_timeout_full
+gdk_threads_add_timeout_seconds
+gdk_threads_add_timeout_seconds_full
 #endif
 #endif
 
