#define BORDER_WIDTH 5
#define TITLE_HEIGHT (X.font_ext->max_logical_extent.height)
+#define MIN_HEIGHT (TITLE_HEIGHT+BORDER_WIDTH)
#define FONT_NAME "-*-lucida-bold-r-normal-sans-14-*-*-*-p-*-iso10646-1"
/* anvil.c */
(void)ev, (void)loc;
/* TODO: handle button 1 drag to resize, reposition, and move windows */
/* TODO: check if we clicked in frame originally or if we clicked in titlebar */
- if (!loc->column->focused)
+ if (loc->column && !loc->column->focused)
{
stacked_addheight(loc->monitor, loc->column, loc->client, ev->y_root - X.start_y);
}
{
amount = (amount == 0 ? (int)(-c->h * 0.25) : amount);
int miny = (prev->y + TITLE_HEIGHT+BORDER_WIDTH);
- int maxy = min((mon->y + mon->h) , (c->y + c->h)) - TITLE_HEIGHT+BORDER_WIDTH;
- if (amount < 0)
- {
- c->y = max(miny, c->y + amount);
- prev->h = c->y - prev->y;
- }
- else if (amount > 0)
- {
- c->y = min(maxy, c->y + amount);
- prev->h = c->y - prev->y;
- }
+ int maxy = min((mon->y + mon->h) , (c->y + c->h)) - MIN_HEIGHT;
+ c->y = max(miny, min(maxy, c->y + amount));
+ prev->h = c->y - prev->y;
c->h = (c->next ? c->next->y : mon->y + mon->h) - c->y;
- client_setshade(prev, (prev->h <= TITLE_HEIGHT+BORDER_WIDTH));
- client_setshade(c, (c->h <= TITLE_HEIGHT+BORDER_WIDTH));
+ client_setshade(prev, (prev->h <= MIN_HEIGHT));
+ client_setshade(c, (c->h <= MIN_HEIGHT));
client_adjust(prev);
client_adjust(c);
}