-    /* we actually set the size of a frame here and no-where else */
-    gtk_widget_set_usize( m_widget, m_width, m_height );
+    /* set size hints */
+    gint flag = 0; // GDK_HINT_POS;
+    if ((m_minWidth != -1) || (m_minHeight != -1)) flag |= GDK_HINT_MIN_SIZE;
+    if ((m_maxWidth != -1) || (m_maxHeight != -1)) flag |= GDK_HINT_MAX_SIZE;
+    GdkGeometry geom;
+    geom.min_width = m_minWidth;
+    geom.min_height = m_minHeight;
+    geom.max_width = m_maxWidth;
+    geom.max_height = m_maxHeight;
+    gtk_window_set_geometry_hints( GTK_WINDOW(m_widget),
+                                   (GtkWidget*) NULL,
+                                   &geom,
+                                   (GdkWindowHints) flag );