<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="gmail_quote"><div><div></div></div><div>Would happily accept patch to turn this off by default and enable it with an option via bug tracker.</div>

</div></blockquote><div><br>I&#39;m not a C programmer. I did look at growtoedge.c and with my *very* limited knowledge and was wondering if it would be a case of placing lines 130 to 164 in an if statement?<br><br>e.g. if you had an option &quot;use_shrink_with_growtoedge&quot; set to either true of false from rc.xml it may look something like this (I have no idea how rc.xml is sourced).  You will have to excuse my amateur analysis if it&#39;s totally wrong.<br>
<br>If this variable was unset I imagine it would be off (FALSE) by default?<br><br>    /* we couldn&#39;t grow, so try shrink! */<br>    if use_shrink_with_growtoedge {<br>        opp = (o-&gt;dir == OB_DIRECTION_NORTH ? OB_DIRECTION_SOUTH :<br>
               (o-&gt;dir == OB_DIRECTION_SOUTH ? OB_DIRECTION_NORTH :<br>                (o-&gt;dir == OB_DIRECTION_EAST ? OB_DIRECTION_WEST :<br>                 OB_DIRECTION_EAST)));<br>        client_find_resize_directional(data-&gt;client, opp, FALSE,<br>
                                       &amp;x, &amp;y, &amp;w, &amp;h);<br>        switch (opp) {<br>        case OB_DIRECTION_NORTH:<br>            half = data-&gt;client-&gt;area.y + data-&gt;client-&gt;area.height / 2;<br>
            if (y &gt; half) {<br>                h += y - half;<br>                y = half;<br>            }   <br>            break;<br>        case OB_DIRECTION_SOUTH:<br>            half = data-&gt;client-&gt;area.height / 2;<br>
            if (h &lt; half)<br>                h = half;<br>            break;<br>        case OB_DIRECTION_WEST:<br>            half = data-&gt;client-&gt;area.x + data-&gt;client-&gt;area.width / 2;<br>            if (x &gt; half) {<br>
                w += x - half;<br>                x = half;<br>            }   <br>            break;<br>        case OB_DIRECTION_EAST:<br>            half = data-&gt;client-&gt;area.width / 2;<br>            if (w &lt; half)<br>
                w = half;<br>            break;<br>        default: g_assert_not_reached();<br>        }   <br>        if (do_grow(data, x, y, w, h)) <br>            return FALSE;<br>    }<br><br>If I&#39;m on the right track I may see if I can figure it all out.<br>
</div></div>