diff --git a/src/core/window.c b/src/core/window.c
index 03cb329..06b7544 100644
--- a/src/core/window.c
+++ b/src/core/window.c
@@ -140,6 +140,7 @@ enum {
   PROP_TITLE,
   PROP_ICON,
   PROP_MINI_ICON,
+  PROP_MINIMIZED
 };
 
 enum
@@ -196,6 +197,9 @@ meta_window_get_property(GObject         *object,
     case PROP_MINI_ICON:
       g_value_set_object (value, win->mini_icon);
       break;
+    case PROP_MINIMIZED:
+      g_value_set_boolean (value, win->minimized);
+      break;
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
       break;
@@ -248,6 +252,13 @@ meta_window_class_init (MetaWindowClass *klass)
                                                         "16 pixel sized icon",
                                                         GDK_TYPE_PIXBUF,
                                                         G_PARAM_READABLE));
+  g_object_class_install_property (object_class,
+                                   PROP_MINIMIZED,
+                                   g_param_spec_boolean ("minimized",
+                                                        "Minimized",
+                                                        "Window state",
+                                                        FALSE,
+                                                        G_PARAM_READABLE));
 
   window_signals[WORKSPACE_CHANGED] =
     g_signal_new ("workspace-changed",
@@ -2659,6 +2670,7 @@ meta_window_minimize (MetaWindow  *window)
   if (!window->minimized)
     {
       window->minimized = TRUE;
+      g_object_notify(G_OBJECT (window), "minimized");      
       meta_window_queue(window, META_QUEUE_CALC_SHOWING);
 
       meta_window_foreach_transient (window,
@@ -2686,6 +2698,7 @@ meta_window_unminimize (MetaWindow  *window)
   if (window->minimized)
     {
       window->minimized = FALSE;
+      g_object_notify(G_OBJECT (window), "minimized");
       window->was_minimized = TRUE;
       meta_window_queue(window, META_QUEUE_CALC_SHOWING);
 
