Index: /trunk/src/org/openstreetmap/josm/data/AutosaveTask.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/data/AutosaveTask.java	(revision 6356)
+++ /trunk/src/org/openstreetmap/josm/data/AutosaveTask.java	(revision 6357)
@@ -34,6 +34,8 @@
 import org.openstreetmap.josm.gui.MapView;
 import org.openstreetmap.josm.gui.MapView.LayerChangeListener;
+import org.openstreetmap.josm.gui.Notification;
 import org.openstreetmap.josm.gui.layer.Layer;
 import org.openstreetmap.josm.gui.layer.OsmDataLayer;
+import org.openstreetmap.josm.gui.util.GuiHelper;
 import org.openstreetmap.josm.io.OsmExporter;
 import org.openstreetmap.josm.io.OsmImporter;
@@ -67,4 +69,6 @@
     public static final IntegerProperty PROP_INTERVAL = new IntegerProperty("autosave.interval", 5 * 60);
     public static final IntegerProperty PROP_INDEX_LIMIT = new IntegerProperty("autosave.index-limit", 1000);
+    /** Defines if a notification should be displayed after each autosave */
+    public static final BooleanProperty PROP_NOTIFICATION = new BooleanProperty("autosave.notification", false);
 
     private static class AutosaveLayerInfo {
@@ -205,4 +209,7 @@
                 }
                 changedDatasets.clear();
+                if (PROP_NOTIFICATION.get() && !layersInfo.isEmpty()) {
+                    displayNotification();
+                }
             } catch (Throwable t) {
                 // Don't let exception stop time thread
@@ -212,4 +219,15 @@
             }
         }
+    }
+
+    protected void displayNotification() {
+        GuiHelper.runInEDT(new Runnable() {
+            @Override
+            public void run() {
+                new Notification(tr("Your work has been saved automatically."))
+                .setDuration(Notification.TIME_SHORT)
+                .show();
+            }
+        });
     }
 
Index: /trunk/src/org/openstreetmap/josm/gui/Notification.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/Notification.java	(revision 6356)
+++ /trunk/src/org/openstreetmap/josm/gui/Notification.java	(revision 6357)
@@ -58,8 +58,15 @@
     private String helpTopic;
 
+    /**
+     * Constructs a new {@code Notification} without content.
+     */
     public Notification() {
         duration = NotificationManager.defaultNotificationTime;
     }
 
+    /**
+     * Constructs a new {@code Notification} with the given textual content.
+     * @param msg The text to display
+     */
     public Notification(String msg) {
         this();
Index: /trunk/src/org/openstreetmap/josm/gui/preferences/map/BackupPreference.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/preferences/map/BackupPreference.java	(revision 6356)
+++ /trunk/src/org/openstreetmap/josm/gui/preferences/map/BackupPreference.java	(revision 6357)
@@ -23,7 +23,7 @@
 import org.openstreetmap.josm.gui.preferences.TabPreferenceSetting;
 import org.openstreetmap.josm.gui.widgets.HtmlPanel;
+import org.openstreetmap.josm.gui.widgets.JosmTextField;
 import org.openstreetmap.josm.gui.widgets.VerticallyScrollablePanel;
 import org.openstreetmap.josm.tools.GBC;
-import org.openstreetmap.josm.gui.widgets.JosmTextField;
 
 public class BackupPreference implements SubPreferenceSetting {
@@ -36,4 +36,5 @@
     }
     private static final BooleanProperty PROP_KEEP_BACKUP = new BooleanProperty("save.keepbackup", false);
+    private JCheckBox notification;
     private JCheckBox keepBackup;
     private JCheckBox autosave;
@@ -84,4 +85,11 @@
             GBC.eop().fill(GBC.HORIZONTAL).insets(5,0,0,0));
 
+        panel.add(new JSeparator(), GBC.eop().fill(GBC.HORIZONTAL));
+
+        notification = new JCheckBox(tr("Notification at each save"));
+        notification.setSelected(AutosaveTask.PROP_NOTIFICATION.get());
+        notification.setToolTipText(tr("When saving, display a small notification"));
+        panel.add(notification, GBC.eop());
+        
         ActionListener autosaveEnabled = new ActionListener(){
             @Override
@@ -113,4 +121,5 @@
         restartRequired |= AutosaveTask.PROP_INTERVAL.parseAndPut(autosaveInterval.getText());
         AutosaveTask.PROP_FILES_PER_LAYER.parseAndPut(backupPerLayer.getText());
+        AutosaveTask.PROP_NOTIFICATION.put(notification.isSelected());
         return restartRequired;
     }
