Merge branch 'backport' into 3.4-working
authorDana Jansens <danakj@orodu.net>
Sat, 4 Aug 2007 18:45:03 +0000 (14:45 -0400)
committerDana Jansens <danakj@orodu.net>
Sat, 4 Aug 2007 18:45:03 +0000 (14:45 -0400)
1  2 
Makefile.am
data/rc.xml
data/rc.xsd
openbox/actions/desktop.c
openbox/actions/growtoedge.c
openbox/config.c
openbox/frame.c

diff --cc Makefile.am
Simple merge
diff --cc data/rc.xml
Simple merge
diff --cc data/rc.xsd
Simple merge
Simple merge
index 774798e1c057c97e125c286e6eb2d573aff1d822,2e2b7011cf80a86d2d70d20313d94c1fbf0671a5..11ea2fa815b35e529a0aa599b3bc413f6684fcc8
@@@ -47,22 -50,38 +47,47 @@@ static gpointer setup_south_func(ObPars
      return o;
  }
  
 -static void free_func(gpointer options)
 +static gpointer setup_east_func(ObParseInst *i,
 +                                xmlDocPtr doc, xmlNodePtr node)
  {
 -    Options *o = options;
 +    Options *o = g_new0(Options, 1);
 +    o->dir = OB_DIRECTION_EAST;
 +    return o;
 +}
  
 -    g_free(o);
 +static gpointer setup_west_func(ObParseInst *i,
 +                                xmlDocPtr doc, xmlNodePtr node)
 +{
 +    Options *o = g_new0(Options, 1);
 +    o->dir = OB_DIRECTION_WEST;
 +    return o;
  }
  
+ static gboolean do_grow(ObActionsData *data, gint x, gint y, gint w, gint h)
+ {
+     gint realw, realh, lw, lh;
+     realw = w;
+     realh = h;
+     client_try_configure(data->client, &x, &y, &realw, &realh,
+                          &lw, &lh, TRUE);
+     /* if it's going to be resized smaller than it intended, don't
+        move the window over */
+     if (x != data->client->area.x) x += w - realw;
+     if (y != data->client->area.y) y += h - realh;
+     if (x != data->client->area.x || y != data->client->area.y ||
+         realw != data->client->area.width ||
+         realh != data->client->area.height)
+     {
+         actions_client_move(data, TRUE);
+         client_move_resize(data->client, x, y, realw, realh);
+         actions_client_move(data, FALSE);
+         return TRUE;
+     }
+     return FALSE;
+ }
  /* Always return FALSE because its not interactive */
  static gboolean run_func(ObActionsData *data, gpointer options)
  {
Simple merge
diff --cc openbox/frame.c
Simple merge