Index: /trunk/src/org/openstreetmap/josm/gui/MapStatus.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/MapStatus.java	(revision 10190)
+++ /trunk/src/org/openstreetmap/josm/gui/MapStatus.java	(revision 10191)
@@ -21,4 +21,6 @@
 import java.awt.event.AWTEventListener;
 import java.awt.event.ActionEvent;
+import java.awt.event.ComponentAdapter;
+import java.awt.event.ComponentEvent;
 import java.awt.event.InputEvent;
 import java.awt.event.KeyAdapter;
@@ -197,7 +199,8 @@
             tr("The length of the new way segment being drawn."), 10, PROP_BACKGROUND_COLOR.get());
     private final ImageLabel nameText = new ImageLabel("name",
-            tr("The name of the object at the mouse pointer."), 20, PROP_BACKGROUND_COLOR.get());
+            tr("The name of the object at the mouse pointer."), getNameLabelCharacterCount(Main.parent), PROP_BACKGROUND_COLOR.get());
     private final JosmTextField helpText = new JosmTextField();
     private final JProgressBar progressBar = new JProgressBar();
+    private final transient ComponentAdapter mvComponentAdapter;
     public final transient BackgroundProgressMonitor progressMonitor = new BackgroundProgressMonitor();
 
@@ -948,4 +951,13 @@
         Main.pref.addPreferenceChangeListener(this);
 
+        mvComponentAdapter = new ComponentAdapter() {
+            @Override
+            public void componentResized(ComponentEvent e) {
+                nameText.setCharCount(getNameLabelCharacterCount(Main.parent));
+                revalidate();
+            }
+        };
+        mv.addComponentListener(mvComponentAdapter);
+
         // The background thread
         thread = new Thread(collector, "Map Status Collector");
@@ -1078,4 +1090,5 @@
         SystemOfMeasurement.removeSoMChangeListener(this);
         Main.pref.removePreferenceChangeListener(this);
+        mv.removeComponentListener(mvComponentAdapter);
 
         // MapFrame gets destroyed when the last layer is removed, but the status line background
@@ -1117,3 +1130,8 @@
         PROP_ACTIVE_FOREGROUND_COLOR.get();
     }
+
+    private static int getNameLabelCharacterCount(Component parent) {
+        int w = parent != null ? parent.getWidth() : 800;
+        return Math.min(80, 20 + Math.max(0, w-1280) * 60 / (1920-1280));
+    }
 }
Index: /trunk/src/org/openstreetmap/josm/gui/widgets/ImageLabel.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/widgets/ImageLabel.java	(revision 10190)
+++ /trunk/src/org/openstreetmap/josm/gui/widgets/ImageLabel.java	(revision 10191)
@@ -20,5 +20,5 @@
     private final JLabel imgLabel = new JLabel();
     private final JLabel tf = new JLabel();
-    private final int charCount;
+    private int charCount;
 
     /**
@@ -36,5 +36,5 @@
         add(tf, GBC.std().fill(GBC.BOTH).anchor(GBC.WEST).insets(2, 1, 1, 0));
         setToolTipText(tooltip);
-        this.charCount = charCount;
+        setCharCount(charCount);
     }
 
@@ -64,3 +64,21 @@
         return new Dimension(25 + charCount*tf.getFontMetrics(tf.getFont()).charWidth('0'), super.getMinimumSize().height);
     }
+
+    /**
+     * Returns the preferred char count.
+     * @return the preferred char count
+     * @since 10191
+     */
+    public final int getCharCount() {
+        return charCount;
+    }
+
+    /**
+     * Sets the preferred char count.
+     * @param charCount the preferred char count
+     * @since 10191
+     */
+    public final void setCharCount(int charCount) {
+        this.charCount = charCount;
+    }
 }
