-/* $OpenBSD: window-tree.c,v 1.6 2017/06/30 22:24:08 nicm Exp $ */
+/* $OpenBSD: window-tree.c,v 1.7 2017/06/30 22:36:11 nicm Exp $ */
/*
* Copyright (c) 2017 Nicholas Marriott <nicholas.marriott@gmail.com>
each = sx / n;
if (each < 24) {
n = (sx - 6) / 24;
+ if (n == 0)
+ n = 1;
each = (sx - 6) / n;
left = sx - (n * each);
screen_write_cursormove(ctx, sx - left + left / 2, sy / 2);
screen_write_puts(ctx, &grid_default_cell, "...");
- if (sx == left)
+ if (each == 0)
return;
left = 0;
} else
xasprintf(&label, " %u ", wl->idx);
len = strlen(label) / 2;
screen_write_cursormove(ctx, i * each + each / 2 - len, sy / 2);
- screen_write_puts(ctx, &gc, "%s", label);
+ if (len <= width)
+ screen_write_puts(ctx, &gc, "%s", label);
free(label);
if (i != n - 1) {
each = sx / n;
if (each < 24) {
n = (sx - 6) / 24;
+ if (n == 0)
+ n = 1;
each = (sx - 6) / n;
left = sx - (n * each);
screen_write_cursormove(ctx, sx - left + left / 2, sy / 2);
screen_write_puts(ctx, &grid_default_cell, "...");
- if (sx == left)
+ if (each == 0)
return;
left = 0;
} else
xasprintf(&label, " %u ", i);
len = strlen(label) / 2;
screen_write_cursormove(ctx, i * each + each / 2 - len, sy / 2);
- screen_write_puts(ctx, &gc, "%s", label);
+ if (len <= width)
+ screen_write_puts(ctx, &gc, "%s", label);
free(label);
if (i != n - 1) {