Index: src/display.c
===================================================================
RCS file: /cvs/gnome/metacity/src/display.c,v
retrieving revision 1.286
diff -u -5 -B -b -r1.286 display.c
--- src/display.c	26 May 2006 16:51:03 -0000	1.286
+++ src/display.c	8 Jun 2006 16:03:10 -0000
@@ -3709,12 +3709,14 @@
 
 void
 meta_display_grab_window_buttons (MetaDisplay *display,
                                   Window       xwindow)
 {  
-  /* Grab Alt + button1 and Alt + button2 for moving window,
-   * and Alt + button3 for popping up window menu.
+  /* Grab Alt + button1 for moving window.
+   * Grab Alt + button2 for resizing window.
+   * Grab Alt + button3 for popping up window menu.
+   * Grab Alt + Shift + button1 for snap-moving window.
    */
   meta_verbose ("Grabbing window buttons for 0x%lx\n", xwindow);
   
   /* FIXME If we ignored errors here instead of spewing, we could
    * put one big error trap around the loop and avoid a bunch of
@@ -3722,15 +3724,14 @@
    */
 
   if (display->window_grab_modifiers != 0)
     {
       gboolean debug = g_getenv ("METACITY_DEBUG_BUTTON_GRABS") != NULL;
-      int i = 1;
-      while (i < 4)
+      int i;
+      for (i = 1; i < 4; i++)
         {
-          meta_change_button_grab (display,
-                                   xwindow,
+          meta_change_button_grab (display, xwindow,
                                    TRUE,
                                    FALSE,
                                    i, display->window_grab_modifiers);  
           
           /* This is for debugging, since I end up moving the Xnest
@@ -3739,13 +3740,15 @@
           if (debug)
             meta_change_button_grab (display, xwindow,
                                      TRUE,
                                      FALSE,
                                      i, ControlMask);
-          
-          ++i;
         }
+      meta_change_button_grab (display, xwindow,
+                               TRUE,
+                               FALSE,
+                               1, display->window_grab_modifiers | ShiftMask);
     }
 }
 
 void
 meta_display_ungrab_window_buttons  (MetaDisplay *display,
