Index: gnome-vfs/doc/tmpl/gnome-vfs-monitor.sgml
===================================================================
--- gnome-vfs/doc/tmpl/gnome-vfs-monitor.sgml	(revision 5463)
+++ gnome-vfs/doc/tmpl/gnome-vfs-monitor.sgml	(working copy)
@@ -43,6 +43,7 @@
 @GNOME_VFS_MONITOR_EVENT_STOPEXECUTING: 
 @GNOME_VFS_MONITOR_EVENT_CREATED: 
 @GNOME_VFS_MONITOR_EVENT_METADATA_CHANGED: 
+@GNOME_VFS_MONITOR_EVENT_CLOSE_WRITE
 
 <!-- ##### USER_FUNCTION GnomeVFSMonitorCallback ##### -->
 <para>
Index: gnome-vfs/modules/inotify-helper.c
===================================================================
--- gnome-vfs/modules/inotify-helper.c	(revision 5463)
+++ gnome-vfs/modules/inotify-helper.c	(working copy)
@@ -208,6 +208,8 @@
 	case IN_Q_OVERFLOW:
 	case IN_OPEN:
 	case IN_CLOSE_WRITE:
+		return GNOME_VFS_MONITOR_EVENT_CLOSE_WRITE;
+	break;
 	case IN_CLOSE_NOWRITE:
 	case IN_ACCESS:
 	case IN_IGNORED:
Index: gnome-vfs/modules/inotify-path.c
===================================================================
--- gnome-vfs/modules/inotify-path.c	(revision 5463)
+++ gnome-vfs/modules/inotify-path.c	(working copy)
@@ -37,7 +37,7 @@
 #include "inotify-path.h"
 #include "inotify-missing.h"
 
-#define IP_INOTIFY_MASK (IN_MODIFY|IN_ATTRIB|IN_MOVED_FROM|IN_MOVED_TO|IN_DELETE|IN_CREATE|IN_DELETE_SELF|IN_UNMOUNT|IN_MOVE_SELF)
+#define IP_INOTIFY_MASK (IN_MODIFY|IN_CLOSE_WRITE|IN_ATTRIB|IN_MOVED_FROM|IN_MOVED_TO|IN_DELETE|IN_CREATE|IN_DELETE_SELF|IN_UNMOUNT|IN_MOVE_SELF)
 
 typedef struct ip_watched_dir_s {
 	char *path;
Index: gnome-vfs/libgnomevfs/gnome-vfs-monitor.h
===================================================================
--- gnome-vfs/libgnomevfs/gnome-vfs-monitor.h	(revision 5463)
+++ gnome-vfs/libgnomevfs/gnome-vfs-monitor.h	(working copy)
@@ -48,7 +48,8 @@
  * @GNOME_VFS_MONITOR_EVENT_STOPEXECUTING: executed file isn't executed anymore (FAM only).
  * @GNOME_VFS_MONITOR_EVENT_CREATED: file created event (FAM, inotify).
  * @GNOME_VFS_MONITOR_EVENT_METADATA_CHANGED: file metadata changed (inotify only).
- * 
+ * @GNOME_VFS_MONITOR_EVENT_CLOSE_WRITE: file was closed for writing; we thus expect its current form to persist (inotify only).
+ *
  * Types of events that can be monitored.
  **/
 
@@ -58,7 +59,8 @@
   GNOME_VFS_MONITOR_EVENT_STARTEXECUTING,
   GNOME_VFS_MONITOR_EVENT_STOPEXECUTING,
   GNOME_VFS_MONITOR_EVENT_CREATED,
-  GNOME_VFS_MONITOR_EVENT_METADATA_CHANGED
+  GNOME_VFS_MONITOR_EVENT_METADATA_CHANGED,
+  GNOME_VFS_MONITOR_EVENT_CLOSE_WRITE
 } GnomeVFSMonitorEventType;
 
 /**
Index: gnome-vfs/programs/gnomevfs-monitor.c
===================================================================
--- gnome-vfs/programs/gnomevfs-monitor.c	(revision 5463)
+++ gnome-vfs/programs/gnomevfs-monitor.c	(working copy)
@@ -66,6 +66,10 @@
 		case GNOME_VFS_MONITOR_EVENT_METADATA_CHANGED:
 			g_print ("Metadata changed event:\n");
 			break;
+
+	        case GNOME_VFS_MONITOR_EVENT_CLOSE_WRITE:
+			g_print ("File has been closed for writing event:\n");
+			break;
 		
 		default:
 			g_assert_not_reached ();
